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

#include <EicRoot/blob/master/eic/tracking/EicTrackingDigiHitProducer.h>

+ Inheritance diagram for EicTrackingDigiHitProducer:
+ Collaboration diagram for EicTrackingDigiHitProducer:

Public Member Functions

 EicTrackingDigiHitProducer ()
 
 EicTrackingDigiHitProducer (const char *name, SmearingModel smearingModel=EicDigiHitProducer::Smear)
 
 ~EicTrackingDigiHitProducer ()
 
InitStatus ExtraInit ()
 
void DefineKfNodeTemplate1D (double angle, double sigmaOrPitch)
 
void DefineKfNodeTemplateX (double sigmaOrPitch)
 
void DefineKfNodeTemplateY (double sigmaOrPitch)
 
void DefineKfNodeTemplateR (double sigmaOrPitch)
 
void DefineKfNodeTemplateA (double sigmaOrPitch)
 
void DefineKfNodeTemplateXY (double sigmaOrPitchX, double sigmaOrPitchY)
 
void DefineKfNodeTemplateTZ (double sigmaOrPitchX, double sigmaOrPitchY)
 
EicKfNodeTemplateCylindrical2DDefineKfNodeTemplateRA (double sigmaOrPitchR, double sigmaOrPitchA)
 
void DefineKfNodeTemplateOrth3D (double sigmaX, double sigmaY, double sigmaZ)
 
int HandleHit (const EicMoCaPoint *point)
 
- Public Member Functions inherited from EicDigiHitProducer
 EicDigiHitProducer ()
 
 EicDigiHitProducer (const char *name)
 
 ~EicDigiHitProducer ()
 
void ResetVars ()
 
InitStatus Init ()
 
virtual int PreExec ()
 
virtual void Exec (Option_t *opt)
 
virtual int PostExec ()
 
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)
 

Public Attributes

std::vector< EicKfNodeTemplate * > mKfNodeTemplates
 

Protected Member Functions

void AssignDigiHitClassName (const char *name)
 

Private Member Functions

virtual EicDigiParDatagetEicDigiParDataPtr ()
 
virtual void Finish ()
 
void DefineKfNodeTemplateCore1D (EicKfNodeTemplate1D *node, double sigmaOrPitch)
 
void DefineKfNodeTemplateCore2D (EicKfNodeTemplateOrth2D *node, double sigmaOrPitch1, double sigmaOrPitch2)
 
 ClassDef (EicTrackingDigiHitProducer, 20)
 

Private Attributes

TString mDigiHitClassName
 
SmearingModel mSmearingModel
 

Friends

class EicHtcTask
 

Additional Inherited Members

- Public Types inherited from EicDigiHitProducer
enum  SmearingModel { NoAction, Smear, Quantize, Calculate }
 digitization model identifiers More...
 
- Protected Attributes inherited from EicDigiHitProducer
EicDetNamemDetName
 
TClonesArray * mDigiHitArray
 
EicGeoParDatamGptr
 
EicNamePatternHub< double > mSensitiveVolumes
 
Bool_t mPersistence
 

Detailed Description

Definition at line 759 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 759 of file EicTrackingDigiHitProducer.h

Constructor & Destructor Documentation

EicTrackingDigiHitProducer::EicTrackingDigiHitProducer ( )
inline

Definition at line 764 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 764 of file EicTrackingDigiHitProducer.h

EicTrackingDigiHitProducer::EicTrackingDigiHitProducer ( const char *  name,
SmearingModel  smearingModel = EicDigiHitProducer::Smear 
)

Definition at line 20 of file EicTrackingDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 20 of file EicTrackingDigiHitProducer.cxx

References EicRunDigi::HitImportMode(), EicRunAna::Instance(), EicDigiHitProducer::NoAction, and printf().

+ Here is the call graph for this function:

EicTrackingDigiHitProducer::~EicTrackingDigiHitProducer ( )
inline

Definition at line 767 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 767 of file EicTrackingDigiHitProducer.h

Member Function Documentation

void EicTrackingDigiHitProducer::AssignDigiHitClassName ( const char *  name)
inlineprotected

