QPulseGenerator Class Reference

List of all members.


Detailed Description

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

Author:
Marco Vignati

Public Types

enum  EventType { ET_Signal, ET_Heater, ET_Noise }

Public Member Functions

 QPulseGenerator ()
 default constructor
 QPulseGenerator (const QVector &config, const gsl_rng *randGen, bool useRK=false)
 constructor
 ~QPulseGenerator ()
 destructor
void Dump (ostream &o)
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 SetHeaterPosition (const double heaterPos)
 set heater position in mV
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)
void GenerateBaseline ()
const QVector & GeneratePulse (double delay, double amplitude, double &max, double &maxpos, double &amplAfterMax)
 generate single pulse
void FillInfo ()
 fill samples info
void Init (const QVector &config)
 Init.

Private Attributes

bool fFirstCall
bool fGenerateFromEnergy
TF1 fCalibrationFunction
double fHeaterPos
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
int fBaselineDistrType
double fBaselineStart
double fBaselineDistrP2
QAmplitudeGenerator::Type fAmplDistrType
bool fNeedAmplitudeHisto
double fAmplDistrP1
double fAmplDistrP2
int fTimeDistrType
double fTimeDistrP1
double fTimeDistrP2
QNoiseGenerator::Type fNoiseDistrType
bool fNeedNoisePS
double fNoiseDistrP1
double fNoiseDistrP2
double fR_S_Start
bool fUseRK
bool fIsHeater

Classes

class  EventInfo

The documentation for this class was generated from the following files:

Generated on Tue Nov 16 10:50:08 2010 for CUORE Software by  doxygen 1.5.6