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

#include <EicRoot/blob/master/eic/detectors/gem/GemGeoParData.h>

+ Inheritance diagram for GemGeoParData:
+ Collaboration diagram for GemGeoParData:

Public Member Functions

 GemGeoParData (const char *detName=0, int version=-1, int subVersion=0)
 
 ~GemGeoParData ()
 
void AddWheel (GemModule *module, unsigned moduleNum, double radius, double beamLineOffset, double beamLineRotation=0.0)
 
void AddWheel (GemModule *module, unsigned moduleNum, double radius, TGeoMatrix *transformation)
 
void AddSingleModule (GemModule *module, double beamLineOffset, double beamLineRotation=0.0)
 
void AddSingleModule (GemModule *module, TGeoMatrix *transformation)
 
void WithMountingRings (bool yesNo)
 
bool WithMountingRings () const
 
void SetKaptonMaterial (const char *material)
 
void SetG10Material (const char *material)
 
int ConstructGeometry (bool root=true, bool gdml=false, bool check=false)
 
 GemGeoParData (const char *detName=0, int version=-1, int subVersion=0)
 
 ~GemGeoParData ()
 
void AddWheel (GemModule *module, unsigned moduleNum, double radius, double beamLineOffset, double beamLineRotation=0.0)
 
void AddWheel (GemModule *module, unsigned moduleNum, double radius, TGeoMatrix *transformation)
 
void AddSingleModule (GemModule *module, double beamLineOffset, double beamLineRotation=0.0)
 
void AddSingleModule (GemModule *module, TGeoMatrix *transformation)
 
void WithMountingRings (bool yesNo)
 
bool WithMountingRings () const
 
void SetKaptonMaterial (const char *material)
 
void SetG10Material (const char *material)
 
int ConstructGeometry (bool root=true, bool gdml=false, bool check=false)
 
- Public Member Functions inherited from EicGeoParData
 EicGeoParData (const char *detName=0, int version=-1, int subVersion=0)
 
 ~EicGeoParData ()
 
void ResetVars ()
 
void SetGeometryType (GeometryType gType)
 
GeometryType GetGeometryType () const
 
void SetTestGeometryFlag (bool flag=true)
 
bool IsTestGeometry () const
 
int GetVersion () const
 
int GetSubVersion () const
 
void SetFileName (const char *fileName)
 
void SetFileNameFormat (const char *fileNameFormat)
 
void SetComment (const char *comment)
 
int AttachSourceFile (const char *fileName)
 
void PrintAttachedSourceFile (const char *fileName)
 
EicGeoMapCreateNewMap ()
 
int SetCircularX (unsigned group=0)
 
int SetCircularY (unsigned group=0)
 
int SetCircularZ (unsigned group=0)
 
bool GetCircularX (unsigned group=0) const
 
bool GetCircularY (unsigned group=0) const
 
bool GetCircularZ (unsigned group=0) const
 
bool GetCircular (unsigned group, unsigned what) const
 
int SetMappingTableEntry (EicGeoMap *map, const unsigned geant[], unsigned group, unsigned logical[])
 
int AddLogicalVolumeGroup (unsigned dimX=0, unsigned dimY=0, unsigned dimZ=0)
 
void AddBlackHoleVolume (const char *vName)
 
void AddStepEnforcedVolume (const char *vName)
 
void AddStepEnforcedVolumeLookupEntry (int volumeID, double step)
 
const TGeoMedium * GetMedium (const char *medium)
 
void SetTopVolumeTransformation (TGeoMatrix *transformation)
 
const TGeoMatrix * GetTopVolumeTransformation () const
 
TString GetGeometryFileName (bool root=true) const
 
virtual void Print (const char *option=0) const
 
TGeoVolume * GetTopVolume () const
 
TGeoManager * GetRootGeoManager ()
 
void FinalizeOutput (bool root=true, bool gdml=false, bool check=false)
 
UInt_t GetMapNum () const
 
EicGeoMapGetMapPtrViaMapID (unsigned mapId) const
 
const EicGeoMapGetMapPtrViaHitMultiIndex (ULong64_t multi) const
 
int CalculateMappingTableSignatures ()
 
unsigned GetMaxVolumeLevelNum () const
 
