Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4MvtxDetector Class Reference

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

+ Inheritance diagram for PHG4MvtxDetector:
+ Collaboration diagram for PHG4MvtxDetector:

Public Member Functions

 PHG4MvtxDetector (PHG4Subsystem *subsys, PHCompositeNode *Node, const PHParametersContainer *_paramsContainer, const std::string &dnam)
 constructor
 
 ~PHG4MvtxDetector () override
 destructor
 
void ConstructMe (G4LogicalVolume *world) override
 construct
 
int IsActive (int lyr) const
 
int IsSupportActive (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
 
void FillSupportLVArray (G4LogicalVolume *lv)
 
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 PHCompositeNodetopNode ()
 
virtual PHG4SubsystemGetMySubsystem ()
 

Private Member Functions

void AddGeometryNode ()
 
int ConstructMvtx (G4LogicalVolume *sandwich)
 
int ConstructMvtx_Layer (int layer, G4AssemblyVolume *stave, G4LogicalVolume *&trackerenvelope)
 
int ConstructMvtxPassiveVol (G4LogicalVolume *&lv)
 
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 {nullptr}
 
const PHParametersContainerm_ParamsContainer {nullptr}
 
int m_SupportActiveFlag {0}
 
std::string m_Detector
 
std::string m_SuperDetector
 
std::string m_StaveGeometryFile
 
std::set< G4VPhysicalVolume * > m_SensorPV
 
std::map< G4VPhysicalVolume
*, std::tuple< int, int > > 
m_StavePV
 
std::set< G4LogicalVolume * > m_SupportLV
 
std::array< int, n_Layersm_IsLayerActive {}
 
std::array< int, n_Layersm_IsLayerSupportActive {}
 
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 {}
 

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)
 

Detailed Description

Definition at line 23 of file PHG4MvtxDetector.h.

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

Constructor & Destructor Documentation

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

constructor

Definition at line 65 of file PHG4MvtxDetector.cc.

View newest version in sPHENIX GitHub at line 65 of file PHG4MvtxDetector.cc

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

+ Here is the call graph for this function:

PHG4MvtxDetector::~PHG4MvtxDetector ( )
inlineoverride

destructor

Definition at line 30 of file PHG4MvtxDetector.h.

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

Member Function Documentation

void PHG4MvtxDetector::AddGeometryNode ( )
private

Definition at line 430 of file PHG4MvtxDetector.cc.

View newest version in sPHENIX GitHub at line 430 of file PHG4MvtxDetector.cc

References Acts::active, PHG4CylinderGeomContainer::AddLayerGeom(), PHCompositeNode::addNode(), Acts::UnitConstants::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, 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:

void PHG4MvtxDetector::ConstructMe ( G4LogicalVolume *  world)
overridevirtual

construct

Implements PHG4Detector.

Definition at line 169 of file PHG4MvtxDetector.cc.

View newest version in sPHENIX GitHub at line 169 of file PHG4MvtxDetector.cc

References AddGeometryNode(), ConstructMvtx(), ConstructMvtxPassiveVol(), Ra, PHG4Detector::Verbosity(), mvtxGeomDef::wrap_CYSSFlgN_Z, mvtxGeomDef::wrap_CYSSHead_Z, mvtxGeomDef::wrap_CYSSNose_Z, mvtxGeomDef::wrap_rmax, mvtxGeomDef::wrap_rmin, mvtxGeomDef::wrap_SBCyl_Z, and mvtxGeomDef::wrap_smallCylR.

+ Here is the call graph for this function:

int PHG4MvtxDetector::ConstructMvtx ( G4LogicalVolume *  sandwich)
private

Definition at line 214 of file PHG4MvtxDetector.cc.

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

References ConstructMvtx_Layer(), FillPVArray(), m_IsLayerActive, m_StaveGeometryFile, n_Layers, summary::reader, SetDisplayProperty(), and PHG4Detector::Verbosity().

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 258 of file PHG4MvtxDetector.cc.

View newest version in sPHENIX GitHub at line 258 of file PHG4MvtxDetector.cc

References double(), get_phistep(), layer, m_N_staves, m_nominal_phi0, m_nominal_phitilt, m_nominal_radius, PHG4Detector::OverlapCheck(), Ra, and PHG4Detector::Verbosity().

Referenced by ConstructMvtx().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4MvtxDetector::ConstructMvtxPassiveVol ( G4LogicalVolume *&  lv)
private

Definition at line 355 of file PHG4MvtxDetector.cc.

View newest version in sPHENIX GitHub at line 355 of file PHG4MvtxDetector.cc

