Analysis Software
Documentation for sPHENIX simulation software
|
#include <coresoftware/blob/master/simulation/g4simulation/g4ihcal/PHG4IHCalDetector.h>
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 PHCompositeNode * | topNode () |
virtual PHG4Subsystem * | GetMySubsystem () |
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 | |
PHG4IHCalDisplayAction * | m_DisplayAction = nullptr |
PHParameters * | m_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 |
PHG4GDMLConfig * | gdml_config = nullptr |
registry for volumes that should not be exported | |
std::string | m_GDMPath |
RawTowerGeomContainer * | m_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) |
Definition at line 25 of file PHG4IHCalDetector.h.
View newest version in sPHENIX GitHub at line 25 of file PHG4IHCalDetector.h
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().
|
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.
|
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().
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 | ) |
|
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().
|
overridevirtual |
construct
Implements PHG4Detector.
Definition at line 112 of file PHG4IHCalDetector.cc.
View newest version in sPHENIX GitHub at line 112 of file PHG4IHCalDetector.cc
References AddGeometryNode(), assert, Acts::UnitConstants::cm, ConstructIHCal(), deg, PHG4GDMLConfig::exclude_logical_vol(), PHG4GDMLConfig::exclude_physical_vol(), gdml_config, PHParameters::get_double_param(), PHParameters::get_int_param(), PHFlag::get_StringFlag(), PHG4Detector::GetDetectorMaterial(), i, recoConsts::instance(), m_DisplayAction, m_InnerRadius, m_OuterRadius, m_Params, m_SizeZ, m_VolumeEnvelope, PHG4Detector::OverlapCheck(), and PHG4IHCalDisplayAction::SetMyTopVolume().
|
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().
|
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().
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().
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().
|
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().
|
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().
|
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().
|
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().
|
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.
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().