ULogicalIndex_t GeantMultiToLogicalIndex (ULong64_t multi) const
 
unsigned GetDimX (unsigned group=0) const
 
unsigned GetDimY (unsigned group=0) const
 
unsigned GetDimZ (unsigned group=0) const
 
unsigned GetDim (unsigned group, unsigned what) const
 
unsigned GetGroup (ULogicalIndex_t logicalID) const
 
unsigned GetX (ULogicalIndex_t logicalID) const
 
unsigned GetY (ULogicalIndex_t logicalID) const
 
unsigned GetZ (ULogicalIndex_t logicalID) const
 
unsigned GetCoord (unsigned what, ULogicalIndex_t logicalID) const
 
bool IsBlackHoleVolume (const char *vName) const
 
const std::set< TString > & GetBlackHoleVolumes () const
 
double GetEnforcedStep (int volumeID)
 
const std::set< TString > & GetStepEnforcedVolumes () const
 
void InitializeLookupTables ()
 
LogicalVolumeLookupTableEntryGetLookupTableNode (ULogicalIndex_t xy) const
 
LogicalVolumeLookupTableEntryGetLookupTableNode (const TGeoNode *node) const
 
EicNamePatternHub< Color_t > * GetColorTable ()
 
EicNamePatternHub< Char_t > * GetTransparencyTable ()
 
virtual bool AreNeighbours (ULogicalIndex_t l1, ULogicalIndex_t l2, unsigned maxLinearDist=1, unsigned maxChebyshevDist=0) const
 
const EicDetNameGetDetName () const
 
void AddWantedParticle (const char *vName, int pdg)
 
bool IsWantedParticle (const char *vName, int pdg) const
 
 EicGeoParData (const char *detName=0, int version=-1, int subVersion=0)
 
 ~EicGeoParData ()
 
void ResetVars ()
 
void SetGeometryType (GeometryType gType)
 
GeometryType GetGeometryType () const
 
void SetTestGeometryFlag (bool flag=true)
 
bool IsTestGeometry () const
 
int GetVersion () const
 
int GetSubVersion () const
 
void SetFileName (const char *fileName)
 
void SetFileNameFormat (const char *fileNameFormat)
 
void SetTransparency (unsigned value)
 
void SetComment (const char *comment)
 
int AttachSourceFile (const char *fileName)
 
void PrintAttachedSourceFile (const char *fileName)
 
EicGeoMapCreateNewMap ()
 
int SetCircularX (unsigned group=0)
 
int SetCircularY (unsigned group=0)
 
int SetCircularZ (unsigned group=0)
 
bool GetCircularX (unsigned group=0) const
 
bool GetCircularY (unsigned group=0) const
 
bool GetCircularZ (unsigned group=0) const
 
bool GetCircular (unsigned group, unsigned what) const
 
int SetMappingTableEntry (EicGeoMap *map, const unsigned geant[], unsigned group, unsigned logical[])
 
int AddLogicalVolumeGroup (unsigned dimX=0, unsigned dimY=0, unsigned dimZ=0)
 
void AddBlackHoleVolume (const char *vName)
 
void AddStepEnforcedVolume (const char *vName)
 
void AddStepEnforcedVolumeLookupEntry (int volumeID, double step)
 
const TGeoMedium * GetMedium (const char *medium)
 
void SetTopVolumeTransformation (TGeoMatrix *transformation)
 
const TGeoMatrix * GetTopVolumeTransformation () const
 
TString GetGeometryFileName (bool root=true) const
 
virtual void Print (const char *option=0) const
 
TGeoVolume * GetTopVolume () const
 
TGeoManager * GetRootGeoManager ()
 
void FinalizeOutput (bool root=true, bool gdml=false, bool check=false)
 
UInt_t GetMapNum () const
 
EicGeoMapGetMapPtrViaMapID (unsigned mapId) const
 
const EicGeoMapGetMapPtrViaHitMultiIndex (ULong64_t multi) const
 
int CalculateMappingTableSignatures ()
 
unsigned GetMaxVolumeLevelNum () const
 
ULogicalIndex_t GeantMultiToLogicalIndex (ULong64_t multi) const
 
