EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EicCalorimeterDigiHitProducer Class Reference

#include <EicRoot/blob/master/eic/calorimetry/EicCalorimeterDigiHitProducer.h>

+ Inheritance diagram for EicCalorimeterDigiHitProducer:
+ Collaboration diagram for EicCalorimeterDigiHitProducer:

Public Member Functions

 EicCalorimeterDigiHitProducer ()
 
 EicCalorimeterDigiHitProducer (const char *name)
 
 ~EicCalorimeterDigiHitProducer ()
 
void ResetVars ()
 
int RequestTimeSpectra (Double_t tRange, UInt_t tDim)
 
void RequestEnergyDepositAccounting (double dEmax=1.0, unsigned nBins=100)
 
Bool_t EnergyDepositAccountingRequested () const
 
void SetZBinning (UInt_t zDim) const
 
void SetCleanupThreshold (unsigned threshold) const
 
void SetPrimaryLightYield (Double_t yield) const
 
void SetTimingGate (Double_t gateMin, Double_t gateMax) const
 
void SetSensorType (CalorimeterDigiParData::SensorType sType) const
 
void SetSipmSingleCellNoiseLevel (Double_t noiseLevel) const
 
void SetSipmSingleCellDynamicRange (UInt_t range) const
 
void SetApdEquivalentNoiseCharge (Double_t ENC) const
 
void SetApdGainFactor (Double_t M) const
 
void SetApdExcessNoiseFactor (Double_t ENF) const
 
void SetAttenuationLength (Double_t attenuationLength) const
 
void SetDecayConstant (Double_t decayConstant) const
 
void SetLightPropagationVelocity (Double_t velocity) const
 
void ConfigureUpstreamSensorGroup (CalorimeterSensorGroup::SensorGroupType sType, Double_t reflectivity=1.0) const
 
void ConfigureDownstreamSensorGroup (CalorimeterSensorGroup::SensorGroupType sType, Double_t reflectivity=1.0) const
 
InitStatus ExtraInit ()
 
int PreExec ()
 
int PostExec ()
 
int HandleHit (const EicMoCaPoint *point)
 
int HandleHitCore (CalorimeterCell *cell)
 
virtual void Finish ()
 
- Public Member Functions inherited from EicDigiHitProducer
 EicDigiHitProducer ()
 
 EicDigiHitProducer (const char *name)
 
 ~EicDigiHitProducer ()
 
void ResetVars ()
 
InitStatus Init ()
 
virtual void Exec (Option_t *opt)
 
void SetPersistence (Bool_t persistence)
 
void DeclareDigiSensitiveVolume (const char *name, Double_t Kb=0.0)
 
void DeclareDigiSensitiveVolumePrefix (const char *name, Double_t Kb=0.0)
 
- Public Member Functions inherited from FairTask
 FairTask ()
 
 FairTask (const char *name, Int_t iVerbose=1)
 
virtual ~FairTask ()
 
void InitTask ()
 
void ReInitTask ()
 
void SetParTask ()
 
virtual void FinishTask ()
 
virtual void FinishEvent ()
 
void SetVerbose (Int_t iVerbose)
 
void SetInputPersistance (Bool_t val)
 
void CheckInputPersistance (TString branchName)
 

Private Member Functions

void FillEnergyDepositPlot (const char *name, double dE)
 
void ConfigureSensorGroupCore (CalorimeterSensorGroup *sgroup, CalorimeterSensorGroup::SensorGroupType sgType, Double_t reflectivity) const
 
 ClassDef (EicCalorimeterDigiHitProducer, 47)
 

Private Attributes

std::map< ULogicalIndex_t,
CalorimeterCell
mCells
 
Bool_t mEnergyDepositAccounting
 
double mEnergyDepositAccountingPlotDeMax
 
unsigned mEnergyDepositAccountingPlotNbins
 
CalorimeterDigiParDatamDigi
 
std::map< std::string, TH1F * > mEnergyDepositPlots
 
LogicalVolumeLookupTableEntrymLastOkNode
 

Additional Inherited Members

- Public Types inherited from EicDigiHitProducer
enum  SmearingModel { NoAction, Smear, Quantize, Calculate }
 digitization model identifiers More...
 
