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

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

+ Inheritance diagram for PHG4HybridHomogeneousCalorimeterDetector:
+ Collaboration diagram for PHG4HybridHomogeneousCalorimeterDetector:

Classes

struct  towerposition
 

Public Member Functions

 PHG4HybridHomogeneousCalorimeterDetector (PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam)
 constructor
 
virtual ~PHG4HybridHomogeneousCalorimeterDetector ()
 destructor
 
virtual void ConstructMe (G4LogicalVolume *world)
 construct
 
virtual int IsInCrystalCalorimeter (G4VPhysicalVolume *) const
 check if volume is in this calorimeter
 
void SuperDetector (const std::string &name)
 
const std::string SuperDetector () const
 
int get_DetectorId () const
 
void DetectorId (const int i)
 
void DoFullLightProp (bool doProp)
 
PHParametersGetParams ()
 
- 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 ()
 

Protected Member Functions

PHG4HybridHomogeneousCalorimeterDisplayActionGetDisplayAction ()
 
G4MaterialGetCarbonFiber ()
 
virtual int GetCaloType () const
 

Private Member Functions

G4LogicalVolumeConstructSupportFrame (G4LogicalVolume *envelope)
 
G4LogicalVolumeConstructTower ()
 
int PlaceTower (G4LogicalVolume *envelope, G4LogicalVolume *tower)
 
G4MaterialGetScintillatorMaterial (float setting)
 
G4MaterialGetTedlarMaterial ()
 
G4MaterialGetVM2000Material ()
 
int ParseParametersFromTable ()
 
void CrystalTable (G4Material *mat)
 
void SurfaceTable (G4LogicalVolume *vol)
 
void MakeBoundary (G4VPhysicalVolume *vol1, G4VPhysicalVolume *vol2)
 

Private Attributes

int m_DetectorId = 0
 
std::string m_SuperDetector
 
PHParametersm_Params = nullptr
 
PHG4HybridHomogeneousCalorimeterDisplayActionm_DisplayAction = nullptr
 
std::string _towerlogicnameprefix
 
std::map< std::string, G4double_map_global_parameter
 
std::map< std::string,
towerposition
_map_tower
 
std::set< G4VPhysicalVolume * > m_ActiveVolumeSet
 
std::set< G4VPhysicalVolume * > m_PassiveVolumeSet
 
int m_IsActive
 
int m_AbsorberActive
 
bool m_doLightProp
 

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 PHG4HybridHomogeneousCalorimeterDetector.h.

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

Constructor & Destructor Documentation

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

constructor

Definition at line 47 of file PHG4HybridHomogeneousCalorimeterDetector.cc.

View newest version in sPHENIX GitHub at line 47 of file PHG4HybridHomogeneousCalorimeterDetector.cc

virtual PHG4HybridHomogeneousCalorimeterDetector::~PHG4HybridHomogeneousCalorimeterDetector ( )
inlinevirtual

destructor

Definition at line 35 of file PHG4HybridHomogeneousCalorimeterDetector.h.

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

Member Function Documentation

void PHG4HybridHomogeneousCalorimeterDetector::ConstructMe ( G4LogicalVolume world)
virtual

construct

Implements PHG4Detector.

Definition at line 80 of file PHG4HybridHomogeneousCalorimeterDetector.cc.

View newest version in sPHENIX GitHub at line 80 of file PHG4HybridHomogeneousCalorimeterDetector.cc

References ConstructTower(), g4zmq::exit(), PHParameters::get_string_param(), m_Params, ParseParametersFromTable(), PlaceTower(), and PHG4Detector::Verbosity().

+ Here is the call graph for this function:

G4LogicalVolume * PHG4HybridHomogeneousCalorimeterDetector::ConstructSupportFrame ( G4LogicalVolume envelope)
private

Definition at line 109 of file PHG4HybridHomogeneousCalorimeterDetector.cc.

View newest version in sPHENIX GitHub at line 109 of file PHG4HybridHomogeneousCalorimeterDetector.cc

References PHG4HybridHomogeneousCalorimeterDisplayAction::AddVolume(), cm, PHParameters::get_double_param(), PHG4Detector::GetDetectorMaterial(), GetDisplayAction(), m_Params, M_PI, PHG4Detector::OverlapCheck(), rad, and CLHEP::HepRotation::rotateZ().

+ Here is the call graph for this function:

G4LogicalVolume * PHG4HybridHomogeneousCalorimeterDetector::ConstructTower ( )
private

