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

#include <coresoftware/blob/master/simulation/g4simulation/g4ohcal/PHG4OHCalDetector.h>

+ Inheritance diagram for PHG4OHCalDetector:
+ Collaboration diagram for PHG4OHCalDetector:

Public Member Functions

 PHG4OHCalDetector (PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *params, const std::string &dnam)
 constructor
 
 ~PHG4OHCalDetector () override
 destructor
 
void ConstructMe (G4LogicalVolume *world) override
 construct
 
void Print (const std::string &what="ALL") const override
 
void SuperDetector (const std::string &name)
 
const std::string SuperDetector () const
 
int get_Layer () const
 
int ConsistencyCheck () const
 
std::tuple< int, int, int > GetRowColumnId (G4VPhysicalVolume *volume) const
 
volume accessors
int IsInOHCal (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 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 ConstructOHCal (G4LogicalVolume *hcalenvelope)
 
int map_towerid (const int tower_id)
 
int map_layerid (const unsigned int isector, const int layer_id)
 
std::tuple< int, int, int > ExtractLayerTowerId (const unsigned int isector, G4VPhysicalVolume *volume)
 

Private Attributes

PHG4OHCalDisplayActionm_DisplayAction = nullptr
 
PHG4OHCalFieldSetupm_FieldSetup = nullptr
 
PHParametersm_Params = nullptr
 
G4AssemblyVolume * m_ScintiMotherAssembly = nullptr
 
G4AssemblyVolume * m_ChimScintiMotherAssembly = nullptr
 
double m_InnerRadius = NAN
 
double m_OuterRadius = NAN
 
double m_SizeZ = NAN
 
double m_VolumeEnvelope = NAN
 
double m_VolumeSteel = 0
 
double m_VolumeScintillator = 0
 
int m_NumScintiPlates = -9999
 
int m_ActiveFlag = 0
 
int m_AbsorberActiveFlag = 0
 
int m_Layer = 0
 
std::string m_SuperDetector
 
std::set< G4LogicalVolume * > m_SteelAbsorberLogVolSet
 
std::set< G4LogicalVolume * > m_ScintiTileLogVolSet
 
std::map< G4VPhysicalVolume
*, std::tuple< int, int, int > > 
m_ScintiTilePhysVolMap
 
PHG4GDMLConfiggdml_config = nullptr
 registry for volumes that should not be exported
 
std::string m_GDMPath
 
RawTowerGeomContainerm_RawTowerGeom = nullptr
 
std::string m_TowerGeomNodeName
 

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 25 of file PHG4OHCalDetector.h.

View newest version in sPHENIX GitHub at line 25 of file PHG4OHCalDetector.h

Constructor & Destructor Documentation

PHG4OHCalDetector::PHG4OHCalDetector ( PHG4Subsystem subsys,
PHCompositeNode Node,
PHParameters params,
const std::string &  dnam 
)

constructor

Definition at line 71 of file PHG4OHCalDetector.cc.

View newest version in sPHENIX GitHub at line 71 of file PHG4OHCalDetector.cc

References assert, Acts::UnitConstants::cm, gdml_config, PHParameters::get_double_param(), PHFieldConfig::get_field_config(), PHParameters::get_string_param(), PHFieldUtility::GetDSTConfigNodeName(), PHG4GDMLUtility::GetOrMakeConfigNode(), PHFieldConfig::kFieldUniform, m_FieldSetup, m_InnerRadius, m_OuterRadius, m_Params, and m_SizeZ.

+ Here is the call graph for this function:

PHG4OHCalDetector::~PHG4OHCalDetector ( )
override

destructor

Definition at line 98 of file PHG4OHCalDetector.cc.

View newest version in sPHENIX GitHub at line 98 of file PHG4OHCalDetector.cc

References m_ChimScintiMotherAssembly, m_FieldSetup, and m_ScintiMotherAssembly.

Member Function Documentation

void PHG4OHCalDetector::AddGeometryNode ( )
private

Definition at line 498 of file PHG4OHCalDetector.cc.

View newest version in sPHENIX GitHub at line 498 of file PHG4OHCalDetector.cc

References RawTowerGeomContainer::add_tower_geometry(), PHCompositeNode::addNode(), RawTowerDefs::convert_name_to_caloid(), Acts::UnitConstants::e, RawTowerDefs::encode_towerid(), PHNodeIterator::findFirst(), RawTowerGeom::get_center_x(), PHParameters::get_double_param(), RawTowerGeomContainer::get_etabins(), RawTowerGeomContainer::get_etacenter(), PHParameters::get_int_param(), RawTowerGeomContainer::get_phibins(), RawTowerGeomContainer::get_phicenter(), PHG4Utils::get_theta(), RawTowerGeomContainer::get_tower_geometry(), i, RawTowerGeomContainer::identify(), PHG4HcalDefs::innerrad, m_Params, m_RawTowerGeom, m_SuperDetector, m_TowerGeomNodeName, PHG4HcalDefs::n_towers, PHG4HcalDefs::outerrad, PHCompositeNode::PHCompositeNode(), G4HCALIN::phistart, PHWHERE, RawTowerGeomContainer::set_etabins(), RawTowerGeomContainer::set_etabounds(), RawTowerGeomContainer::set_phibins(), RawTowerGeomContainer::set_phibounds(), RawTowerGeomContainer::set_radius(), RawTowerGeomContainer::set_thickness(), tg, thickness, PHG4Detector::topNode(), PHG4Detector::Verbosity(), ambiguity_solver_full_chain::x, y, and physmon_track_finding_ttbar::z.

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4OHCalDetector::ConsistencyCheck ( ) const
void PHG4OHCalDetector::ConstructMe ( G4LogicalVolume *  world)
overridevirtual
int PHG4OHCalDetector::ConstructOHCal ( G4LogicalVolume *  hcalenvelope)
private

Definition at line 169 of file PHG4OHCalDetector.cc.

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

References PHG4OHCalDisplayAction::AddChimSteelVolume(), PHG4OHCalDisplayAction::AddScintiVolume(), PHG4OHCalDisplayAction::AddSteelVolume(), ExtractLayerTowerId(), PHG4OHCalFieldSetup::get_Field_Manager_Iron(), PHParameters::get_int_param(), j, m_ChimScintiMotherAssembly, m_DisplayAction, m_FieldSetup, m_GDMPath, m_Params, m_ScintiMotherAssembly, m_ScintiTileLogVolSet, m_ScintiTilePhysVolMap, m_SteelAbsorberLogVolSet, m_VolumeScintillator, m_VolumeSteel, PHG4Detector::OverlapCheck(), and summary::reader.

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::tuple< int, int, int > PHG4OHCalDetector::ExtractLayerTowerId ( const unsigned int  isector,
G4VPhysicalVolume volume 
)
private

Definition at line 292 of file PHG4OHCalDetector.cc.

View newest version in sPHENIX GitHub at line 292 of file PHG4OHCalDetector.cc

References m_NumScintiPlates, std::tr1::make_tuple(), map_layerid(), map_towerid(), and PHWHERE.

Referenced by ConstructOHCal().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4OHCalDetector::get_Layer ( ) const
inline

Definition at line 46 of file PHG4OHCalDetector.h.

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

References m_Layer.

std::tuple< int, int, int > PHG4OHCalDetector::GetRowColumnId ( G4VPhysicalVolume volume) const

Definition at line 277 of file PHG4OHCalDetector.cc.

View newest version in sPHENIX GitHub at line 277 of file PHG4OHCalDetector.cc

References it, and m_ScintiTilePhysVolMap.

Referenced by PHG4OHCalSteppingAction::NoHitSteppingAction(), and PHG4OHCalSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

int PHG4OHCalDetector::IsInOHCal ( G4VPhysicalVolume volume) const

Definition at line 107 of file PHG4OHCalDetector.cc.

View newest version in sPHENIX GitHub at line 107 of file PHG4OHCalDetector.cc

References m_AbsorberActiveFlag, m_ActiveFlag, m_ScintiTileLogVolSet, and m_SteelAbsorberLogVolSet.

Referenced by PHG4OHCalSteppingAction::NoHitSteppingAction(), and PHG4OHCalSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

int PHG4OHCalDetector::map_layerid ( const unsigned int  isector,
const int  layer_id 
)
private

Definition at line 462 of file PHG4OHCalDetector.cc.

View newest version in sPHENIX GitHub at line 462 of file PHG4OHCalDetector.cc

Referenced by ExtractLayerTowerId().

+ Here is the caller graph for this function:

int PHG4OHCalDetector::map_towerid ( const int  tower_id)
private

Definition at line 341 of file PHG4OHCalDetector.cc.

View newest version in sPHENIX GitHub at line 341 of file PHG4OHCalDetector.cc

Referenced by ExtractLayerTowerId().

+ Here is the caller graph for this function:

void PHG4OHCalDetector::Print ( const std::string &  what = "ALL") const
overridevirtual

Reimplemented from PHG4Detector.

Definition at line 262 of file PHG4OHCalDetector.cc.

View newest version in sPHENIX GitHub at line 262 of file PHG4OHCalDetector.cc

References Acts::UnitConstants::cm, m_GDMPath, m_VolumeEnvelope, m_VolumeScintillator, and m_VolumeSteel.

Referenced by PHG4OHCalSubsystem::Print().

+ Here is the caller graph for this function:

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

Definition at line 44 of file PHG4OHCalDetector.h.

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

References m_SuperDetector, and perf_headwind::name.

Referenced by PHG4OHCalSteppingAction::CreateNodeTree(), and PHG4OHCalSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

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

Definition at line 45 of file PHG4OHCalDetector.h.

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

References m_SuperDetector.

Member Data Documentation

PHG4GDMLConfig* PHG4OHCalDetector::gdml_config = nullptr
private

registry for volumes that should not be exported

Definition at line 80 of file PHG4OHCalDetector.h.

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

Referenced by ConstructMe(), and PHG4OHCalDetector().

int PHG4OHCalDetector::m_AbsorberActiveFlag = 0
private

Definition at line 71 of file PHG4OHCalDetector.h.

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

Referenced by IsInOHCal().

int PHG4OHCalDetector::m_ActiveFlag = 0
private

Definition at line 70 of file PHG4OHCalDetector.h.

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

Referenced by IsInOHCal().

G4AssemblyVolume* PHG4OHCalDetector::m_ChimScintiMotherAssembly = nullptr
private

Definition at line 60 of file PHG4OHCalDetector.h.

View newest version in sPHENIX GitHub at line 60 of file PHG4OHCalDetector.h

Referenced by ConstructOHCal(), and ~PHG4OHCalDetector().

PHG4OHCalDisplayAction* PHG4OHCalDetector::m_DisplayAction = nullptr
private

Definition at line 56 of file PHG4OHCalDetector.h.

View newest version in sPHENIX GitHub at line 56 of file PHG4OHCalDetector.h

Referenced by ConstructMe(), and ConstructOHCal().

PHG4OHCalFieldSetup* PHG4OHCalDetector::m_FieldSetup = nullptr
private

Definition at line 57 of file PHG4OHCalDetector.h.

View newest version in sPHENIX GitHub at line 57 of file PHG4OHCalDetector.h

Referenced by ConstructOHCal(), PHG4OHCalDetector(), and ~PHG4OHCalDetector().

std::string PHG4OHCalDetector::m_GDMPath
private

Definition at line 82 of file PHG4OHCalDetector.h.

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

Referenced by ConstructOHCal(), and Print().

double PHG4OHCalDetector::m_InnerRadius = NAN
private

Definition at line 61 of file PHG4OHCalDetector.h.

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

Referenced by ConstructMe(), and PHG4OHCalDetector().

int PHG4OHCalDetector::m_Layer = 0
private

Definition at line 73 of file PHG4OHCalDetector.h.

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

Referenced by get_Layer().

int PHG4OHCalDetector::m_NumScintiPlates = -9999
private

Definition at line 68 of file PHG4OHCalDetector.h.

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

Referenced by ExtractLayerTowerId().

double PHG4OHCalDetector::m_OuterRadius = NAN
private

Definition at line 62 of file PHG4OHCalDetector.h.

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

Referenced by ConstructMe(), and PHG4OHCalDetector().

PHParameters* PHG4OHCalDetector::m_Params = nullptr
private

Definition at line 58 of file PHG4OHCalDetector.h.

View newest version in sPHENIX GitHub at line 58 of file PHG4OHCalDetector.h

Referenced by AddGeometryNode(), ConstructMe(), ConstructOHCal(), and PHG4OHCalDetector().

RawTowerGeomContainer* PHG4OHCalDetector::m_RawTowerGeom = nullptr
private

Definition at line 83 of file PHG4OHCalDetector.h.

View newest version in sPHENIX GitHub at line 83 of file PHG4OHCalDetector.h

Referenced by AddGeometryNode().

G4AssemblyVolume* PHG4OHCalDetector::m_ScintiMotherAssembly = nullptr
private

Definition at line 59 of file PHG4OHCalDetector.h.

View newest version in sPHENIX GitHub at line 59 of file PHG4OHCalDetector.h

Referenced by ConstructOHCal(), and ~PHG4OHCalDetector().

std::set<G4LogicalVolume *> PHG4OHCalDetector::m_ScintiTileLogVolSet
private

Definition at line 76 of file PHG4OHCalDetector.h.

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

Referenced by ConstructOHCal(), and IsInOHCal().

std::map<G4VPhysicalVolume *, std::tuple<int, int, int> > PHG4OHCalDetector::m_ScintiTilePhysVolMap
private

Definition at line 77 of file PHG4OHCalDetector.h.

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

Referenced by ConstructOHCal(), and GetRowColumnId().

double PHG4OHCalDetector::m_SizeZ = NAN
private

Definition at line 63 of file PHG4OHCalDetector.h.

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

Referenced by ConstructMe(), and PHG4OHCalDetector().

std::set<G4LogicalVolume *> PHG4OHCalDetector::m_SteelAbsorberLogVolSet
private

Definition at line 75 of file PHG4OHCalDetector.h.

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

Referenced by ConstructOHCal(), and IsInOHCal().

std::string PHG4OHCalDetector::m_SuperDetector
private

Definition at line 74 of file PHG4OHCalDetector.h.

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

Referenced by AddGeometryNode(), and SuperDetector().

std::string PHG4OHCalDetector::m_TowerGeomNodeName
private

Definition at line 84 of file PHG4OHCalDetector.h.

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

Referenced by AddGeometryNode().

double PHG4OHCalDetector::m_VolumeEnvelope = NAN
private

Definition at line 64 of file PHG4OHCalDetector.h.

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

Referenced by ConstructMe(), and Print().

double PHG4OHCalDetector::m_VolumeScintillator = 0
private

Definition at line 66 of file PHG4OHCalDetector.h.

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

Referenced by ConstructOHCal(), and Print().

double PHG4OHCalDetector::m_VolumeSteel = 0
private

Definition at line 65 of file PHG4OHCalDetector.h.

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

Referenced by ConstructOHCal(), and Print().


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