- Protected Member Functions inherited from FairTask
virtual InitStatus ReInit ()
 
void InitTasks ()
 
void ReInitTasks ()
 
void SetParTasks ()
 
void FinishTasks ()
 
void FinishEvents ()
 
- Protected Attributes inherited from EicDigiHitProducer
EicDetNamemDetName
 
TClonesArray * mDigiHitArray
 
EicGeoParDatamGptr
 
EicNamePatternHub< double > mSensitiveVolumes
 
Bool_t mPersistence
 

Detailed Description

Definition at line 116 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 116 of file EicCalorimeterDigiHitProducer.h

Constructor & Destructor Documentation

EicCalorimeterDigiHitProducer::EicCalorimeterDigiHitProducer ( )
inline

Definition at line 119 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 119 of file EicCalorimeterDigiHitProducer.h

References ResetVars().

+ Here is the call graph for this function:

EicCalorimeterDigiHitProducer::EicCalorimeterDigiHitProducer ( const char *  name)

Definition at line 33 of file EicCalorimeterDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 33 of file EicCalorimeterDigiHitProducer.cxx

References ResetVars().

+ Here is the call graph for this function:

EicCalorimeterDigiHitProducer::~EicCalorimeterDigiHitProducer ( )
inline

Definition at line 121 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 121 of file EicCalorimeterDigiHitProducer.h

Member Function Documentation

EicCalorimeterDigiHitProducer::ClassDef ( EicCalorimeterDigiHitProducer  ,
47   
)
private
void EicCalorimeterDigiHitProducer::ConfigureDownstreamSensorGroup ( CalorimeterSensorGroup::SensorGroupType  sType,
Double_t  reflectivity = 1.0 
) const
inline

Definition at line 178 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 178 of file EicCalorimeterDigiHitProducer.h

References ConfigureSensorGroupCore(), mDigi, and CalorimeterDigiParData::mSensors.

Referenced by digitization().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicCalorimeterDigiHitProducer::ConfigureSensorGroupCore ( CalorimeterSensorGroup sgroup,
CalorimeterSensorGroup::SensorGroupType  sgType,
Double_t  reflectivity 
) const
inlineprivate

Definition at line 229 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 229 of file EicCalorimeterDigiHitProducer.h

References CalorimeterSensorGroup::mGroupType, and CalorimeterSensorGroup::mReflectivity.

Referenced by ConfigureDownstreamSensorGroup(), and ConfigureUpstreamSensorGroup().

+ Here is the caller graph for this function:

void EicCalorimeterDigiHitProducer::ConfigureUpstreamSensorGroup ( CalorimeterSensorGroup::SensorGroupType  sType,
Double_t  reflectivity = 1.0 
) const
inline

Definition at line 174 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 174 of file EicCalorimeterDigiHitProducer.h

References ConfigureSensorGroupCore(), mDigi, and CalorimeterDigiParData::mSensors.

Referenced by digitization().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool_t EicCalorimeterDigiHitProducer::EnergyDepositAccountingRequested ( ) const
inline

Definition at line 140 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 140 of file EicCalorimeterDigiHitProducer.h

References mEnergyDepositAccounting.

Referenced by HandleHit(), and PostExec().

+ Here is the caller graph for this function:

InitStatus EicCalorimeterDigiHitProducer::ExtraInit ( )
virtual

Optional (?) detector-specific initialization part

Reimplemented from EicDigiHitProducer.

Definition at line 158 of file EicCalorimeterDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 158 of file EicCalorimeterDigiHitProducer.cxx

References EicNamePatternHub< T >::AnyMatch(), EicGeoMap::GetInnermostVolumeName(), EicGeoParData::GetMapNum(), EicGeoParData::GetMapPtrViaMapID(), FairRootManager::Instance(), kSUCCESS, EicDigiHitProducer::mDetName, EicDigiHitProducer::mDigiHitArray, EicDigiHitProducer::mGptr, EicDigiHitProducer::mPersistence, EicDigiHitProducer::mSensitiveVolumes, EicDetName::NAME(), EicDetName::Name(), FairRootManager::Register(), and EicGeoMap::SetSensitivityFlag().

+ Here is the call graph for this function:

void EicCalorimeterDigiHitProducer::FillEnergyDepositPlot ( const char *  name,
double  dE 
)
private

