![]() |
PandaRoot
|
Abstract base class for waveform simulator. More...
#include <PndEmcAbsWaveformSimulator.h>
Public Member Functions | |
virtual PndEmcWaveform * | Simulate (PndEmcWaveformData *wfData, TClonesArray *arrayToStore=nullptr) |
virtual PndEmcWaveform * | SimulateSinglePulse (Double_t hitEnergy, Double_t hitTime, TClonesArray *arrayToStore=nullptr, 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=nullptr)=0 |
virtual PndEmcWaveform * | MakeSingleWaveform (Double_t hitEnergy, Double_t hitTime, TClonesArray *arrayToStore=nullptr, 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 24 of file PndEmcAbsWaveformSimulator.h.
|
inlineprotected |
Definition at line 73 of file PndEmcAbsWaveformSimulator.h.
|
inlineprotected |
Definition at line 74 of file PndEmcAbsWaveformSimulator.h.
References MakeSingleWaveform(), and MakeWaveform().
|
inlinevirtual |
Definition at line 70 of file PndEmcAbsWaveformSimulator.h.
References fListOfWaveformModifiers.
|
inlineprotectedvirtual |
Reimplemented in PndEmcMultiWaveformSimulator.
Definition at line 83 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.
Referenced by SimulateSinglePulse().
|
pure virtual |
returns absolute livetime interval of waveform
times in ns
Implemented in PndEmcFullStackedWaveformSimulator.
Referenced by SimulateSinglePulse().
|
inlinevirtual |
Definition at line 68 of file PndEmcAbsWaveformSimulator.h.
References fSampleRate.
|
pure virtual |
Get 1GeV pulse height equivalient of simulator generated waveform
Implemented in PndEmcFullStackedWaveformSimulator.
Referenced by GetTimeBeforeFirstHit(), and 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 50 of file PndEmcAbsWaveformSimulator.h.
References GetScale().
|
inlinevirtual |
Get 1GeV pulse height equivalent of waveform at end of modification chain
Definition at line 56 of file PndEmcAbsWaveformSimulator.h.
References fListOfWaveformModifiers, and GetScale().
|
protectedpure virtual |
Implemented in PndEmcFullStackedWaveformSimulator, and PndEmcMultiWaveformSimulator.
Referenced by PndEmcAbsWaveformSimulator(), and SimulateSinglePulse().
|
protectedpure virtual |
Implemented in PndEmcFullStackedWaveformSimulator, and PndEmcMultiWaveformSimulator.
Referenced by PndEmcAbsWaveformSimulator(), and Simulate().
|
inlinevirtual |
Simulate Waveform based on wfData object
The PndEmcWaveformData object is used by the emc timebased simulation
Definition at line 29 of file PndEmcAbsWaveformSimulator.h.
References CallModifiers(), and MakeWaveform().
|
inlinevirtual |
Simulate waveform consisting of single pusle
Definition at line 32 of file PndEmcAbsWaveformSimulator.h.
References CallModifiers(), Get1GevWaveform(), GetAbsoluteTimeInterval(), and MakeSingleWaveform().
|
inlineprotected |
Definition at line 81 of file PndEmcAbsWaveformSimulator.h.
References fSampleRate.
|
protected |
Definition at line 92 of file PndEmcAbsWaveformSimulator.h.
Referenced by AddModifier(), CallModifiers(), and GetTotalScale().
|
protected |
sampling rate of SADC. In 1/ns
Definition at line 93 of file PndEmcAbsWaveformSimulator.h.
Referenced by GetSampleRate(), and SyncWithADCClock().