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

EIC detector. More...

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

+ Inheritance diagram for EicDetector:
+ Collaboration diagram for EicDetector:

Public Member Functions

 EicDetector (const char *Name, const char *geometryName, EicDetectorId dType=qDUMMY, SteppingType stType=qSteppingTypeUndefined, Bool_t Active=kTRUE)
 
 EicDetector ()
 
void ResetVars ()
 
 ~EicDetector ()
 
virtual void Initialize ()
 
virtual void FinishRun ()
 
virtual Bool_t ProcessHits (FairVolume *v=0)
 
virtual void Register ()
 
virtual void Print () const
 
virtual void Reset ()
 
virtual void BeginEvent ()
 
virtual void ConstructGeometry ()
 
void DeclareAllVolumesSensitive ()
 
int DeclareGeantSensitiveVolume (const char *name, SteppingType stType=qSteppingTypeDefault)
 
int DeclareGeantSensitiveVolumePrefix (const char *name, SteppingType stType=qSteppingTypeDefault)
 
bool CheckIfSensitive (std::string name)
 
ULong64_t GetNodeMultiIndex ()
 
virtual TClonesArray * GetCollection (Int_t iColl) const
 
void ResetSteppingVariables ()
 
virtual void AddMoCaPoint (Int_t trackID, Int_t primaryMotherID, Int_t secondaryMotherID, Int_t detID, ULong64_t multiIndex, TVector3 PosIn, TVector3 PosOut, TVector3 MomIn, TVector3 MomOut, Double_t time, Double_t length, Double_t eLoss, Double_t step)
 
void EndOfEvent ()
 
EicDetectorId GetType ()
 
virtual FairParSetEicGeoParAllocator (FairContainer *c)
 
EicDetNameGetDname ()
 
int createFakeMoCaDatabase (const char *outFileName)
 
void RequestGeometryInfoPrintout (const char *option=0)
 
void RequestAttachedFilePrintout (const char *fileName, const char *option=0)
 
EicEnergyMonitorAddEnergyMonitorVolume (const char *volumeName, Int_t PDG, char *histogramName, double histogramMin, double histogramMax, unsigned histogramBinNum=1000)
 
void AddKillerVolume (const char *vname)
 
- Public Member Functions inherited from FairDetector
 FairDetector (const char *Name, Bool_t Active, Int_t DetId=0)
 
 FairDetector ()
 
virtual ~FairDetector ()
 