Definition at line 642 of file EicCalorimeterDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 642 of file EicCalorimeterDigiHitProducer.cxx

References mEnergyDepositAccountingPlotDeMax, mEnergyDepositAccountingPlotNbins, mEnergyDepositPlots, and name.

Referenced by PostExec().

+ Here is the caller graph for this function:

void EicCalorimeterDigiHitProducer::Finish ( )
virtual

Action after each event. To be implemented in the derived class

Reimplemented from FairTask.

Definition at line 964 of file EicCalorimeterDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 964 of file EicCalorimeterDigiHitProducer.cxx

References FairRun::GetOutputFile(), FairRun::Instance(), EicDigiHitProducer::mDetName, mDigi, mEnergyDepositPlots, and EicDetName::Name().

+ Here is the call graph for this function:

int EicCalorimeterDigiHitProducer::HandleHit ( const EicMoCaPoint point)
virtual

Core routine converting a single MoCa hit into digi

Should be provided for all detectors separately (pure virtual method); in fact there is no one-to-one relationship between MC points and digis for some detectors (say TPC);

Implements EicDigiHitProducer.

Definition at line 210 of file EicCalorimeterDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 210 of file EicCalorimeterDigiHitProducer.cxx

References EnergyDepositAccountingRequested(), EicNamePatternHub< T >::ExactMatch(), exit(), EicGeoParData::GeantMultiToLogicalIndex(), EicGeoMap::GetBirkConstant(), FairMCPoint::GetEnergyLoss(), EicGeoMap::GetInnermostVolumeName(), EicGeoParData::GetLookupTableNode(), EicGeoParData::GetMapPtrViaHitMultiIndex(), EicMoCaPoint::GetMultiIndex(), EicMoCaPoint::GetPosIn(), EicMoCaPoint::GetPosOut(), EicMoCaPoint::GetPrimaryMotherID(), EicMoCaPoint::GetSecondaryMotherID(), EicMoCaPoint::GetStep(), FairMCPoint::GetTime(), HandleHitCore(), CalorimeterCell::InitializeTimeSpectrum(), CalorimeterCellParent::InitializeZCoordSpectrum(), EicGeoMap::IsSensitive(), CalorimeterDigiParData::mAttenuationLength, CalorimeterGeoParData::mCellLength, CalorimeterCell::mCellParents, mCells, mDigi, CalorimeterCellZCoordBin::mEnergyDeposit, CalorimeterCell::mEnergyDeposits, LogicalVolumeLookupTableEntry::mGeoMtx, LogicalVolumeLookupTableEntry::mGeoNode, EicDigiHitProducer::mGptr, CalorimeterCellZCoordBin::mHitNum, EicDigiHitProducer::mSensitiveVolumes, CalorimeterCellZCoordBin::mTime, CalorimeterDigiParData::mTimeDim, CalorimeterCell::mTimeSpectrum, CalorimeterCellZCoordBin::mZ, CalorimeterCellParent::mZCoordBins, CalorimeterDigiParData::mZCoordDim, EicNamePatternHub< T >::PrefixMatch(), and printf().

+ Here is the call graph for this function:

int EicCalorimeterDigiHitProducer::HandleHitCore ( CalorimeterCell cell)

Definition at line 202 of file EicCalorimeterDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 202 of file EicCalorimeterDigiHitProducer.cxx

Referenced by HandleHit().

+ Here is the caller graph for this function:

int EicCalorimeterDigiHitProducer::PostExec ( )
virtual

Detector-specific event-level post-execution call

Reimplemented from EicDigiHitProducer.

Definition at line 654 of file EicCalorimeterDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 654 of file EicCalorimeterDigiHitProducer.cxx

