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

Base digitization class. More...

#include <EicRoot/blob/master/eic/base/EicDigiHitProducer.h>

+ Inheritance diagram for EicDigiHitProducer:
+ Collaboration diagram for EicDigiHitProducer:

Public Types

enum  SmearingModel { NoAction, Smear, Quantize, Calculate }
 digitization model identifiers More...
 

Public Member Functions

 EicDigiHitProducer ()
 
 EicDigiHitProducer (const char *name)
 
 ~EicDigiHitProducer ()
 
void ResetVars ()
 
InitStatus Init ()
 
virtual InitStatus ExtraInit ()
 
virtual int PreExec ()
 
virtual void Exec (Option_t *opt)
 
virtual int PostExec ()
 
virtual int HandleHit (const EicMoCaPoint *point)=0
 
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)
 

Protected Attributes

EicDetNamemDetName
 
TClonesArray * mDigiHitArray
 
EicGeoParDatamGptr
 
EicNamePatternHub< double > mSensitiveVolumes
 
Bool_t mPersistence
 
- Protected Attributes inherited from FairTask
Int_t fVerbose
 
Int_t fInputPersistance
 Indicates if input branch is persistant.
 
FairLoggerfLogger
 

Private Member Functions

void SetParContainers ()
 
 EicDigiHitProducer (const EicDigiHitProducer &L)
 
EicDigiHitProduceroperator= (const EicDigiHitProducer &)
 
 ClassDef (EicDigiHitProducer, 8)
 

Private Attributes

TClonesArray * mMoCaPointArray
 
Int_t mEventCounter
 

Additional Inherited Members

- Protected Member Functions inherited from FairTask
virtual InitStatus ReInit ()
 
virtual void Finish ()
 
void InitTasks ()
 
void ReInitTasks ()
 
void SetParTasks ()
 
void FinishTasks ()
 
void FinishEvents ()
 

Detailed Description

Base digitization class.

Definition at line 25 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 25 of file EicDigiHitProducer.h

Member Enumeration Documentation

digitization model identifiers

May either want to smear MC coordinates according to gaussian (say GEM-type detector) or to quantize assuming silicon-type detector with digital readout; 3-d option is to call external digitizer (should be provided by user);

Enumerator:
NoAction 
Smear 
Quantize 
Calculate 

Definition at line 50 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 50 of file EicDigiHitProducer.h

Constructor & Destructor Documentation

EicDigiHitProducer::EicDigiHitProducer ( )
inline

Default constructor

Definition at line 30 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 30 of file EicDigiHitProducer.h

References ResetVars().

+ Here is the call graph for this function:

EicDigiHitProducer::EicDigiHitProducer ( const char *  name)

Main constructor

Parameters
namedetector name

Definition at line 32 of file EicDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 32 of file EicDigiHitProducer.cxx

References FairTask::FairTask(), mDetName, EicDetName::NAME(), and ResetVars().

+ Here is the call graph for this function:

EicDigiHitProducer::~EicDigiHitProducer ( )
inline

Definition at line 36 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 36 of file EicDigiHitProducer.h

EicDigiHitProducer::EicDigiHitProducer ( const EicDigiHitProducer L)
private

Member Function Documentation

EicDigiHitProducer::ClassDef ( EicDigiHitProducer  ,
 
)
private
void EicDigiHitProducer::DeclareDigiSensitiveVolume ( const char *  name,
Double_t  Kb = 0.0 
)
inline

Definition at line 88 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 88 of file EicDigiHitProducer.h

References EicNamePatternHub< T >::AddExactMatch(), and mSensitiveVolumes.

Referenced by digitization().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicDigiHitProducer::DeclareDigiSensitiveVolumePrefix ( const char *  name,
Double_t  Kb = 0.0 
)
inline

Definition at line 91 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 91 of file EicDigiHitProducer.h

References EicNamePatternHub< T >::AddPrefixMatch(), and mSensitiveVolumes.

Referenced by digitization().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicDigiHitProducer::Exec ( Option_t *  opt)
virtual

Wrapper routine converting MoCa hits into digis

Note
Certain versatility is provided by event-level PreExec() and PostExec() calls which embed a loop over MC points with a detector-specific HandleHit() call; if that is not enough, go ahead and rewrite this (virtual) call from scratch;

Definition at line 115 of file EicDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 115 of file EicDigiHitProducer.cxx

References FairTask::fVerbose, HandleHit(), mDetName, mDigiHitArray, mEventCounter, mMoCaPointArray, EicDetName::Name(), PostExec(), PreExec(), printf(), and EicMoCaPoint::SetPointID().

+ Here is the call graph for this function:

