ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4LFHcalDetector Class Reference

#include <fun4all_eicdetectors/blob/master/simulation/g4simulation/g4eiccalos/PHG4LFHcalDetector.h>

+ Inheritance diagram for PHG4LFHcalDetector:
+ Collaboration diagram for PHG4LFHcalDetector:

Classes

struct  towerposition
 

Public Member Functions

 PHG4LFHcalDetector (PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam)
 constructor
 
virtual ~PHG4LFHcalDetector ()
 destructor
 
virtual void ConstructMe (G4LogicalVolume *world)
 construct
 
- 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 G4UserSteppingActionGetSteppingAction ()
 
virtual std::string GetName () const
 
virtual void OverlapCheck (const bool chk)
 
virtual bool OverlapCheck () const
 
virtual void Print (const std::string &="ALL") 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 ()
 

volume accessors

PHG4LFHcalDisplayActionm_DisplayAction = nullptr
 
PHParametersm_Params = nullptr
 
int m_ActiveFlag = 1
 
int m_AbsorberActiveFlag = 0
 
int m_Layer = 0
 
std::string m_TowerLogicNamePrefix
 
std::string m_SuperDetector
 
std::map< std::string, G4doublem_GlobalParameterMap
 
std::map< std::string,
towerposition
m_TowerPostionMap
 
std::set< G4LogicalVolume * > m_AbsorberLogicalVolSet
 
std::set< G4LogicalVolume * > m_ScintiLogicalVolSet
 
bool m_doLightProp = false
 
int IsInLFHcal (G4VPhysicalVolume *) const
 
void SuperDetector (const std::string &name)
 
const std::string SuperDetector () const
 
PHParametersgetParamsDet () const
 
int get_Layer () const
 
void DoFullLightProp (bool doProp)
 
G4LogicalVolumeConstructTower ()
 
int PlaceTower (G4LogicalVolume *envelope, G4LogicalVolume *tower)
 
int ParseParametersFromTable ()
 
G4MaterialGetScintillatorMaterial ()
 
G4MaterialGetCoatingMaterial ()
 
G4MaterialGetWLSFiberMaterial ()
 
void SurfaceTable (G4LogicalVolume *vol)
 
void MakeBoundary (G4VPhysicalVolume *crystal, G4VPhysicalVolume *opdet, bool isFiber)
 
void MakeBoundary_Fiber_Scint (G4VPhysicalVolume *crystal, G4VPhysicalVolume *opdet)
 

Additional Inherited Members

- Static Public Member Functions inherited from PHG4Detector
static G4MaterialGetDetectorMaterial (const std::string &name, const bool quit=true)
 
static G4ElementGetDetectorElement (const std::string &name, const bool quit=true)
 

Detailed Description

Definition at line 28 of file PHG4LFHcalDetector.h.

View newest version in sPHENIX GitHub at line 28 of file PHG4LFHcalDetector.h

Constructor & Destructor Documentation

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

constructor

Definition at line 49 of file PHG4LFHcalDetector.cc.

View newest version in sPHENIX GitHub at line 49 of file PHG4LFHcalDetector.cc

References PHParameters::get_string_param(), m_Params, and ParseParametersFromTable().

+ Here is the call graph for this function:

virtual PHG4LFHcalDetector::~PHG4LFHcalDetector ( )
inlinevirtual

destructor

Definition at line 35 of file PHG4LFHcalDetector.h.

View newest version in sPHENIX GitHub at line 35 of file PHG4LFHcalDetector.h

Member Function Documentation

void PHG4LFHcalDetector::ConstructMe ( G4LogicalVolume world)
virtual

construct

Implements PHG4Detector.

Definition at line 91 of file PHG4LFHcalDetector.cc.

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

References PHG4LFHcalDisplayAction::AddVolume(), cm, ConstructTower(), deg, PHParameters::get_double_param(), PHFlag::get_StringFlag(), PHG4Detector::GetDetectorMaterial(), recoConsts::instance(), m_DisplayAction, m_Params, M_PI, m_TowerLogicNamePrefix, PHG4Detector::OverlapCheck(), PlaceTower(), CLHEP::HepRotation::rotateX(), CLHEP::HepRotation::rotateY(), CLHEP::HepRotation::rotateZ(), PHG4Detector::Verbosity(), and G4WORLD::WorldMaterial.

+ Here is the call graph for this function:

G4LogicalVolume * PHG4LFHcalDetector::ConstructTower ( )
private

Definition at line 146 of file PHG4LFHcalDetector.cc.

View newest version in sPHENIX GitHub at line 146 of file PHG4LFHcalDetector.cc

References PHG4LFHcalDisplayAction::AddVolume(), cm, deg, PHParameters::get_double_param(), PHParameters::get_int_param(), PHParameters::get_string_param(), PHFlag::get_StringFlag(), PHG4Detector::GetDetectorMaterial(), GetScintillatorMaterial(), GetWLSFiberMaterial(), recoConsts::instance(), kZAxis, m_AbsorberLogicalVolSet, m_DisplayAction, m_doLightProp, m_Params, M_PI, m_ScintiLogicalVolSet, m_TowerLogicNamePrefix, MakeBoundary(), MakeBoundary_Fiber_Scint(), mm, PHG4Detector::OverlapCheck(), CLHEP::HepRotation::rotateX(), CLHEP::HepRotation::rotateY(), nlohmann::to_string(), PHG4Detector::Verbosity(), and G4WORLD::WorldMaterial.

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4LFHcalDetector::DoFullLightProp ( bool  doProp)
inline