void PlaceG4Volume (G4LogicalVolume *mother, bool check=false, void *pRot=0, void *tlate=0)
 
unsigned GetDimX (unsigned group=0) const
 
unsigned GetDimY (unsigned group=0) const
 
unsigned GetDimZ (unsigned group=0) const
 
unsigned GetDim (unsigned group, unsigned what) const
 
unsigned GetGroup (ULogicalIndex_t logicalID) const
 
unsigned GetX (ULogicalIndex_t logicalID) const
 
unsigned GetY (ULogicalIndex_t logicalID) const
 
unsigned GetZ (ULogicalIndex_t logicalID) const
 
unsigned GetCoord (unsigned what, ULogicalIndex_t logicalID) const
 
bool IsBlackHoleVolume (const char *vName) const
 
const std::set< TString > & GetBlackHoleVolumes () const
 
double GetEnforcedStep (int volumeID)
 
const std::set< TString > & GetStepEnforcedVolumes () const
 
void InitializeLookupTables ()
 
LogicalVolumeLookupTableEntryGetLookupTableNode (ULogicalIndex_t xy) const
 
LogicalVolumeLookupTableEntryGetLookupTableNode (const TGeoNode *node) const
 
EicNamePatternHub< Color_t > * GetColorTable ()
 
EicNamePatternHub< Char_t > * GetTransparencyTable ()
 
virtual bool AreNeighbours (ULogicalIndex_t l1, ULogicalIndex_t l2, unsigned maxLinearDist=1, unsigned maxChebyshevDist=0) const
 
const EicDetNameGetDetName () const
 
void AddWantedParticle (const char *vName, int pdg)
 
bool IsWantedParticle (const char *vName, int pdg) const
 
void SetTGeoGeometryCheckPrecision (double value)
 
void TurnTGeoGeometryCheckOff (void)
 
const std::vector
< G4VPhysicalVolume * > & 
GetG4Volumes (void) const
 
const std::map
< G4VPhysicalVolume
*, unsigned > & 
GetG4SensitiveVolumes (void) const
 
 ClassDef (EicGeoParData, 51)
 

Public Attributes

Double_t mMountingRingBeamLineThickness
 
Double_t mMountingRingRadialThickness
 
Bool_t mWithMountingRings
 

Private Member Functions

void PlaceMaterialLayer (const char *detName, const char *namePrefix, unsigned wheelID, TGeoVolume *moduleContainer, const char *material, double *vert, double thickness, double *yOffset)
 
 ClassDef (GemGeoParData, 6)
 
void PlaceMaterialLayer (const char *detName, const char *namePrefix, unsigned wheelID, TGeoVolume *moduleContainer, const char *material, double thickness, double *yOffset)
 
 ClassDef (GemGeoParData, 6)
 

Private Attributes

TString mKaptonMaterial
 
TString mG10Material
 
std::vector< GemWheel * > mWheels
 

Additional Inherited Members

- Public Types inherited from EicGeoParData
enum  GeometryType {
  Undefined, NoStructure, SimpleStructure, FullStructure,
  Undefined, NoStructure, SimpleStructure, FullStructure
}
 
enum  IDXYZ {
  IDX =0, IDY, IDZ, IDX =0,
  IDY, IDZ
}
 
enum  GeometryType {
  Undefined, NoStructure, SimpleStructure, FullStructure,
  Undefined, NoStructure, SimpleStructure, FullStructure
}
 
enum  IDXYZ {
  IDX =0, IDY, IDZ, IDX =0,
  IDY, IDZ
}
 
- Static Public Member Functions inherited from EicGeoParData
static int ImportMediaFile (const char *fname)
 
- Protected Attributes inherited from EicGeoParData
GeometryType mGeometryType
 
Bool_t mTestGeometryFlag
 
EicDetNamemDetName
 respective lookup table (for efficiency)
 
unsigned char mTransparency
 

Detailed Description

Definition at line 124 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 124 of file GemGeoParData.h

Constructor & Destructor Documentation

GemGeoParData::GemGeoParData ( const char *  detName = 0,
int  version = -1,
int  subVersion = 0 
)
inline

Definition at line 127 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 127 of file GemGeoParData.h

GemGeoParData::~GemGeoParData ( )
inline

