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

#include <coresoftware/blob/master/simulation/g4simulation/g4mvtx/PHG4EICMvtxDetector.h>

+ Inheritance diagram for PHG4EICMvtxDetector:
+ Collaboration diagram for PHG4EICMvtxDetector:

Public Member Functions

 PHG4EICMvtxDetector (PHG4Subsystem *subsys, PHCompositeNode *Node, const PHParametersContainer *_paramsContainer, const std::string &dnam)
 constructor
 
 ~PHG4EICMvtxDetector () override
 destructor
 
void ConstructMe (G4LogicalVolume *world) override
 construct
 
int IsActive (int lyr) const
 
int IsAbsorberActive (int lyr) const
 
int IsBlackHole (int lyr) const
 
void SuperDetector (const std::string &name)
 
const std::string SuperDetector () const
 
void Detector (const std::string &name)
 
const std::string Detector () const
 
int get_layer (int stv_index) const
 
int get_stave (int stv_index) const
 
volume accessors
int IsInMvtx (G4VPhysicalVolume *, int &layer, int &stave) const
 
int IsSensor (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 G4UserSteppingActionGetSteppingAction ()
 
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 ConstructMvtx (G4LogicalVolume *sandwich)
 
int ConstructMvtx_Layer (int layer, G4AssemblyVolume *stave, G4LogicalVolume *&trackerenvelope)
 
void SetDisplayProperty (G4AssemblyVolume *av)
 
void SetDisplayProperty (G4LogicalVolume *lv)
 
void FillPVArray (G4AssemblyVolume *av)
 
void FindSensor (G4LogicalVolume *lv)
 
double get_phistep (int lay) const
 

Private Attributes

PHG4MvtxDisplayActionm_DisplayAction
 
const PHParametersContainerm_ParamsContainer
 
std::set< G4VPhysicalVolume * > m_SensorPV
 
std::map< G4VPhysicalVolume
*, std::tuple< int, int > > 
m_StavePV
 
std::array< int, n_Layersm_IsLayerActive
 
std::array< int, n_Layersm_IsLayerAbsorberActive
 
std::array< int, n_Layersm_IsBlackHole
 
std::array< int, n_Layersm_N_staves
 
std::array< double, n_Layersm_nominal_radius
 
std::array< double, n_Layersm_nominal_phitilt
 
std::array< double, n_Layersm_nominal_phi0
 
std::string m_Detector
 
std::string m_SuperDetector
 
std::string m_StaveGeometryFile
 

Static Private Attributes

static constexpr int n_Layers = 3
 

Additional Inherited Members

- Static Public Member Functions inherited from PHG4Detector
static G4MaterialGetDetectorMaterial (const std::string &name, const bool quit=true)
 
static G4ElementGetDetectorElement (const std::string &name, const bool quit=true)
 

Detailed Description

Definition at line 23 of file PHG4EICMvtxDetector.h.

View newest version in sPHENIX GitHub at line 23 of file PHG4EICMvtxDetector.h

Constructor & Destructor Documentation

PHG4EICMvtxDetector::PHG4EICMvtxDetector ( PHG4Subsystem subsys,
PHCompositeNode Node,
const PHParametersContainer _paramsContainer,
const std::string &  dnam 
)

constructor

Definition at line 47 of file PHG4EICMvtxDetector.cc.

View newest version in sPHENIX GitHub at line 47 of file PHG4EICMvtxDetector.cc

References cm, PHParameters::get_double_param(), PHParameters::get_int_param(), PHParametersContainer::GetParameters(), m_IsBlackHole, m_IsLayerAbsorberActive, m_IsLayerActive, m_N_staves, m_nominal_phi0, m_nominal_phitilt, m_nominal_radius, m_ParamsContainer, mm, n_Layers, and PHG4Detector::Verbosity().

+ Here is the call graph for this function:

PHG4EICMvtxDetector::~PHG4EICMvtxDetector ( )
inlineoverride

destructor

Definition at line 30 of file PHG4EICMvtxDetector.h.

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

Member Function Documentation

void PHG4EICMvtxDetector::AddGeometryNode ( )
private

Definition at line 369 of file PHG4EICMvtxDetector.cc.

View newest version in sPHENIX GitHub at line 369 of file PHG4EICMvtxDetector.cc

References active, PHG4CylinderGeomContainer::AddLayerGeom(), PHCompositeNode::addNode(), cm, PHNodeIterator::findFirst(), get_phistep(), PHG4CylinderGeomContainer::identify(), m_Detector, m_IsLayerActive, m_N_staves, m_nominal_phi0, m_nominal_phitilt, m_nominal_radius, m_SuperDetector, n_Layers, 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:

void PHG4EICMvtxDetector::ConstructMe ( G4LogicalVolume world)
overridevirtual

construct

Implements PHG4Detector.

Definition at line 152 of file PHG4EICMvtxDetector.cc.

View newest version in sPHENIX GitHub at line 152 of file PHG4EICMvtxDetector.cc

References AddGeometryNode(), ConstructMvtx(), and PHG4Detector::Verbosity().

+ Here is the call graph for this function:

int PHG4EICMvtxDetector::ConstructMvtx ( G4LogicalVolume sandwich)
private

Definition at line 170 of file PHG4EICMvtxDetector.cc.

View newest version in sPHENIX GitHub at line 170 of file PHG4EICMvtxDetector.cc

References ConstructMvtx_Layer(), FillPVArray(), G4GDMLReadStructure::GetAssembly(), m_IsLayerActive, m_StaveGeometryFile, n_Layers, G4GDMLParser::Read(), SetDisplayProperty(), and PHG4Detector::Verbosity().

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4EICMvtxDetector::ConstructMvtx_Layer ( int  layer,
G4AssemblyVolume stave,
G4LogicalVolume *&  trackerenvelope 
)
private

Definition at line 214 of file PHG4EICMvtxDetector.cc.

View newest version in sPHENIX GitHub at line 214 of file PHG4EICMvtxDetector.cc

References get_phistep(), int(), G4TTL::layer, m_N_staves, m_nominal_phi0, m_nominal_phitilt, m_nominal_radius, M_PI, G4AssemblyVolume::MakeImprint(), G4MVTX::N_staves, PHG4Detector::OverlapCheck(), CLHEP::Hep3Vector::rotateZ(), CLHEP::Hep3Vector::setX(), CLHEP::Hep3Vector::setY(), CLHEP::Hep3Vector::setZ(), and PHG4Detector::Verbosity().

Referenced by ConstructMvtx().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 46 of file PHG4EICMvtxDetector.h.

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

References m_Detector.

Referenced by PHG4EICMvtxSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

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

Definition at line 47 of file PHG4EICMvtxDetector.h.

View newest version in sPHENIX GitHub at line 47 of file PHG4EICMvtxDetector.h

References m_Detector.

void PHG4EICMvtxDetector::FillPVArray ( G4AssemblyVolume av)
private

Definition at line 409 of file PHG4EICMvtxDetector.cc.

View newest version in sPHENIX GitHub at line 409 of file PHG4EICMvtxDetector.cc

References FindSensor(), get_layer(), get_stave(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4LogicalVolume::GetName(), G4AssemblyVolume::GetVolumesIterator(), it, G4TTL::layer, m_StavePV, G4AssemblyVolume::TotalImprintedVolumes(), and PHG4Detector::Verbosity().

Referenced by ConstructMvtx().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4EICMvtxDetector::FindSensor ( G4LogicalVolume lv)
private

Definition at line 453 of file PHG4EICMvtxDetector.cc.

View newest version in sPHENIX GitHub at line 453 of file PHG4EICMvtxDetector.cc

References G4LogicalVolume::GetDaughter(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4LogicalVolume::GetName(), G4LogicalVolume::GetNoDaughters(), m_SensorPV, and PHG4Detector::Verbosity().

Referenced by FillPVArray().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4EICMvtxDetector::get_layer ( int  stv_index) const

Definition at line 127 of file PHG4EICMvtxDetector.cc.

View newest version in sPHENIX GitHub at line 127 of file PHG4EICMvtxDetector.cc

References m_N_staves.

Referenced by FillPVArray().

+ Here is the caller graph for this function:

double PHG4EICMvtxDetector::get_phistep ( int  lay) const
inlineprivate

Definition at line 61 of file PHG4EICMvtxDetector.h.

View newest version in sPHENIX GitHub at line 61 of file PHG4EICMvtxDetector.h

References m_N_staves, and M_PI.

Referenced by AddGeometryNode(), and ConstructMvtx_Layer().

+ Here is the caller graph for this function:

int PHG4EICMvtxDetector::get_stave ( int  stv_index) const

Definition at line 140 of file PHG4EICMvtxDetector.cc.

View newest version in sPHENIX GitHub at line 140 of file PHG4EICMvtxDetector.cc

References m_N_staves.

Referenced by FillPVArray().

+ Here is the caller graph for this function:

int PHG4EICMvtxDetector::IsAbsorberActive ( int  lyr) const
inline

Definition at line 42 of file PHG4EICMvtxDetector.h.

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

References m_IsLayerAbsorberActive.

int PHG4EICMvtxDetector::IsActive ( int  lyr) const
inline

Definition at line 41 of file PHG4EICMvtxDetector.h.

View newest version in sPHENIX GitHub at line 41 of file PHG4EICMvtxDetector.h

References m_IsLayerActive.

Referenced by PHG4EICMvtxSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

int PHG4EICMvtxDetector::IsBlackHole ( int  lyr) const
inline

Definition at line 43 of file PHG4EICMvtxDetector.h.

View newest version in sPHENIX GitHub at line 43 of file PHG4EICMvtxDetector.h

References m_IsBlackHole.

Referenced by PHG4EICMvtxSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

int PHG4EICMvtxDetector::IsInMvtx ( G4VPhysicalVolume volume,
int layer,
int stave 
) const

Definition at line 103 of file PHG4EICMvtxDetector.cc.

View newest version in sPHENIX GitHub at line 103 of file PHG4EICMvtxDetector.cc

References G4String::first(), G4VPhysicalVolume::GetName(), m_StavePV, and PHG4Detector::Verbosity().

Referenced by PHG4EICMvtxSteppingAction::UserSteppingAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4EICMvtxDetector::IsSensor ( G4VPhysicalVolume volume) const

Definition at line 85 of file PHG4EICMvtxDetector.cc.

View newest version in sPHENIX GitHub at line 85 of file PHG4EICMvtxDetector.cc

References G4VPhysicalVolume::GetName(), m_SensorPV, and PHG4Detector::Verbosity().

Referenced by PHG4EICMvtxSteppingAction::UserSteppingAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4EICMvtxDetector::SetDisplayProperty ( G4AssemblyVolume av)
private

Definition at line 311 of file PHG4EICMvtxDetector.cc.

View newest version in sPHENIX GitHub at line 311 of file PHG4EICMvtxDetector.cc

References G4VPhysicalVolume::GetLogicalVolume(), G4AssemblyVolume::GetVolumesIterator(), it, and G4AssemblyVolume::TotalImprintedVolumes().

Referenced by ConstructMvtx(), and SetDisplayProperty().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4EICMvtxDetector::SetDisplayProperty ( G4LogicalVolume lv)
private

Definition at line 329 of file PHG4EICMvtxDetector.cc.

View newest version in sPHENIX GitHub at line 329 of file PHG4EICMvtxDetector.cc

References PHG4MvtxDisplayAction::AddVolume(), G4LogicalVolume::GetDaughter(), G4VPhysicalVolume::GetLogicalVolume(), G4LogicalVolume::GetMaterial(), G4Material::GetName(), G4LogicalVolume::GetName(), G4LogicalVolume::GetNoDaughters(), m_DisplayAction, SetDisplayProperty(), and PHG4Detector::Verbosity().

+ Here is the call graph for this function:

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

Definition at line 44 of file PHG4EICMvtxDetector.h.

View newest version in sPHENIX GitHub at line 44 of file PHG4EICMvtxDetector.h

References m_SuperDetector.

Referenced by PHG4EICMvtxSubsystem::InitRunSubsystem(), and PHG4EICMvtxSteppingAction::SetInterfacePointers().

+ Here is the caller graph for this function:

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

Definition at line 45 of file PHG4EICMvtxDetector.h.

View newest version in sPHENIX GitHub at line 45 of file PHG4EICMvtxDetector.h

References m_SuperDetector.

Member Data Documentation

std::string PHG4EICMvtxDetector::m_Detector
private

Definition at line 80 of file PHG4EICMvtxDetector.h.

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

Referenced by AddGeometryNode(), and Detector().

PHG4MvtxDisplayAction* PHG4EICMvtxDetector::m_DisplayAction
private

Definition at line 64 of file PHG4EICMvtxDetector.h.

View newest version in sPHENIX GitHub at line 64 of file PHG4EICMvtxDetector.h

Referenced by SetDisplayProperty().

std::array<int, n_Layers> PHG4EICMvtxDetector::m_IsBlackHole
private

Definition at line 74 of file PHG4EICMvtxDetector.h.

View newest version in sPHENIX GitHub at line 74 of file PHG4EICMvtxDetector.h

Referenced by IsBlackHole(), and PHG4EICMvtxDetector().

std::array<int, n_Layers> PHG4EICMvtxDetector::m_IsLayerAbsorberActive
private

Definition at line 73 of file PHG4EICMvtxDetector.h.

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

Referenced by IsAbsorberActive(), and PHG4EICMvtxDetector().

std::array<int, n_Layers> PHG4EICMvtxDetector::m_IsLayerActive
private

Definition at line 72 of file PHG4EICMvtxDetector.h.

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

Referenced by AddGeometryNode(), ConstructMvtx(), IsActive(), and PHG4EICMvtxDetector().

std::array<int, n_Layers> PHG4EICMvtxDetector::m_N_staves
private

Definition at line 75 of file PHG4EICMvtxDetector.h.

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

Referenced by AddGeometryNode(), ConstructMvtx_Layer(), get_layer(), get_phistep(), get_stave(), and PHG4EICMvtxDetector().

std::array<double, n_Layers> PHG4EICMvtxDetector::m_nominal_phi0
private

Definition at line 78 of file PHG4EICMvtxDetector.h.

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

Referenced by AddGeometryNode(), ConstructMvtx_Layer(), and PHG4EICMvtxDetector().

std::array<double, n_Layers> PHG4EICMvtxDetector::m_nominal_phitilt
private

Definition at line 77 of file PHG4EICMvtxDetector.h.

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

Referenced by AddGeometryNode(), ConstructMvtx_Layer(), and PHG4EICMvtxDetector().

std::array<double, n_Layers> PHG4EICMvtxDetector::m_nominal_radius
private

Definition at line 76 of file PHG4EICMvtxDetector.h.

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

Referenced by AddGeometryNode(), ConstructMvtx_Layer(), and PHG4EICMvtxDetector().

const PHParametersContainer* PHG4EICMvtxDetector::m_ParamsContainer
private

Definition at line 65 of file PHG4EICMvtxDetector.h.

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

Referenced by PHG4EICMvtxDetector().

std::set<G4VPhysicalVolume*> PHG4EICMvtxDetector::m_SensorPV
private

Definition at line 68 of file PHG4EICMvtxDetector.h.

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

Referenced by FindSensor(), and IsSensor().

std::string PHG4EICMvtxDetector::m_StaveGeometryFile
private

Definition at line 82 of file PHG4EICMvtxDetector.h.

View newest version in sPHENIX GitHub at line 82 of file PHG4EICMvtxDetector.h

Referenced by ConstructMvtx().

std::map<G4VPhysicalVolume*, std::tuple<int, int> > PHG4EICMvtxDetector::m_StavePV
private

Definition at line 69 of file PHG4EICMvtxDetector.h.

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

Referenced by FillPVArray(), and IsInMvtx().

std::string PHG4EICMvtxDetector::m_SuperDetector
private

Definition at line 81 of file PHG4EICMvtxDetector.h.

View newest version in sPHENIX GitHub at line 81 of file PHG4EICMvtxDetector.h

Referenced by AddGeometryNode(), and SuperDetector().

constexpr int PHG4EICMvtxDetector::n_Layers = 3
staticprivate

Definition at line 63 of file PHG4EICMvtxDetector.h.

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

Referenced by AddGeometryNode(), ConstructMvtx(), and PHG4EICMvtxDetector().


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