Definition at line 145 of file PHG4HybridHomogeneousCalorimeterDetector.cc.

View newest version in sPHENIX GitHub at line 145 of file PHG4HybridHomogeneousCalorimeterDetector.cc

References _towerlogicnameprefix, PHG4HybridHomogeneousCalorimeterDisplayAction::AddVolume(), cm, CrystalTable(), PHParameters::get_double_param(), PHParameters::get_int_param(), PHFlag::get_StringFlag(), GetCarbonFiber(), PHG4Detector::GetDetectorMaterial(), GetDisplayAction(), GetScintillatorMaterial(), GetTedlarMaterial(), GetVM2000Material(), recoConsts::instance(), m_ActiveVolumeSet, m_doLightProp, m_Params, m_PassiveVolumeSet, MakeBoundary(), mm, PHG4Detector::OverlapCheck(), SurfaceTable(), 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 PHG4HybridHomogeneousCalorimeterDetector::CrystalTable ( G4Material mat)
private

Definition at line 475 of file PHG4HybridHomogeneousCalorimeterDetector.cc.

View newest version in sPHENIX GitHub at line 475 of file PHG4HybridHomogeneousCalorimeterDetector.cc

References G4MaterialPropertiesTable::AddConstProperty(), G4MaterialPropertiesTable::AddProperty(), cm, eV, G4Material::GetMaterialPropertiesTable(), MeV, ns, G4Material::SetMaterialPropertiesTable(), and tab().

Referenced by ConstructTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4HybridHomogeneousCalorimeterDetector::DetectorId ( const int  i)
inline

Definition at line 49 of file PHG4HybridHomogeneousCalorimeterDetector.h.

View newest version in sPHENIX GitHub at line 49 of file PHG4HybridHomogeneousCalorimeterDetector.h

References m_DetectorId.

Referenced by PHG4HybridHomogeneousCalorimeterSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

void PHG4HybridHomogeneousCalorimeterDetector::DoFullLightProp ( bool  doProp)
inline

Definition at line 50 of file PHG4HybridHomogeneousCalorimeterDetector.h.

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

References m_doLightProp.

Referenced by PHG4HybridHomogeneousCalorimeterSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

int PHG4HybridHomogeneousCalorimeterDetector::get_DetectorId ( ) const
inline

Definition at line 48 of file PHG4HybridHomogeneousCalorimeterDetector.h.

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

References m_DetectorId.

Referenced by PHG4HybridHomogeneousCalorimeterSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

virtual int PHG4HybridHomogeneousCalorimeterDetector::GetCaloType ( ) const
inlineprotectedvirtual

Definition at line 59 of file PHG4HybridHomogeneousCalorimeterDetector.h.

View newest version in sPHENIX GitHub at line 59 of file PHG4HybridHomogeneousCalorimeterDetector.h

References PHG4CrystalCalorimeterDefs::nonprojective.

Referenced by IsInCrystalCalorimeter().

+ Here is the caller graph for this function:

G4Material * PHG4HybridHomogeneousCalorimeterDetector::GetCarbonFiber ( )
protected

Definition at line 850 of file PHG4HybridHomogeneousCalorimeterDetector.cc.

View newest version in sPHENIX GitHub at line 850 of file PHG4HybridHomogeneousCalorimeterDetector.cc

References G4Material::AddElement(), cm3, Acts::UnitConstants::g, PHG4Detector::GetDetectorMaterial(), and G4Element::GetElement().

Referenced by ConstructTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

PHG4HybridHomogeneousCalorimeterDisplayAction* PHG4HybridHomogeneousCalorimeterDetector::GetDisplayAction ( )
inlineprotected

Definition at line 57 of file PHG4HybridHomogeneousCalorimeterDetector.h.

View newest version in sPHENIX GitHub at line 57 of file PHG4HybridHomogeneousCalorimeterDetector.h

References m_DisplayAction.

Referenced by ConstructSupportFrame(), and ConstructTower().

+ Here is the caller graph for this function:

PHParameters* PHG4HybridHomogeneousCalorimeterDetector::GetParams ( )
inline

Definition at line 54 of file PHG4HybridHomogeneousCalorimeterDetector.h.

View newest version in sPHENIX GitHub at line 54 of file PHG4HybridHomogeneousCalorimeterDetector.h

References m_Params.

G4Material * PHG4HybridHomogeneousCalorimeterDetector::GetScintillatorMaterial ( float  setting)
private