References PHG4MvtxSupport::ConstructMvtxSupport(), m_DisplayAction, PHG4Detector::OverlapCheck(), and PHG4Detector::Verbosity().

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 46 of file PHG4MvtxDetector.h.

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

References m_Detector, and perf_headwind::name.

Referenced by PHG4MvtxSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

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

Definition at line 47 of file PHG4MvtxDetector.h.

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

References m_Detector.

void PHG4MvtxDetector::FillPVArray ( G4AssemblyVolume *  av)
private

Definition at line 469 of file PHG4MvtxDetector.cc.

View newest version in sPHENIX GitHub at line 469 of file PHG4MvtxDetector.cc

References FindSensor(), get_layer(), get_stave(), i, it, layer, m_StavePV, std::tr1::make_tuple(), and PHG4Detector::Verbosity().

Referenced by ConstructMvtx().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4MvtxDetector::FillSupportLVArray ( G4LogicalVolume *  lv)
inline

Definition at line 52 of file PHG4MvtxDetector.h.

View newest version in sPHENIX GitHub at line 52 of file PHG4MvtxDetector.h

References m_SupportLV.

Referenced by PHG4MvtxSupport::CreateCable(), PHG4MvtxSupport::CreateCYSS(), PHG4MvtxSupport::CreateServiceBarrel(), PHG4MvtxSupport::GetConeVolume(), PHG4MvtxSupport::GetEndWheelSideN(), and PHG4MvtxSupport::GetEndWheelSideS().

+ Here is the caller graph for this function:

void PHG4MvtxDetector::FindSensor ( G4LogicalVolume *  lv)
private

Definition at line 513 of file PHG4MvtxDetector.cc.

View newest version in sPHENIX GitHub at line 513 of file PHG4MvtxDetector.cc

References i, 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 PHG4MvtxDetector::get_layer ( int  stv_index) const

Definition at line 144 of file PHG4MvtxDetector.cc.

View newest version in sPHENIX GitHub at line 144 of file PHG4MvtxDetector.cc

References m_N_staves.

Referenced by FillPVArray().

+ Here is the caller graph for this function:

double PHG4MvtxDetector::get_phistep ( int  lay) const
inlineprivate

Definition at line 65 of file PHG4MvtxDetector.h.

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

References m_N_staves.

Referenced by AddGeometryNode(), and ConstructMvtx_Layer().

+ Here is the caller graph for this function:

int PHG4MvtxDetector::get_stave ( int  stv_index) const

Definition at line 157 of file PHG4MvtxDetector.cc.

View newest version in sPHENIX GitHub at line 157 of file PHG4MvtxDetector.cc

References index, and m_N_staves.

Referenced by FillPVArray().

+ Here is the caller graph for this function:

int PHG4MvtxDetector::IsActive ( int  lyr) const
inline

Definition at line 41 of file PHG4MvtxDetector.h.

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

References m_IsLayerActive.

Referenced by PHG4MvtxSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

int PHG4MvtxDetector::IsBlackHole ( int  lyr) const
inline

Definition at line 43 of file PHG4MvtxDetector.h.

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

References m_IsBlackHole.

Referenced by PHG4MvtxSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

int PHG4MvtxDetector::IsInMvtx ( G4VPhysicalVolume volume,
int &  layer,
int &  stave 
) const

Definition at line 120 of file PHG4MvtxDetector.cc.

View newest version in sPHENIX GitHub at line 120 of file PHG4MvtxDetector.cc

References m_StavePV, and PHG4Detector::Verbosity().

Referenced by PHG4MvtxSteppingAction::UserSteppingAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4MvtxDetector::IsSensor ( G4VPhysicalVolume volume) const

Definition at line 96 of file PHG4MvtxDetector.cc.

View newest version in sPHENIX GitHub at line 96 of file PHG4MvtxDetector.cc

References m_SensorPV, m_SupportActiveFlag, m_SupportLV, and PHG4Detector::Verbosity().

Referenced by PHG4MvtxSteppingAction::UserSteppingAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4MvtxDetector::IsSupportActive ( int  lyr) const
inline

Definition at line 42 of file PHG4MvtxDetector.h.

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

References m_IsLayerSupportActive.

void PHG4MvtxDetector::SetDisplayProperty ( G4AssemblyVolume *  av)
private

Definition at line 372 of file PHG4MvtxDetector.cc.

View newest version in sPHENIX GitHub at line 372 of file PHG4MvtxDetector.cc

References i, and it.

Referenced by ConstructMvtx(), and SetDisplayProperty().

+ Here is the caller graph for this function:

void PHG4MvtxDetector::SetDisplayProperty ( G4LogicalVolume *  lv)
private

