FairRoot/PandaRoot
|
Abstract base class for waveform simulator. More...
#include <PndEmcAbsWaveformSimulator.h>
Public Member Functions | |
virtual PndEmcWaveform * | Simulate (PndEmcWaveformData *wfData, TClonesArray *arrayToStore=NULL) |
virtual PndEmcWaveform * | SimulateSinglePulse (Double_t hitEnergy, Double_t hitTime, TClonesArray *arrayToStore=NULL, Int_t detId=-1, Int_t trackId=-1, Int_t hitIndex=-1) |
virtual PndEmcWaveform * | Get1GevWaveform ()=0 |
virtual void | GetAbsoluteTimeInterval (PndEmcWaveformData *wfData, Double_t &startTime, Double_t &activeTime)=0 |
virtual Double_t | GetTimeBeforeFirstHit (PndEmcWaveformData *) |
virtual Double_t | GetScale ()=0 |
virtual Double_t | GetTotalScale () |
virtual Double_t | GetSampleRate () |
virtual void | AddModifier (PndEmcAbsWaveformModifier *wfModifier) |
Protected Member Functions | |
PndEmcAbsWaveformSimulator () | |
PndEmcAbsWaveformSimulator (Double_t sampleRate) | |
virtual PndEmcWaveform * | MakeWaveform (PndEmcWaveformData *wfData, TClonesArray *arrayToStore=NULL)=0 |
virtual PndEmcWaveform * | MakeSingleWaveform (Double_t hitEnergy, Double_t hitTime, TClonesArray *arrayToStore=NULL, Int_t detId=-1, Int_t trackId=-1, Int_t hitIndex=-1)=0 |
void | SyncWithADCClock (Double_t &time) |
virtual PndEmcWaveform * | CallModifiers (PndEmcWaveform *wf) |
ClassDef (PndEmcAbsWaveformSimulator, 3) | |
Protected Attributes | |
TList | fListOfWaveformModifiers |
Double_t | fSampleRate |
sampling rate of SADC. In 1/ns More... | |
Abstract base class for waveform simulator.
Definition at line 25 of file PndEmcAbsWaveformSimulator.h.
|
inlineprotected |
Definition at line 71 of file PndEmcAbsWaveformSimulator.h.
|
inlineprotected |
Definition at line 72 of file PndEmcAbsWaveformSimulator.h.
|
inlinevirtual |
Definition at line 68 of file PndEmcAbsWaveformSimulator.h.
References fListOfWaveformModifiers.
Referenced by PndEmcMultiWaveformSimulator::AddModifier().
|
inlineprotectedvirtual |
Reimplemented in PndEmcMultiWaveformSimulator.
Definition at line 82 of file PndEmcAbsWaveformSimulator.h.
References fListOfWaveformModifiers.
Referenced by Simulate(), and SimulateSinglePulse().
|
protected |
|
pure virtual |
returns 1GeV equivalent waveform
might be used for calibration etc.
Implemented in PndEmcFullStackedWaveformSimulator.
|
pure virtual |
returns absolute livetime interval of waveform
times in ns
Implemented in PndEmcFullStackedWaveformSimulator.
Referenced by PndEmcWaveformBuffer::FillNewData(), and PndEmcWaveformBuffer::Modify().
|
inlinevirtual |
Definition at line 66 of file PndEmcAbsWaveformSimulator.h.
References fSampleRate.
Referenced by PndEmcFullStackedWaveformSimulator::Init(), PndEmcFullStackedWaveformSimulator::MakeSingleWaveform(), and PndEmcFullStackedWaveformSimulator::MakeWaveform().
|
pure virtual |
Get 1GeV pulse height equivalient of simulator generated waveform
Implemented in PndEmcFullStackedWaveformSimulator.
Referenced by GetTotalScale().
|
inlinevirtual |
maximum timeinterval generated waveforms are ahead of causal detector hits
Information is needed by timebased simulation framework. E.g. provokeed by simulation of preceding baseline samples
Reimplemented in PndEmcFullStackedWaveformSimulator.
Definition at line 49 of file PndEmcAbsWaveformSimulator.h.
Referenced by PndEmcWaveformBuffer::FillNewData(), and PndEmcWaveformBuffer::Modify().
|
inlinevirtual |
Get 1GeV pulse height equivalent of waveform at end of modification chain
Definition at line 55 of file PndEmcAbsWaveformSimulator.h.
References Double_t, fListOfWaveformModifiers, and GetScale().
|
protectedpure virtual |
Implemented in PndEmcFullStackedWaveformSimulator, and PndEmcMultiWaveformSimulator.
Referenced by SimulateSinglePulse().
|
protectedpure virtual |
Implemented in PndEmcFullStackedWaveformSimulator, and PndEmcMultiWaveformSimulator.
Referenced by Simulate().
|
inlinevirtual |
Simulate Waveform based on wfData object
The PndEmcWaveformData object is used by the emc timebased simulation
Definition at line 31 of file PndEmcAbsWaveformSimulator.h.
References CallModifiers(), and MakeWaveform().
Referenced by PndEmcWaveformBuffer::AddNewDataToTClonesArray().
|
inlinevirtual |
Simulate waveform consisting of single pusle
Definition at line 34 of file PndEmcAbsWaveformSimulator.h.
References CallModifiers(), and MakeSingleWaveform().
|
inlineprotected |
Definition at line 78 of file PndEmcAbsWaveformSimulator.h.
References fSampleRate.
Referenced by PndEmcFullStackedWaveformSimulator::GetAbsoluteTimeInterval(), and PndEmcFullStackedWaveformSimulator::MakeSingleWaveform().
|
protected |
Definition at line 90 of file PndEmcAbsWaveformSimulator.h.
Referenced by AddModifier(), PndEmcMultiWaveformSimulator::CallModifiers(), CallModifiers(), PndEmcMultiWaveformSimulator::GetTotalScale(), and GetTotalScale().
|
protected |
sampling rate of SADC. In 1/ns
Definition at line 91 of file PndEmcAbsWaveformSimulator.h.
Referenced by GetSampleRate(), PndEmcFullStackedWaveformSimulator::MakeSingleWaveform(), PndEmcFullStackedWaveformSimulator::MakeWaveform(), and SyncWithADCClock().