References CalorimeterDigiParData::APD, CalorimeterSensorGroup::Dead, EnergyDepositAccountingRequested(), FillEnergyDepositPlot(), CalorimeterCell::GetPhotonCountSum(), it, CalorimeterDigiParData::mApdEquivalentNoiseCharge, CalorimeterDigiParData::mApdExcessNoiseFactor, CalorimeterDigiParData::mApdGainFactor, CalorimeterDigiParData::mAttenuationLength, CalorimeterGeoParData::mCellLength, CalorimeterCell::mCellParents, mCells, CalorimeterDigiParData::mCleanupThreshold, CalorimeterDigiParData::mDecayConstant, EicDigiHitProducer::mDetName, mDigi, EicDigiHitProducer::mDigiHitArray, CalorimeterCellZCoordBin::mEnergyDeposit, EicDigiHitProducer::mGptr, CalorimeterSensorGroup::mGroupType, CalorimeterDigiParData::mLightPropagationVelocity, CalorimeterCell::mNoisePhotonCount, CalorimeterDigiParData::mPrimaryLightYield, CalorimeterSensorGroup::mReflectivity, CalorimeterDigiParData::mSensors, CalorimeterDigiParData::mSensorType, CalorimeterCellParent::mSignalPhotonCount, CalorimeterDigiParData::mSipmSingleCellNoiseLevel, CalorimeterCellZCoordBin::mTime, CalorimeterDigiParData::mTimeDim, CalorimeterDigiParData::mTimingGateOffset, CalorimeterDigiParData::mTimingGateWidth, CalorimeterCellZCoordBin::mZ, CalorimeterCellParent::mZCoordBins, CalorimeterDigiParData::mZCoordDim, EicDetName::NAME(), printf(), CalorimeterSensorGroup::Reflection, CalorimeterSensorGroup::Sensor, and CalorimeterDigiParData::SiPM.

+ Here is the call graph for this function:

int EicCalorimeterDigiHitProducer::PreExec ( )
virtual

Detector-specific event-level initialization

Reimplemented from EicDigiHitProducer.

Definition at line 192 of file EicCalorimeterDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 192 of file EicCalorimeterDigiHitProducer.cxx

References mCells.

void EicCalorimeterDigiHitProducer::RequestEnergyDepositAccounting ( double  dEmax = 1.0,
unsigned  nBins = 100 
)
inline

Definition at line 135 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 135 of file EicCalorimeterDigiHitProducer.h

References mEnergyDepositAccounting, mEnergyDepositAccountingPlotDeMax, and mEnergyDepositAccountingPlotNbins.

Referenced by digitization().

+ Here is the caller graph for this function:

int EicCalorimeterDigiHitProducer::RequestTimeSpectra ( Double_t  tRange,
UInt_t  tDim 
)
void EicCalorimeterDigiHitProducer::ResetVars ( )
inline

Definition at line 125 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 125 of file EicCalorimeterDigiHitProducer.h

References mDigi, mEnergyDepositAccounting, mEnergyDepositAccountingPlotDeMax, and mLastOkNode.

Referenced by EicCalorimeterDigiHitProducer().

+ Here is the caller graph for this function:

void EicCalorimeterDigiHitProducer::SetApdEquivalentNoiseCharge ( Double_t  ENC) const
inline

Definition at line 160 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 160 of file EicCalorimeterDigiHitProducer.h

References CalorimeterDigiParData::mApdEquivalentNoiseCharge, and mDigi.

void EicCalorimeterDigiHitProducer::SetApdExcessNoiseFactor ( Double_t  ENF) const
inline

Definition at line 162 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 162 of file EicCalorimeterDigiHitProducer.h

References CalorimeterDigiParData::mApdExcessNoiseFactor, and mDigi.

void EicCalorimeterDigiHitProducer::SetApdGainFactor ( Double_t  M) const
inline

Definition at line 161 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 161 of file EicCalorimeterDigiHitProducer.h

References M, CalorimeterDigiParData::mApdGainFactor, and mDigi.

void EicCalorimeterDigiHitProducer::SetAttenuationLength ( Double_t  attenuationLength) const
inline

Definition at line 164 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 164 of file EicCalorimeterDigiHitProducer.h

References CalorimeterDigiParData::mAttenuationLength, and mDigi.

Referenced by digitization().

+ Here is the caller graph for this function:

void EicCalorimeterDigiHitProducer::SetCleanupThreshold ( unsigned  threshold) const
inline

Definition at line 143 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 143 of file EicCalorimeterDigiHitProducer.h

References CalorimeterDigiParData::mCleanupThreshold, and mDigi.

Referenced by digitization().

+ Here is the caller graph for this function:

void EicCalorimeterDigiHitProducer::SetDecayConstant ( Double_t  decayConstant) const
inline