Definition at line 50 of file PHG4LFHcalDetector.h.

View newest version in sPHENIX GitHub at line 50 of file PHG4LFHcalDetector.h

References m_doLightProp.

Referenced by PHG4LFHcalSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

int PHG4LFHcalDetector::get_Layer ( ) const
inline

Definition at line 48 of file PHG4LFHcalDetector.h.

View newest version in sPHENIX GitHub at line 48 of file PHG4LFHcalDetector.h

References m_Layer.

Referenced by PHG4LFHcalSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

G4Material * PHG4LFHcalDetector::GetCoatingMaterial ( )
private

Definition at line 699 of file PHG4LFHcalDetector.cc.

View newest version in sPHENIX GitHub at line 699 of file PHG4LFHcalDetector.cc

References G4Material::AddElement(), G4Material::AddMaterial(), cm3, Acts::UnitConstants::g, PHG4Detector::GetDetectorElement(), and PHG4Detector::GetDetectorMaterial().

+ Here is the call graph for this function:

PHParameters* PHG4LFHcalDetector::getParamsDet ( ) const
inline

Definition at line 46 of file PHG4LFHcalDetector.h.

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

References m_Params.

G4Material * PHG4LFHcalDetector::GetScintillatorMaterial ( )
private

Definition at line 629 of file PHG4LFHcalDetector.cc.

View newest version in sPHENIX GitHub at line 629 of file PHG4LFHcalDetector.cc

References G4MaterialPropertiesTable::AddConstProperty(), G4Material::AddElement(), G4MaterialPropertiesTable::AddProperty(), cm, cm3, eV, Acts::UnitConstants::g, PHG4Detector::GetDetectorElement(), G4Material::GetIonisation(), keV, m_doLightProp, MeV, mm, ns, G4IonisParamMat::SetBirksConstant(), and G4Material::SetMaterialPropertiesTable().

Referenced by ConstructTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Material * PHG4LFHcalDetector::GetWLSFiberMaterial ( )
private

Definition at line 748 of file PHG4LFHcalDetector.cc.

View newest version in sPHENIX GitHub at line 748 of file PHG4LFHcalDetector.cc

References G4MaterialPropertiesTable::AddConstProperty(), G4Material::AddElement(), G4MaterialPropertiesTable::AddProperty(), cm3, eV, Acts::UnitConstants::g, PHG4Detector::GetDetectorElement(), m, m_doLightProp, mm, ns, G4Material::SetMaterialPropertiesTable(), and PHG4Detector::Verbosity().

Referenced by ConstructTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4LFHcalDetector::IsInLFHcal ( G4VPhysicalVolume volume) const

Definition at line 69 of file PHG4LFHcalDetector.cc.

View newest version in sPHENIX GitHub at line 69 of file PHG4LFHcalDetector.cc

References G4VPhysicalVolume::GetLogicalVolume(), m_AbsorberActiveFlag, m_AbsorberLogicalVolSet, m_ActiveFlag, and m_ScintiLogicalVolSet.

Referenced by PHG4LFHcalSteppingAction::UserSteppingAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4LFHcalDetector::MakeBoundary ( G4VPhysicalVolume crystal,
G4VPhysicalVolume opdet,
bool  isFiber 
)
private

Definition at line 813 of file PHG4LFHcalDetector.cc.

View newest version in sPHENIX GitHub at line 813 of file PHG4LFHcalDetector.cc

References G4MaterialPropertiesTable::AddProperty(), dielectric_dielectric, eV, glisur, polished, G4OpticalSurface::SetFinish(), G4OpticalSurface::SetMaterialPropertiesTable(), G4OpticalSurface::SetModel(), and G4OpticalSurface::SetType().

Referenced by ConstructTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4LFHcalDetector::MakeBoundary_Fiber_Scint ( G4VPhysicalVolume crystal,
G4VPhysicalVolume opdet 
)
private

Definition at line 845 of file PHG4LFHcalDetector.cc.

View newest version in sPHENIX GitHub at line 845 of file PHG4LFHcalDetector.cc

References G4MaterialPropertiesTable::AddProperty(), dielectric_dielectric, dielectric_metal, eV, glisur, groundair, polished, G4OpticalSurface::SetFinish(), G4OpticalSurface::SetMaterialPropertiesTable(), G4OpticalSurface::SetModel(), and G4OpticalSurface::SetType().

Referenced by ConstructTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4LFHcalDetector::ParseParametersFromTable ( )
private

TODO make this better!

Definition at line 905 of file PHG4LFHcalDetector.cc.

View newest version in sPHENIX GitHub at line 905 of file PHG4LFHcalDetector.cc