Definition at line 856 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 856 of file EicTrackingDigiHitProducer.h

References FairLogger::Fatal(), FairTask::fLogger, mDigiHitClassName, MESSAGE_ORIGIN, and name.

Referenced by DefineKfNodeTemplateCore1D(), DefineKfNodeTemplateCore2D(), DefineKfNodeTemplateOrth3D(), and EicTpcDigiHitProducer::EicTpcDigiHitProducer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

EicTrackingDigiHitProducer::ClassDef ( EicTrackingDigiHitProducer  ,
20   
)
private
void EicTrackingDigiHitProducer::DefineKfNodeTemplate1D ( double  angle,
double  sigmaOrPitch 
)
inline

Definition at line 772 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 772 of file EicTrackingDigiHitProducer.h

References DefineKfNodeTemplateCore1D().

Referenced by DefineKfNodeTemplateX(), and DefineKfNodeTemplateY().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicTrackingDigiHitProducer::DefineKfNodeTemplateA ( double  sigmaOrPitch)
inline

Definition at line 796 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 796 of file EicTrackingDigiHitProducer.h

References DefineKfNodeTemplateCore1D(), and RADIANS.

+ Here is the call graph for this function:

void EicTrackingDigiHitProducer::DefineKfNodeTemplateCore1D ( EicKfNodeTemplate1D node,
double  sigmaOrPitch 
)
inlineprivate

Definition at line 885 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 885 of file EicTrackingDigiHitProducer.h

References AssignDigiHitClassName(), mKfNodeTemplates, mSmearingModel, EicKfNodeTemplate1D::SetPitch(), EicKfNodeTemplate1D::SetSigma(), and EicDigiHitProducer::Smear.

Referenced by DefineKfNodeTemplate1D(), DefineKfNodeTemplateA(), and DefineKfNodeTemplateR().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicTrackingDigiHitProducer::DefineKfNodeTemplateCore2D ( EicKfNodeTemplateOrth2D node,
double  sigmaOrPitch1,
double  sigmaOrPitch2 
)
inlineprivate

Definition at line 892 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 892 of file EicTrackingDigiHitProducer.h

References AssignDigiHitClassName(), mKfNodeTemplates, mSmearingModel, EicKfNodeTemplateOrth2D::SetPitch(), EicKfNodeTemplateOrth2D::SetSigma(), and EicDigiHitProducer::Smear.

Referenced by DefineKfNodeTemplateRA(), DefineKfNodeTemplateTZ(), and DefineKfNodeTemplateXY().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicTrackingDigiHitProducer::DefineKfNodeTemplateOrth3D ( double  sigmaX,
double  sigmaY,
double  sigmaZ 
)
inline

Definition at line 821 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 821 of file EicTrackingDigiHitProducer.h

References AssignDigiHitClassName(), mKfNodeTemplates, mSmearingModel, EicKfNodeTemplateOrth3D::SetSigma(), and EicDigiHitProducer::Smear.

Referenced by digitization().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicTrackingDigiHitProducer::DefineKfNodeTemplateR ( double  sigmaOrPitch)
inline

Definition at line 791 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 791 of file EicTrackingDigiHitProducer.h

References DefineKfNodeTemplateCore1D().

+ Here is the call graph for this function:

EicKfNodeTemplateCylindrical2D* EicTrackingDigiHitProducer::DefineKfNodeTemplateRA ( double  sigmaOrPitchR,
double  sigmaOrPitchA 
)
inline

Definition at line 812 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 812 of file EicTrackingDigiHitProducer.h

References DefineKfNodeTemplateCore2D(), and RADIANS.

+ Here is the call graph for this function:

void EicTrackingDigiHitProducer::DefineKfNodeTemplateTZ ( double  sigmaOrPitchX,
double  sigmaOrPitchY 
)
inline

Definition at line 807 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 807 of file EicTrackingDigiHitProducer.h

References DefineKfNodeTemplateCore2D().

+ Here is the call graph for this function:

void EicTrackingDigiHitProducer::DefineKfNodeTemplateX ( double  sigmaOrPitch)
inline