Definition at line 167 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 167 of file EicCalorimeterDigiHitProducer.h

References CalorimeterDigiParData::mDecayConstant, and mDigi.

Referenced by digitization().

+ Here is the caller graph for this function:

void EicCalorimeterDigiHitProducer::SetLightPropagationVelocity ( Double_t  velocity) const
inline

Definition at line 168 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 168 of file EicCalorimeterDigiHitProducer.h

References mDigi, and CalorimeterDigiParData::mLightPropagationVelocity.

Referenced by digitization().

+ Here is the caller graph for this function:

void EicCalorimeterDigiHitProducer::SetPrimaryLightYield ( Double_t  yield) const
inline

Definition at line 144 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 144 of file EicCalorimeterDigiHitProducer.h

References mDigi, and CalorimeterDigiParData::mPrimaryLightYield.

Referenced by digitization().

+ Here is the caller graph for this function:

void EicCalorimeterDigiHitProducer::SetSensorType ( CalorimeterDigiParData::SensorType  sType) const
inline

Definition at line 150 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 150 of file EicCalorimeterDigiHitProducer.h

References mDigi, and CalorimeterDigiParData::mSensorType.

Referenced by digitization().

+ Here is the caller graph for this function:

void EicCalorimeterDigiHitProducer::SetSipmSingleCellDynamicRange ( UInt_t  range) const
inline

Definition at line 155 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 155 of file EicCalorimeterDigiHitProducer.h

References mDigi, and CalorimeterDigiParData::mSipmSingleCellDynamicRange.

void EicCalorimeterDigiHitProducer::SetSipmSingleCellNoiseLevel ( Double_t  noiseLevel) const
inline

Definition at line 152 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 152 of file EicCalorimeterDigiHitProducer.h

References mDigi, and CalorimeterDigiParData::mSipmSingleCellNoiseLevel.

void EicCalorimeterDigiHitProducer::SetTimingGate ( Double_t  gateMin,
Double_t  gateMax 
) const
inline

Definition at line 145 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 145 of file EicCalorimeterDigiHitProducer.h

References mDigi, CalorimeterDigiParData::mTimingGateOffset, and CalorimeterDigiParData::mTimingGateWidth.

Referenced by digitization().

+ Here is the caller graph for this function:

void EicCalorimeterDigiHitProducer::SetZBinning ( UInt_t  zDim) const
inline

Definition at line 142 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 142 of file EicCalorimeterDigiHitProducer.h

References mDigi, and CalorimeterDigiParData::mZCoordDim.

Referenced by digitization().

+ Here is the caller graph for this function:

Member Data Documentation

std::map<ULogicalIndex_t, CalorimeterCell> EicCalorimeterDigiHitProducer::mCells
private

Definition at line 204 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 204 of file EicCalorimeterDigiHitProducer.h

Referenced by HandleHit(), PostExec(), and PreExec().

Bool_t EicCalorimeterDigiHitProducer::mEnergyDepositAccounting
private

Definition at line 207 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 207 of file EicCalorimeterDigiHitProducer.h

Referenced by EnergyDepositAccountingRequested(), RequestEnergyDepositAccounting(), and ResetVars().

double EicCalorimeterDigiHitProducer::mEnergyDepositAccountingPlotDeMax
private

Definition at line 208 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 208 of file EicCalorimeterDigiHitProducer.h

Referenced by FillEnergyDepositPlot(), RequestEnergyDepositAccounting(), and ResetVars().

unsigned EicCalorimeterDigiHitProducer::mEnergyDepositAccountingPlotNbins
private

Definition at line 209 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 209 of file EicCalorimeterDigiHitProducer.h

Referenced by FillEnergyDepositPlot(), and RequestEnergyDepositAccounting().

std::map<std::string, TH1F*> EicCalorimeterDigiHitProducer::mEnergyDepositPlots
private

Definition at line 218 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 218 of file EicCalorimeterDigiHitProducer.h

Referenced by FillEnergyDepositPlot(), and Finish().

LogicalVolumeLookupTableEntry* EicCalorimeterDigiHitProducer::mLastOkNode
private

Definition at line 224 of file EicCalorimeterDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 224 of file EicCalorimeterDigiHitProducer.h

Referenced by ResetVars().


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