ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <coresoftware/blob/master/simulation/g4simulation/g4detectors/PHG4InnerHcalDetector.h>
Public Types | |
typedef CGAL::Exact_circular_kernel_2 | Circular_k |
typedef CGAL::Point_2< Circular_k > | Point_2 |
Public Member Functions | |
PHG4InnerHcalDetector (PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam) | |
constructor | |
~PHG4InnerHcalDetector () 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 |
G4VSolid * | ConstructSteelPlate (G4LogicalVolume *hcalenvelope) |
G4VSolid * | ConstructScintillatorBox (G4LogicalVolume *hcalenvelope) |
void | ShiftSecantToTangent (Point_2 &lowleft, Point_2 &upleft, Point_2 &upright, Point_2 &lowright) |
G4AssemblyVolume * | ConstructHcalScintillatorAssembly (G4LogicalVolume *hcalenvelope) |
void | ConstructHcalSingleScintillators (G4LogicalVolume *hcalenvelope) |
int | CheckTiltAngle () const |
int | ConsistencyCheck () const |
void | SetTiltViaNcross () |
std::pair< int, int > | GetLayerTowerId (G4VPhysicalVolume *volume) const |
volume accessors | |
int | IsInInnerHcal (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 () |
Protected Member Functions | |
int | ConstructInnerHcal (G4LogicalVolume *sandwich) |
double | x_at_y (Point_2 &p0, Point_2 &p1, double yin) |
Protected Attributes | |
PHG4InnerHcalDisplayAction * | m_DisplayAction |
PHParameters * | m_Params |
G4AssemblyVolume * | m_ScintiMotherAssembly |
double | m_InnerRadius |
double | m_OuterRadius |
double | m_SizeZ |
double | m_ScintiTileX |
double | m_ScintiTileXLower |
double | m_ScintiTileXUpper |
double | m_ScintiTileZ |
double | m_ScintiTileThickness |
double | m_ScintiInnerGap |
double | m_ScintiOuterGap |
double | m_ScintiOuterRadius |
double | m_TiltAngle |
double | m_EnvelopeInnerRadius |
double | m_EnvelopeOuterRadius |
double | m_EnvelopeZ |
double | m_VolumeEnvelope |
double | m_VolumeSteel |
double | m_VolumeScintillator |
int | m_NumScintiPlates |
int | m_NumScintiTilesPos |
int | m_NumScintiTilesNeg |
int | m_Active |
int | m_AbsorberActive |
int | m_Layer |
std::string | m_SuperDetector |
std::set< G4VPhysicalVolume * > | m_SteelAbsorberPhysVolSet |
std::map< G4VPhysicalVolume *, std::pair< int, int > > | m_ScintiTilePhysVolMap |
std::vector< G4VSolid * > | m_ScintiTilesVec |
std::string | m_ScintiLogicNamePrefix |
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 27 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 27 of file PHG4InnerHcalDetector.h
typedef CGAL::Exact_circular_kernel_2 PHG4InnerHcalDetector::Circular_k |
Definition at line 30 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 30 of file PHG4InnerHcalDetector.h
typedef CGAL::Point_2<Circular_k> PHG4InnerHcalDetector::Point_2 |
Definition at line 31 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 31 of file PHG4InnerHcalDetector.h
PHG4InnerHcalDetector::PHG4InnerHcalDetector | ( | PHG4Subsystem * | subsys, |
PHCompositeNode * | Node, | ||
PHParameters * | parameters, | ||
const std::string & | dnam | ||
) |
constructor
Definition at line 67 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 67 of file PHG4InnerHcalDetector.cc
References PHParameters::get_int_param(), m_NumScintiTilesNeg, m_NumScintiTilesPos, m_Params, m_ScintiTilesVec, PHG4HcalDefs::n_scinti_tiles, and PHParameters::set_int_param().
|
override |
destructor
Definition at line 117 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 117 of file PHG4InnerHcalDetector.cc
References m_ScintiMotherAssembly.
int PHG4InnerHcalDetector::CheckTiltAngle | ( | ) | const |
Definition at line 781 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 781 of file PHG4InnerHcalDetector.cc
References deg, g4zmq::exit(), m_InnerRadius, m_OuterRadius, M_PI, m_TiltAngle, PHWHERE, and rad.
Referenced by ConstructInnerHcal().
int PHG4InnerHcalDetector::ConsistencyCheck | ( | ) | const |
Definition at line 809 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 809 of file PHG4InnerHcalDetector.cc
References cm, m_InnerRadius, m_OuterRadius, m_ScintiInnerGap, m_ScintiOuterRadius, m_ScintiTileThickness, and PHWHERE.
Referenced by ConstructInnerHcal().
G4AssemblyVolume * PHG4InnerHcalDetector::ConstructHcalScintillatorAssembly | ( | G4LogicalVolume * | hcalenvelope | ) |
Definition at line 756 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 756 of file PHG4InnerHcalDetector.cc
References G4AssemblyVolume::AddPlacedVolume(), PHG4InnerHcalDisplayAction::AddScintiVolume(), cm, ConstructHcalSingleScintillators(), PHParameters::get_double_param(), PHG4Detector::GetDetectorMaterial(), isfinite, m_DisplayAction, m_Params, m_ScintiLogicNamePrefix, and m_ScintiTilesVec.
Referenced by ConstructInnerHcal().
void PHG4InnerHcalDetector::ConstructHcalSingleScintillators | ( | G4LogicalVolume * | hcalenvelope | ) |
Definition at line 577 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 577 of file PHG4InnerHcalDetector.cc
References cm, ConstructScintillatorBox(), deg, Acts::VectorHelpers::eta(), PHParameters::get_double_param(), PHG4Utils::get_theta(), m_InnerRadius, m_NumScintiTilesNeg, m_NumScintiTilesPos, m_OuterRadius, m_Params, M_PI, m_ScintiTilesVec, m_ScintiTileThickness, m_ScintiTileX, mm, offset, CLHEP::HepRotation::rotateX(), PHParameters::set_double_param(), theta(), v, x, x_at_y(), z, and zero.
Referenced by ConstructHcalScintillatorAssembly().
|
protected |
Definition at line 502 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 502 of file PHG4InnerHcalDetector.cc
References PHG4InnerHcalDisplayAction::AddSteelVolume(), CheckTiltAngle(), ConsistencyCheck(), ConstructHcalScintillatorAssembly(), ConstructSteelPlate(), PHParameters::get_string_param(), PHG4Detector::GetDetectorMaterial(), m_DisplayAction, m_InnerRadius, m_NumScintiPlates, m_OuterRadius, m_Params, M_PI, m_ScintiMotherAssembly, m_ScintiTileX, m_ScintiTileXLower, m_ScintiTileXUpper, m_SteelAbsorberPhysVolSet, m_TiltAngle, G4AssemblyVolume::MakeImprint(), PHG4Detector::OverlapCheck(), phi, rad, CLHEP::HepRotation::rotateZ(), SetTiltViaNcross(), and subtract_from_scinti_x.
Referenced by ConstructMe().
|
overridevirtual |
construct
Implements PHG4Detector.
Definition at line 426 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 426 of file PHG4InnerHcalDetector.cc
References cm, ConstructInnerHcal(), deg, PHParameters::get_double_param(), PHFlag::get_StringFlag(), PHG4Detector::GetDetectorMaterial(), G4AssemblyVolume::GetVolumesIterator(), recoConsts::instance(), it, m_DisplayAction, m_EnvelopeInnerRadius, m_EnvelopeOuterRadius, m_EnvelopeZ, m_NumScintiPlates, m_Params, M_PI, m_ScintiMotherAssembly, m_ScintiTilePhysVolMap, m_VolumeEnvelope, PHG4Detector::OverlapCheck(), PHWHERE, CLHEP::HepRotation::rotateX(), CLHEP::HepRotation::rotateY(), CLHEP::HepRotation::rotateZ(), PHG4InnerHcalDisplayAction::SetMyTopVolume(), and G4AssemblyVolume::TotalImprintedVolumes().
G4VSolid * PHG4InnerHcalDetector::ConstructScintillatorBox | ( | G4LogicalVolume * | hcalenvelope | ) |
Definition at line 144 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 144 of file PHG4InnerHcalDetector.cc
References G4VSolid::GetCubicVolume(), m_InnerRadius, m_NumScintiPlates, m_OuterRadius, m_ScintiOuterRadius, m_ScintiTileThickness, m_ScintiTileX, m_ScintiTileXLower, m_ScintiTileXUpper, m_ScintiTileZ, m_TiltAngle, m_VolumeScintillator, Acts::VectorHelpers::perp(), rad, and subtract_from_scinti_x.
Referenced by ConstructHcalSingleScintillators().
G4VSolid * PHG4InnerHcalDetector::ConstructSteelPlate | ( | G4LogicalVolume * | hcalenvelope | ) |
Definition at line 221 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 221 of file PHG4InnerHcalDetector.cc
References G4VSolid::GetCubicVolume(), m_InnerRadius, m_NumScintiPlates, m_OuterRadius, M_PI, m_ScintiInnerGap, m_ScintiOuterGap, m_SizeZ, m_TiltAngle, m_VolumeSteel, Acts::VectorHelpers::perp(), rad, ShiftSecantToTangent(), v1, v2, v3, v4, and zero.
Referenced by ConstructInnerHcal().
|
inline |
Definition at line 51 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 51 of file PHG4InnerHcalDetector.h
References m_Layer.
std::pair< int, int > PHG4InnerHcalDetector::GetLayerTowerId | ( | G4VPhysicalVolume * | volume | ) | const |
Definition at line 932 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 932 of file PHG4InnerHcalDetector.cc
References g4zmq::exit(), G4VPhysicalVolume::GetName(), it, and m_ScintiTilePhysVolMap.
Referenced by PHG4InnerHcalSteppingAction::UserSteppingAction().
int PHG4InnerHcalDetector::IsInInnerHcal | ( | G4VPhysicalVolume * | volume | ) | const |
Definition at line 124 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 124 of file PHG4InnerHcalDetector.cc
References m_AbsorberActive, m_Active, m_ScintiTilePhysVolMap, and m_SteelAbsorberPhysVolSet.
Referenced by PHG4InnerHcalSteppingAction::UserSteppingAction().
|
overridevirtual |
Reimplemented from PHG4Detector.
Definition at line 919 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 919 of file PHG4InnerHcalDetector.cc
References cm3, m_VolumeEnvelope, m_VolumeScintillator, and m_VolumeSteel.
Referenced by PHG4InnerHcalSubsystem::Print().
void PHG4InnerHcalDetector::SetTiltViaNcross | ( | ) |
Definition at line 836 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 836 of file PHG4InnerHcalDetector.cc
References deg, g4zmq::exit(), PHParameters::get_int_param(), isfinite, m_InnerRadius, m_NumScintiPlates, m_OuterRadius, m_Params, M_PI, m_TiltAngle, rad, PHParameters::set_double_param(), PHParameters::set_int_param(), and PHG4Detector::Verbosity().
Referenced by ConstructInnerHcal().
void PHG4InnerHcalDetector::ShiftSecantToTangent | ( | Point_2 & | lowleft, |
Point_2 & | upleft, | ||
Point_2 & | upright, | ||
Point_2 & | lowright | ||
) |
Definition at line 377 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 377 of file PHG4InnerHcalDetector.cc
References m_InnerRadius.
Referenced by ConstructSteelPlate().
|
inline |
Definition at line 49 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 49 of file PHG4InnerHcalDetector.h
References m_SuperDetector.
Referenced by PHG4InnerHcalSubsystem::InitRunSubsystem(), and PHG4InnerHcalSteppingAction::SetInterfacePointers().
|
inline |
Definition at line 50 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 50 of file PHG4InnerHcalDetector.h
References m_SuperDetector.
Definition at line 726 of file PHG4InnerHcalDetector.cc.
View newest version in sPHENIX GitHub at line 726 of file PHG4InnerHcalDetector.cc
References g4zmq::exit(), PHWHERE, x, and y.
Referenced by ConstructHcalSingleScintillators().
|
protected |
Definition at line 93 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 93 of file PHG4InnerHcalDetector.h
Referenced by IsInInnerHcal().
|
protected |
Definition at line 92 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 92 of file PHG4InnerHcalDetector.h
Referenced by IsInInnerHcal().
|
protected |
Definition at line 66 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 66 of file PHG4InnerHcalDetector.h
Referenced by ConstructHcalScintillatorAssembly(), ConstructInnerHcal(), and ConstructMe().
|
protected |
Definition at line 81 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 81 of file PHG4InnerHcalDetector.h
Referenced by ConstructMe().
|
protected |
Definition at line 82 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 82 of file PHG4InnerHcalDetector.h
Referenced by ConstructMe().
|
protected |
Definition at line 83 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 83 of file PHG4InnerHcalDetector.h
Referenced by ConstructMe().
|
protected |
Definition at line 69 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 69 of file PHG4InnerHcalDetector.h
Referenced by CheckTiltAngle(), ConsistencyCheck(), ConstructHcalSingleScintillators(), ConstructInnerHcal(), ConstructScintillatorBox(), ConstructSteelPlate(), SetTiltViaNcross(), and ShiftSecantToTangent().
|
protected |
Definition at line 95 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 95 of file PHG4InnerHcalDetector.h
Referenced by get_Layer().
|
protected |
Definition at line 88 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 88 of file PHG4InnerHcalDetector.h
Referenced by ConstructInnerHcal(), ConstructMe(), ConstructScintillatorBox(), ConstructSteelPlate(), and SetTiltViaNcross().
|
protected |
Definition at line 90 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 90 of file PHG4InnerHcalDetector.h
Referenced by ConstructHcalSingleScintillators(), and PHG4InnerHcalDetector().
|
protected |
Definition at line 89 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 89 of file PHG4InnerHcalDetector.h
Referenced by ConstructHcalSingleScintillators(), and PHG4InnerHcalDetector().
|
protected |
Definition at line 70 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 70 of file PHG4InnerHcalDetector.h
Referenced by CheckTiltAngle(), ConsistencyCheck(), ConstructHcalSingleScintillators(), ConstructInnerHcal(), ConstructScintillatorBox(), ConstructSteelPlate(), and SetTiltViaNcross().
|
protected |
Definition at line 67 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 67 of file PHG4InnerHcalDetector.h
Referenced by ConstructHcalScintillatorAssembly(), ConstructHcalSingleScintillators(), ConstructInnerHcal(), ConstructMe(), PHG4InnerHcalDetector(), and SetTiltViaNcross().
|
protected |
Definition at line 77 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 77 of file PHG4InnerHcalDetector.h
Referenced by ConsistencyCheck(), and ConstructSteelPlate().
|
protected |
Definition at line 100 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 100 of file PHG4InnerHcalDetector.h
Referenced by ConstructHcalScintillatorAssembly().
|
protected |
Definition at line 68 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 68 of file PHG4InnerHcalDetector.h
Referenced by ConstructInnerHcal(), ConstructMe(), and ~PHG4InnerHcalDetector().
|
protected |
Definition at line 78 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 78 of file PHG4InnerHcalDetector.h
Referenced by ConstructSteelPlate().
|
protected |
Definition at line 79 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 79 of file PHG4InnerHcalDetector.h
Referenced by ConsistencyCheck(), and ConstructScintillatorBox().
|
protected |
Definition at line 98 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 98 of file PHG4InnerHcalDetector.h
Referenced by ConstructMe(), GetLayerTowerId(), and IsInInnerHcal().
|
protected |
Definition at line 99 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 99 of file PHG4InnerHcalDetector.h
Referenced by ConstructHcalScintillatorAssembly(), ConstructHcalSingleScintillators(), and PHG4InnerHcalDetector().
|
protected |
Definition at line 76 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 76 of file PHG4InnerHcalDetector.h
Referenced by ConsistencyCheck(), ConstructHcalSingleScintillators(), and ConstructScintillatorBox().
|
protected |
Definition at line 72 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 72 of file PHG4InnerHcalDetector.h
Referenced by ConstructHcalSingleScintillators(), ConstructInnerHcal(), and ConstructScintillatorBox().
|
protected |
Definition at line 73 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 73 of file PHG4InnerHcalDetector.h
Referenced by ConstructInnerHcal(), and ConstructScintillatorBox().
|
protected |
Definition at line 74 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 74 of file PHG4InnerHcalDetector.h
Referenced by ConstructInnerHcal(), and ConstructScintillatorBox().
|
protected |
Definition at line 75 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 75 of file PHG4InnerHcalDetector.h
Referenced by ConstructScintillatorBox().
|
protected |
Definition at line 71 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 71 of file PHG4InnerHcalDetector.h
Referenced by ConstructSteelPlate().
|
protected |
Definition at line 97 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 97 of file PHG4InnerHcalDetector.h
Referenced by ConstructInnerHcal(), and IsInInnerHcal().
|
protected |
Definition at line 96 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 96 of file PHG4InnerHcalDetector.h
Referenced by SuperDetector().
|
protected |
Definition at line 80 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 80 of file PHG4InnerHcalDetector.h
Referenced by CheckTiltAngle(), ConstructInnerHcal(), ConstructScintillatorBox(), ConstructSteelPlate(), and SetTiltViaNcross().
|
protected |
Definition at line 84 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 84 of file PHG4InnerHcalDetector.h
Referenced by ConstructMe(), and Print().
|
protected |
Definition at line 86 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 86 of file PHG4InnerHcalDetector.h
Referenced by ConstructScintillatorBox(), and Print().
|
protected |
Definition at line 85 of file PHG4InnerHcalDetector.h.
View newest version in sPHENIX GitHub at line 85 of file PHG4InnerHcalDetector.h
Referenced by ConstructSteelPlate(), and Print().