PandaRoot
PndEmcFullStackedWaveformSimulator Class Reference

Waveform simulator. More...

#include <PndEmcFullStackedWaveformSimulator.h>

Inheritance diagram for PndEmcFullStackedWaveformSimulator:
PndEmcAbsWaveformSimulator PndEmcMultiWaveformSimulator

Public Member Functions

 PndEmcFullStackedWaveformSimulator ()
 
 PndEmcFullStackedWaveformSimulator (Double_t sampleRate, PndEmcAbsPulseshape *pulseShape)
 
virtual ~PndEmcFullStackedWaveformSimulator ()
 
virtual void Init (Double_t samplingBeforeFirstPulse, Double_t samplingAfterLastPulse, Double_t cutoff, Double_t activeTimeIncrement)
 
virtual void GetAbsoluteTimeInterval (PndEmcWaveformData *wfData, Double_t &startTime, Double_t &activeTime)
 
virtual Double_t GetTimeBeforeFirstHit (PndEmcWaveformData *)
 
virtual Double_t GetScale ()
 
virtual PndEmcWaveformGet1GevWaveform ()
 
virtual Double_t GetPulseRiseTime ()
 
- Public Member Functions inherited from PndEmcAbsWaveformSimulator
virtual PndEmcWaveformSimulate (PndEmcWaveformData *wfData, TClonesArray *arrayToStore=nullptr)
 
virtual PndEmcWaveformSimulateSinglePulse (Double_t hitEnergy, Double_t hitTime, TClonesArray *arrayToStore=nullptr, Int_t detId=-1, Int_t trackId=-1, Int_t hitIndex=-1)
 
virtual Double_t GetTotalScale ()
 
virtual Double_t GetSampleRate ()
 
virtual void AddModifier (PndEmcAbsWaveformModifier *wfModifier)
 

Protected Member Functions

virtual PndEmcWaveformMakeWaveform (PndEmcWaveformData *wfData, TClonesArray *arrayToStore=nullptr)
 
virtual PndEmcWaveformMakeSingleWaveform (Double_t hitEnergy, Double_t hitTime, TClonesArray *arrayToStore=nullptr, Int_t detId=-1, Int_t trackId=-1, Int_t hitIndex=-1)
 
virtual Double_t CalcWaveForTime (Double_t absoluteTime, PndEmcWaveformData *wfData)
 
Double_t CalcSingleWaveForTime (Double_t absoluteTime, Double_t energy, Double_t pulseTime)
 
- Protected Member Functions inherited from PndEmcAbsWaveformSimulator
 PndEmcAbsWaveformSimulator ()
 
 PndEmcAbsWaveformSimulator (Double_t sampleRate)
 
void SyncWithADCClock (Double_t &time)
 
virtual PndEmcWaveformCallModifiers (PndEmcWaveform *wf)
 
 ClassDef (PndEmcAbsWaveformSimulator, 3)
 

Additional Inherited Members

- Protected Attributes inherited from PndEmcAbsWaveformSimulator
TList fListOfWaveformModifiers
 
Double_t fSampleRate
 sampling rate of SADC. In 1/ns More...
 

Detailed Description

Waveform simulator.

Author
Ph. Mahlberg mahlb.nosp@m.erg@.nosp@m.hiskp.nosp@m..uni.nosp@m.-bonn.nosp@m..de

Definition at line 21 of file PndEmcFullStackedWaveformSimulator.h.

Constructor & Destructor Documentation

◆ PndEmcFullStackedWaveformSimulator() [1/2]

PndEmcFullStackedWaveformSimulator::PndEmcFullStackedWaveformSimulator ( )

Referenced by GetPulseRiseTime().

◆ PndEmcFullStackedWaveformSimulator() [2/2]

PndEmcFullStackedWaveformSimulator::PndEmcFullStackedWaveformSimulator ( Double_t  sampleRate,
PndEmcAbsPulseshape pulseShape 
)

◆ ~PndEmcFullStackedWaveformSimulator()

virtual PndEmcFullStackedWaveformSimulator::~PndEmcFullStackedWaveformSimulator ( )
virtual

Member Function Documentation

◆ CalcSingleWaveForTime()

Double_t PndEmcFullStackedWaveformSimulator::CalcSingleWaveForTime ( Double_t  absoluteTime,
Double_t  energy,
Double_t  pulseTime 
)
protected

Referenced by GetPulseRiseTime().

◆ CalcWaveForTime()

virtual Double_t PndEmcFullStackedWaveformSimulator::CalcWaveForTime ( Double_t  absoluteTime,
PndEmcWaveformData wfData 
)
protectedvirtual

Referenced by GetPulseRiseTime().

◆ Get1GevWaveform()

virtual PndEmcWaveform* PndEmcFullStackedWaveformSimulator::Get1GevWaveform ( )
inlinevirtual

returns 1GeV equivalent waveform

might be used for calibration etc.

Implements PndEmcAbsWaveformSimulator.

Definition at line 34 of file PndEmcFullStackedWaveformSimulator.h.

34 { return f1GeVWaveform; };

◆ GetAbsoluteTimeInterval()

virtual void PndEmcFullStackedWaveformSimulator::GetAbsoluteTimeInterval ( PndEmcWaveformData wfData,
Double_t &  startTime,
Double_t &  activeTime 
)
virtual

returns absolute livetime interval of waveform

times in ns

Implements PndEmcAbsWaveformSimulator.

◆ GetPulseRiseTime()

virtual Double_t PndEmcFullStackedWaveformSimulator::GetPulseRiseTime ( )
inlinevirtual

◆ GetScale()

virtual Double_t PndEmcFullStackedWaveformSimulator::GetScale ( )
inlinevirtual

Get 1GeV pulse height equivalient of simulator generated waveform

Implements PndEmcAbsWaveformSimulator.

Definition at line 33 of file PndEmcFullStackedWaveformSimulator.h.

33 { return fScale; }

◆ GetTimeBeforeFirstHit()

virtual Double_t PndEmcFullStackedWaveformSimulator::GetTimeBeforeFirstHit ( PndEmcWaveformData )
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 from PndEmcAbsWaveformSimulator.

Definition at line 31 of file PndEmcFullStackedWaveformSimulator.h.

31 { return fSamplingBeforeFirstPulse; } // in ns //wfData //[R.K.03/2017] unused variable(s)

◆ Init()

virtual void PndEmcFullStackedWaveformSimulator::Init ( Double_t  samplingBeforeFirstPulse,
Double_t  samplingAfterLastPulse,
Double_t  cutoff,
Double_t  activeTimeIncrement 
)
virtual

◆ MakeSingleWaveform()

virtual PndEmcWaveform* PndEmcFullStackedWaveformSimulator::MakeSingleWaveform ( Double_t  hitEnergy,
Double_t  hitTime,
TClonesArray *  arrayToStore = nullptr,
Int_t  detId = -1,
Int_t  trackId = -1,
Int_t  hitIndex = -1 
)
protectedvirtual

Implements PndEmcAbsWaveformSimulator.

Reimplemented in PndEmcMultiWaveformSimulator.

Referenced by GetPulseRiseTime().

◆ MakeWaveform()

virtual PndEmcWaveform* PndEmcFullStackedWaveformSimulator::MakeWaveform ( PndEmcWaveformData wfData,
TClonesArray *  arrayToStore = nullptr 
)
protectedvirtual

Implements PndEmcAbsWaveformSimulator.

Reimplemented in PndEmcMultiWaveformSimulator.

Referenced by GetPulseRiseTime().


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