Inheritance diagram for MPulseGenerator:
Pulse generator can generate pulses with noise in different channels. This allows to have at the same time many channels with different features to test algorithms. Random generation involves time interval between pulses, amplitude and noise. See details in the configuration file description below.
reader PulseGenerator verbosity = info enable = true RunNumber = 1 EventNumberPrintStep = 1000 Seed = 12345 ConfigurationFile = genconf.txt RoundToADC = true NoiseFile = avg_ps.root SpectrumFile = spectrum.root GenerateFromEnergy = false CalibrationFile = cal_ds25.txt endmod
# begin BoloGeneratorConfig # QMatrix # 4 22 # ch N f_s Bes_c R_S R_L c_p Alpha tau_1 tau_2 tau_r base pre_trig a_distr a_d_p1 a_d_p2 t_distr t_d_p1 t_d_p2 n_distr n_d_p1 n_d_p2 1 512 125 12 167.22 54 329.317 0.748827 0.304307 2.23273 0.00617952 711.14 0.958763 4 975.566 0 2 0.02 0 1 -1 30 12 512 125 12 35.4399 54 320.072 0.879846 0.23286 0.850443 0.019176 961.961 0.953571 4 1701.61 0 2 0.02 0 1 -1 30 51 512 125 12 38.4842 54 844.168 0.995524 0.340698 5.64396 0.0319884 829.161 0.959332 4 1486.05 0 2 0.02 0 1 -1 30 63 512 125 12 45.0786 54 625.471 0.853619 0.180573 0.521086 0.0279043 924.812 0.955147 4 1111.93 0 2 0.02 0 1 -1 30 # end BoloGeneratorConfig
where:
Public Member Functions | |
MPulseGenerator (QSequence *s) | |
constructor | |
~MPulseGenerator () | |
destructor | |
void | Init () |
QEvent * | Do (QEvent *ev) |
Doit method is called for each event, getting the event as argument. | |
void | Done () |
Done method is called after event loop. | |
Static Private Member Functions | |
static bool | ComparePulseGenerator (QPulseGenerator *one, QPulseGenerator *two) |
Private Attributes | |
std::vector< QPulseGenerator * > | fChannelGenerators |
std::string | fConfigurationFile |
int | fSeed |
time_t | fStartTime |
gsl_rng * | fRandomGen |
bool | fRoundToADC |
bool | fGenerateFromEnergy |
int | fThisRun |
int | fRunNumber |
double | fApolloADC2mV |
double | fOldDAQADC2mV |
double * | fADC2mV |
QRunData * | fRunData |
QVector | fTimes |
QVector | fDeltaTs |
QVector | fEnergies |
QVector | fAmplitudes |
QVector | fMax |
QVector | fMaxPos |
void MPulseGenerator::Init | ( | ) | [virtual] |
Init method is called before event loop
Implements QReader.