Definition at line 785 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 785 of file EicTrackingDigiHitProducer.h

References DefineKfNodeTemplate1D().

+ Here is the call graph for this function:

void EicTrackingDigiHitProducer::DefineKfNodeTemplateXY ( double  sigmaOrPitchX,
double  sigmaOrPitchY 
)
inline

Definition at line 802 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 802 of file EicTrackingDigiHitProducer.h

References DefineKfNodeTemplateCore2D().

Referenced by digitization().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicTrackingDigiHitProducer::DefineKfNodeTemplateY ( double  sigmaOrPitch)
inline

Definition at line 788 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 788 of file EicTrackingDigiHitProducer.h

References DefineKfNodeTemplate1D().

+ Here is the call graph for this function:

InitStatus EicTrackingDigiHitProducer::ExtraInit ( )
virtual

Optional (?) detector-specific initialization part

Reimplemented from EicDigiHitProducer.

Definition at line 46 of file EicTrackingDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 46 of file EicTrackingDigiHitProducer.cxx

References FairRootManager::Instance(), kSUCCESS, EicDigiHitProducer::mDetName, EicDigiHitProducer::mDigiHitArray, mDigiHitClassName, EicDigiHitProducer::mPersistence, EicDetName::NAME(), EicDetName::Name(), and FairRootManager::Register().

+ Here is the call graph for this function:

void EicTrackingDigiHitProducer::Finish ( void  )
privatevirtual

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

Reimplemented from FairTask.

Definition at line 265 of file EicTrackingDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 265 of file EicTrackingDigiHitProducer.cxx

References getEicDigiParDataPtr(), EicDigiHitProducer::mDetName, EicDigiParData::mergeIntoOutputFile(), and EicDetName::Name().

+ Here is the call graph for this function:

virtual EicDigiParData* EicTrackingDigiHitProducer::getEicDigiParDataPtr ( )
inlineprivatevirtual

Reimplemented in EicTpcDigiHitProducer.

Definition at line 870 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 870 of file EicTrackingDigiHitProducer.h

Referenced by Finish().

+ Here is the caller graph for this function:

int EicTrackingDigiHitProducer::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 62 of file EicTrackingDigiHitProducer.cxx.

View newest version in sPHENIX GitHub at line 62 of file EicTrackingDigiHitProducer.cxx

References EicDigiHitProducer::Calculate, EicGeoParData::GeantMultiToLogicalIndex(), EicGeoParData::GetLookupTableNode(), EicGeoParData::GetMapPtrViaHitMultiIndex(), EicKfNodeTemplate::GetMdim(), EicMoCaPoint::GetMultiIndex(), EicMoCaPoint::GetPosIn(), EicMoCaPoint::GetPosOut(), EicGeoParData::GetZ(), EicGeoMap::IsSensitive(), MasterToLocal(), EicDigiHitProducer::mDetName, EicDigiHitProducer::mDigiHitArray, LogicalVolumeLookupTableEntry::mGeoMtx, EicDigiHitProducer::mGptr, mKfNodeTemplates, EicKfNodeTemplate::mNodeToSensitiveVolume, mSmearingModel, EicDetName::NAME(), EicDetName::Name(), and EicKfNodeTemplate::StoreDigiHit().

+ Here is the call graph for this function:

Friends And Related Function Documentation

friend class EicHtcTask
friend

Definition at line 761 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 761 of file EicTrackingDigiHitProducer.h

Member Data Documentation

TString EicTrackingDigiHitProducer::mDigiHitClassName
private

Definition at line 864 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 864 of file EicTrackingDigiHitProducer.h

Referenced by AssignDigiHitClassName(), and ExtraInit().

SmearingModel EicTrackingDigiHitProducer::mSmearingModel
private

Definition at line 876 of file EicTrackingDigiHitProducer.h.

View newest version in sPHENIX GitHub at line 876 of file EicTrackingDigiHitProducer.h

Referenced by DefineKfNodeTemplateCore1D(), DefineKfNodeTemplateCore2D(), DefineKfNodeTemplateOrth3D(), and HandleHit().


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