References cm, deg, PHParameters::get_double_param(), PHParameters::get_int_param(), PHParameters::get_string_param(), PHG4LFHcalDetector::towerposition::idx_j, PHG4LFHcalDetector::towerposition::idx_k, m_GlobalParameterMap, m_Params, m_TowerLogicNamePrefix, m_TowerPostionMap, rad, PHParameters::set_double_param(), PHParameters::set_int_param(), G4HCALOUT::size_z, PHG4Detector::Verbosity(), PHG4LFHcalDetector::towerposition::x, PHG4LFHcalDetector::towerposition::y, and PHG4LFHcalDetector::towerposition::z.

Referenced by PHG4LFHcalDetector().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4LFHcalDetector::PlaceTower ( G4LogicalVolume envelope,
G4LogicalVolume tower 
)
private

Definition at line 604 of file PHG4LFHcalDetector.cc.

View newest version in sPHENIX GitHub at line 604 of file PHG4LFHcalDetector.cc

References m_TowerPostionMap, PHG4Detector::OverlapCheck(), and PHG4Detector::Verbosity().

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 43 of file PHG4LFHcalDetector.h.

View newest version in sPHENIX GitHub at line 43 of file PHG4LFHcalDetector.h

References m_SuperDetector.

Referenced by PHG4LFHcalSubsystem::InitRunSubsystem(), and PHG4LFHcalSteppingAction::SetInterfacePointers().

+ Here is the caller graph for this function:

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

Definition at line 44 of file PHG4LFHcalDetector.h.

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

References m_SuperDetector.

void PHG4LFHcalDetector::SurfaceTable ( G4LogicalVolume vol)
private

Definition at line 723 of file PHG4LFHcalDetector.cc.

View newest version in sPHENIX GitHub at line 723 of file PHG4LFHcalDetector.cc

References G4MaterialPropertiesTable::AddProperty(), dielectric_metal, eV, glisur, polished, G4OpticalSurface::SetFinish(), G4OpticalSurface::SetMaterialPropertiesTable(), G4OpticalSurface::SetModel(), G4OpticalSurface::SetType(), and surface().

+ Here is the call graph for this function:

Member Data Documentation

int PHG4LFHcalDetector::m_AbsorberActiveFlag = 0
private

Definition at line 75 of file PHG4LFHcalDetector.h.

View newest version in sPHENIX GitHub at line 75 of file PHG4LFHcalDetector.h

Referenced by IsInLFHcal().

std::set<G4LogicalVolume *> PHG4LFHcalDetector::m_AbsorberLogicalVolSet
private

Definition at line 84 of file PHG4LFHcalDetector.h.

View newest version in sPHENIX GitHub at line 84 of file PHG4LFHcalDetector.h

Referenced by ConstructTower(), and IsInLFHcal().

int PHG4LFHcalDetector::m_ActiveFlag = 1
private

Definition at line 74 of file PHG4LFHcalDetector.h.

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

Referenced by IsInLFHcal().

PHG4LFHcalDisplayAction* PHG4LFHcalDetector::m_DisplayAction = nullptr
private

Definition at line 71 of file PHG4LFHcalDetector.h.

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

Referenced by ConstructMe(), and ConstructTower().

bool PHG4LFHcalDetector::m_doLightProp = false
private

Definition at line 87 of file PHG4LFHcalDetector.h.

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

Referenced by ConstructTower(), DoFullLightProp(), GetScintillatorMaterial(), and GetWLSFiberMaterial().

std::map<std::string, G4double> PHG4LFHcalDetector::m_GlobalParameterMap
private

Definition at line 81 of file PHG4LFHcalDetector.h.

View newest version in sPHENIX GitHub at line 81 of file PHG4LFHcalDetector.h

Referenced by ParseParametersFromTable().

int PHG4LFHcalDetector::m_Layer = 0
private

Definition at line 76 of file PHG4LFHcalDetector.h.

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

Referenced by get_Layer().

PHParameters* PHG4LFHcalDetector::m_Params = nullptr
private

Definition at line 72 of file PHG4LFHcalDetector.h.

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

Referenced by ConstructMe(), ConstructTower(), getParamsDet(), ParseParametersFromTable(), and PHG4LFHcalDetector().

std::set<G4LogicalVolume *> PHG4LFHcalDetector::m_ScintiLogicalVolSet
private

Definition at line 85 of file PHG4LFHcalDetector.h.

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

Referenced by ConstructTower(), and IsInLFHcal().

std::string PHG4LFHcalDetector::m_SuperDetector
private

Definition at line 79 of file PHG4LFHcalDetector.h.

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

Referenced by SuperDetector().

std::string PHG4LFHcalDetector::m_TowerLogicNamePrefix
private

Definition at line 78 of file PHG4LFHcalDetector.h.

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

Referenced by ConstructMe(), ConstructTower(), and ParseParametersFromTable().

std::map<std::string, towerposition> PHG4LFHcalDetector::m_TowerPostionMap
private

Definition at line 82 of file PHG4LFHcalDetector.h.

View newest version in sPHENIX GitHub at line 82 of file PHG4LFHcalDetector.h

Referenced by ParseParametersFromTable(), and PlaceTower().


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