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

#include <fun4all_coresoftware/blob/master/simulation/g4simulation/g4intt/PHG4InttDetector.h>

+ Inheritance diagram for PHG4InttDetector:
+ Collaboration diagram for PHG4InttDetector:

Public Member Functions

 PHG4InttDetector (PHG4Subsystem *subsys, PHCompositeNode *Node, PHParametersContainer *parameters, const std::string &dnam, const std::pair< std::vector< std::pair< int, int >>::const_iterator, std::vector< std::pair< int, int >>::const_iterator > &layer_b_e)
 constructor
 
 ~PHG4InttDetector () override
 destructor
 
void ConstructMe (G4LogicalVolume *world) override
 construct
 
void SuperDetector (const std::string &name)
 
const std::string SuperDetector () const
 
void Detector (const std::string &name)
 
const std::string Detector () const
 
std::map< G4VPhysicalVolume
*, std::tuple< int, int, int,
int > >::const_iterator 
get_ActiveVolumeTuple (G4VPhysicalVolume *physvol) const
 
std::map< G4LogicalVolume
*, std::tuple< int, int >
>::const_iterator 
get_PassiveVolumeTuple (G4LogicalVolume *logvol) const
 
volume accessors
int IsInIntt (G4VPhysicalVolume *) const
 
- Public Member Functions inherited from PHG4Detector
 PHG4Detector ()=delete
 constructor
 
 PHG4Detector (PHG4Subsystem *subsys, PHCompositeNode *Node, const std::string &nam)
 
virtual ~PHG4Detector (void)
 destructor
 
virtual void Construct (G4LogicalVolume *world) final
 construct method
 
virtual void PostConstruction ()
 Optional PostConstruction call after all geometry is constructed.
 
virtual void Verbosity (const int v)
 
virtual int Verbosity () const
 
virtual G4UserSteppingAction * GetSteppingAction ()
 
virtual std::string GetName () const
 
virtual void OverlapCheck (const bool chk)
 
virtual bool OverlapCheck () const
 
virtual void Print (const std::string &="ALL") const
 
virtual int DisplayVolume (G4VSolid *volume, G4LogicalVolume *logvol, G4RotationMatrix *rotm=nullptr)
 
virtual int DisplayVolume (G4LogicalVolume *checksolid, G4LogicalVolume *logvol, G4RotationMatrix *rotm=nullptr)
 
virtual PHCompositeNodetopNode ()
 
virtual PHG4SubsystemGetMySubsystem ()
 

Private Member Functions

void AddGeometryNode ()
 
int ConstructIntt (G4LogicalVolume *sandwich)
 

Private Attributes

PHG4InttDisplayActionm_DisplayAction
 
PHParametersContainerm_ParamsContainer
 
std::string m_DetectorType
 
std::string m_SuperDetector
 
int m_IsSupportActive
 
int m_IsEndcapActive
 
double m_PosZ [8][2]
 
double m_SensorRadius [8]
 
double m_StripOffsetX [8]
 
std::set< G4LogicalVolume * > m_ActiveLogVols
 
std::map< int, int > m_IsActiveMap
 
std::map< int, int > m_IsAbsorberActiveMap
 
std::pair< std::vector
< std::pair< int, int >
>::const_iterator,
std::vector< std::pair< int,
int > >::const_iterator > 
m_LayerBeginEndIteratorPair
 
std::map< G4VPhysicalVolume
*, std::tuple< int, int, int,
int > > 
m_ActiveVolumeTuple
 
std::map< G4LogicalVolume
*, std::tuple< int, int > > 
m_PassiveVolumeTuple
 

Additional Inherited Members

- Static Public Member Functions inherited from PHG4Detector
static G4Material * GetDetectorMaterial (const std::string &name, const bool quit=true)
 
static G4Element * GetDetectorElement (const std::string &name, const bool quit=true)
 

Detailed Description

Definition at line 22 of file PHG4InttDetector.h.

