QPulseGenerator Class Reference

List of all members.

Detailed Description

Generate window with pulse(s) and noise for a single channel.

Author:
Marco Vignati


Public Member Functions

 QPulseGenerator ()
 default constructor
 QPulseGenerator (const QVector &config, const gsl_rng *randGen)
 constructor
 ~QPulseGenerator ()
 destructor
int GetChannelId () const
 get channel id
double GetSamplingFrequency () const
 Get sampling frequency.
bool NeedNoisePS () const
 after the constructor and the config setup, we may need noise PS
void SetNoisePS (const QVector &noisePS)
 set noise PS
bool NeedAmplitudeHisto () const
 after the constructor and the config setup, we may need noise PS
void SetAmplitudeHisto (const TH1D &histo)
 set noise PS
void GenerateFromEnergy (bool fromEnergy)
 generate from energy
void SetCalibrationFunction (const TF1 &calibFunc)
 set calibration function
void Generate ()
 generate window
double GetTime () const
 get time of main pulse of the generated window
void FillWindow (QVector &window) const
 get generated window
int GetMasterSampleIndex () const
 get master sample index
vector< int > GetSamplesIndex () const
 get other samples index
bool operator< (const QPulseGenerator &other) const
 true if this time is less than other time
vector< EventInfo > GetEventInfo () const
 Get EventInfo for all secondary pulses.
EventInfo GetMainEventInfo () const
 Get EventInfo for the main event pulses.

Private Member Functions

const QVector & GenerateNoise (bool continued, size_t nsamples)
 generate noise (continued or not wrt the previously generated one)
double GenerateAmplitude ()
 generate amplitude
double GenerateDeltaT ()
 generate delta T between pulses
EventInfo GenerateDeltaTAndAmplitude ()
 generate delta T and amplitudes togheter (useful for example to read time and amplitude of an event from file)
const QVector & GeneratePulse (double delay, double amplitude, double &max, double &maxpos)
 generate single pulse
void FillInfo ()
 fill samples info
void Init (const QVector &config)
 Init.

Private Attributes

bool fFirstCall
bool fGenerateFromEnergy
TF1 fCalibrationFunction
int fChannelId
int fNumSamples
double fSamplFreq
double fBesselCutOff
double fWideDuration
double fPreTrigger
double fBaseline
QMathFunctionfPhysicsPulse
double fThermalMax
double fBesselGain
double * fParams
QNoiseGeneratorfNoiseGenerator
QAmplitudeGenerator * fAmplitudeGenerator
const gsl_rng * fRandomGen
double fTime
size_t fWideWindowSize
size_t fWideWindowRatio
QVector fWideWindow
QVector fPulseWindow
QVector fNoiseRemainder
QVector fNoiseWindow
list< EventInfo > fEventInfos
list< EventInfo >::iterator fMainEventIter
vector< EventInfo > fWindowEventInfo
EventInfo fMainEventInfo
int fMasterSampleIndex
vector< int > fSamplesIndex
QAmplitudeGenerator::Type fAmplDistrType
bool fNeedAmplitudeHisto
double fAmplDistrP1
double fAmplDistrP2
int fTimeDistrType
double fTimeDistrP1
double fTimeDistrP2
QNoiseGenerator::Type fNoiseDistrType
bool fNeedNoisePS
double fNoiseDistrP1
double fNoiseDistrP2

Classes

class  EventInfo


The documentation for this class was generated from the following files:
Generated on Fri Mar 6 13:40:44 2009 for CUORE Software by  doxygen 1.5.1