ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <coresoftware/blob/master/simulation/g4simulation/g4detectors/PHG4SpacalDetector.h>
Public Types | |
enum | { FIBER_CORE = 1, FIBER_CLADING = 0, ABSORBER = -1, SUPPORT = -2, INACTIVE = -100 } |
typedef PHG4CylinderGeom_Spacalv1 | SpacalGeom_t |
Public Member Functions | |
PHG4SpacalDetector (PHG4Subsystem *subsys, PHCompositeNode *Node, const std::string &dnam, PHParameters *parameters, const int layer=0, bool init_geom=true) | |
~PHG4SpacalDetector (void) override | |
void | ConstructMe (G4LogicalVolume *world) override |
virtual std::pair < G4LogicalVolume *, G4Transform3D > | Construct_AzimuthalSeg () |
virtual G4LogicalVolume * | Construct_Fiber (const G4double length, const std::string &id) |
void | SetActive (const int i=1) |
void | SetAbsorberActive (const int i=1) |
void | SetDetectorType (const std::string &typ) |
int | IsInCylinderActive (const G4VPhysicalVolume *) |
void | SuperDetector (const std::string &name) |
const std::string | SuperDetector () const |
int | get_Layer () const |
void | Print (const std::string &what="ALL") const override |
const SpacalGeom_t * | get_geom () const |
virtual PHG4CylinderGeom * | clone_geom () const |
PHG4SpacalDisplayAction * | GetDisplayAction () |
void | CosmicSetup (const int i) |
int | CosmicSetup () |
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 () |
Protected Attributes | |
std::map< const G4VPhysicalVolume *, int > | fiber_core_vol |
std::map< const G4VPhysicalVolume *, int > | fiber_vol |
map for G4VPhysicalVolume -> fiber ID | |
std::map< const G4VPhysicalVolume *, int > | calo_vol |
map for G4VPhysicalVolume -> Sector ID | |
std::map< const G4VPhysicalVolume *, int > | block_vol |
map for G4VPhysicalVolume -> towers ID | |
int | active = 0 |
int | absorberactive = 0 |
int | layer = -9999 |
int | m_CosmicSetupFlag = 0 |
std::string | detector_type |
std::string | superdetector |
G4UserLimits * | fiber_core_step_limits = nullptr |
PHG4GDMLConfig * | gdml_config = nullptr |
registry for volumes that should not be exported, i.e. fibers | |
SpacalGeom_t * | _geom = nullptr |
Private Attributes | |
PHG4SpacalDisplayAction * | m_DisplayAction = nullptr |
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 36 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 36 of file PHG4SpacalDetector.h
Definition at line 39 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 39 of file PHG4SpacalDetector.h
anonymous enum |
Definition at line 106 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 106 of file PHG4SpacalDetector.h
PHG4SpacalDetector::PHG4SpacalDetector | ( | PHG4Subsystem * | subsys, |
PHCompositeNode * | Node, | ||
const std::string & | dnam, | ||
PHParameters * | parameters, | ||
const int | layer = 0 , |
||
bool | init_geom = true |
||
) |
Definition at line 51 of file PHG4SpacalDetector.cc.
View newest version in sPHENIX GitHub at line 51 of file PHG4SpacalDetector.cc
References _geom, g4zmq::exit(), gdml_config, PHG4GDMLUtility::GetOrMakeConfigNode(), and PHG4CylinderGeom_Spacalv1::ImportParameters().
|
override |
Definition at line 80 of file PHG4SpacalDetector.cc.
View newest version in sPHENIX GitHub at line 80 of file PHG4SpacalDetector.cc
References _geom, and fiber_core_step_limits.
|
inlinevirtual |
Reimplemented in PHG4FullProjTiltedSpacalDetector, and PHG4FullProjSpacalDetector.
Definition at line 101 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 101 of file PHG4SpacalDetector.h
References _geom.
Referenced by ConstructMe().
|
virtual |
Reimplemented in PHG4FullProjSpacalDetector, and PHG4FullProjTiltedSpacalDetector.
Definition at line 273 of file PHG4SpacalDetector.cc.
View newest version in sPHENIX GitHub at line 273 of file PHG4SpacalDetector.cc
References _geom, PHG4SpacalDisplayAction::AddVolume(), cm, Construct_Fiber(), PHG4GDMLConfig::exclude_physical_vol(), fiber_vol, gdml_config, PHG4CylinderGeom_Spacalv1::get_absorber_mat(), PHG4CylinderGeom_Spacalv1::get_azimuthal_distance(), PHG4CylinderGeom_Spacalv1::get_azimuthal_n_sec(), PHG4CylinderGeom_Spacalv1::get_fiber_distance(), PHG4CylinderGeom_Spacalv1::get_fiber_outer_r(), PHG4CylinderGeom_Spacalv1::get_half_radius(), PHG4CylinderGeom_Spacalv1::get_length(), PHG4CylinderGeom_Spacalv1::get_max_radius(), PHG4CylinderGeomv1::get_radius(), PHG4CylinderGeomv1::get_thickness(), PHG4CylinderGeom_Spacalv1::get_z_distance(), PHG4CylinderGeom::get_zmax(), PHG4CylinderGeomv1::get_zmin(), PHG4CylinderGeom_Spacalv1::get_zpos(), PHG4Detector::GetDetectorMaterial(), GetDisplayAction(), PHG4Detector::GetName(), halfpi, HepGeom::Transform3D::Identity, PHG4CylinderGeom_Spacalv1::is_virualize_fiber(), PHG4Detector::OverlapCheck(), PHG4CylinderGeomv2::set_nscint(), twopi, PHG4Detector::Verbosity(), and z.
Referenced by ConstructMe().
|
virtual |
Definition at line 341 of file PHG4SpacalDetector.cc.
View newest version in sPHENIX GitHub at line 341 of file PHG4SpacalDetector.cc
References _geom, PHG4SpacalDisplayAction::AddVolume(), cm, fiber_core_step_limits, fiber_core_vol, PHG4CylinderGeom_Spacalv1::get_fiber_clading_mat(), PHG4CylinderGeom_Spacalv1::get_fiber_core_diameter(), PHG4CylinderGeom_Spacalv1::get_fiber_core_mat(), PHG4CylinderGeom_Spacalv1::get_fiber_outer_r(), PHG4Detector::GetDetectorMaterial(), GetDisplayAction(), PHG4Detector::GetName(), PHG4Detector::OverlapCheck(), twopi, and PHG4Detector::Verbosity().
Referenced by Construct_AzimuthalSeg(), PHG4FullProjSpacalDetector::Construct_Fibers(), PHG4FullProjTiltedSpacalDetector::Construct_Fibers(), PHG4FullProjSpacalDetector::Construct_Fibers_SameLengthFiberPerTower(), and PHG4FullProjTiltedSpacalDetector::Construct_Fibers_SameLengthFiberPerTower().
|
overridevirtual |
Implements PHG4Detector.
Definition at line 118 of file PHG4SpacalDetector.cc.
View newest version in sPHENIX GitHub at line 118 of file PHG4SpacalDetector.cc
References _geom, absorberactive, active, PHG4CylinderGeomContainer::AddLayerGeom(), PHCompositeNode::addNode(), PHG4SpacalDisplayAction::AddVolume(), calo_vol, clone_geom(), cm, Construct_AzimuthalSeg(), detector_type, PHG4GDMLConfig::exclude_physical_vol(), fiber_core_step_limits, PHNodeIterator::findFirst(), gdml_config, PHG4CylinderGeom_Spacalv1::get_construction_verbose(), PHG4CylinderGeom_Spacalv1::get_fiber_core_step_size(), PHG4CylinderGeom_Spacalv1::get_length(), PHG4CylinderGeom_Spacalv1::get_max_radius(), PHG4CylinderGeomv2::get_nscint(), PHG4CylinderGeomv1::get_radius(), PHG4CylinderGeom_Spacalv1::get_sector_map(), PHG4CylinderGeom_Spacalv1::get_xpos(), PHG4CylinderGeom_Spacalv1::get_ypos(), PHG4CylinderGeomv1::get_zmax(), PHG4CylinderGeomv1::get_zmin(), PHG4CylinderGeom_Spacalv1::get_zpos(), PHG4Detector::GetDetectorMaterial(), GetDisplayAction(), PHG4Detector::GetName(), PHG4CylinderGeom_Spacalv1::init_default_sector_map(), recoConsts::instance(), layer, m_CosmicSetupFlag, PHG4Detector::OverlapCheck(), PHG4CylinderGeom_Spacalv1::Print(), Print(), PHG4CylinderGeomv2::set_nscint(), superdetector, PHG4Detector::topNode(), twopi, and PHG4Detector::Verbosity().
Referenced by PHG4FullProjTiltedSpacalDetector::ConstructMe(), and PHG4FullProjSpacalDetector::ConstructMe().
Definition at line 117 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 117 of file PHG4SpacalDetector.h
References m_CosmicSetupFlag.
Referenced by PHG4SpacalSubsystem::InitRunSubsystem().
|
inline |
Definition at line 118 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 118 of file PHG4SpacalDetector.h
References m_CosmicSetupFlag.
|
inline |
Definition at line 96 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 96 of file PHG4SpacalDetector.h
References _geom.
Referenced by PHG4SpacalSteppingAction::get_zmax(), PHG4SpacalSteppingAction::get_zmin(), PHG4SpacalSubsystem::InitRunSubsystem(), and PHG4SpacalSteppingAction::UserSteppingAction().
|
inline |
Definition at line 87 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 87 of file PHG4SpacalDetector.h
References layer.
Referenced by PHG4SpacalSteppingAction::UserSteppingAction().
|
inline |
Definition at line 115 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 115 of file PHG4SpacalDetector.h
References m_DisplayAction.
Referenced by PHG4FullProjTiltedSpacalDetector::Construct_AzimuthalSeg(), PHG4FullProjSpacalDetector::Construct_AzimuthalSeg(), Construct_AzimuthalSeg(), Construct_Fiber(), PHG4FullProjTiltedSpacalDetector::Construct_LightGuide(), PHG4FullProjTiltedSpacalDetector::Construct_Tower(), PHG4FullProjSpacalDetector::Construct_Tower(), and ConstructMe().
int PHG4SpacalDetector::IsInCylinderActive | ( | const G4VPhysicalVolume * | volume | ) |
Definition at line 89 of file PHG4SpacalDetector.cc.
View newest version in sPHENIX GitHub at line 89 of file PHG4SpacalDetector.cc
References ABSORBER, absorberactive, active, block_vol, calo_vol, FIBER_CLADING, FIBER_CORE, fiber_core_vol, fiber_vol, INACTIVE, and SUPPORT.
Referenced by PHG4SpacalSteppingAction::UserSteppingAction().
|
overridevirtual |
Reimplemented from PHG4Detector.
Definition at line 381 of file PHG4SpacalDetector.cc.
View newest version in sPHENIX GitHub at line 381 of file PHG4SpacalDetector.cc
References _geom, PHG4Detector::GetName(), and PHG4CylinderGeom_Spacalv1::Print().
Referenced by ConstructMe(), and PHG4SpacalSubsystem::Print().
Definition at line 62 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 62 of file PHG4SpacalDetector.h
References absorberactive.
Referenced by PHG4SpacalSubsystem::InitRunSubsystem().
Definition at line 56 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 56 of file PHG4SpacalDetector.h
References active.
Referenced by PHG4SpacalSubsystem::InitRunSubsystem().
|
inline |
Definition at line 68 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 68 of file PHG4SpacalDetector.h
References detector_type, and pyG4ProcessManager::typ.
|
inline |
Definition at line 76 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 76 of file PHG4SpacalDetector.h
References superdetector.
Referenced by PHG4SpacalSubsystem::InitRunSubsystem(), and PHG4SpacalSteppingAction::SetInterfacePointers().
|
inline |
Definition at line 82 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 82 of file PHG4SpacalDetector.h
References superdetector.
|
protected |
Definition at line 150 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 150 of file PHG4SpacalDetector.h
Referenced by clone_geom(), Construct_AzimuthalSeg(), Construct_Fiber(), PHG4FullProjTiltedSpacalDetector::Construct_LightGuide(), ConstructMe(), get_geom(), PHG4FullProjSpacalDetector::get_geom_v3(), PHG4FullProjTiltedSpacalDetector::get_geom_v3(), PHG4FullProjSpacalDetector::PHG4FullProjSpacalDetector(), PHG4FullProjTiltedSpacalDetector::PHG4FullProjTiltedSpacalDetector(), PHG4SpacalDetector(), Print(), and ~PHG4SpacalDetector().
|
protected |
Definition at line 136 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 136 of file PHG4SpacalDetector.h
Referenced by ConstructMe(), IsInCylinderActive(), and SetAbsorberActive().
|
protected |
Definition at line 135 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 135 of file PHG4SpacalDetector.h
Referenced by ConstructMe(), IsInCylinderActive(), and SetActive().
|
protected |
map for G4VPhysicalVolume -> towers ID
Definition at line 133 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 133 of file PHG4SpacalDetector.h
Referenced by PHG4FullProjTiltedSpacalDetector::Construct_AzimuthalSeg(), PHG4FullProjSpacalDetector::Construct_AzimuthalSeg(), and IsInCylinderActive().
|
protected |
map for G4VPhysicalVolume -> Sector ID
Definition at line 130 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 130 of file PHG4SpacalDetector.h
Referenced by PHG4FullProjTiltedSpacalDetector::Construct_AzimuthalSeg(), PHG4FullProjSpacalDetector::Construct_AzimuthalSeg(), ConstructMe(), and IsInCylinderActive().
|
protected |
Definition at line 139 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 139 of file PHG4SpacalDetector.h
Referenced by ConstructMe(), and SetDetectorType().
|
protected |
Definition at line 144 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 144 of file PHG4SpacalDetector.h
Referenced by Construct_Fiber(), ConstructMe(), and ~PHG4SpacalDetector().
|
protected |
Definition at line 124 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 124 of file PHG4SpacalDetector.h
Referenced by Construct_Fiber(), and IsInCylinderActive().
|
protected |
map for G4VPhysicalVolume -> fiber ID
Definition at line 127 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 127 of file PHG4SpacalDetector.h
Referenced by Construct_AzimuthalSeg(), PHG4FullProjSpacalDetector::Construct_Fibers(), PHG4FullProjTiltedSpacalDetector::Construct_Fibers(), PHG4FullProjSpacalDetector::Construct_Fibers_SameLengthFiberPerTower(), PHG4FullProjTiltedSpacalDetector::Construct_Fibers_SameLengthFiberPerTower(), and IsInCylinderActive().
|
protected |
registry for volumes that should not be exported, i.e. fibers
Definition at line 147 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 147 of file PHG4SpacalDetector.h
Referenced by PHG4FullProjTiltedSpacalDetector::Construct_AzimuthalSeg(), PHG4FullProjSpacalDetector::Construct_AzimuthalSeg(), Construct_AzimuthalSeg(), PHG4FullProjSpacalDetector::Construct_Fibers(), PHG4FullProjTiltedSpacalDetector::Construct_Fibers(), PHG4FullProjSpacalDetector::Construct_Fibers_SameLengthFiberPerTower(), PHG4FullProjTiltedSpacalDetector::Construct_Fibers_SameLengthFiberPerTower(), ConstructMe(), and PHG4SpacalDetector().
|
protected |
Definition at line 137 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 137 of file PHG4SpacalDetector.h
Referenced by ConstructMe(), and get_Layer().
|
protected |
Definition at line 138 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 138 of file PHG4SpacalDetector.h
Referenced by ConstructMe(), and CosmicSetup().
|
private |
Definition at line 121 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 121 of file PHG4SpacalDetector.h
Referenced by GetDisplayAction().
|
protected |
Definition at line 140 of file PHG4SpacalDetector.h.
View newest version in sPHENIX GitHub at line 140 of file PHG4SpacalDetector.h
Referenced by ConstructMe(), and SuperDetector().