FairRoot/PandaRoot
Public Member Functions | Private Member Functions | Private Attributes | List of all members
PndSdsChargeConversion Class Referenceabstract

#include <PndSdsChargeConversion.h>

Inheritance diagram for PndSdsChargeConversion:
PndSdsAdcChargeConversion PndSdsIdealChargeConversion PndSdsTotChargeConversion

Public Member Functions

 PndSdsChargeConversion (ConvType type)
 
virtual ~PndSdsChargeConversion ()
 
virtual void StartExecute ()
 
virtual void EndExecute ()
 
virtual Double_t ChargeToDigiValue (Double_t Charge)=0
 Converts a given charge in electrons into the electronics answer e.g. ToT [ns]. More...
 
virtual Double_t DigiValueToCharge (Double_t digi)=0
 Converts a given digitized charge into charge in electrons. More...
 
virtual Double_t DigiValueToCharge (PndSdsDigi &digi)
 
virtual Double_t GetRelativeError (Double_t Charge)=0
 
virtual Double_t GetTimeStamp (Double_t tof, Double_t charge, Double_t MCEventTime)=0
 absolute time stamp of a hit in ns (clock is taken into account) More...
 
virtual Double_t GetTimeWalk (Double_t)
 
virtual Double_t GetTimeStampErrorAfterCorrection ()
 
virtual Double_t GetTimeStep ()
 
Double_t GetParameter (TString param)
 
void SetParameter (TString param, Double_t value)
 

Private Member Functions

 ClassDef (PndSdsChargeConversion, 2)
 

Private Attributes

std::map< TString, Double_tfParams
 
std::map< TString, Double_t >
::iterator 
it
 
ConvType fConvType
 

Detailed Description

Definition at line 14 of file PndSdsChargeConversion.h.

Constructor & Destructor Documentation

PndSdsChargeConversion::PndSdsChargeConversion ( ConvType  type)
inline

Definition at line 18 of file PndSdsChargeConversion.h.

18 : fParams(), it(), fConvType(type){};
std::map< TString, Double_t >::iterator it
std::map< TString, Double_t > fParams
virtual PndSdsChargeConversion::~PndSdsChargeConversion ( )
inlinevirtual

Definition at line 19 of file PndSdsChargeConversion.h.

19 {};

Member Function Documentation

virtual Double_t PndSdsChargeConversion::ChargeToDigiValue ( Double_t  Charge)
pure virtual
PndSdsChargeConversion::ClassDef ( PndSdsChargeConversion  ,
 
)
private
virtual Double_t PndSdsChargeConversion::DigiValueToCharge ( Double_t  digi)
pure virtual
Double_t PndSdsChargeConversion::DigiValueToCharge ( PndSdsDigi digi)
virtual

Definition at line 3 of file PndSdsChargeConversion.cxx.

References DigiValueToCharge(), and PndSdsDigi::GetCharge().

3  {
4  return DigiValueToCharge(digi.GetCharge());
5 }
Double_t GetCharge() const
Definition: PndSdsDigi.h:60
virtual Double_t DigiValueToCharge(Double_t digi)=0
Converts a given digitized charge into charge in electrons.
virtual void PndSdsChargeConversion::EndExecute ( )
inlinevirtual

Definition at line 21 of file PndSdsChargeConversion.h.

Referenced by PndSdsHybridHitProducer::Exec().

21 {};
Double_t PndSdsChargeConversion::GetParameter ( TString  param)
inline

Definition at line 37 of file PndSdsChargeConversion.h.

References fParams, and it.

Referenced by PndSdsTotChargeConversion::ChargeToDigiValue(), PndSdsTotChargeConversion::DigiValueToCharge(), PndSdsTotChargeConversion::GetPileUpTime(), PndSdsTotChargeConversion::GetRelativeError(), PndSdsTotChargeConversion::GetTimeWalk(), and PndSdsTotChargeConversion::PndSdsTotChargeConversion().

37  {
38  it=fParams.find(param);
39  if (it == fParams.end()){
40  Error("GetParameter(TString param)","No parameter named: %s",param.Data());
41  return -1;
42  }
43  return it->second;
44  };
std::map< TString, Double_t >::iterator it
std::map< TString, Double_t > fParams
virtual Double_t PndSdsChargeConversion::GetRelativeError ( Double_t  Charge)
pure virtual
virtual Double_t PndSdsChargeConversion::GetTimeStamp ( Double_t  tof,
Double_t  charge,
Double_t  MCEventTime 
)
pure virtual
virtual Double_t PndSdsChargeConversion::GetTimeStampErrorAfterCorrection ( )
inlinevirtual

Reimplemented in PndSdsTotChargeConversion.

Definition at line 31 of file PndSdsChargeConversion.h.

Referenced by PndLmdNoiseProducer::AddDigiPixel(), and PndMvdNoiseProducer::AddDigiPixel().

31  {
32  return 1;
33  }
virtual Double_t PndSdsChargeConversion::GetTimeStep ( )
inlinevirtual

Reimplemented in PndSdsTotChargeConversion.

Definition at line 35 of file PndSdsChargeConversion.h.

Referenced by PndSdsStripHitProducer::AddDigi(), and PndSdsHybridHitProducer::Exec().

35 {return 0;};
virtual Double_t PndSdsChargeConversion::GetTimeWalk ( Double_t  )
inlinevirtual

Reimplemented in PndSdsTotChargeConversion.

Definition at line 27 of file PndSdsChargeConversion.h.

Referenced by PndSdsStripHitProducer::AddDigi(), PndLmdNoiseProducer::AddDigiPixel(), PndMvdNoiseProducer::AddDigiPixel(), and PndSdsHybridHitProducer::Exec().

27 {return 0;}; //charge //[R.K.03/2017] unused variable(s) ///< Time between hit in detector and the time stamp assigned to the hit
void PndSdsChargeConversion::SetParameter ( TString  param,
Double_t  value 
)
inline

Definition at line 45 of file PndSdsChargeConversion.h.

References fParams.

Referenced by PndSdsTotChargeConversion::ChargeToDigiValue(), PndSdsTotChargeConversion::GetTimeWalk(), and PndSdsTotChargeConversion::PndSdsTotChargeConversion().

45  {
46  if (value < 0 ) Error("SetParameter(TString param, Double_t value)","invalid value for param: %s", param.Data());
47  fParams.insert(std::pair<TString, Double_t>(param, value));
48  };
std::map< TString, Double_t > fParams
virtual void PndSdsChargeConversion::StartExecute ( )
inlinevirtual

Reimplemented in PndSdsTotChargeConversion.

Definition at line 20 of file PndSdsChargeConversion.h.

Referenced by PndSdsHybridHitProducer::Exec().

20 {};

Member Data Documentation

ConvType PndSdsChargeConversion::fConvType
private

Definition at line 53 of file PndSdsChargeConversion.h.

std::map<TString, Double_t> PndSdsChargeConversion::fParams
private

Definition at line 48 of file PndSdsChargeConversion.h.

Referenced by GetParameter(), and SetParameter().

std::map<TString, Double_t>::iterator PndSdsChargeConversion::it
private

Definition at line 52 of file PndSdsChargeConversion.h.

Referenced by GetParameter().


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