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

#include <coresoftware/blob/master/simulation/g4simulation/g4ihcal/PHG4IHCalDetector.h>

+ Inheritance diagram for PHG4IHCalDetector:
+ Collaboration diagram for PHG4IHCalDetector:

Public Member Functions

 PHG4IHCalDetector (PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam)
 constructor
 
 ~PHG4IHCalDetector () 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
 
G4AssemblyVolume * ConstructHcalScintillatorAssembly (G4LogicalVolume *hcalenvelope)
 
void ConstructHcalSingleScintillators (G4LogicalVolume *hcalenvelope)
 
int ConsistencyCheck () const
 
std::tuple< int, int, int > GetLayerTowerId (G4VPhysicalVolume *volume) const
 
int GetSectorId (G4VPhysicalVolume *volume) const
 
volume accessors
int IsInIHCal (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 map_towerid (const int tower_id)
 
int map_layerid (const int layer_id)
 
int ConstructIHCal (G4LogicalVolume *sandwich)
 
std::tuple< int, int, int > ExtractLayerTowerId (const unsigned int isector, G4VPhysicalVolume *volume)
 

Private Attributes

PHG4IHCalDisplayActionm_DisplayAction = nullptr
 
PHParametersm_Params = nullptr
 
G4AssemblyVolume * m_ScintiMotherAssembly = 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_Active = 0
 
int m_AbsorberActive = 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
 
std::map< G4VPhysicalVolume
*, int > 
m_AbsorberPhysVolMap
 
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 PHG4IHCalDetector.h.

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

Constructor & Destructor Documentation

PHG4IHCalDetector::PHG4IHCalDetector ( PHG4Subsystem subsys,
PHCompositeNode Node,
PHParameters parameters,
const std::string &  dnam 
)

constructor

Definition at line 68 of file PHG4IHCalDetector.cc.

View newest version in sPHENIX GitHub at line 68 of file PHG4IHCalDetector.cc

References assert, gdml_config, and PHG4GDMLUtility::GetOrMakeConfigNode().

+ Here is the call graph for this function:

PHG4IHCalDetector::~PHG4IHCalDetector ( )
override

destructor

Definition at line 84 of file PHG4IHCalDetector.cc.

View newest version in sPHENIX GitHub at line 84 of file PHG4IHCalDetector.cc

References m_ScintiMotherAssembly.

Member Function Documentation

void PHG4IHCalDetector::AddGeometryNode ( )
private

Definition at line 444 of file PHG4IHCalDetector.cc.

View newest version in sPHENIX GitHub at line 444 of file PHG4IHCalDetector.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 PHG4IHCalDetector::ConsistencyCheck ( ) const

Definition at line 190 of file PHG4IHCalDetector.cc.

View newest version in sPHENIX GitHub at line 190 of file PHG4IHCalDetector.cc

References Acts::UnitConstants::cm, m_InnerRadius, m_OuterRadius, and PHWHERE.

G4AssemblyVolume* PHG4IHCalDetector::ConstructHcalScintillatorAssembly ( G4LogicalVolume *  hcalenvelope)
void PHG4IHCalDetector::ConstructHcalSingleScintillators ( G4LogicalVolume *  hcalenvelope)
int PHG4IHCalDetector::ConstructIHCal ( G4LogicalVolume *  sandwich)
private

Definition at line 150 of file PHG4IHCalDetector.cc.

View newest version in sPHENIX GitHub at line 150 of file PHG4IHCalDetector.cc

References PHG4IHCalDisplayAction::AddScintiVolume(), PHG4IHCalDisplayAction::AddSteelVolume(), ExtractLayerTowerId(), it, j, m_AbsorberPhysVolMap, m_DisplayAction, m_GDMPath, 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:

void PHG4IHCalDetector::ConstructMe ( G4LogicalVolume *  world)
overridevirtual
std::tuple< int, int, int > PHG4IHCalDetector::ExtractLayerTowerId ( const unsigned int  isector,
G4VPhysicalVolume volume 
)
private

Definition at line 246 of file PHG4IHCalDetector.cc.

View newest version in sPHENIX GitHub at line 246 of file PHG4IHCalDetector.cc

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

Referenced by ConstructIHCal().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4IHCalDetector::get_Layer ( ) const
inline

Definition at line 46 of file PHG4IHCalDetector.h.

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

References m_Layer.

std::tuple< int, int, int > PHG4IHCalDetector::GetLayerTowerId ( G4VPhysicalVolume volume) const

Definition at line 216 of file PHG4IHCalDetector.cc.

View newest version in sPHENIX GitHub at line 216 of file PHG4IHCalDetector.cc

References it, and m_ScintiTilePhysVolMap.

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

+ Here is the caller graph for this function:

int PHG4IHCalDetector::GetSectorId ( G4VPhysicalVolume volume) const

Definition at line 231 of file PHG4IHCalDetector.cc.

View newest version in sPHENIX GitHub at line 231 of file PHG4IHCalDetector.cc

References it, and m_AbsorberPhysVolMap.

Referenced by PHG4IHCalSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

int PHG4IHCalDetector::IsInIHCal ( G4VPhysicalVolume volume) const

Definition at line 91 of file PHG4IHCalDetector.cc.

View newest version in sPHENIX GitHub at line 91 of file PHG4IHCalDetector.cc

References m_AbsorberActive, m_Active, m_ScintiTileLogVolSet, and m_SteelAbsorberLogVolSet.

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

+ Here is the caller graph for this function:

int PHG4IHCalDetector::map_layerid ( const int  layer_id)
private

Definition at line 415 of file PHG4IHCalDetector.cc.

View newest version in sPHENIX GitHub at line 415 of file PHG4IHCalDetector.cc

References PHWHERE.

Referenced by ExtractLayerTowerId().

+ Here is the caller graph for this function:

int PHG4IHCalDetector::map_towerid ( const int  tower_id)
private

Definition at line 294 of file PHG4IHCalDetector.cc.

View newest version in sPHENIX GitHub at line 294 of file PHG4IHCalDetector.cc

Referenced by ExtractLayerTowerId().

+ Here is the caller graph for this function:

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

Reimplemented from PHG4Detector.

Definition at line 203 of file PHG4IHCalDetector.cc.

View newest version in sPHENIX GitHub at line 203 of file PHG4IHCalDetector.cc

References Acts::UnitConstants::cm3, m_VolumeEnvelope, m_VolumeScintillator, and m_VolumeSteel.

Referenced by PHG4IHCalSubsystem::Print().

+ Here is the caller graph for this function:

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

Definition at line 44 of file PHG4IHCalDetector.h.

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

References m_SuperDetector, and perf_headwind::name.

Referenced by PHG4IHCalSteppingAction::CreateNodeTree(), and PHG4IHCalSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

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

Definition at line 45 of file PHG4IHCalDetector.h.

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

References m_SuperDetector.

Member Data Documentation

PHG4GDMLConfig* PHG4IHCalDetector::gdml_config = nullptr
private

registry for volumes that should not be exported

Definition at line 83 of file PHG4IHCalDetector.h.

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

Referenced by ConstructMe(), and PHG4IHCalDetector().

int PHG4IHCalDetector::m_AbsorberActive = 0
private

Definition at line 72 of file PHG4IHCalDetector.h.

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

Referenced by IsInIHCal().

std::map<G4VPhysicalVolume *, int> PHG4IHCalDetector::m_AbsorberPhysVolMap
private

Definition at line 80 of file PHG4IHCalDetector.h.

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

Referenced by ConstructIHCal(), and GetSectorId().

int PHG4IHCalDetector::m_Active = 0
private

Definition at line 71 of file PHG4IHCalDetector.h.

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

Referenced by IsInIHCal().

PHG4IHCalDisplayAction* PHG4IHCalDetector::m_DisplayAction = nullptr
private

Definition at line 59 of file PHG4IHCalDetector.h.

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

Referenced by ConstructIHCal(), and ConstructMe().

std::string PHG4IHCalDetector::m_GDMPath
private

Definition at line 85 of file PHG4IHCalDetector.h.

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

Referenced by ConstructIHCal().

double PHG4IHCalDetector::m_InnerRadius = NAN
private

Definition at line 62 of file PHG4IHCalDetector.h.

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

Referenced by ConsistencyCheck(), and ConstructMe().

int PHG4IHCalDetector::m_Layer = 0
private

Definition at line 74 of file PHG4IHCalDetector.h.

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

Referenced by get_Layer().

int PHG4IHCalDetector::m_NumScintiPlates = -9999
private

Definition at line 69 of file PHG4IHCalDetector.h.

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

Referenced by ExtractLayerTowerId().

double PHG4IHCalDetector::m_OuterRadius = NAN
private

Definition at line 63 of file PHG4IHCalDetector.h.

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

Referenced by ConsistencyCheck(), and ConstructMe().

PHParameters* PHG4IHCalDetector::m_Params = nullptr
private

Definition at line 60 of file PHG4IHCalDetector.h.

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

Referenced by AddGeometryNode(), and ConstructMe().

RawTowerGeomContainer* PHG4IHCalDetector::m_RawTowerGeom = nullptr
private

Definition at line 86 of file PHG4IHCalDetector.h.

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

Referenced by AddGeometryNode().

G4AssemblyVolume* PHG4IHCalDetector::m_ScintiMotherAssembly = nullptr
private

Definition at line 61 of file PHG4IHCalDetector.h.

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

Referenced by ConstructIHCal(), and ~PHG4IHCalDetector().

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

Definition at line 78 of file PHG4IHCalDetector.h.

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

Referenced by ConstructIHCal(), and IsInIHCal().

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

Definition at line 79 of file PHG4IHCalDetector.h.

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

Referenced by ConstructIHCal(), and GetLayerTowerId().

double PHG4IHCalDetector::m_SizeZ = NAN
private

Definition at line 64 of file PHG4IHCalDetector.h.

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

Referenced by ConstructMe().

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

Definition at line 77 of file PHG4IHCalDetector.h.

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

Referenced by ConstructIHCal(), and IsInIHCal().

std::string PHG4IHCalDetector::m_SuperDetector
private

Definition at line 76 of file PHG4IHCalDetector.h.

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

Referenced by AddGeometryNode(), and SuperDetector().

std::string PHG4IHCalDetector::m_TowerGeomNodeName
private

Definition at line 87 of file PHG4IHCalDetector.h.

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

Referenced by AddGeometryNode().

double PHG4IHCalDetector::m_VolumeEnvelope = NAN
private

Definition at line 65 of file PHG4IHCalDetector.h.

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

Referenced by ConstructMe(), and Print().

double PHG4IHCalDetector::m_VolumeScintillator = 0
private

Definition at line 67 of file PHG4IHCalDetector.h.

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

Referenced by ConstructIHCal(), and Print().

double PHG4IHCalDetector::m_VolumeSteel = 0.
private

Definition at line 66 of file PHG4IHCalDetector.h.

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

Referenced by ConstructIHCal(), and Print().


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