Definition at line 386 of file PHG4HybridHomogeneousCalorimeterDetector.cc.

View newest version in sPHENIX GitHub at line 386 of file PHG4HybridHomogeneousCalorimeterDetector.cc

References G4Material::AddElement(), cm3, Acts::UnitConstants::g, PHG4Detector::GetDetectorMaterial(), mole, perCent, and PHG4Detector::Verbosity().

Referenced by ConstructTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Material * PHG4HybridHomogeneousCalorimeterDetector::GetTedlarMaterial ( )
private

Definition at line 558 of file PHG4HybridHomogeneousCalorimeterDetector.cc.

View newest version in sPHENIX GitHub at line 558 of file PHG4HybridHomogeneousCalorimeterDetector.cc

References G4Material::AddElement(), cm3, Acts::UnitConstants::g, PHG4Detector::GetDetectorMaterial(), and G4Element::GetElement().

Referenced by ConstructTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Material * PHG4HybridHomogeneousCalorimeterDetector::GetVM2000Material ( )
private

Definition at line 573 of file PHG4HybridHomogeneousCalorimeterDetector.cc.

View newest version in sPHENIX GitHub at line 573 of file PHG4HybridHomogeneousCalorimeterDetector.cc

References G4Material::AddElement(), G4MaterialPropertiesTable::AddProperty(), cm3, eV, Acts::UnitConstants::g, PHG4Detector::GetDetectorMaterial(), G4Element::GetElement(), and G4Material::SetMaterialPropertiesTable().

Referenced by ConstructTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4HybridHomogeneousCalorimeterDetector::IsInCrystalCalorimeter ( G4VPhysicalVolume volume) const
virtual

check if volume is in this calorimeter

Definition at line 60 of file PHG4HybridHomogeneousCalorimeterDetector.cc.

View newest version in sPHENIX GitHub at line 60 of file PHG4HybridHomogeneousCalorimeterDetector.cc

References GetCaloType(), m_AbsorberActive, m_ActiveVolumeSet, m_IsActive, and m_PassiveVolumeSet.

Referenced by PHG4HybridHomogeneousCalorimeterSteppingAction::UserSteppingAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4HybridHomogeneousCalorimeterDetector::MakeBoundary ( G4VPhysicalVolume vol1,
G4VPhysicalVolume vol2 
)
private

Definition at line 529 of file PHG4HybridHomogeneousCalorimeterDetector.cc.

View newest version in sPHENIX GitHub at line 529 of file PHG4HybridHomogeneousCalorimeterDetector.cc

References G4MaterialPropertiesTable::AddProperty(), dielectric_metal, 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:

int PHG4HybridHomogeneousCalorimeterDetector::ParseParametersFromTable ( )
private

Definition at line 604 of file PHG4HybridHomogeneousCalorimeterDetector.cc.

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

References _map_global_parameter, _map_tower, _towerlogicnameprefix, cm, deg, PHParameters::get_string_param(), PHG4HybridHomogeneousCalorimeterDetector::towerposition::idx_j, PHG4HybridHomogeneousCalorimeterDetector::towerposition::idx_k, m_Params, rad, PHParameters::set_double_param(), PHParameters::set_int_param(), G4HCALOUT::size_z, PHG4Detector::Verbosity(), PHG4HybridHomogeneousCalorimeterDetector::towerposition::x, PHG4HybridHomogeneousCalorimeterDetector::towerposition::y, and PHG4HybridHomogeneousCalorimeterDetector::towerposition::z.

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 361 of file PHG4HybridHomogeneousCalorimeterDetector.cc.

View newest version in sPHENIX GitHub at line 361 of file PHG4HybridHomogeneousCalorimeterDetector.cc

References _map_tower, 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 PHG4HybridHomogeneousCalorimeterDetector::SuperDetector ( const std::string &  name)
inline

Definition at line 45 of file PHG4HybridHomogeneousCalorimeterDetector.h.

View newest version in sPHENIX GitHub at line 45 of file PHG4HybridHomogeneousCalorimeterDetector.h

References m_SuperDetector.

Referenced by PHG4HybridHomogeneousCalorimeterSubsystem::InitRunSubsystem(), and PHG4HybridHomogeneousCalorimeterSteppingAction::SetInterfacePointers().

+ Here is the caller graph for this function:

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

Definition at line 46 of file PHG4HybridHomogeneousCalorimeterDetector.h.

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

References m_SuperDetector.

void PHG4HybridHomogeneousCalorimeterDetector::SurfaceTable ( G4LogicalVolume vol)
private

