PandaRoot
BSEmcFullStackedWaveformSimulator Class Reference

Waveform simulator. More...

#include <BSEmcFullStackedWaveformSimulator.h>

Inheritance diagram for BSEmcFullStackedWaveformSimulator:
BSEmcAbsWaveformSimulator BSEmcMultiWaveformSimulator

Public Member Functions

 BSEmcFullStackedWaveformSimulator ()
 
 BSEmcFullStackedWaveformSimulator (Double_t t_sampleRate, BSEmcAbsPulseshape *t_pulseShape)
 
virtual ~BSEmcFullStackedWaveformSimulator ()
 
virtual void Init (Double_t t_samplingBeforeFirstPulse, Double_t t_samplingAfterLastPulse, Double_t t_cutoff, Double_t t_activeTimeIncrement)
 
virtual void GetAbsoluteTimeInterval (BSEmcWaveformData *t_wfData, Double_t &t_startTime, Double_t &t_activeTime)
 
virtual Double_t GetTimeBeforeFirstHit (BSEmcWaveformData *)
 
virtual Double_t GetScale ()
 
virtual BSEmcWaveformGet1GevWaveform ()
 
virtual Double_t GetPulseRiseTime ()
 
- Public Member Functions inherited from BSEmcAbsWaveformSimulator
virtual BSEmcWaveformSimulate (BSEmcWaveformData *t_wfData, TClonesArray *t_arrayToStore=nullptr)
 
virtual BSEmcWaveformSimulateSinglePulse (Double_t t_hitEnergy, Double_t t_hitTime, TClonesArray *t_arrayToStore=nullptr, Int_t t_detId=-1, Int_t t_trackId=-1, Int_t t_hitIndex=-1)
 
virtual Double_t GetTotalScale ()
 
virtual Double_t GetSampleRate ()
 
virtual void AddModifier (BSEmcAbsWaveformModifier *t_wfModifier)
 
void SetHitBranchName (const TString &t_branchname)
 

Protected Member Functions

virtual BSEmcWaveformMakeWaveform (BSEmcWaveformData *t_wfData, TClonesArray *t_arrayToStore=nullptr)
 
virtual BSEmcWaveformMakeSingleWaveform (Double_t t_hitEnergy, Double_t t_hitTime, TClonesArray *t_arrayToStore=nullptr, Int_t t_detId=-1, Int_t t_trackId=-1, Int_t t_hitIndex=-1)
 
virtual Double_t CalcWaveForTime (Double_t t_absoluteTime, BSEmcWaveformData *t_wfData)
 
Double_t CalcSingleWaveForTime (Double_t t_absoluteTime, Double_t t_energy, Double_t t_pulseTime)
 
- Protected Member Functions inherited from BSEmcAbsWaveformSimulator
 BSEmcAbsWaveformSimulator ()
 
 BSEmcAbsWaveformSimulator (Double_t sampleRate)
 
void SyncWithADCClock (Double_t &t_time)
 
virtual BSEmcWaveformCallModifiers (BSEmcWaveform *t_wf)
 
 ClassDef (BSEmcAbsWaveformSimulator, 3)
 

Additional Inherited Members

- Protected Attributes inherited from BSEmcAbsWaveformSimulator
TList fListOfWaveformModifiers {}
 
Double_t fSampleRate {-1}
 sampling rate of SADC. In 1/ns More...
 
TString fHitBranchName {""}
 

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 27 of file BSEmcFullStackedWaveformSimulator.h.

Constructor & Destructor Documentation

◆ BSEmcFullStackedWaveformSimulator() [1/2]

BSEmcFullStackedWaveformSimulator::BSEmcFullStackedWaveformSimulator ( )

Referenced by GetPulseRiseTime().

◆ BSEmcFullStackedWaveformSimulator() [2/2]

BSEmcFullStackedWaveformSimulator::BSEmcFullStackedWaveformSimulator ( Double_t  t_sampleRate,
BSEmcAbsPulseshape t_pulseShape 
)

◆ ~BSEmcFullStackedWaveformSimulator()

virtual BSEmcFullStackedWaveformSimulator::~BSEmcFullStackedWaveformSimulator ( )
virtual

Member Function Documentation

◆ CalcSingleWaveForTime()

Double_t BSEmcFullStackedWaveformSimulator::CalcSingleWaveForTime ( Double_t  t_absoluteTime,
Double_t  t_energy,
Double_t  t_pulseTime 
)
protected

Referenced by GetPulseRiseTime().

◆ CalcWaveForTime()

virtual Double_t BSEmcFullStackedWaveformSimulator::CalcWaveForTime ( Double_t  t_absoluteTime,
BSEmcWaveformData t_wfData 
)
protectedvirtual

Referenced by GetPulseRiseTime().

◆ Get1GevWaveform()

virtual BSEmcWaveform* BSEmcFullStackedWaveformSimulator::Get1GevWaveform ( )
inlinevirtual

returns 1GeV equivalent waveform

might be used for calibration etc.

Implements BSEmcAbsWaveformSimulator.

Definition at line 40 of file BSEmcFullStackedWaveformSimulator.h.

40 { return f1GeVWaveform; };

◆ GetAbsoluteTimeInterval()

virtual void BSEmcFullStackedWaveformSimulator::GetAbsoluteTimeInterval ( BSEmcWaveformData t_wfData,
Double_t &  t_startTime,
Double_t &  t_activeTime 
)
virtual

returns absolute livetime interval of waveform

times in ns

Implements BSEmcAbsWaveformSimulator.

◆ GetPulseRiseTime()

virtual Double_t BSEmcFullStackedWaveformSimulator::GetPulseRiseTime ( )
inlinevirtual

◆ GetScale()

virtual Double_t BSEmcFullStackedWaveformSimulator::GetScale ( )
inlinevirtual

Get 1GeV pulse height equivalient of simulator generated waveform

Implements BSEmcAbsWaveformSimulator.

Definition at line 39 of file BSEmcFullStackedWaveformSimulator.h.

39 { return fScale; }

◆ GetTimeBeforeFirstHit()

virtual Double_t BSEmcFullStackedWaveformSimulator::GetTimeBeforeFirstHit ( BSEmcWaveformData )
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 BSEmcAbsWaveformSimulator.

Definition at line 37 of file BSEmcFullStackedWaveformSimulator.h.

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

◆ Init()

virtual void BSEmcFullStackedWaveformSimulator::Init ( Double_t  t_samplingBeforeFirstPulse,
Double_t  t_samplingAfterLastPulse,
Double_t  t_cutoff,
Double_t  t_activeTimeIncrement 
)
virtual

◆ MakeSingleWaveform()

virtual BSEmcWaveform* BSEmcFullStackedWaveformSimulator::MakeSingleWaveform ( Double_t  t_hitEnergy,
Double_t  t_hitTime,
TClonesArray *  t_arrayToStore = nullptr,
Int_t  t_detId = -1,
Int_t  t_trackId = -1,
Int_t  t_hitIndex = -1 
)
protectedvirtual

Implements BSEmcAbsWaveformSimulator.

Reimplemented in BSEmcMultiWaveformSimulator.

Referenced by GetPulseRiseTime().

◆ MakeWaveform()

virtual BSEmcWaveform* BSEmcFullStackedWaveformSimulator::MakeWaveform ( BSEmcWaveformData t_wfData,
TClonesArray *  t_arrayToStore = nullptr 
)
protectedvirtual

Implements BSEmcAbsWaveformSimulator.

Reimplemented in BSEmcMultiWaveformSimulator.

Referenced by GetPulseRiseTime().


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