QAmplitudeGenerator.hh
00001 #ifndef _Q_AMPLITUDE_GENERATOR_HH_
00002 #define _Q_AMPLITUDE_GENERATOR_HH_
00003
00004 #include "QCuore.hh"
00005 #include <gsl/gsl_rng.h>
00006 #include <TH1D.h>
00007
00008 class QAmplitudeGenerator {
00009 public:
00010 enum Type {
00011 NONE = 0,
00012 Uniform = 1,
00013 Exponential = 2,
00014 Fixed = 3,
00015 InputHisto = 4,
00016 };
00017
00018 QAmplitudeGenerator(Type type, double p1, double p2, const gsl_rng* randGen, const TH1D* histo = NULL);
00019
00020 double GetAmplitude();
00021
00022 private:
00023
00024 double SampleFromHisto();
00025 Type fType;
00026 double fAMin;
00027 double fAMax;
00028 const gsl_rng* fRandomGen;
00029
00030 TH1D* fAmplitudeHistogram;
00031
00032 };
00033
00034 #endif