Definition at line 134 of file GemGeoParData.h.

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

GemGeoParData::GemGeoParData ( const char *  detName = 0,
int  version = -1,
int  subVersion = 0 
)
inline

Definition at line 111 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 111 of file GemGeoParData.h

GemGeoParData::~GemGeoParData ( )
inline

Definition at line 118 of file GemGeoParData.h.

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

Member Function Documentation

void GemGeoParData::AddSingleModule ( GemModule module,
double  beamLineOffset,
double  beamLineRotation = 0.0 
)
inline

Definition at line 131 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 131 of file GemGeoParData.h

References AddWheel().

+ Here is the call graph for this function:

void GemGeoParData::AddSingleModule ( GemModule module,
TGeoMatrix *  transformation 
)
inline

Definition at line 135 of file GemGeoParData.h.

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

References AddWheel().

+ Here is the call graph for this function:

void GemGeoParData::AddSingleModule ( GemModule module,
double  beamLineOffset,
double  beamLineRotation = 0.0 
)
inline

Definition at line 147 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 147 of file GemGeoParData.h

References AddWheel().

+ Here is the call graph for this function:

void GemGeoParData::AddSingleModule ( GemModule module,
TGeoMatrix *  transformation 
)
inline

Definition at line 151 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 151 of file GemGeoParData.h

References AddWheel().

+ Here is the call graph for this function:

void GemGeoParData::AddWheel ( GemModule module,
unsigned  moduleNum,
double  radius,
double  beamLineOffset,
double  beamLineRotation = 0.0 
)
inline

Definition at line 120 of file GemGeoParData.h.

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

References mWheels.

void GemGeoParData::AddWheel ( GemModule module,
unsigned  moduleNum,
double  radius,
TGeoMatrix *  transformation 
)
inline

Definition at line 125 of file GemGeoParData.h.

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

References mWheels.

void GemGeoParData::AddWheel ( GemModule module,
unsigned  moduleNum,
double  radius,
double  beamLineOffset,
double  beamLineRotation = 0.0 
)
inline

Definition at line 136 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 136 of file GemGeoParData.h

References mWheels.

Referenced by AddSingleModule(), BasicDetectorConstruction::Construct(), and fbgt().

+ Here is the caller graph for this function:

void GemGeoParData::AddWheel ( GemModule module,
unsigned  moduleNum,
double  radius,
TGeoMatrix *  transformation 
)
inline

Definition at line 141 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 141 of file GemGeoParData.h

References mWheels.

GemGeoParData::ClassDef ( GemGeoParData  ,
 
)
private
GemGeoParData::ClassDef ( GemGeoParData  ,
 
)
private
int GemGeoParData::ConstructGeometry ( bool  root = true,
bool  gdml = false,
bool  check = false 
)
virtual

Reimplemented from EicGeoParData.

int GemGeoParData::ConstructGeometry ( bool  root = true,
bool  gdml = false,
bool  check = false 
)
virtual

Reimplemented from EicGeoParData.

Definition at line 21 of file GemGeoParData.cxx.

View newest version in sPHENIX GitHub at line 21 of file GemGeoParData.cxx

References _AIR_, _COPPER_, EicGeoMap::AddGeantVolumeLevel(), AddLogicalVolumeGroup(), cos(), exit(), FinalizeOutput(), GetMedium, GemModule::mActiveWindowBottomWidth, GemModule::mActiveWindowHeight, GemModule::mActiveWindowTopWidth, Acts::Test::maxRadius, GemModule::mDriftFoilCopperThickness, GemModule::mDriftFoilKaptonThickness, GemModule::mDriftRegionLength, GemModule::mEntranceRegionLength, GemModule::mEntranceWindowMaterial, GemModule::mEntranceWindowThickness, GemModule::mFirstTransferRegionLength, GemModule::mFrameBottomEdgeWidth, GemModule::mFrameSideEdgeWidth, GemModule::mFrameThickness, GemModule::mFrameTopEdgeWidth, GemModule::mGasMixture, GemModule::mGemFoilAreaFraction, GemModule::mGemFoilCopperThickness, GemModule::mGemFoilKaptonThickness, GemModule::mInductionRegionLength, Acts::Test::minRadius, GemWheel::mModule, GemWheel::mModuleNum, GemWheel::mRadius, GemModule::mReadoutCopperThickness, GemModule::mReadoutG10Thickness, GemModule::mReadoutKaptonThickness, GemModule::mReadoutSupportMaterial, GemModule::mReadoutSupportThickness, GemModule::mSecondTransferRegionLength, GemWheel::mTransformation, printf(), rw, EicGeoMap::SetSingleSensorContainerVolume(), and thickness.

