EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <fun4all_eicdetectors/blob/master/simulation/g4simulation/g4lumi/EICG4LumiDetector.h>
Public Member Functions | |
EICG4LumiDetector (PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam, const int layer=0) | |
constructor | |
virtual | ~EICG4LumiDetector () override |
destructor | |
void | ConstructMe (G4LogicalVolume *world) override |
construct | |
void | Print (const std::string &what="ALL") const override |
int | GetDetId (G4VPhysicalVolume *) const |
void | SuperDetector (const std::string &name) |
const std::string | SuperDetector () const |
int | get_Layer () const |
void | AddLumiWindow (G4ThreeVector size, G4ThreeVector pos, double angle, std::string material, G4LogicalVolume *logicWorld) |
G4ThreeVector | AddLumiExitWindow (G4ThreeVector size, G4ThreeVector pos, double factor, double angle, std::string material, G4LogicalVolume *logicWorld) |
void | AddLumiMag_OuterVessel (G4ThreeVector size, G4ThreeVector pos, std::string material, G4LogicalVolume *logicWorld) |
void | AddLumiMag_MagCore (G4ThreeVector size, G4ThreeVector pos, double Bx, std::string material, G4LogicalVolume *logicWorld) |
void | AddTriangularTrapezoid (G4ThreeVector size, G4ThreeVector pos, double angle, std::string material, G4LogicalVolume *logicWorld) |
void | AddCuboid (G4ThreeVector Wsize, G4ThreeVector Wpos, G4ThreeVector Msize, G4ThreeVector Mpos, double angle, std::string material, G4LogicalVolume *logicWorld) |
G4LogicalVolume * | AddRecCone (G4ThreeVector Wsize, G4ThreeVector Wpos, G4ThreeVector Msize, G4ThreeVector Mpos, G4ThreeVector Tr2size, G4ThreeVector Tr2pos, double angle, std::string material, G4LogicalVolume *logicWorld) |
void | AddExitWindowForV2 (G4ThreeVector size, G4ThreeVector pos_daug, double angle, std::string material, G4LogicalVolume *logicRecCone) |
void | AddLumiTracker (std::string name, int copyNum, G4ThreeVector size, G4ThreeVector pos, G4LogicalVolume *logicRecCone) |
void | AddCAL (std::string name, G4ThreeVector size, G4ThreeVector pos, int total_tower, G4LogicalVolume *logicWorld) |
G4LogicalVolume * | MakeTower (G4double calorSizeXY, G4double calorEMZ) |
void | AddExitWindowForV3 (G4ThreeVector Wsize, G4ThreeVector Wpos, G4ThreeVector Tr2size, G4ThreeVector Tr2pos, std::string material, G4LogicalVolume *logicWorld) |
PHParameters * | getParams () |
volume accessors | |
int | IsInDetector (G4VPhysicalVolume *) const |
int | IsInVirtualDetector (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 Attributes | |
PHParameters * | m_Params |
std::set< G4VPhysicalVolume * > | m_ActivePhysicalVolumesSet |
std::map< G4VPhysicalVolume *, int > | m_VirtualPhysicalVolumesMap |
std::set< G4VPhysicalVolume * > | m_PassivePhysicalVolumesSet |
int | m_Layer |
std::string | m_SuperDetector |
std::string | m_Name |
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 55 of file EICG4LumiDetector.h.
View newest version in sPHENIX GitHub at line 55 of file EICG4LumiDetector.h
EICG4LumiDetector::EICG4LumiDetector | ( | PHG4Subsystem * | subsys, |
PHCompositeNode * | Node, | ||
PHParameters * | parameters, | ||
const std::string & | dnam, | ||
const int | layer = 0 |
||
) |
constructor
Definition at line 65 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 65 of file EICG4LumiDetector.cc
|
inlineoverridevirtual |
destructor
Definition at line 62 of file EICG4LumiDetector.h.
View newest version in sPHENIX GitHub at line 62 of file EICG4LumiDetector.h
void EICG4LumiDetector::AddCAL | ( | std::string | name, |
G4ThreeVector | size, | ||
G4ThreeVector | pos, | ||
int | total_tower, | ||
G4LogicalVolume * | logicWorld | ||
) |
Definition at line 530 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 530 of file EICG4LumiDetector.cc
References MakeTower(), and PHG4Detector::OverlapCheck().
Referenced by ConstructMe().
void EICG4LumiDetector::AddCuboid | ( | G4ThreeVector | Wsize, |
G4ThreeVector | Wpos, | ||
G4ThreeVector | Msize, | ||
G4ThreeVector | Mpos, | ||
double | angle, | ||
std::string | material, | ||
G4LogicalVolume * | logicWorld | ||
) |
Definition at line 437 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 437 of file EICG4LumiDetector.cc
References PHG4Detector::GetDetectorMaterial(), m_PassivePhysicalVolumesSet, name, PHG4Detector::OverlapCheck(), and etm::solid.
Referenced by ConstructMe().
void EICG4LumiDetector::AddExitWindowForV2 | ( | G4ThreeVector | size, |
G4ThreeVector | pos_daug, | ||
double | angle, | ||
std::string | material, | ||
G4LogicalVolume * | logicRecCone | ||
) |
Definition at line 478 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 478 of file EICG4LumiDetector.cc
References PHG4Detector::GetDetectorMaterial(), m_PassivePhysicalVolumesSet, name, PHG4Detector::OverlapCheck(), and etm::solid.
Referenced by ConstructMe().
void EICG4LumiDetector::AddExitWindowForV3 | ( | G4ThreeVector | Wsize, |
G4ThreeVector | Wpos, | ||
G4ThreeVector | Tr2size, | ||
G4ThreeVector | Tr2pos, | ||
std::string | material, | ||
G4LogicalVolume * | logicWorld | ||
) |
Definition at line 511 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 511 of file EICG4LumiDetector.cc
References Acts::UnitConstants::cm, PHG4Detector::GetDetectorMaterial(), m_PassivePhysicalVolumesSet, name, PHG4Detector::OverlapCheck(), pos(), and etm::solid.
Referenced by ConstructMe().
G4ThreeVector EICG4LumiDetector::AddLumiExitWindow | ( | G4ThreeVector | size, |
G4ThreeVector | pos, | ||
double | factor, | ||
double | angle, | ||
std::string | material, | ||
G4LogicalVolume * | logicWorld | ||
) |
Definition at line 325 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 325 of file EICG4LumiDetector.cc
References PHG4Detector::GetDetectorMaterial(), m_PassivePhysicalVolumesSet, name, PHG4Detector::OverlapCheck(), and etm::solid.
void EICG4LumiDetector::AddLumiMag_MagCore | ( | G4ThreeVector | size, |
G4ThreeVector | pos, | ||
double | Bx, | ||
std::string | material, | ||
G4LogicalVolume * | logicWorld | ||
) |
Definition at line 367 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 367 of file EICG4LumiDetector.cc
References Acts::UnitConstants::cm, PHG4Detector::GetDetectorMaterial(), m_PassivePhysicalVolumesSet, name, PHG4Detector::OverlapCheck(), and etm::solid.
Referenced by ConstructMe().
void EICG4LumiDetector::AddLumiMag_OuterVessel | ( | G4ThreeVector | size, |
G4ThreeVector | pos, | ||
std::string | material, | ||
G4LogicalVolume * | logicWorld | ||
) |
Definition at line 349 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 349 of file EICG4LumiDetector.cc
References PHG4Detector::GetDetectorMaterial(), m_PassivePhysicalVolumesSet, name, PHG4Detector::OverlapCheck(), and etm::solid.
Referenced by ConstructMe().
void EICG4LumiDetector::AddLumiTracker | ( | std::string | name, |
int | copyNum, | ||
G4ThreeVector | size, | ||
G4ThreeVector | pos, | ||
G4LogicalVolume * | logicRecCone | ||
) |
Definition at line 493 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 493 of file EICG4LumiDetector.cc
References m_ActivePhysicalVolumesSet, PHG4Detector::OverlapCheck(), and etm::solid.
Referenced by ConstructMe().
void EICG4LumiDetector::AddLumiWindow | ( | G4ThreeVector | size, |
G4ThreeVector | pos, | ||
double | angle, | ||
std::string | material, | ||
G4LogicalVolume * | logicWorld | ||
) |
Definition at line 302 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 302 of file EICG4LumiDetector.cc
References Acts::UnitConstants::cm, PHG4Detector::GetDetectorMaterial(), m_PassivePhysicalVolumesSet, name, PHG4Detector::OverlapCheck(), and etm::solid.
Referenced by ConstructMe().
G4LogicalVolume * EICG4LumiDetector::AddRecCone | ( | G4ThreeVector | Wsize, |
G4ThreeVector | Wpos, | ||
G4ThreeVector | Msize, | ||
G4ThreeVector | Mpos, | ||
G4ThreeVector | Tr2size, | ||
G4ThreeVector | Tr2pos, | ||
double | angle, | ||
std::string | material, | ||
G4LogicalVolume * | logicWorld | ||
) |
Definition at line 459 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 459 of file EICG4LumiDetector.cc
References Acts::UnitConstants::cm, PHG4Detector::GetDetectorMaterial(), m_PassivePhysicalVolumesSet, PHG4Detector::OverlapCheck(), and etm::solid.
Referenced by ConstructMe().
void EICG4LumiDetector::AddTriangularTrapezoid | ( | G4ThreeVector | size, |
G4ThreeVector | pos, | ||
double | angle, | ||
std::string | material, | ||
G4LogicalVolume * | logicWorld | ||
) |
Definition at line 390 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 390 of file EICG4LumiDetector.cc
References PHG4Detector::GetDetectorMaterial(), m_PassivePhysicalVolumesSet, name, PHG4Detector::OverlapCheck(), etm::solid, x2, x3, and y3.
Referenced by ConstructMe().
|
overridevirtual |
construct
Implements PHG4Detector.
Definition at line 113 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 113 of file EICG4LumiDetector.cc
References AddCAL(), AddCuboid(), AddExitWindowForV2(), AddExitWindowForV3(), AddLumiMag_MagCore(), AddLumiMag_OuterVessel(), AddLumiTracker(), AddLumiWindow(), AddRecCone(), AddTriangularTrapezoid(), Acts::UnitConstants::cm, PHParameters::get_double_param(), PHParameters::get_int_param(), PHParameters::get_string_param(), m_Params, Acts::UnitConstants::rad, and PHG4Detector::Verbosity().
|
inline |
Definition at line 80 of file EICG4LumiDetector.h.
View newest version in sPHENIX GitHub at line 80 of file EICG4LumiDetector.h
References m_Layer.
int EICG4LumiDetector::GetDetId | ( | G4VPhysicalVolume * | volume | ) | const |
Definition at line 101 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 101 of file EICG4LumiDetector.cc
References IsInDetector().
PHParameters * EICG4LumiDetector::getParams | ( | ) |
Definition at line 296 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 296 of file EICG4LumiDetector.cc
References m_Params.
int EICG4LumiDetector::IsInDetector | ( | G4VPhysicalVolume * | volume | ) | const |
Definition at line 76 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 76 of file EICG4LumiDetector.cc
References m_ActivePhysicalVolumesSet.
Referenced by GetDetId(), and EICG4LumiSteppingAction::UserSteppingAction().
int EICG4LumiDetector::IsInVirtualDetector | ( | G4VPhysicalVolume * | volume | ) | const |
Definition at line 89 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 89 of file EICG4LumiDetector.cc
References m_VirtualPhysicalVolumesMap.
Referenced by EICG4LumiSteppingAction::UserSteppingAction().
G4LogicalVolume * EICG4LumiDetector::MakeTower | ( | G4double | calorSizeXY, |
G4double | calorEMZ | ||
) |
Definition at line 575 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 575 of file EICG4LumiDetector.cc
References Acts::UnitConstants::cm3, g(), PHG4Detector::GetDetectorMaterial(), Acts::UnitConstants::h, m_ActivePhysicalVolumesSet, m_Name, m_PassivePhysicalVolumesSet, Acts::UnitConstants::mm, offset, and PHG4Detector::OverlapCheck().
Referenced by AddCAL().
|
overridevirtual |
Reimplemented from PHG4Detector.
Definition at line 282 of file EICG4LumiDetector.cc.
View newest version in sPHENIX GitHub at line 282 of file EICG4LumiDetector.cc
References m_Params, and PHParameters::Print().
Referenced by EICG4LumiSubsystem::Print().
|
inline |
Definition at line 78 of file EICG4LumiDetector.h.
View newest version in sPHENIX GitHub at line 78 of file EICG4LumiDetector.h
References m_SuperDetector, and name.
Referenced by EICG4LumiSubsystem::InitRunSubsystem(), and EICG4LumiSteppingAction::UserSteppingAction().
|
inline |
Definition at line 79 of file EICG4LumiDetector.h.
View newest version in sPHENIX GitHub at line 79 of file EICG4LumiDetector.h
References m_SuperDetector.
|
private |
Definition at line 113 of file EICG4LumiDetector.h.
View newest version in sPHENIX GitHub at line 113 of file EICG4LumiDetector.h
Referenced by AddLumiTracker(), IsInDetector(), and MakeTower().
|
private |
Definition at line 119 of file EICG4LumiDetector.h.
View newest version in sPHENIX GitHub at line 119 of file EICG4LumiDetector.h
Referenced by get_Layer().
|
private |
Definition at line 122 of file EICG4LumiDetector.h.
View newest version in sPHENIX GitHub at line 122 of file EICG4LumiDetector.h
Referenced by MakeTower().
|
private |
Definition at line 110 of file EICG4LumiDetector.h.
View newest version in sPHENIX GitHub at line 110 of file EICG4LumiDetector.h
Referenced by ConstructMe(), getParams(), and Print().
|
private |
Definition at line 117 of file EICG4LumiDetector.h.
View newest version in sPHENIX GitHub at line 117 of file EICG4LumiDetector.h
Referenced by AddCuboid(), AddExitWindowForV2(), AddExitWindowForV3(), AddLumiExitWindow(), AddLumiMag_MagCore(), AddLumiMag_OuterVessel(), AddLumiWindow(), AddRecCone(), AddTriangularTrapezoid(), and MakeTower().
|
private |
Definition at line 120 of file EICG4LumiDetector.h.
View newest version in sPHENIX GitHub at line 120 of file EICG4LumiDetector.h
Referenced by SuperDetector().
|
private |
Definition at line 115 of file EICG4LumiDetector.h.
View newest version in sPHENIX GitHub at line 115 of file EICG4LumiDetector.h
Referenced by IsInVirtualDetector().