View newest version in sPHENIX GitHub at line 22 of file PHG4InttDetector.h

Constructor & Destructor Documentation

PHG4InttDetector::PHG4InttDetector ( PHG4Subsystem subsys,
PHCompositeNode Node,
PHParametersContainer parameters,
const std::string &  dnam,
const std::pair< std::vector< std::pair< int, int >>::const_iterator, std::vector< std::pair< int, int >>::const_iterator > &  layer_b_e 
)

constructor

Definition at line 59 of file PHG4InttDetector.cc.

View newest version in sPHENIX GitHub at line 59 of file PHG4InttDetector.cc

References PHParameters::get_int_param(), PHParametersContainer::GetParameters(), G4TTL::layer, m_IsAbsorberActiveMap, m_IsActiveMap, m_IsEndcapActive, m_IsSupportActive, m_LayerBeginEndIteratorPair, m_ParamsContainer, m_PosZ, m_SensorRadius, m_StripOffsetX, and PHG4InttDefs::SUPPORTPARAMS.

+ Here is the call graph for this function:

PHG4InttDetector::~PHG4InttDetector ( )
inlineoverride

destructor

Definition at line 29 of file PHG4InttDetector.h.

View newest version in sPHENIX GitHub at line 29 of file PHG4InttDetector.h

Member Function Documentation

void PHG4InttDetector::AddGeometryNode ( )
private

Definition at line 1510 of file PHG4InttDetector.cc.

View newest version in sPHENIX GitHub at line 1510 of file PHG4InttDetector.cc

References Acts::active, PHG4CylinderGeomContainer::AddLayerGeom(), PHCompositeNode::addNode(), Acts::UnitConstants::cm, PHNodeIterator::findFirst(), PHParameters::get_double_param(), PHParameters::get_int_param(), PHParametersContainer::GetParameters(), PHG4CylinderGeomContainer::identify(), G4INTT::laddertype, m_DetectorType, m_IsActiveMap, m_LayerBeginEndIteratorPair, m_ParamsContainer, m_PosZ, m_SensorRadius, m_SuperDetector, Acts::UnitConstants::rad, PHG4Detector::topNode(), and PHG4Detector::Verbosity().

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4InttDetector::ConstructIntt ( G4LogicalVolume *  sandwich)
private

Definition at line 122 of file PHG4InttDetector.cc.

View newest version in sPHENIX GitHub at line 122 of file PHG4InttDetector.cc

References PHG4InttDisplayAction::AddVolume(), Acts::UnitConstants::cm, cos(), exit(), PHG4InttDefs::FPHX, PHG4InttDefs::FPHX_GLUE, PHParameters::get_double_param(), PHParameters::get_int_param(), PHFlag::get_StringFlag(), PHG4Detector::GetDetectorMaterial(), PHParametersContainer::GetParameters(), PHG4InttDefs::HDI_COPPER, PHG4InttDefs::HDI_KAPTON, PHG4InttDefs::HDIEXT_COPPER, PHG4InttDefs::HDIEXT_KAPTON, G4BARRELHCAL::inner_radius, recoConsts::instance(), PHG4InttDefs::INTT_INNER_SKIN, PHG4InttDefs::INTT_OUTER_SKIN, G4INTT::laddertype, m_ActiveLogVols, m_ActiveVolumeTuple, m_DisplayAction, m_IsAbsorberActiveMap, m_IsActiveMap, m_IsEndcapActive, m_IsSupportActive, m_LayerBeginEndIteratorPair, m_ParamsContainer, m_PassiveVolumeTuple, M_PI, m_PosZ, m_SensorRadius, m_StripOffsetX, G4INTT::offsetphi, PHG4Detector::OverlapCheck(), p, phi, PHWHERE, Acts::UnitConstants::rad, G4BECAL::radius, PHG4InttDefs::SEGMENTATION_PHI, PHG4InttDefs::SEGMENTATION_Z, PHG4InttDefs::SERVICE_BARREL_OUTER, PHG4InttDefs::SI_GLUE, PHG4InttDefs::SI_INACTIVE, PHG4InttDefs::STAVE_BOTTOM_COOLER, PHG4InttDefs::STAVE_CURVE, PHG4InttDefs::STAVE_STRAIGHT_COOLER, PHG4InttDefs::STAVE_STRAIGHT_OUTER, PHG4InttDefs::STAVEEXT_BOTTOM_COOLER, PHG4InttDefs::STAVEEXT_CURVE, PHG4InttDefs::STAVEEXT_STRAIGHT_COOLER, PHG4InttDefs::STAVEEXT_STRAIGHT_OUTER, PHG4InttDefs::SUPPORT_DETID, PHG4InttDefs::SUPPORT_RAIL, PHG4InttDefs::SUPPORT_TUBE, PHG4InttDefs::SUPPORTPARAMS, and PHG4Detector::Verbosity().

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4InttDetector::ConstructMe ( G4LogicalVolume *  world)
overridevirtual