Definition at line 390 of file PHG4MvtxDetector.cc.

View newest version in sPHENIX GitHub at line 390 of file PHG4MvtxDetector.cc

References PHG4MvtxDisplayAction::AddVolume(), i, m_DisplayAction, SetDisplayProperty(), and PHG4Detector::Verbosity().

+ Here is the call graph for this function:

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

Definition at line 44 of file PHG4MvtxDetector.h.

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

References m_SuperDetector, and perf_headwind::name.

Referenced by PHG4MvtxSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

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

Definition at line 45 of file PHG4MvtxDetector.h.

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

References m_SuperDetector.

Member Data Documentation

std::string PHG4MvtxDetector::m_Detector
private

Definition at line 73 of file PHG4MvtxDetector.h.

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

Referenced by AddGeometryNode(), and Detector().

PHG4MvtxDisplayAction* PHG4MvtxDetector::m_DisplayAction {nullptr}
private

Definition at line 67 of file PHG4MvtxDetector.h.

View newest version in sPHENIX GitHub at line 67 of file PHG4MvtxDetector.h

Referenced by ConstructMvtxPassiveVol(), and SetDisplayProperty().

std::array<int, n_Layers> PHG4MvtxDetector::m_IsBlackHole {}
private

Definition at line 86 of file PHG4MvtxDetector.h.

View newest version in sPHENIX GitHub at line 86 of file PHG4MvtxDetector.h

Referenced by IsBlackHole(), and PHG4MvtxDetector().

std::array<int, n_Layers> PHG4MvtxDetector::m_IsLayerActive {}
private

Definition at line 84 of file PHG4MvtxDetector.h.

View newest version in sPHENIX GitHub at line 84 of file PHG4MvtxDetector.h

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

std::array<int, n_Layers> PHG4MvtxDetector::m_IsLayerSupportActive {}
private

Definition at line 85 of file PHG4MvtxDetector.h.

View newest version in sPHENIX GitHub at line 85 of file PHG4MvtxDetector.h

Referenced by IsSupportActive(), and PHG4MvtxDetector().

std::array<int, n_Layers> PHG4MvtxDetector::m_N_staves {}
private

Definition at line 87 of file PHG4MvtxDetector.h.

View newest version in sPHENIX GitHub at line 87 of file PHG4MvtxDetector.h

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

std::array<double, n_Layers> PHG4MvtxDetector::m_nominal_phi0 {}
private

Definition at line 90 of file PHG4MvtxDetector.h.

View newest version in sPHENIX GitHub at line 90 of file PHG4MvtxDetector.h

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

std::array<double, n_Layers> PHG4MvtxDetector::m_nominal_phitilt {}
private

Definition at line 89 of file PHG4MvtxDetector.h.

View newest version in sPHENIX GitHub at line 89 of file PHG4MvtxDetector.h

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

std::array<double, n_Layers> PHG4MvtxDetector::m_nominal_radius {}
private

Definition at line 88 of file PHG4MvtxDetector.h.

View newest version in sPHENIX GitHub at line 88 of file PHG4MvtxDetector.h

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

const PHParametersContainer* PHG4MvtxDetector::m_ParamsContainer {nullptr}
private

Definition at line 68 of file PHG4MvtxDetector.h.

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

Referenced by PHG4MvtxDetector().

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

Definition at line 78 of file PHG4MvtxDetector.h.

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

Referenced by FindSensor(), and IsSensor().

std::string PHG4MvtxDetector::m_StaveGeometryFile
private

Definition at line 75 of file PHG4MvtxDetector.h.

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

Referenced by ConstructMvtx().

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

Definition at line 79 of file PHG4MvtxDetector.h.

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

Referenced by FillPVArray(), and IsInMvtx().

std::string PHG4MvtxDetector::m_SuperDetector
private

Definition at line 74 of file PHG4MvtxDetector.h.

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

Referenced by AddGeometryNode(), and SuperDetector().

int PHG4MvtxDetector::m_SupportActiveFlag {0}
private

Definition at line 71 of file PHG4MvtxDetector.h.

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

Referenced by IsSensor(), and PHG4MvtxDetector().

std::set<G4LogicalVolume*> PHG4MvtxDetector::m_SupportLV
private

Definition at line 81 of file PHG4MvtxDetector.h.

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

Referenced by FillSupportLVArray(), and IsSensor().

constexpr int PHG4MvtxDetector::n_Layers {3}
staticprivate

Definition at line 70 of file PHG4MvtxDetector.h.

View newest version in sPHENIX GitHub at line 70 of file PHG4MvtxDetector.h

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


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