Referenced by fbgt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void GemGeoParData::PlaceMaterialLayer ( const char *  detName,
const char *  namePrefix,
unsigned  wheelID,
TGeoVolume *  moduleContainer,
const char *  material,
double  thickness,
double *  yOffset 
)
private

Definition at line 355 of file GemGeoParData.cxx.

View newest version in sPHENIX GitHub at line 355 of file GemGeoParData.cxx

References EicGeoParData::GetMedium(), GemModule::mActiveWindowBottomWidth, GemModule::mActiveWindowHeight, GemModule::mActiveWindowTopWidth, GemModule::mFrameBottomEdgeWidth, GemModule::mFrameTopEdgeWidth, GemWheel::mModule, mWheels, and thickness.

+ Here is the call graph for this function:

void GemGeoParData::PlaceMaterialLayer ( const char *  detName,
const char *  namePrefix,
unsigned  wheelID,
TGeoVolume *  moduleContainer,
const char *  material,
double *  vert,
double  thickness,
double *  yOffset 
)
private

Definition at line 326 of file GemGeoParData.cxx.

View newest version in sPHENIX GitHub at line 326 of file GemGeoParData.cxx

References GetMedium, GemModule::mFrameBottomEdgeWidth, GemModule::mFrameTopEdgeWidth, GemWheel::mModule, rw, and thickness.

void GemGeoParData::SetG10Material ( const char *  material)
inline

Definition at line 146 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 146 of file GemGeoParData.h

References mG10Material.

void GemGeoParData::SetG10Material ( const char *  material)
inline

Definition at line 162 of file GemGeoParData.h.

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

References mG10Material.

void GemGeoParData::SetKaptonMaterial ( const char *  material)
inline

Definition at line 142 of file GemGeoParData.h.

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

References mKaptonMaterial.

void GemGeoParData::SetKaptonMaterial ( const char *  material)
inline

Definition at line 158 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 158 of file GemGeoParData.h

References mKaptonMaterial.

void GemGeoParData::WithMountingRings ( bool  yesNo)
inline

Definition at line 139 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 139 of file GemGeoParData.h

References mWithMountingRings, and yesNo().

+ Here is the call graph for this function:

bool GemGeoParData::WithMountingRings ( ) const
inline

Definition at line 140 of file GemGeoParData.h.

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

References mWithMountingRings.

void GemGeoParData::WithMountingRings ( bool  yesNo)
inline

Definition at line 155 of file GemGeoParData.h.

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

References mWithMountingRings, and yesNo().

Referenced by fbgt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool GemGeoParData::WithMountingRings ( ) const
inline

Definition at line 156 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 156 of file GemGeoParData.h

References mWithMountingRings.

Member Data Documentation

TString GemGeoParData::mG10Material
private

Definition at line 184 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 184 of file GemGeoParData.h

Referenced by SetG10Material().

TString GemGeoParData::mKaptonMaterial
private

Definition at line 181 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 181 of file GemGeoParData.h

Referenced by SetKaptonMaterial().

Double_t GemGeoParData::mMountingRingBeamLineThickness

Definition at line 173 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 173 of file GemGeoParData.h

Referenced by fbgt().

Double_t GemGeoParData::mMountingRingRadialThickness

Definition at line 174 of file GemGeoParData.h.

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

Referenced by fbgt().

std::vector< GemWheel * > GemGeoParData::mWheels
private

Definition at line 188 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 188 of file GemGeoParData.h

Referenced by AddWheel(), and PlaceMaterialLayer().

Bool_t GemGeoParData::mWithMountingRings

Definition at line 176 of file GemGeoParData.h.

View newest version in sPHENIX GitHub at line 176 of file GemGeoParData.h

Referenced by WithMountingRings().


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