construct

Implements PHG4Detector.

Definition at line 104 of file PHG4InttDetector.cc.

View newest version in sPHENIX GitHub at line 104 of file PHG4InttDetector.cc

References AddGeometryNode(), ConstructIntt(), m_LayerBeginEndIteratorPair, and PHG4Detector::Verbosity().

+ Here is the call graph for this function:

void PHG4InttDetector::Detector ( const std::string &  name)
inline

Definition at line 46 of file PHG4InttDetector.h.

View newest version in sPHENIX GitHub at line 46 of file PHG4InttDetector.h

References m_DetectorType, and name.

const std::string PHG4InttDetector::Detector ( ) const
inline

Definition at line 50 of file PHG4InttDetector.h.

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

References m_DetectorType.

map< G4VPhysicalVolume *, std::tuple< int, int, int, int > >::const_iterator PHG4InttDetector::get_ActiveVolumeTuple ( G4VPhysicalVolume *  physvol) const

Definition at line 1571 of file PHG4InttDetector.cc.

View newest version in sPHENIX GitHub at line 1571 of file PHG4InttDetector.cc

References m_ActiveVolumeTuple, and PHWHERE.

Referenced by PHG4InttSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

map< G4LogicalVolume *, std::tuple< int, int > >::const_iterator PHG4InttDetector::get_PassiveVolumeTuple ( G4LogicalVolume *  logvol) const

Definition at line 1583 of file PHG4InttDetector.cc.

View newest version in sPHENIX GitHub at line 1583 of file PHG4InttDetector.cc

References m_PassiveVolumeTuple, and PHWHERE.

Referenced by PHG4InttSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

int PHG4InttDetector::IsInIntt ( G4VPhysicalVolume *  volume) const

Definition at line 83 of file PHG4InttDetector.cc.

View newest version in sPHENIX GitHub at line 83 of file PHG4InttDetector.cc

References m_ActiveLogVols, and m_PassiveVolumeTuple.

Referenced by PHG4InttSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

void PHG4InttDetector::SuperDetector ( const std::string &  name)
inline

Definition at line 38 of file PHG4InttDetector.h.

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

References m_SuperDetector, and name.

Referenced by PHG4InttSteppingAction::SetInterfacePointers().

+ Here is the caller graph for this function:

const std::string PHG4InttDetector::SuperDetector ( ) const
inline

Definition at line 42 of file PHG4InttDetector.h.

View newest version in sPHENIX GitHub at line 42 of file PHG4InttDetector.h

References m_SuperDetector.

Member Data Documentation

std::set<G4LogicalVolume *> PHG4InttDetector::m_ActiveLogVols
private

Definition at line 75 of file PHG4InttDetector.h.

View newest version in sPHENIX GitHub at line 75 of file PHG4InttDetector.h

Referenced by ConstructIntt(), and IsInIntt().

