00001
00002
00004 #ifndef __InjGen__
00005 #define __InjGen__
00006
00007 #include "TMath.h"
00008 #include "TRandom3.h"
00009 #include "Segments.h"
00010 #include "InjTre.h"
00011
00012 using namespace std;
00013
00018 class InjGen : public InjTre{
00019
00020 public:
00021
00037 InjGen(Segments *aInSegments, const string aInjType, const int aVerbose=0);
00038
00042 virtual ~InjGen();
00052 int GenerateInjections(void);
00053
00058 inline void SetInjectionSpacing(const double aSpacing){ InjSpacing=aSpacing; };
00059
00065 bool SetAmplitudeDistribution(const string aDistribution="LOG");
00066
00072 bool SetAmplitudeRange(const double aMin=1e-22, const double aMax=5e-19);
00073
00079 bool SetSigmaDistribution(const string aDistribution="UNIFORM");
00080
00086 bool SetSigmaRange(const double aMin=0.01, const double aMax=1.0);
00087
00093 bool SetFrequencyDistribution(const string aDistribution="LOG");
00094
00100 bool SetFrequencyRange(const double aMin=30.0, const double aMax=2048.0);
00101
00107 bool SetEccentricityDistribution(const string aDistribution="UNIFORM");
00108
00114 bool SetEccentricityRange(const double aMin=0.0, const double aMax=1.0);
00115
00121 bool SetPolarizationDistribution(const string aDistribution="UNIFORM");
00122
00128 bool SetPolarizationRange(const double aMin=0.0, const double aMax=2.0*TMath::Pi());
00129
00130 private:
00131
00132 Segments *InSegments;
00133 double InjSpacing;
00134
00135 TRandom3 *rand;
00136
00137
00138
00139 double GetAmplitude(void);
00140 double ampMin,
00141 ampMax;
00142 int ampDistribution;
00143
00144
00145 double GetSigma(void);
00146 double sigmaMin,
00147 sigmaMax;
00148 int sigmaDistribution;
00149
00150
00151 double GetFrequency(void);
00152 double f0Min,
00153 f0Max;
00154 int f0Distribution;
00155
00156
00157 double GetEccentricity(void);
00158 double eccMin,
00159 eccMax;
00160 int eccDistribution;
00161
00162
00163 double GetPolarization(void);
00164 double psiMin,
00165 psiMax;
00166 int psiDistribution;
00167
00168 ClassDef(InjGen,0)
00169 };
00170
00171 #endif
00172
00173