PandaRoot
PndSdsTotChargeConversion Class Reference

#include <PndSdsTotChargeConversion.h>

Inheritance diagram for PndSdsTotChargeConversion:
PndSdsChargeConversion

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 ()
 
- Public Member Functions inherited from PndSdsChargeConversion
 PndSdsChargeConversion (ConvType type)
 
virtual ~PndSdsChargeConversion ()
 
virtual void EndExecute ()
 
virtual Double_t DigiValueToCharge (PndSdsDigi &digi)
 
Double_t GetParameter (TString param)
 
void SetParameter (TString param, Double_t value)
 

Detailed Description

Class to calculate the deposited charge in one digi <-> time over threshold and vice versa

Author
D.-L.Pohl d.poh.nosp@m.l@fz.nosp@m.-juel.nosp@m.ich..nosp@m.de

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 31 of file PndSdsTotChargeConversion.h.

Constructor & Destructor Documentation

◆ PndSdsTotChargeConversion() [1/2]

PndSdsTotChargeConversion::PndSdsTotChargeConversion ( Int_t  VerboseLevel = 0)

Default constructor.

◆ PndSdsTotChargeConversion() [2/2]

PndSdsTotChargeConversion::PndSdsTotChargeConversion ( Double_t  tr,
Double_t  a,
Double_t  threshold,
Double_t  clockfrequency = 0,
Int_t  VerboseLevel = 0 
)

Main constructor.

◆ ~PndSdsTotChargeConversion()

PndSdsTotChargeConversion::~PndSdsTotChargeConversion ( )
inline

Member Function Documentation

◆ ChargeToDigiValue()

virtual Double_t PndSdsTotChargeConversion::ChargeToDigiValue ( Double_t  Charge)
virtual

Converts a given charge in electrons into the electronics answer e.g. ToT [ns].

Implements PndSdsChargeConversion.

Referenced by ~PndSdsTotChargeConversion().

◆ DigiValueToCharge()

virtual Double_t PndSdsTotChargeConversion::DigiValueToCharge ( Double_t  digi)
virtual

Converts a given digitized charge into charge in electrons.

Implements PndSdsChargeConversion.

Referenced by ~PndSdsTotChargeConversion().

◆ GetPileUpTime()

virtual Double_t PndSdsTotChargeConversion::GetPileUpTime ( Double_t  charge)
virtual

returns the time the capacitor is loaded and therefore the time this MVD pixel/strip is blind for other events

Referenced by ~PndSdsTotChargeConversion().

◆ GetRelativeError()

virtual Double_t PndSdsTotChargeConversion::GetRelativeError ( Double_t  Charge)
virtual

◆ GetTimeStamp()

virtual Double_t PndSdsTotChargeConversion::GetTimeStamp ( Double_t  tof,
Double_t  charge,
Double_t  MCEventTime 
)
virtual

absolute time stamp of a hit in ns (clock is taken into account)

Implements PndSdsChargeConversion.

Referenced by ~PndSdsTotChargeConversion().

◆ GetTimeStampErrorAfterCorrection()

virtual Double_t PndSdsTotChargeConversion::GetTimeStampErrorAfterCorrection ( )
inlinevirtual

Reimplemented from PndSdsChargeConversion.

Definition at line 51 of file PndSdsTotChargeConversion.h.

References sqrt().

51 { return ftimestep / sqrt(12); }
friend F32vec4 sqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:28

◆ GetTimeStep()

virtual Double_t PndSdsTotChargeConversion::GetTimeStep ( )
inlinevirtual

Reimplemented from PndSdsChargeConversion.

Definition at line 53 of file PndSdsTotChargeConversion.h.

53 { return ftimestep; }

◆ GetTimeWalk()

virtual Double_t PndSdsTotChargeConversion::GetTimeWalk ( Double_t  Charge)
virtual

Reimplemented from PndSdsChargeConversion.

Referenced by ~PndSdsTotChargeConversion().

◆ StartExecute()

void PndSdsTotChargeConversion::StartExecute ( )
virtual

Reimplemented from PndSdsChargeConversion.

Referenced by ~PndSdsTotChargeConversion().


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