std::map<G4VPhysicalVolume *, std::tuple<int, int, int, int> > PHG4InttDetector::m_ActiveVolumeTuple
private

Definition at line 79 of file PHG4InttDetector.h.

View newest version in sPHENIX GitHub at line 79 of file PHG4InttDetector.h

Referenced by ConstructIntt(), and get_ActiveVolumeTuple().

std::string PHG4InttDetector::m_DetectorType
private

Definition at line 65 of file PHG4InttDetector.h.

View newest version in sPHENIX GitHub at line 65 of file PHG4InttDetector.h

Referenced by AddGeometryNode(), and Detector().

PHG4InttDisplayAction* PHG4InttDetector::m_DisplayAction
private

Definition at line 62 of file PHG4InttDetector.h.

View newest version in sPHENIX GitHub at line 62 of file PHG4InttDetector.h

Referenced by ConstructIntt().

std::map<int, int> PHG4InttDetector::m_IsAbsorberActiveMap
private

Definition at line 77 of file PHG4InttDetector.h.

View newest version in sPHENIX GitHub at line 77 of file PHG4InttDetector.h

Referenced by ConstructIntt(), and PHG4InttDetector().

std::map<int, int> PHG4InttDetector::m_IsActiveMap
private

Definition at line 76 of file PHG4InttDetector.h.

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

Referenced by AddGeometryNode(), ConstructIntt(), and PHG4InttDetector().

int PHG4InttDetector::m_IsEndcapActive
private

Definition at line 69 of file PHG4InttDetector.h.

View newest version in sPHENIX GitHub at line 69 of file PHG4InttDetector.h

Referenced by ConstructIntt(), and PHG4InttDetector().

int PHG4InttDetector::m_IsSupportActive
private

Definition at line 68 of file PHG4InttDetector.h.

View newest version in sPHENIX GitHub at line 68 of file PHG4InttDetector.h

Referenced by ConstructIntt(), and PHG4InttDetector().

std::pair<std::vector<std::pair<int, int> >::const_iterator, std::vector<std::pair<int, int> >::const_iterator> PHG4InttDetector::m_LayerBeginEndIteratorPair
private

Definition at line 78 of file PHG4InttDetector.h.

View newest version in sPHENIX GitHub at line 78 of file PHG4InttDetector.h

Referenced by AddGeometryNode(), ConstructIntt(), ConstructMe(), and PHG4InttDetector().

PHParametersContainer* PHG4InttDetector::m_ParamsContainer
private

Definition at line 63 of file PHG4InttDetector.h.

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

Referenced by AddGeometryNode(), ConstructIntt(), and PHG4InttDetector().

std::map<G4LogicalVolume *, std::tuple<int, int> > PHG4InttDetector::m_PassiveVolumeTuple
private

Definition at line 80 of file PHG4InttDetector.h.

View newest version in sPHENIX GitHub at line 80 of file PHG4InttDetector.h

Referenced by ConstructIntt(), get_PassiveVolumeTuple(), and IsInIntt().

double PHG4InttDetector::m_PosZ[8][2]
private

Definition at line 71 of file PHG4InttDetector.h.

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

Referenced by AddGeometryNode(), ConstructIntt(), and PHG4InttDetector().

double PHG4InttDetector::m_SensorRadius[8]
private

Definition at line 72 of file PHG4InttDetector.h.

View newest version in sPHENIX GitHub at line 72 of file PHG4InttDetector.h

Referenced by AddGeometryNode(), ConstructIntt(), and PHG4InttDetector().

double PHG4InttDetector::m_StripOffsetX[8]
private

Definition at line 73 of file PHG4InttDetector.h.

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

Referenced by ConstructIntt(), and PHG4InttDetector().

std::string PHG4InttDetector::m_SuperDetector
private

Definition at line 66 of file PHG4InttDetector.h.

View newest version in sPHENIX GitHub at line 66 of file PHG4InttDetector.h

Referenced by AddGeometryNode(), and SuperDetector().


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