Definition at line 507 of file PHG4HybridHomogeneousCalorimeterDetector.cc.

View newest version in sPHENIX GitHub at line 507 of file PHG4HybridHomogeneousCalorimeterDetector.cc

References G4MaterialPropertiesTable::AddProperty(), dielectric_metal, eV, polished, G4OpticalSurface::SetMaterialPropertiesTable(), surface(), and unified.

Referenced by ConstructTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

std::map<std::string, G4double> PHG4HybridHomogeneousCalorimeterDetector::_map_global_parameter
private

Definition at line 91 of file PHG4HybridHomogeneousCalorimeterDetector.h.

View newest version in sPHENIX GitHub at line 91 of file PHG4HybridHomogeneousCalorimeterDetector.h

Referenced by ParseParametersFromTable().

std::map<std::string, towerposition> PHG4HybridHomogeneousCalorimeterDetector::_map_tower
private

Definition at line 92 of file PHG4HybridHomogeneousCalorimeterDetector.h.

View newest version in sPHENIX GitHub at line 92 of file PHG4HybridHomogeneousCalorimeterDetector.h

Referenced by ParseParametersFromTable(), and PlaceTower().

std::string PHG4HybridHomogeneousCalorimeterDetector::_towerlogicnameprefix
private

Definition at line 89 of file PHG4HybridHomogeneousCalorimeterDetector.h.

View newest version in sPHENIX GitHub at line 89 of file PHG4HybridHomogeneousCalorimeterDetector.h

Referenced by ConstructTower(), and ParseParametersFromTable().

int PHG4HybridHomogeneousCalorimeterDetector::m_AbsorberActive
private

Definition at line 99 of file PHG4HybridHomogeneousCalorimeterDetector.h.

View newest version in sPHENIX GitHub at line 99 of file PHG4HybridHomogeneousCalorimeterDetector.h

Referenced by IsInCrystalCalorimeter().

std::set<G4VPhysicalVolume *> PHG4HybridHomogeneousCalorimeterDetector::m_ActiveVolumeSet
private

Definition at line 93 of file PHG4HybridHomogeneousCalorimeterDetector.h.

View newest version in sPHENIX GitHub at line 93 of file PHG4HybridHomogeneousCalorimeterDetector.h

Referenced by ConstructTower(), and IsInCrystalCalorimeter().

int PHG4HybridHomogeneousCalorimeterDetector::m_DetectorId = 0
private

Definition at line 81 of file PHG4HybridHomogeneousCalorimeterDetector.h.

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

Referenced by DetectorId(), and get_DetectorId().

PHG4HybridHomogeneousCalorimeterDisplayAction* PHG4HybridHomogeneousCalorimeterDetector::m_DisplayAction = nullptr
private

Definition at line 87 of file PHG4HybridHomogeneousCalorimeterDetector.h.

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

Referenced by GetDisplayAction().

bool PHG4HybridHomogeneousCalorimeterDetector::m_doLightProp
private

Definition at line 100 of file PHG4HybridHomogeneousCalorimeterDetector.h.

View newest version in sPHENIX GitHub at line 100 of file PHG4HybridHomogeneousCalorimeterDetector.h

Referenced by ConstructTower(), and DoFullLightProp().

int PHG4HybridHomogeneousCalorimeterDetector::m_IsActive
private

Definition at line 98 of file PHG4HybridHomogeneousCalorimeterDetector.h.

View newest version in sPHENIX GitHub at line 98 of file PHG4HybridHomogeneousCalorimeterDetector.h

Referenced by IsInCrystalCalorimeter().

PHParameters* PHG4HybridHomogeneousCalorimeterDetector::m_Params = nullptr
private
std::set<G4VPhysicalVolume *> PHG4HybridHomogeneousCalorimeterDetector::m_PassiveVolumeSet
private

Definition at line 94 of file PHG4HybridHomogeneousCalorimeterDetector.h.

View newest version in sPHENIX GitHub at line 94 of file PHG4HybridHomogeneousCalorimeterDetector.h

Referenced by ConstructTower(), and IsInCrystalCalorimeter().

std::string PHG4HybridHomogeneousCalorimeterDetector::m_SuperDetector
private

Definition at line 83 of file PHG4HybridHomogeneousCalorimeterDetector.h.

View newest version in sPHENIX GitHub at line 83 of file PHG4HybridHomogeneousCalorimeterDetector.h

Referenced by SuperDetector().


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