virtual InitStatus EicDigiHitProducer::ExtraInit ( )
inlinevirtual

Optional (?) detector-specific initialization part

Reimplemented in EicTrackingDigiHitProducer, and EicCalorimeterDigiHitProducer.

Definition at line 59 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 59 of file EicDigiHitProducer.h

References kSUCCESS.

Referenced by Init().

+ Here is the caller graph for this function:

virtual int EicDigiHitProducer::HandleHit ( const EicMoCaPoint point)
pure 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);

Implemented in EicTrackingDigiHitProducer, EicCalorimeterDigiHitProducer, and EicTpcDigiHitProducer.

Referenced by Exec().

+ Here is the caller graph for this function:

InitStatus EicDigiHitProducer::Init ( )
virtual

Initialization part, common for all detectors

Opens read access to MoCa point TClonesArray and write access to digi hit TClonesArray;

Reimplemented from FairTask.

Definition at line 45 of file EicDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 45 of file EicDigiHitProducer.cxx

References EicNamePatternHub< T >::AnyMatch(), ExtraInit(), FairRootManager::GetInFile(), EicGeoMap::GetInnermostVolumeName(), EicGeoParData::GetMapNum(), EicGeoParData::GetMapPtrViaMapID(), FairRootManager::GetObject(), EicGeoParData::InitializeLookupTables(), FairRootManager::Instance(), EicNamePatternHub< T >::IsEmpty(), kERROR, kFATAL, kSUCCESS, mDetName, mGptr, mMoCaPointArray, mSensitiveVolumes, EicDetName::Name(), and EicGeoMap::SetSensitivityFlag().

+ Here is the call graph for this function:

EicDigiHitProducer& EicDigiHitProducer::operator= ( const EicDigiHitProducer )
inlineprivate

Definition at line 120 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 120 of file EicDigiHitProducer.h

virtual int EicDigiHitProducer::PostExec ( )
inlinevirtual

Detector-specific event-level post-execution call

Reimplemented in EicCalorimeterDigiHitProducer.

Definition at line 73 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 73 of file EicDigiHitProducer.h

Referenced by Exec().

+ Here is the caller graph for this function:

virtual int EicDigiHitProducer::PreExec ( )
inlinevirtual

Detector-specific event-level initialization

Reimplemented in EicCalorimeterDigiHitProducer.

Definition at line 63 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 63 of file EicDigiHitProducer.h

Referenced by Exec().

+ Here is the caller graph for this function:

void EicDigiHitProducer::ResetVars ( )
inline

Definition at line 38 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 38 of file EicDigiHitProducer.h

References mDetName, mDigiHitArray, mGptr, and mMoCaPointArray.

Referenced by EicDigiHitProducer().

+ Here is the caller graph for this function:

void EicDigiHitProducer::SetParContainers ( )
privatevirtual

Intialise parameter containers. To be implemented in the derived class.

Reimplemented from FairTask.

Definition at line 105 of file EicDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 105 of file EicDigiHitProducer.cxx

References FairRun::GetRuntimeDb(), and FairRunAna::Instance().

+ Here is the call graph for this function:

void EicDigiHitProducer::SetPersistence ( Bool_t  persistence)
inline

Set output digi TClonesArray persistency

Parameters
persistencekTRUE (write digi array out) or kFALSE (do not)

Definition at line 85 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 85 of file EicDigiHitProducer.h

References mPersistence.

Member Data Documentation

TClonesArray* EicDigiHitProducer::mDigiHitArray
protected

Output array of detector-specific digi hits

Definition at line 100 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 100 of file EicDigiHitProducer.h

Referenced by Exec(), EicCalorimeterDigiHitProducer::ExtraInit(), EicTrackingDigiHitProducer::ExtraInit(), EicTrackingDigiHitProducer::HandleHit(), EicCalorimeterDigiHitProducer::PostExec(), and ResetVars().

Int_t EicDigiHitProducer::mEventCounter
private

Event counter

Definition at line 117 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 117 of file EicDigiHitProducer.h

Referenced by Exec().

TClonesArray* EicDigiHitProducer::mMoCaPointArray
private

Input array of detector-specific EicMoCaPoint's

Definition at line 114 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 114 of file EicDigiHitProducer.h

Referenced by Exec(), Init(), and ResetVars().

Bool_t EicDigiHitProducer::mPersistence
protected

Object persistency flag

Definition at line 108 of file EicDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 108 of file EicDigiHitProducer.h

Referenced by EicCalorimeterDigiHitProducer::ExtraInit(), EicTrackingDigiHitProducer::ExtraInit(), and SetPersistence().

EicNamePatternHub<double> EicDigiHitProducer::mSensitiveVolumes
protected

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