MPulseGenerator.hh

Go to the documentation of this file.
00001 #ifndef _M_PULSEGENERATOR_HH_
00002 #define _M_PULSEGENERATOR_HH_
00003 
00163 #include "QReader.hh"
00164 #include "QVector.hh"
00165 #include "QTime.hh"
00166 #include "QPulseGenerator.hh"
00167 #include "QDbDetector.hh"
00168 #include <vector>
00169 #include <gsl/gsl_rng.h>
00170 
00171 class QNoiseGenerator;
00172 namespace Cuore {class QMathFunction; class QRunData; }
00173 
00174 class MPulseGenerator : public QReader {
00175 
00176     public:
00178         MPulseGenerator(QSequence* s);
00179 
00181         ~MPulseGenerator();
00182         
00183        void Init();
00184 
00185         QEvent* Do(QEvent* ev);
00186 
00187         void Done();
00188 
00189     private:
00190         static bool ComparePulseGenerator(QPulseGenerator* one, QPulseGenerator* two);
00191         QMatrix GetConfig(const std::string& bolometersFile, const std::string& configurationFile);
00192         std::vector<QPulseGenerator*> fChannelGenerators;
00193 
00194         int fSeed;
00195         time_t fStartTime;
00196         gsl_rng* fRandomGen;
00197         bool fRoundToADC;
00198         bool fGenerateFromEnergy;
00199         bool fUseRK;
00200         int fThisRun;
00201         int fRunNumber;
00202         bool fApolloDAQ;
00203         double fADC2mV;
00204         QRunData* fRunData;
00205         QDbDetector::RunType fMeasurementType;
00206         QVector fTimes;
00207         QVector fDeltaTs;
00208         QVector fEnergies;
00209         QVector fAmplitudes;
00210         QVector fMax;
00211         QVector fMaxPos;
00212 };
00213 
00214 #endif

Generated on Tue Nov 16 10:49:58 2010 for CUORE Software by  doxygen 1.5.6