FairRoot/PandaRoot
|
represents a simulated waveform in an emc crystal More...
#include <PndEmcWaveform.h>
Public Member Functions | |
PndEmcWaveform () | |
PndEmcWaveform (int trackId, long detId, const std::vector< Double_t > &signal, Int_t hitIndex=-1) | |
PndEmcWaveform (long detId, const std::vector< Double_t > &signal, const FairMultiLinkedData &links) | |
PndEmcWaveform (Int_t trackId, Long_t detId, Double_t sampleRate, Long_t waveform_length=64, Int_t hitIndex=-1, Double_t time=0.) | |
virtual | ~PndEmcWaveform () |
long | GetDetectorId () const |
int | GetTrackId () const |
Short_t | GetModule () const |
PndEmcTwoCoordIndex * | GetTCI () const |
virtual std::vector< double > | GetSignal () const |
virtual std::vector< Double_t > | GetSignalError () const |
Int_t | GetHitIndex () const |
virtual bool | operator== (const PndEmcWaveform &otherWave) const |
virtual bool | operator< (const PndEmcWaveform &otherWave) const |
virtual bool | operator!= (const PndEmcWaveform &otherWave) const |
virtual bool | equal (FairTimeStamp *data) |
PndEmcWaveform & | operator+= (const PndEmcWaveform &otherWave) |
Double_t | GetSampleRate () const |
Double_t | GetScale (Double_t sampleRate, PndEmcAbsPulseshape *pulseshape) const |
Double_t | GetNormalisation (Double_t sampleRate, PndEmcAbsPulseshape *pulseshape) const |
Int_t | GetWaveformLength () const |
void | SetSampleRate (Double_t rate) |
void | UpdateWaveform (PndEmcHit *hit, Double_t pePerMeV, Bool_t usePhotonStatistic, Double_t excessNoiseFactor, Double_t firstADCBinTime, Double_t sampleRate, PndEmcAbsPulseshape *pulseshape, Double_t=0) |
void | MakeWaveform (Double_t energy, Double_t time, Double_t pePerMeV, Bool_t usePhotonStatistic, Double_t excessNoiseFactor, Double_t firstADCBinTime, Double_t sampleRate, PndEmcAbsPulseshape *pulseshape, Double_t=0) |
void | AddElecNoise (Double_t) |
void | Digitise (Double_t) |
void | AddElecNoiseAndDigitise (Double_t, Double_t, Double_t=0) |
void | AddShapedElecNoiseAndDigitise (Double_t noise_width, Double_t oneBitResolution, PndEmcAbsPulseshape *pulseshape, Double_t firstADCBinTime, Double_t sampleRate, Double_t=0) |
void | SetWaveform (std::vector< Double_t > &signal, Int_t length) |
Double_t | Max () |
virtual void | clearAndReset () |
virtual void | Clear (Option_t *) |
Double_t | GetActiveTime () const |
Int_t | GetPileupCount () const |
void | AddEvt (Int_t evtNo) |
const std::vector< Int_t > & | GetEvtList () const |
TGraphErrors * | ToTGraph () const |
Double_t | GetBaseline () const |
Double_t | Integral () const |
Protected Attributes | |
Int_t | fTrackId |
Int_t | fDetectorId |
Int_t | fWaveformLength |
std::vector< Double_t > | fSignal |
std::vector< Double_t > | fSignalError |
Int_t | fHitIndex |
Double_t | fSampleRate |
Double_t | fBaselineValue |
std::vector< Int_t > | fEvt |
Static Protected Attributes | |
static Double_t | BarrelOverlapTime = 700 |
static Double_t | ForwardOverlapTime = 390 |
static Double_t | ShashylikOverlapTime = 130 |
Friends | |
class | PndEmcAbsWaveformModifier |
represents a simulated waveform in an emc crystal
Definition at line 56 of file PndEmcWaveform.h.
PndEmcWaveform::PndEmcWaveform | ( | ) |
Definition at line 47 of file PndEmcWaveform.cxx.
PndEmcWaveform::PndEmcWaveform | ( | int | trackId, |
long | detId, | ||
const std::vector< Double_t > & | signal, | ||
Int_t | hitIndex = -1 |
||
) |
Definition at line 73 of file PndEmcWaveform.cxx.
PndEmcWaveform::PndEmcWaveform | ( | long | detId, |
const std::vector< Double_t > & | signal, | ||
const FairMultiLinkedData & | links | ||
) |
Definition at line 83 of file PndEmcWaveform.cxx.
PndEmcWaveform::PndEmcWaveform | ( | Int_t | trackId, |
Long_t | detId, | ||
Double_t | sampleRate, | ||
Long_t | waveform_length = 64 , |
||
Int_t | hitIndex = -1 , |
||
Double_t | time = 0. |
||
) |
|
virtual |
void PndEmcWaveform::AddElecNoise | ( | Double_t | width | ) |
Definition at line 236 of file PndEmcWaveform.cxx.
References Double_t, fSignal, fWaveformLength, and i.
void PndEmcWaveform::AddElecNoiseAndDigitise | ( | Double_t | noise_width, |
Double_t | oneBitResolution, | ||
Double_t | EnergyError = 0 |
||
) |
Definition at line 259 of file PndEmcWaveform.cxx.
References Double_t, fBaselineValue, fSignal, fSignalError, fWaveformLength, i, and sqrt().
Referenced by PndEmcHitsToWaveform::Exec().
|
inline |
Definition at line 135 of file PndEmcWaveform.h.
References fEvt.
Referenced by PndEmcHitsToWaveform::Exec(), and operator+=().
void PndEmcWaveform::AddShapedElecNoiseAndDigitise | ( | Double_t | noise_width, |
Double_t | oneBitResolution, | ||
PndEmcAbsPulseshape * | pulseshape, | ||
Double_t | firstADCBinTime, | ||
Double_t | sampleRate, | ||
Double_t | EnergyError = 0 |
||
) |
Definition at line 291 of file PndEmcWaveform.cxx.
References Double_t, fBaselineValue, fSignal, fSignalError, fWaveformLength, i, sqrt(), t, and PndEmcAbsPulseshape::value().
Referenced by PndEmcHitsToWaveform::Exec().
|
inlinevirtual |
Reimplemented in PndEmcMultiWaveform.
Definition at line 130 of file PndEmcWaveform.h.
References fSignal.
|
virtual |
Reimplemented in PndEmcMultiWaveform.
Definition at line 334 of file PndEmcWaveform.cxx.
References fSignal.
Referenced by GetNormalisation().
void PndEmcWaveform::Digitise | ( | Double_t | oneBitResolution | ) |
Definition at line 249 of file PndEmcWaveform.cxx.
References Double_t, fSignal, fWaveformLength, and i.
|
virtual |
|
inline |
Definition at line 132 of file PndEmcWaveform.h.
References fSampleRate, and fWaveformLength.
Referenced by PndEmcHitsToWaveform::Exec(), PndEmcWaveformWriteoutBuffer::Modify(), and operator<().
|
inline |
Definition at line 140 of file PndEmcWaveform.h.
References fBaselineValue.
Referenced by PndEmcAnalysis::Exec(), and PndEmcPSAFPGADigitalFilterAnalyser::Process().
|
inline |
Definition at line 81 of file PndEmcWaveform.h.
References fDetectorId.
Referenced by equal(), PndEmcFWEndcapDigi::Exec(), PndEmcWaveformToDigi::Exec(), PndEmcWaveformToCalibratedDigi::Exec(), PndEmcMultiWaveformToCalibratedDigi::Exec(), PndEmcWaveformWriteoutBuffer::Modify(), PndEmcMultiWaveformSimulator::MultiplyWaveform(), operator<(), and PndEmcWaveformWriteoutBuffer::WriteToFile().
|
inline |
Definition at line 136 of file PndEmcWaveform.h.
References fEvt.
Referenced by PndEmcWaveformToDigi::Exec(), PndEmcAnalysis::Exec(), operator+=(), and PndEmcWaveformWriteoutBuffer::WriteToFile().
|
inline |
Definition at line 88 of file PndEmcWaveform.h.
References fHitIndex.
Referenced by PndEmcFWEndcapDigi::Exec(), PndEmcWaveformToDigi::Exec(), PndEmcWaveformToCalibratedDigi::Exec(), PndEmcMultiWaveformToCalibratedDigi::Exec(), PndEmcAnalysis::Exec(), and PndEmcMultiWaveformSimulator::MultiplyWaveform().
|
inline |
Definition at line 83 of file PndEmcWaveform.h.
References fDetectorId.
Referenced by PndEmcWaveformToDigi::Exec(), PndEmcAnalysis::Exec(), PndEmcMultiWaveformToCalibratedDigi::Exec(), PndEmcWaveformWriteoutBuffer::Modify(), and operator<().
Double_t PndEmcWaveform::GetNormalisation | ( | Double_t | sampleRate, |
PndEmcAbsPulseshape * | pulseshape | ||
) | const |
Definition at line 149 of file PndEmcWaveform.cxx.
References clearAndReset(), Double_t, Max(), PndEmcHit::SetEnergy(), PndEmcHit::SetTime(), and UpdateWaveform().
Referenced by GetScale().
|
inline |
Definition at line 133 of file PndEmcWaveform.h.
References fEvt.
Referenced by PndEmcAnalysis::Exec(), and PndEmcWaveformWriteoutBuffer::Modify().
|
inline |
Definition at line 100 of file PndEmcWaveform.h.
References fSampleRate.
Referenced by PndEmcFWEndcapDigi::Exec(), and PndEmcMultiWaveformSimulator::MultiplyWaveform().
Double_t PndEmcWaveform::GetScale | ( | Double_t | sampleRate, |
PndEmcAbsPulseshape * | pulseshape | ||
) | const |
Definition at line 143 of file PndEmcWaveform.cxx.
References GetNormalisation().
Referenced by PndEmcHitsToWaveform::Init().
|
inlinevirtual |
Reimplemented in PndEmcMultiWaveform.
Definition at line 85 of file PndEmcWaveform.h.
References fSignal.
Referenced by PndEmcMultiWaveformSimulator::MultiplyWaveform(), PndEmcPSAFPGADigitalFilterAnalyser::Process(), PndEmcPSATrapDigiFilter::Process(), PndEmcHighLowPSA::Process(), PndEmcPSAParabolicBaseline::Process(), PndEmcPSAFPGASampleAnalyser::Process(), PndEmcPSAParabolic::Process(), PndEmcPSAMatchedDigiFilter::Process(), and testFilter().
|
inlinevirtual |
PndEmcTwoCoordIndex * PndEmcWaveform::GetTCI | ( | ) | const |
Definition at line 339 of file PndEmcWaveform.cxx.
References emcMap, fDetectorId, PndEmcMapper::GetTCI(), and PndEmcMapper::Instance().
Referenced by PndEmcAnalysis::Exec(), and PndEmcWaveformWriteoutBuffer::Modify().
|
inline |
Definition at line 82 of file PndEmcWaveform.h.
References fTrackId.
Referenced by PndEmcFWEndcapDigi::Exec(), PndEmcWaveformToDigi::Exec(), PndEmcWaveformToCalibratedDigi::Exec(), PndEmcMultiWaveformToCalibratedDigi::Exec(), and PndEmcMultiWaveformSimulator::MultiplyWaveform().
|
inline |
Definition at line 103 of file PndEmcWaveform.h.
References fWaveformLength.
Referenced by PndEmcAnalysis::Exec().
Double_t PndEmcWaveform::Integral | ( | ) | const |
Definition at line 432 of file PndEmcWaveform.cxx.
References Double_t, fSignal, and i.
Referenced by PndEmcWaveformToDigi::Init().
void PndEmcWaveform::MakeWaveform | ( | Double_t | energy, |
Double_t | time, | ||
Double_t | pePerMeV, | ||
Bool_t | usePhotonStatistic, | ||
Double_t | excessNoiseFactor, | ||
Double_t | firstADCBinTime, | ||
Double_t | sampleRate, | ||
PndEmcAbsPulseshape * | pulseshape, | ||
Double_t | EnergyError = 0 |
||
) |
Definition at line 190 of file PndEmcWaveform.cxx.
References Double_t, fabs(), fSignal, fSignalError, fWaveformLength, i, sqrt(), and PndEmcAbsPulseshape::value().
Referenced by UpdateWaveform().
Double_t PndEmcWaveform::Max | ( | ) |
Definition at line 325 of file PndEmcWaveform.cxx.
References Double_t, and fSignal.
Referenced by PndEmcAnalysis::Exec(), GetNormalisation(), and PndEmcWaveformToDigi::Init().
|
virtual |
PndEmcWaveform & PndEmcWaveform::operator+= | ( | const PndEmcWaveform & | otherWave | ) |
Definition at line 380 of file PndEmcWaveform.cxx.
References AddEvt(), fSampleRate, fSignal, fSignalError, fWaveformLength, GetEvtList(), i, and sqrt().
|
virtual |
Definition at line 350 of file PndEmcWaveform.cxx.
References BarrelOverlapTime, Double_t, ForwardOverlapTime, GetActiveTime(), GetDetectorId(), GetModule(), and ShashylikOverlapTime.
|
virtual |
|
inline |
Definition at line 111 of file PndEmcWaveform.h.
References fSampleRate.
Referenced by PndEmcFullStackedWaveformSimulator::MakeSingleWaveform(), PndEmcFullStackedWaveformSimulator::MakeWaveform(), and PndEmcMultiWaveformSimulator::MultiplyWaveform().
void PndEmcWaveform::SetWaveform | ( | std::vector< Double_t > & | signal, |
Int_t | length | ||
) |
TGraphErrors * PndEmcWaveform::ToTGraph | ( | ) | const |
Definition at line 415 of file PndEmcWaveform.cxx.
References Double_t, fSampleRate, fSignal, fSignalError, g, and i.
Referenced by PndEmcWaveformWriteoutBuffer::WriteToFile().
void PndEmcWaveform::UpdateWaveform | ( | PndEmcHit * | hit, |
Double_t | pePerMeV, | ||
Bool_t | usePhotonStatistic, | ||
Double_t | excessNoiseFactor, | ||
Double_t | firstADCBinTime, | ||
Double_t | sampleRate, | ||
PndEmcAbsPulseshape * | pulseshape, | ||
Double_t | EnergyError = 0 |
||
) |
Definition at line 173 of file PndEmcWaveform.cxx.
References Double_t, energy, PndEmcHit::GetEnergy(), and MakeWaveform().
Referenced by PndEmcHitsToWaveform::Exec(), GetNormalisation(), PndEmcWaveformToDigi::Init(), PndEmcWaveformToCalibratedDigi::Init(), and PndEmcMultiWaveformToCalibratedDigi::Init().
|
friend |
Definition at line 59 of file PndEmcWaveform.h.
|
staticprotected |
Definition at line 157 of file PndEmcWaveform.h.
Referenced by operator<().
|
protected |
Definition at line 152 of file PndEmcWaveform.h.
Referenced by AddElecNoiseAndDigitise(), AddShapedElecNoiseAndDigitise(), and GetBaseline().
|
protected |
Definition at line 145 of file PndEmcWaveform.h.
Referenced by GetDetectorId(), GetModule(), GetTCI(), operator!=(), and operator==().
|
protected |
Definition at line 154 of file PndEmcWaveform.h.
Referenced by AddEvt(), GetEvtList(), GetPileupCount(), and ~PndEmcWaveform().
|
protected |
Definition at line 149 of file PndEmcWaveform.h.
Referenced by GetHitIndex().
|
staticprotected |
Definition at line 158 of file PndEmcWaveform.h.
Referenced by operator<().
|
protected |
Definition at line 151 of file PndEmcWaveform.h.
Referenced by GetActiveTime(), GetSampleRate(), operator+=(), SetSampleRate(), and ToTGraph().
|
protected |
Definition at line 147 of file PndEmcWaveform.h.
Referenced by AddElecNoise(), AddElecNoiseAndDigitise(), AddShapedElecNoiseAndDigitise(), PndEmcMultiWaveform::Clear(), Clear(), clearAndReset(), Digitise(), GetSignal(), PndEmcAbsWaveformModifier::GetWaveformReference(), Integral(), MakeWaveform(), Max(), operator+=(), SetWaveform(), ToTGraph(), PndEmcMultiWaveform::~PndEmcMultiWaveform(), and ~PndEmcWaveform().
|
protected |
Definition at line 148 of file PndEmcWaveform.h.
Referenced by AddElecNoiseAndDigitise(), AddShapedElecNoiseAndDigitise(), GetSignalError(), MakeWaveform(), operator+=(), ToTGraph(), and ~PndEmcWaveform().
|
protected |
Definition at line 144 of file PndEmcWaveform.h.
Referenced by GetTrackId().
|
protected |
Definition at line 146 of file PndEmcWaveform.h.
Referenced by AddElecNoise(), AddElecNoiseAndDigitise(), AddShapedElecNoiseAndDigitise(), PndEmcMultiWaveform::clearAndReset(), Digitise(), GetActiveTime(), GetWaveformLength(), MakeWaveform(), operator+=(), PndEmcMultiWaveform::SetWaveform(), and SetWaveform().
|
staticprotected |
Definition at line 159 of file PndEmcWaveform.h.
Referenced by operator<().