ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <coresoftware/blob/master/simulation/g4simulation/g4mvtx/PHG4EICMvtxDetector.h>
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 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 PHCompositeNode * | topNode () |
virtual PHG4Subsystem * | GetMySubsystem () |
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 | |
PHG4MvtxDisplayAction * | m_DisplayAction |
const PHParametersContainer * | m_ParamsContainer |
std::set< G4VPhysicalVolume * > | m_SensorPV |
std::map< G4VPhysicalVolume *, std::tuple< int, int > > | m_StavePV |
std::array< int, n_Layers > | m_IsLayerActive |
std::array< int, n_Layers > | m_IsLayerAbsorberActive |
std::array< int, n_Layers > | m_IsBlackHole |
std::array< int, n_Layers > | m_N_staves |
std::array< double, n_Layers > | m_nominal_radius |
std::array< double, n_Layers > | m_nominal_phitilt |
std::array< double, n_Layers > | m_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 G4Material * | GetDetectorMaterial (const std::string &name, const bool quit=true) |
static G4Element * | GetDetectorElement (const std::string &name, const bool quit=true) |
Definition at line 23 of file PHG4EICMvtxDetector.h.
View newest version in sPHENIX GitHub at line 23 of file PHG4EICMvtxDetector.h
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().
|
inlineoverride |
destructor
Definition at line 30 of file PHG4EICMvtxDetector.h.
View newest version in sPHENIX GitHub at line 30 of file PHG4EICMvtxDetector.h
|
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().
|
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().
|
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().
|
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().
|
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().
|
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.
|
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().
|
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().
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().
|
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().
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().
Definition at line 42 of file PHG4EICMvtxDetector.h.
View newest version in sPHENIX GitHub at line 42 of file PHG4EICMvtxDetector.h
References m_IsLayerAbsorberActive.
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().
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().
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().
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().
|
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().
|
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().
|
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().
|
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.
|
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().
|
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().
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().
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().
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().
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().