virtual void CopyClones (TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
 
virtual void FinishPrimary ()
 
virtual void BeginPrimary ()
 
virtual void PostTrack ()
 
virtual void PreTrack ()
 
virtual void FinishEvent ()
 
virtual void SetSpecialPhysicsCuts ()
 
void SaveGeoParams ()
 
Int_t GetDetId ()
 
- Public Member Functions inherited from FairModule
 FairModule ()
 
 FairModule (const char *Name, const char *title, Bool_t Active=kFALSE)
 
virtual ~FairModule ()
 
virtual void Print (Option_t *option="") const
 
virtual TString GetGeometryFileName ()
 
virtual TString GetGeometryFileVer ()
 
virtual void ConstructOpGeometry ()
 
virtual void ConstructRootGeometry ()
 
virtual void ConstructASCIIGeometry ()
 
virtual void ExpandNode (TGeoNode *Node)
 
virtual Int_t getVolId (const TString &vname) const
 
Int_t GetModId ()
 
void SetVerboseLevel (Int_t level)
 
Bool_t IsActive ()
 
void SetModId (Int_t id)
 
void SetMotherVolume (TString volName)
 
void ProcessNodes (TList *aList)
 
virtual void SetParContainers ()
 
TList * GetListOfGeoPar ()
 
FairVolumegetFairVolume (FairGeoNode *fNode)
 
void AddSensitiveVolume (TGeoVolume *v)
 
void ImportRootMaterials ()
 

Protected Member Functions

virtual void SetGeometryFileName (TString fname, TString geoVer="0")
 
void AddKillerVolume (TGeoVolume *volume)
 
bool IsKillerVolume (const char *name)
 
void CheckEnergyMonitors (const char *name, Int_t trackID, Int_t PDG, bool isPrimary, bool isEntering, bool isExiting, double energy)
 

Protected Attributes

EicDetNamedname
 
EicContFacteicContFact
 
TClonesArray * fEicMoCaPointCollection
 
bool mPrintGeometryInfoFlag
 
TString mPrintGeometryInfoOption
 
TString mAttachedFilePrintoutRequestName
 
TString mAttachedFilePrintoutOption
 
TLorentzVector fPosIn
 
TLorentzVector fMomIn
 
Double32_t fTime
 
Double32_t fLength
 
Double32_t fELoss
 
Double32_t fStep
 
- Protected Attributes inherited from FairDetector
Int_t fDetId
 
FairLoggerfLogger
 
- Protected Attributes inherited from FairModule
TString fgeoVer
 
TString fgeoName
 
Int_t fModId
 
Bool_t fActive
 
Int_t fNbOfSensitiveVol
 
Int_t fVerboseLevel
 
TList * flGeoPar
 
Bool_t kGeoSaved
 list of Detector Geometry parameters
 
FairLoggerfLogger
 flag for initialisation
 
Bool_t fRootMaterialImportFlag
 

Private Attributes

EicGeoParDatagptr
 
TGeoVolume * vptr
 
EicDetectorId fDetType
 
SteppingType fStType
 
TString fPathUponEntry
 
Bool_t mAllVolumesSensitiveFlag
 
EicNamePatternHub< SteppingType > * fListOfGeantSensitives
 
EicNamePatternHub< unsigned > * mKillerVolumes
 
std::vector< EicEnergyMonitor * > mEnergyMonitorVolumes
 

Friends

class EicMCApplication
 

Additional Inherited Members

- Public Attributes inherited from FairModule
TString fMotherVolumeName
 
- Static Public Attributes inherited from FairModule
static FairVolumeListvList =0
 
static Int_t fNbOfVolumes =0
 
static TRefArray * svList =0
 
static TArrayI * volNumber =0
 

Detailed Description

EIC detector.

Definition at line 50 of file EicDetector.h.

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

Constructor & Destructor Documentation

EicDetector::EicDetector ( const char *  Name,
const char *  geometryName,
EicDetectorId  dType = qDUMMY,
SteppingType  stType = qSteppingTypeUndefined,
Bool_t  Active = kTRUE 
)

Main constructor

Parameters
Namedetector name like Tpc
geometryNamegeometry file name like tpc.geo, relative to ${VMCWORKDIR}/geometry (unless starts with either "./" or "/", then it is an absolute path)
dTypeEicDetectorId detector type
stTypeSteppingType stepping type for this detector active volume
Activeif kFALSE, detector is "de-activated" on FairDetector level (preserve this PandaRoot functionality, whatever it is good for)
Note
As of June'2013 do not allow default value for OneStepOneHit (it is just dangerous, since eg. can lead to production of several hits in a silicon layer instead of one); so user should better specify this parameter explicitely;

Definition at line 45 of file EicDetector.cxx.

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

References dname, eicContFact, fDetType, fEicMoCaPointCollection, fStType, FairModule::fVerboseLevel, kHYP, EicDetName::Name(), ResetVars(), and SetGeometryFileName().

+ Here is the call graph for this function:

EicDetector::EicDetector ( )
inline

Default constructor;

Definition at line 71 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 71 of file EicDetector.h

References ResetVars().

+ Here is the call graph for this function:

EicDetector::~EicDetector ( )

Destructor, you guessed it;

Definition at line 120 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 120 of file EicDetector.cxx

Member Function Documentation

EicEnergyMonitor* EicDetector::AddEnergyMonitorVolume ( const char *  volumeName,
Int_t  PDG,
char *  histogramName,
double  histogramMin,
double  histogramMax,
unsigned  histogramBinNum = 1000 
)
inline

Definition at line 256 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 256 of file EicDetector.h

References mEnergyMonitorVolumes.

void EicDetector::AddKillerVolume ( TGeoVolume *  volume)
inlineprotected

Definition at line 318 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 318 of file EicDetector.h

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

Referenced by EicFieldGradDetector::ConstructGeometry(), EicFieldMapDetector::ConstructGeometry(), and EicCadFile::ConstructGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicDetector::AddKillerVolume ( const char *  vname)
inline

Definition at line 325 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 325 of file EicDetector.h

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

+ Here is the call graph for this function:

virtual void EicDetector::AddMoCaPoint ( Int_t  trackID,
Int_t  primaryMotherID,
Int_t  secondaryMotherID,
Int_t  detID,
ULong64_t  multiIndex,
TVector3  PosIn,
TVector3  PosOut,
TVector3  MomIn,
TVector3  MomOut,
Double_t  time,
Double_t  length,
Double_t  eLoss,
Double_t  step 
)
inlinevirtual

Add one more true MC point (hit) to the output TClonesArray

Parameters
trackIDcurrent track identifier in MC stack
primaryMotherIdprimary GEANT mother track ID; see also GetPrimaryMotherId()
detIDcurrent GEANT volume ID
volumePathfull ROOT path to the current volume
multiIndexcurrent node unique geometric multi-index; see also GetNodeMultiIndex()
PosIntrack (global) position at volume entry
PosOuttrack (global) position at volume exit
MomIntrack (global) momentum at volume entry
MomOuttrack (global) momentum at volume exit
timetime elapsed between event start and hit occurence
lengthtrack length from origin to hit occurence
eLosshit energy deposit
Note
Leave this method virtual, assuming that more advanced detectors should be able to have their specific MC point types inherited from EicMoCaPoint and therefore fEicMoCaPointCollection should be filled out by that objects;

Definition at line 175 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 175 of file EicDetector.h

References fEicMoCaPointCollection.

Referenced by ProcessHits().

+ Here is the caller graph for this function:

virtual void EicDetector::BeginEvent ( )
inlinevirtual

Reimplemented from FairDetector.

Definition at line 118 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 118 of file EicDetector.h

References EicGeoParData::GetBlackHoleVolumes(), gptr, and EicBlackHole::ResetTrackList().

+ Here is the call graph for this function:

void EicDetector::CheckEnergyMonitors ( const char *  name,
Int_t  trackID,
Int_t  PDG,
bool  isPrimary,
bool  isEntering,
bool  isExiting,
double  energy 
)
protected

Definition at line 366 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 366 of file EicDetector.cxx

References EicEnergyMonitor::mAtEntrance, mEnergyMonitorVolumes, EicEnergyMonitor::mHistogram, EicEnergyMonitor::mName, EicEnergyMonitor::mPDG, EicEnergyMonitor::mPrimaryOnly, EicEnergyMonitor::mRegisteredTracks, and printf().

Referenced by EicMCApplication::Stepping().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool EicDetector::CheckIfSensitive ( std::string  name)
virtual

Returns true if this volume is declared as a sensitive one

Parameters
namevolume name as appears in respective .geo or .root geometry file

Reimplemented from FairModule.

Definition at line 151 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 151 of file EicDetector.cxx

References EicNamePatternHub< T >::AnyMatch(), fListOfGeantSensitives, and mAllVolumesSensitiveFlag.

+ Here is the call graph for this function:

void EicDetector::ConstructGeometry ( )
virtual

Create the detector geometry;

Reimplemented from FairModule.

Reimplemented in EicCadFile, EicFieldGradDetector, and EicFieldMapDetector.

Definition at line 701 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 701 of file EicDetector.cxx

References FairGeoInterface::addGeoModule(), EicGeoParData::AddStepEnforcedVolumeLookupEntry(), FairModule::ConstructRootGeometry(), FairGeoSet::create(), DeclareGeantSensitiveVolume(), dname, exit(), FairLogger::Fatal(), fListOfGeantSensitives, FairDetector::fLogger, FairRuntimeDb::getContainer(), FairGeoLoader::getGeoBuilder(), FairGeoLoader::getGeoInterface(), FairModule::GetGeometryFileName(), EicGeoMap::GetInnermostVolumeName(), FairGeoSet::getListOfVolumes(), EicGeoParData::GetMapNum(), EicGeoParData::GetMapPtrViaMapID(), FairGeoInterface::getMedia(), FairGeoMedia::getMedium(), FairGeoMedium::getMediumPar(), FairRun::GetRunId(), FairRun::GetRuntimeDb(), EicGeoParData::GetStepEnforcedVolumes(), gptr, FairGeoLoader::Instance(), FairRun::Instance(), FairGeoNode::isSensitive(), it, mAttachedFilePrintoutOption, mAttachedFilePrintoutRequestName, MESSAGE_ORIGIN, mPrintGeometryInfoFlag, mPrintGeometryInfoOption, EicDetName::NAME(), EicDetName::name(), EicDetName::Name(), EicGeoParData::Print(), EicGeoParData::PrintAttachedSourceFile(), FairModule::ProcessNodes(), FairGeoInterface::readSet(), FairParSet::setChanged(), FairGeoSet::setGeomFile(), FairParSet::setInputVersion(), Acts::Test::volume, and vptr.

+ Here is the call graph for this function:

int EicDetector::createFakeMoCaDatabase ( const char *  outFileName)

Initialize (create) fake MC point database for frozen shower application

Parameters
outFileNameoutput file name
void EicDetector::DeclareAllVolumesSensitive ( )
inline

Declare sensitive volumes

Parameters
namevolume name as appears in respective .geo or .root geometry file
Note
Well, ROOT geometry does not allow to account for "volume sensitivity" in the media file; or FairRoot does not allow; or I'm lazy/stupid to find this out; NB: EicRoot ROOT geometry provides an option to encode sensitive volume name patterns into the GEANT geometry file; also want to have an option to define all volumes sensitive without resorting back to using "" pattern or such;

Definition at line 134 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 134 of file EicDetector.h

References mAllVolumesSensitiveFlag.

int EicDetector::DeclareGeantSensitiveVolume ( const char *  name,
SteppingType  stType = qSteppingTypeDefault 
)

Definition at line 126 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 126 of file EicDetector.cxx

References EicNamePatternHub< T >::AddExactMatch(), fListOfGeantSensitives, fStType, and qSteppingTypeDefault.

Referenced by ConstructGeometry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int EicDetector::DeclareGeantSensitiveVolumePrefix ( const char *  name,
SteppingType  stType = qSteppingTypeDefault 
)

Definition at line 139 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 139 of file EicDetector.cxx

References EicNamePatternHub< T >::AddPrefixMatch(), fListOfGeantSensitives, fStType, and qSteppingTypeDefault.

+ Here is the call graph for this function:

FairParSet * EicDetector::EicGeoParAllocator ( FairContainer c)
virtual

Derived classes may want to allocate their own frames;

Definition at line 109 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 109 of file EicDetector.cxx

References FairContainer::getConcatName(), and FairContainer::getContext().

Referenced by EicContFact::createContainer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicDetector::EndOfEvent ( )
virtual

Add one more fake MC point (hit) to the output TClonesArray

Parameters
trackIDcurrent track identifier in MC stack
primaryMotherIdprimary GEANT mother track ID; see also GetPrimaryMotherId()
PDGtrack PDG code
detIDcurrent GEANT volume ID
volumePathfull ROOT path to the current volume
multiIndexcurrent node unique geometric multi-index; see also GetNodeMultiIndex()
PosIntrack (global) position at volume entry
MomIntrack (global) momentum at volume entry
timetime elapsed between event start and hit occurence
lengthtrack length from origin to hit occurence

In order to speed-up simulation in calorimeter-type detectors stop propagation once a shower particle reaches certain energy threshold; just record particle parameters at this point, terminate track and let digitization procedure do the rest using frozen shower database; Populate fCutOffMap map

Parameters
PDGtrack PDG code
cutMinmin kinetic energy
cutMaxmax kinetic energy

Table entry will be used this way: once particle-with-abs(PDG)-code kinetic energy falls into the [cutMin .. cutMax] range during shower propagation, it will be stopped and fake MC point created; see also AddFakeMoCaPoint();

Dump fake MC entries into the output ROOT file;

Reimplemented from FairDetector.

Definition at line 169 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 169 of file EicDetector.cxx

References kdfinder::abs(), exit(), fEicMoCaPointCollection, FairModule::fVerboseLevel, FairMCPoint::GetEnergyLoss(), EicMoCaPoint::GetPosIn(), mEnergyMonitorVolumes, EicEnergyMonitor::mRegisteredTracks, Print(), and printf().

+ Here is the call graph for this function:

void EicDetector::FinishRun ( )
virtual

Final operations; called at the end of run to merge geometry and other service info into the output ROOT file

Reimplemented from FairDetector.

Definition at line 632 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 632 of file EicDetector.cxx

References dname, FairRun::GetOutputFile(), gptr, FairRun::Instance(), mEnergyMonitorVolumes, EicEnergyMonitor::mHistogram, EicDetName::Name(), and vptr.

+ Here is the call graph for this function:

TClonesArray * EicDetector::GetCollection ( Int_t  iColl) const
virtual

Get pointer to the MoCa point TClonesArray, whetever it is good for;

Implements FairDetector.

Definition at line 579 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 579 of file EicDetector.cxx

References fEicMoCaPointCollection.

EicDetName* EicDetector::GetDname ( )
inline

Allow easy access to various flavors of detector names for non-friend classes

Definition at line 235 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 235 of file EicDetector.h

References dname.

ULong64_t EicDetector::GetNodeMultiIndex ( )

Calculate unique node identifier in GEANT geometry hierarchy

Basically figures out parent node daughter IDs up to the depth sufficient to establish this node's unique geometric mapping ID;

Note
Well, at some point I should probably figure out how FairRoot sensor numbering scheme works (and is it any better than this routine or not); also, may want to create a look-up table if this routine ever becomes too expensive;

Definition at line 259 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 259 of file EicDetector.cxx

References _64BIT_VALUE_INVALID_, _GEANT_INDEX_BIT_NUM_, _SERVICE_BIT_MASK_, EicGeoMap::AssignBaseVolumePath(), dname, fPathUponEntry, EicGeoMap::GetBaseVolumePath(), EicBitMask< T >::GetBitMask(), GeantVolumeLevel::GetBitMaskPtr(), EicGeoMap::GetGeantVolumeLevelNum(), EicGeoMap::GetGeantVolumeLevelPtr(), EicGeoParData::GetMapNum(), EicGeoParData::GetMapPtrViaMapID(), GeantVolumeLevel::GetMaxEntryNum(), EicGeoParData::GetMaxVolumeLevelNum(), EicBitMask< T >::GetShift(), gptr, EicGeoMap::IsMySignature(), mAllVolumesSensitiveFlag, EicDetName::Name(), and printf().

Referenced by ProcessHits().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

EicDetectorId EicDetector::GetType ( )
inline

Get EicDetectorId detector type;

Definition at line 228 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 228 of file EicDetector.h

References fDetType.

void EicDetector::Initialize ( )
virtual

Initialization call, see source file for details;

Reimplemented from FairDetector.

Definition at line 589 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 589 of file EicDetector.cxx

References EicGeoParData::CalculateMappingTableSignatures(), gptr, and FairDetector::Initialize().

+ Here is the call graph for this function:

bool EicDetector::IsKillerVolume ( const char *  name)
protected

Definition at line 161 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 161 of file EicDetector.cxx

References EicNamePatternHub< T >::AnyMatch(), and mKillerVolumes.

Referenced by EicMCApplication::Stepping().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicDetector::Print ( ) const
virtual

Print out service info about current event;

Definition at line 690 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 690 of file EicDetector.cxx

References dname, fEicMoCaPointCollection, FairModule::fVerboseLevel, and EicDetName::Name().

Referenced by EndOfEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool_t EicDetector::ProcessHits ( FairVolume v = 0)
virtual
void EicDetector::Register ( )
virtual

Register produced true and fake MC hit collections in FairRootManager;

Implements FairDetector.

Definition at line 243 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 243 of file EicDetector.cxx

References dname, fEicMoCaPointCollection, FairRootManager::Instance(), EicDetName::Name(), and FairRootManager::Register().

+ Here is the call graph for this function:

void EicDetector::RequestAttachedFilePrintout ( const char *  fileName,
const char *  option = 0 
)
inline

Definition at line 251 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 251 of file EicDetector.h

References mAttachedFilePrintoutOption, and mAttachedFilePrintoutRequestName.

void EicDetector::RequestGeometryInfoPrintout ( const char *  option = 0)
inline

Definition at line 246 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 246 of file EicDetector.h

References mPrintGeometryInfoFlag, and mPrintGeometryInfoOption.

void EicDetector::Reset ( )
virtual

Has to be called after each event to reset the containers;

Implements FairDetector.

Definition at line 681 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 681 of file EicDetector.cxx

References fEicMoCaPointCollection.

void EicDetector::ResetSteppingVariables ( )

Definition at line 416 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 416 of file EicDetector.cxx

References fELoss, fLength, fMomIn, fPathUponEntry, fPosIn, fStep, and fTime.

Referenced by ProcessHits().

+ Here is the caller graph for this function:

void EicDetector::ResetVars ( )
inline

Definition at line 76 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 76 of file EicDetector.h

References dname, eicContFact, fEicMoCaPointCollection, fELoss, fLength, fListOfGeantSensitives, fStep, fTime, gptr, mAllVolumesSensitiveFlag, mKillerVolumes, mPrintGeometryInfoFlag, and vptr.

Referenced by EicDetector().

+ Here is the caller graph for this function:

void EicDetector::SetGeometryFileName ( TString  fname,
TString  geoVer = "0" 
)
protectedvirtual

Set geometry file name

Parameters
fnamefile name
geoVerwhatever FairModule::SetGeometryFileName() requires

Prefer to allow usage of geometry files in current directory; so overload original FairModule method; see also EicDetector::EicDetector(const char *, char *, EicDetectorId, SteppingType, Bool_t)

Reimplemented from FairModule.

Definition at line 97 of file EicDetector.cxx.

View newest version in sPHENIX GitHub at line 97 of file EicDetector.cxx

References FairModule::fgeoName, and FairModule::SetGeometryFileName().

Referenced by EicDetector().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Friends And Related Function Documentation

friend class EicMCApplication
friend

Definition at line 51 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 51 of file EicDetector.h

Member Data Documentation

EicDetName* EicDetector::dname
protected

Detector name frame;

Definition at line 266 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 266 of file EicDetector.h

Referenced by EicCadFile::ConstructGeometry(), ConstructGeometry(), EicDetector(), FinishRun(), GetDname(), GetNodeMultiIndex(), Print(), Register(), and ResetVars().

EicContFact* EicDetector::eicContFact
protected

Container factory;

Definition at line 273 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 273 of file EicDetector.h

Referenced by EicDetector(), and ResetVars().

EicDetectorId EicDetector::fDetType
private

Detector type;

Definition at line 346 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 346 of file EicDetector.h

Referenced by EicDetector(), GetType(), and ProcessHits().

TClonesArray* EicDetector::fEicMoCaPointCollection
protected

true MC point collection (basically points of energy deposit);

Definition at line 276 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 276 of file EicDetector.h

Referenced by AddMoCaPoint(), EicDetector(), EndOfEvent(), GetCollection(), Print(), Register(), Reset(), and ResetVars().

Double32_t EicDetector::fELoss
protected

(Accumulated) energy deposit;

Definition at line 302 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 302 of file EicDetector.h

Referenced by ProcessHits(), ResetSteppingVariables(), and ResetVars().

Double32_t EicDetector::fLength
protected

Current trajectory length;

Definition at line 300 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 300 of file EicDetector.h

Referenced by ProcessHits(), ResetSteppingVariables(), and ResetVars().

EicNamePatternHub<SteppingType>* EicDetector::fListOfGeantSensitives
private

Definition at line 357 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 357 of file EicDetector.h

Referenced by CheckIfSensitive(), ConstructGeometry(), DeclareGeantSensitiveVolume(), DeclareGeantSensitiveVolumePrefix(), ProcessHits(), and ResetVars().

TLorentzVector EicDetector::fMomIn
protected

Entry momentum in global frame;

Definition at line 296 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 296 of file EicDetector.h

Referenced by ProcessHits(), and ResetSteppingVariables().

TString EicDetector::fPathUponEntry
private

ROOT volume path upon entry;

Definition at line 351 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 351 of file EicDetector.h

Referenced by GetNodeMultiIndex(), and ResetSteppingVariables().

TLorentzVector EicDetector::fPosIn
protected

Entry position in global frame;

Definition at line 294 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 294 of file EicDetector.h

Referenced by ProcessHits(), and ResetSteppingVariables().

Double32_t EicDetector::fStep
protected

(Accumulated) step;

Definition at line 304 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 304 of file EicDetector.h

Referenced by ProcessHits(), ResetSteppingVariables(), and ResetVars().

SteppingType EicDetector::fStType
private

Stepping model;

Definition at line 348 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 348 of file EicDetector.h

Referenced by DeclareGeantSensitiveVolume(), DeclareGeantSensitiveVolumePrefix(), EicDetector(), and ProcessHits().

Double32_t EicDetector::fTime
protected

Time elapsed from event start;

Definition at line 298 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 298 of file EicDetector.h

Referenced by ProcessHits(), ResetSteppingVariables(), and ResetVars().

EicGeoParData* EicDetector::gptr
private

Geometry mapping table;

Definition at line 340 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 340 of file EicDetector.h

Referenced by BeginEvent(), ConstructGeometry(), FinishRun(), GetNodeMultiIndex(), Initialize(), ProcessHits(), ResetVars(), and EicMCApplication::Stepping().

Bool_t EicDetector::mAllVolumesSensitiveFlag
private

Sensitive volume names;

Note
std::vector is perhaps not the best option here; leave like this, for historical reasons;

Definition at line 356 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 356 of file EicDetector.h

Referenced by CheckIfSensitive(), DeclareAllVolumesSensitive(), GetNodeMultiIndex(), ProcessHits(), and ResetVars().

TString EicDetector::mAttachedFilePrintoutOption
protected

Definition at line 288 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 288 of file EicDetector.h

Referenced by ConstructGeometry(), and RequestAttachedFilePrintout().

TString EicDetector::mAttachedFilePrintoutRequestName
protected

Definition at line 287 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 287 of file EicDetector.h

Referenced by ConstructGeometry(), and RequestAttachedFilePrintout().

std::vector<EicEnergyMonitor*> EicDetector::mEnergyMonitorVolumes
private

Definition at line 380 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 380 of file EicDetector.h

Referenced by AddEnergyMonitorVolume(), CheckEnergyMonitors(), EndOfEvent(), and FinishRun().

EicNamePatternHub<unsigned>* EicDetector::mKillerVolumes
private

Fake MC point database energy range [E_min .. E_max] table for particle "fake" tracing in this detector; PDG-code dependent; may be do it volume/material-specific later as well?;

Fake MC point database file name;

Fake MC point database entry;

Fake MC point database ROOT file;

Fake MC point database ROOT tree;

Definition at line 376 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 376 of file EicDetector.h

Referenced by AddKillerVolume(), IsKillerVolume(), and ResetVars().

bool EicDetector::mPrintGeometryInfoFlag
protected

Array of fake MC points, which would require further processing at digitization phase (basically points at where ~low energy particle tracks were forced to stop via gMC->StopTrack() calls);

Definition at line 284 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 284 of file EicDetector.h

Referenced by ConstructGeometry(), RequestGeometryInfoPrintout(), and ResetVars().

TString EicDetector::mPrintGeometryInfoOption
protected

Definition at line 285 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 285 of file EicDetector.h

Referenced by ConstructGeometry(), and RequestGeometryInfoPrintout().

TGeoVolume* EicDetector::vptr
private

Current GEANT volume (?);

Definition at line 343 of file EicDetector.h.

View newest version in sPHENIX GitHub at line 343 of file EicDetector.h

Referenced by ConstructGeometry(), FinishRun(), and ResetVars().


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