GWOLLUM 4.2.0
Tools for gravitational-wave analyses
Loading...
Searching...
No Matches
InjGen.h
Go to the documentation of this file.
1
6#ifndef __InjGen__
7#define __InjGen__
8
9#include <TMath.h>
10#include <TRandom3.h>
11#include "Segments.h"
12#include "InjTre.h"
13
14using namespace std;
15
22class InjGen: public InjTre{
23
24public:
25
40 InjGen(Segments *aInSegments, const injtype aInjType, const string aInjName="gwl_inj", const unsigned int aVerbose=0);
41
45 virtual ~InjGen();
58 unsigned int GenerateInjections(void);
59
65 inline void SetInjectionTimeSpacing(const double aSpacing){ InjSpacing = aSpacing; };
66
72 inline void SetInjectionTimeJitter(const double aJitter){ InjJitterMax = aJitter; };
73
79 bool SetAmplitudeDistribution(const string aDistribution="LOG");
80
86 inline void SetAmplitudeRange(const double aMin=1e-22, const double aMax=5e-19){
87 ampMin = aMin;
88 ampMax = aMax;
89 };
90
96 bool SetSigmaDistribution(const string aDistribution="LOG");
97
103 inline void SetSigmaRange(const double aMin=0.01, const double aMax=1.0){
104 sigmaMin = aMin;
105 sigmaMax = aMax;
106 };
107
113 bool SetFrequencyDistribution(const string aDistribution="LOG");
114
120 inline void SetFrequencyRange(const double aMin=30.0, const double aMax=2048.0){
121 f0Min = aMin;
122 f0Max = aMax;
123 };
124
130 bool SetEccentricityDistribution(const string aDistribution="UNIFORM");
131
137 inline void SetEccentricityRange(const double aMin=0.0, const double aMax=1.0){
138 eccMin = aMin;
139 eccMax = aMax;
140 };
141
147 bool SetPolarizationDistribution(const string aDistribution="UNIFORM");
148
154 inline void SetPolarizationRange(const double aMin=0.0, const double aMax=2.0*TMath::Pi()){
155 psiMin = aMin;
156 psiMax = aMax;
157 };
158
159 private:
160
161 TRandom3 *rand;
163 double InjSpacing;
165
166 // PARAMETERS
167 double ampMin;
168 double ampMax;
169 unsigned int ampDistribution;
170 double sigmaMin;
171 double sigmaMax;
172 unsigned int sigmaDistribution;
173 double f0Min;
174 double f0Max;
175 unsigned int f0Distribution;
176 double eccMin;
177 double eccMax;
178 unsigned int eccDistribution;
179 double psiMin;
180 double psiMax;
181 unsigned int psiDistribution;
182
186 double GetAmplitude(void);
187
191 double GetSigma(void);
192
196 double GetFrequency(void);
197
201 double GetEccentricity(void);
202
206 double GetPolarization(void);
207
208
209 ClassDef(InjGen,0)
210};
211
212#endif
213
214
Manage injection TTrees.
injtype
List of injection types.
Definition InjTyp.h:17
Time segment list management.
Generate a set of injections.
Definition InjGen.h:22
double eccMax
eccentricity max
Definition InjGen.h:177
double InjSpacing
Injection spacing [s].
Definition InjGen.h:163
double InjJitterMax
Injection maximum time jitter [s].
Definition InjGen.h:164
double psiMin
psi min
Definition InjGen.h:179
bool SetSigmaDistribution(const string aDistribution="LOG")
Sets the injection sigma distribution.
Definition InjGen.cc:114
double GetFrequency(void)
Draws a frequency parameter.
Definition InjGen.cc:180
bool SetFrequencyDistribution(const string aDistribution="LOG")
Sets the injection frequency distribution.
Definition InjGen.cc:126
void SetInjectionTimeJitter(const double aJitter)
Sets the maximum time jitter [s].
Definition InjGen.h:72
void SetPolarizationRange(const double aMin=0.0, const double aMax=2.0 *TMath::Pi())
Sets the injection polarization range.
Definition InjGen.h:154
double psiMax
psi max
Definition InjGen.h:180
bool SetAmplitudeDistribution(const string aDistribution="LOG")
Sets the injection amplitude distribution.
Definition InjGen.cc:102
double eccMin
eccentricity min
Definition InjGen.h:176
unsigned int psiDistribution
0=UNIFORM, 1=LOG/10
Definition InjGen.h:181
double GetSigma(void)
Draws a sigma parameter.
Definition InjGen.cc:171
unsigned int GenerateInjections(void)
Generates a set of injection parameters.
Definition InjGen.cc:48
void SetInjectionTimeSpacing(const double aSpacing)
Sets the time distance between 2 consecutive injections.
Definition InjGen.h:65
bool SetEccentricityDistribution(const string aDistribution="UNIFORM")
Sets the injection eccentricity distribution.
Definition InjGen.cc:138
TRandom3 * rand
Random generator.
Definition InjGen.h:161
double f0Min
frequency min
Definition InjGen.h:173
virtual ~InjGen()
Destructor of the InjGen class.
Definition InjGen.cc:40
void SetSigmaRange(const double aMin=0.01, const double aMax=1.0)
Sets the injection sigma range.
Definition InjGen.h:103
void SetFrequencyRange(const double aMin=30.0, const double aMax=2048.0)
Sets the injection frequency range.
Definition InjGen.h:120
void SetEccentricityRange(const double aMin=0.0, const double aMax=1.0)
Sets the injection eccentricity range.
Definition InjGen.h:137
Segments * InSegments
Input segments - DO NOT DELETE.
Definition InjGen.h:162
double GetAmplitude(void)
Draws an amplitude parameter.
Definition InjGen.cc:162
unsigned int ampDistribution
0=UNIFORM, 1=LOG/10
Definition InjGen.h:169
double f0Max
frequency max
Definition InjGen.h:174
double ampMax
amplitude max
Definition InjGen.h:168
double GetEccentricity(void)
Draws a eccentricity parameter.
Definition InjGen.cc:189
double GetPolarization(void)
Draws a polarization parameter.
Definition InjGen.cc:198
InjGen(Segments *aInSegments, const injtype aInjType, const string aInjName="gwl_inj", const unsigned int aVerbose=0)
Constructor of the InjGen class.
bool SetPolarizationDistribution(const string aDistribution="UNIFORM")
Sets the injection polarization distribution.
Definition InjGen.cc:150
double sigmaMax
sigma max
Definition InjGen.h:171
unsigned int eccDistribution
0=UNIFORM, 1=LOG/10
Definition InjGen.h:178
double sigmaMin
sigma min
Definition InjGen.h:170
unsigned int sigmaDistribution
0=UNIFORM, 1=LOG/10
Definition InjGen.h:172
unsigned int f0Distribution
0=UNIFORM, 1=LOG/10
Definition InjGen.h:175
void SetAmplitudeRange(const double aMin=1e-22, const double aMax=5e-19)
Sets the injection amplitude range.
Definition InjGen.h:86
double ampMin
amplitude min
Definition InjGen.h:167
Manage injection structures.
Definition InjTre.h:34
Manage time segment lists.
Definition Segments.h:29