FairRoot/PandaRoot
|
#include <PndSdsTotChargeConversion.h>
Public Member Functions | |
PndSdsTotChargeConversion (Int_t VerboseLevel=0) | |
Default constructor. More... | |
PndSdsTotChargeConversion (Double_t tr, Double_t a, Double_t threshold, Double_t clockfrequency=0, Int_t VerboseLevel=0) | |
Main constructor. More... | |
~PndSdsTotChargeConversion () | |
Destructor. More... | |
void | StartExecute () |
virtual Double_t | ChargeToDigiValue (Double_t charge) |
Converts a given charge in electrons into the electronics answer e.g. ToT [ns]. More... | |
virtual Double_t | DigiValueToCharge (Double_t digivalue) |
Converts a given digitized charge into charge in electrons. More... | |
virtual Double_t | GetPileUpTime (Double_t charge) |
returns the time the capacitor is loaded and therefore the time this MVD pixel/strip is blind for other events More... | |
virtual Double_t | GetRelativeError (Double_t Charge) |
virtual Double_t | GetTimeStamp (Double_t tof, Double_t charge, Double_t MCEventTime) |
absolute time stamp of a hit in ns (clock is taken into account) More... | |
virtual Double_t | GetTimeWalk (Double_t Charge) |
virtual Double_t | GetTimeStampErrorAfterCorrection () |
virtual Double_t | GetTimeStep () |
virtual void | EndExecute () |
virtual Double_t | DigiValueToCharge (PndSdsDigi &digi) |
Double_t | GetParameter (TString param) |
void | SetParameter (TString param, Double_t value) |
Private Member Functions | |
Double_t | GetTotWC () |
Double_t | DigitizeTime (Double_t time) |
returns the time in [ns] but binned to clock units More... | |
ClassDef (PndSdsTotChargeConversion, 1) | |
Private Attributes | |
Double_t | fthreshold |
Double_t | Qt |
Double_t | t1e |
Double_t | t2e |
Double_t | ftimestep |
Double_t | fstarttime |
Double_t | fstoptime |
Double_t | ftimeoffset |
Double_t | ftimewalk |
Int_t | fVerboseLevel |
TRandom2 | fRand |
Class to calculate the deposited charge in one digi <-> time over threshold and vice versa
This class calculates the time over threshold by using the charge of a pixel/strip. To calculate the TOT a simple capacitor model (integrator) is used. The charge time tr [ns] is assumed to be constant. This leads to a rising straight line. A constant current unloads the capacitor with a ratio of: a [e/ns]. The distance between the points of intersection between the resulting triangle and the threshold line is the TOT.
q | | /\ a | / \ |—/-------—------------— threshold | / \ ----------------------------— q = 0 (charge) | tr| t[ns] <- TOT ->
Definition at line 32 of file PndSdsTotChargeConversion.h.
PndSdsTotChargeConversion::PndSdsTotChargeConversion | ( | Int_t | VerboseLevel = 0 | ) |
Default constructor.
Definition at line 5 of file PndSdsTotChargeConversion.cxx.
References ftimestep, fVerboseLevel, PndSdsChargeConversion::GetParameter(), PndSdsChargeConversion::SetParameter(), and StartExecute().
PndSdsTotChargeConversion::PndSdsTotChargeConversion | ( | Double_t | tr, |
Double_t | a, | ||
Double_t | threshold, | ||
Double_t | clockfrequency = 0 , |
||
Int_t | VerboseLevel = 0 |
||
) |
Main constructor.
Definition at line 36 of file PndSdsTotChargeConversion.cxx.
References ftimestep, fVerboseLevel, PndSdsChargeConversion::GetParameter(), PndSdsChargeConversion::SetParameter(), and StartExecute().
|
inline |
Converts a given charge in electrons into the electronics answer e.g. ToT [ns].
Implements PndSdsChargeConversion.
Definition at line 65 of file PndSdsTotChargeConversion.cxx.
References Double_t, ftimeoffset, fVerboseLevel, PndSdsChargeConversion::GetParameter(), GetTotWC(), Qt, PndSdsChargeConversion::SetParameter(), t1e, and t2e.
|
private |
returns the time in [ns] but binned to clock units
Definition at line 154 of file PndSdsTotChargeConversion.cxx.
References ftimestep, and fVerboseLevel.
Referenced by GetTimeStamp().
|
virtualinherited |
Definition at line 3 of file PndSdsChargeConversion.cxx.
References PndSdsChargeConversion::DigiValueToCharge(), and PndSdsDigi::GetCharge().
Converts a given digitized charge into charge in electrons.
Implements PndSdsChargeConversion.
Definition at line 218 of file PndSdsTotChargeConversion.cxx.
References fVerboseLevel, PndSdsChargeConversion::GetParameter(), and sqrt().
|
inlinevirtualinherited |
Definition at line 21 of file PndSdsChargeConversion.h.
Referenced by PndSdsHybridHitProducer::Exec().
Definition at line 37 of file PndSdsChargeConversion.h.
References PndSdsChargeConversion::fParams, and PndSdsChargeConversion::it.
Referenced by ChargeToDigiValue(), DigiValueToCharge(), GetPileUpTime(), GetRelativeError(), GetTimeWalk(), and PndSdsTotChargeConversion().
returns the time the capacitor is loaded and therefore the time this MVD pixel/strip is blind for other events
Definition at line 214 of file PndSdsTotChargeConversion.cxx.
References PndSdsChargeConversion::GetParameter().
Implements PndSdsChargeConversion.
Definition at line 96 of file PndSdsTotChargeConversion.cxx.
References a, Double_t, PndSdsChargeConversion::GetParameter(), Qt, and sqrt().
|
virtual |
absolute time stamp of a hit in ns (clock is taken into account)
Implements PndSdsChargeConversion.
Definition at line 126 of file PndSdsTotChargeConversion.cxx.
References DigitizeTime(), Double_t, ftimestep, ftimewalk, fVerboseLevel, GetTimeWalk(), and Qt.
|
inlinevirtual |
Reimplemented from PndSdsChargeConversion.
Definition at line 53 of file PndSdsTotChargeConversion.h.
References ftimestep, and sqrt().
|
inlinevirtual |
Reimplemented from PndSdsChargeConversion.
Definition at line 57 of file PndSdsTotChargeConversion.h.
References ftimestep.
Reimplemented from PndSdsChargeConversion.
Definition at line 164 of file PndSdsTotChargeConversion.cxx.
References Double_t, ftimewalk, fVerboseLevel, PndSdsChargeConversion::GetParameter(), Qt, and PndSdsChargeConversion::SetParameter().
Referenced by GetTimeStamp().
|
private |
Definition at line 195 of file PndSdsTotChargeConversion.cxx.
References fstarttime, fstoptime, ftimestep, t1e, and t2e.
Referenced by ChargeToDigiValue().
Definition at line 45 of file PndSdsChargeConversion.h.
References PndSdsChargeConversion::fParams.
Referenced by ChargeToDigiValue(), GetTimeWalk(), and PndSdsTotChargeConversion().
|
virtual |
Reimplemented from PndSdsChargeConversion.
Definition at line 210 of file PndSdsTotChargeConversion.cxx.
References fRand, ftimeoffset, and ftimestep.
Referenced by PndSdsTotChargeConversion().
|
private |
Definition at line 74 of file PndSdsTotChargeConversion.h.
Referenced by StartExecute().
|
private |
Definition at line 67 of file PndSdsTotChargeConversion.h.
Referenced by GetTotWC().
|
private |
Definition at line 68 of file PndSdsTotChargeConversion.h.
Referenced by GetTotWC().
|
private |
Definition at line 63 of file PndSdsTotChargeConversion.h.
|
private |
Definition at line 69 of file PndSdsTotChargeConversion.h.
Referenced by ChargeToDigiValue(), and StartExecute().
|
private |
Definition at line 66 of file PndSdsTotChargeConversion.h.
Referenced by DigitizeTime(), GetTimeStamp(), GetTimeStampErrorAfterCorrection(), GetTimeStep(), GetTotWC(), PndSdsTotChargeConversion(), and StartExecute().
|
private |
Definition at line 70 of file PndSdsTotChargeConversion.h.
Referenced by GetTimeStamp(), and GetTimeWalk().
|
private |
Definition at line 71 of file PndSdsTotChargeConversion.h.
Referenced by ChargeToDigiValue(), DigitizeTime(), DigiValueToCharge(), GetTimeStamp(), GetTimeWalk(), and PndSdsTotChargeConversion().
|
private |
Definition at line 64 of file PndSdsTotChargeConversion.h.
Referenced by ChargeToDigiValue(), GetRelativeError(), GetTimeStamp(), and GetTimeWalk().
|
private |
Definition at line 65 of file PndSdsTotChargeConversion.h.
Referenced by ChargeToDigiValue(), and GetTotWC().
|
private |
Definition at line 65 of file PndSdsTotChargeConversion.h.
Referenced by ChargeToDigiValue(), and GetTotWC().