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

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

+ Inheritance diagram for PHG4BarrelEcalDetector:
+ Collaboration diagram for PHG4BarrelEcalDetector:

Classes

struct  towerposition
 

Public Member Functions

 PHG4BarrelEcalDetector (PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam)
 constructor
 
virtual ~PHG4BarrelEcalDetector ()
 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 G4UserSteppingAction * GetSteppingAction ()
 
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

G4double Radius = 85. * cm
 BECAL parameters.
 
G4double tower_length = 45.5 * cm
 
const int nTowers_layer = 128.
 
const double becal_length = 415 * cm
 
const double th = 1.
 
const double overlap = 0.1
 
G4double silicon_width_half
 
G4double kapton_width_half
 
G4double SIO2_width_half
 
G4double Carbon_width_half
 
G4double support_length
 
PHG4BarrelEcalDisplayActionm_DisplayAction = nullptr
 
PHParametersm_Params = nullptr
 
int m_ActiveFlag = 1
 
int m_AbsorberActiveFlag = 0
 
int m_SupportActiveFlag = 0
 
int m_Layer = 0
 
std::string m_TowerLogicNamePrefix
 
std::string m_SuperDetector
 
std::map< std::string, G4double > m_GlobalParameterMap
 
std::map< std::string,
towerposition
m_TowerPostionMap
 
std::set< G4LogicalVolume * > m_AbsorberLogicalVolSet
 
std::set< G4LogicalVolume * > m_ScintiLogicalVolSet
 
std::set< G4LogicalVolume * > m_SupportLogicalVolSet
 
PHG4GDMLConfiggdml_config = nullptr
 registry for volumes that should not be exported, i.e. fibers
 
int IsInBarrelEcal (G4VPhysicalVolume *) const
 
void SuperDetector (const std::string &name)
 
const std::string SuperDetector () const
 
int get_Layer () const
 
int PlaceTower (G4LogicalVolume *envelope)
 
int ParseParametersFromTable ()
 
G4Material * GetCarbonFiber ()
 
G4Material * GetSciGlass ()
 
G4Trap * GetTowerTrap (std::map< std::string, towerposition >::iterator iterator)
 
G4Trap * GetSiTrap (std::map< std::string, towerposition >::iterator iterator)
 
G4Trap * GetGlassTrap (std::map< std::string, towerposition >::iterator iterator)
 
G4Trap * GetKaptonTrap (std::map< std::string, towerposition >::iterator iterator)
 
G4Trap * GetSIO2Trap (std::map< std::string, towerposition >::iterator iterator)
 
G4Trap * GetCarbonTrap (std::map< std::string, towerposition >::iterator iterator)
 
G4LogicalVolume * GetTowerSci (std::map< std::string, towerposition >::iterator iterator)
 
G4Trap * GetGlassTrapSubtract (std::map< std::string, towerposition >::iterator iterator)
 
G4LogicalVolume * ConstructTower (std::map< std::string, towerposition >::iterator iterator)
 
G4LogicalVolume * ConstructGlass (std::map< std::string, towerposition >::iterator iterator)
 
G4LogicalVolume * ConstructSi (std::map< std::string, towerposition >::iterator iterator)
 
G4LogicalVolume * ConstructKapton (std::map< std::string, towerposition >::iterator iterator)
 
G4LogicalVolume * ConstructSIO2 (std::map< std::string, towerposition >::iterator iterator)
 
G4LogicalVolume * ConstructCarbon (std::map< std::string, towerposition >::iterator iterator)
 

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)
 

Detailed Description

Definition at line 33 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 33 of file PHG4BarrelEcalDetector.h

Constructor & Destructor Documentation

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

constructor

Definition at line 45 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 45 of file PHG4BarrelEcalDetector.cc

References gdml_config, and PHG4GDMLUtility::GetOrMakeConfigNode().

+ Here is the call graph for this function:

virtual PHG4BarrelEcalDetector::~PHG4BarrelEcalDetector ( )
inlinevirtual

destructor

Definition at line 40 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 40 of file PHG4BarrelEcalDetector.h

Member Function Documentation

G4LogicalVolume * PHG4BarrelEcalDetector::ConstructCarbon ( std::map< std::string, towerposition >::iterator  iterator)
private

Definition at line 702 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 702 of file PHG4BarrelEcalDetector.cc

References GetCarbonTrap(), and PHG4Detector::GetDetectorMaterial().

Referenced by PlaceTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4LogicalVolume * PHG4BarrelEcalDetector::ConstructGlass ( std::map< std::string, towerposition >::iterator  iterator)
private

Definition at line 488 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 488 of file PHG4BarrelEcalDetector.cc

References GetGlassTrap(), GetSciGlass(), and m_ScintiLogicalVolSet.

Referenced by PlaceTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4LogicalVolume * PHG4BarrelEcalDetector::ConstructKapton ( std::map< std::string, towerposition >::iterator  iterator)
private

Definition at line 639 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 639 of file PHG4BarrelEcalDetector.cc

References PHG4Detector::GetDetectorMaterial(), and GetKaptonTrap().

Referenced by PlaceTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4BarrelEcalDetector::ConstructMe ( G4LogicalVolume *  world)
virtual
G4LogicalVolume * PHG4BarrelEcalDetector::ConstructSi ( std::map< std::string, towerposition >::iterator  iterator)
private

Definition at line 609 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 609 of file PHG4BarrelEcalDetector.cc

References PHG4Detector::GetDetectorMaterial(), and GetSiTrap().

Referenced by PlaceTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4LogicalVolume * PHG4BarrelEcalDetector::ConstructSIO2 ( std::map< std::string, towerposition >::iterator  iterator)
private

Definition at line 670 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 670 of file PHG4BarrelEcalDetector.cc

References PHG4Detector::GetDetectorMaterial(), and GetSIO2Trap().

Referenced by PlaceTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4LogicalVolume * PHG4BarrelEcalDetector::ConstructTower ( std::map< std::string, towerposition >::iterator  iterator)
private

Definition at line 471 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 471 of file PHG4BarrelEcalDetector.cc

References kdfinder::abs(), cos(), GetCarbonFiber(), GetGlassTrapSubtract(), GetTowerTrap(), m_AbsorberLogicalVolSet, and th.

Referenced by PlaceTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4BarrelEcalDetector::get_Layer ( ) const
inline

Definition at line 51 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 51 of file PHG4BarrelEcalDetector.h

References m_Layer.

Referenced by PHG4BarrelEcalSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

G4Material * PHG4BarrelEcalDetector::GetCarbonFiber ( )
private

Definition at line 500 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 500 of file PHG4BarrelEcalDetector.cc

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

Referenced by ConstructTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Trap * PHG4BarrelEcalDetector::GetCarbonTrap ( std::map< std::string, towerposition >::iterator  iterator)
private

Definition at line 681 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 681 of file PHG4BarrelEcalDetector.cc

References Carbon_width_half, overlap, and G4CTD::size_z.

Referenced by ConstructCarbon().

+ Here is the caller graph for this function:

G4Trap * PHG4BarrelEcalDetector::GetGlassTrap ( std::map< std::string, towerposition >::iterator  iterator)
private

Definition at line 532 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 532 of file PHG4BarrelEcalDetector.cc

References Acts::UnitConstants::cm, PHParameters::get_double_param(), m_Params, G4CTD::size_z, and th.

Referenced by ConstructGlass().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Trap * PHG4BarrelEcalDetector::GetGlassTrapSubtract ( std::map< std::string, towerposition >::iterator  iterator)
private

Definition at line 567 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 567 of file PHG4BarrelEcalDetector.cc

References Acts::UnitConstants::cm, PHParameters::get_double_param(), m_Params, overlap, G4CTD::size_z, and th.

Referenced by ConstructTower().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Trap * PHG4BarrelEcalDetector::GetKaptonTrap ( std::map< std::string, towerposition >::iterator  iterator)
private

Definition at line 620 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 620 of file PHG4BarrelEcalDetector.cc

References kapton_width_half, overlap, and G4CTD::size_z.

Referenced by ConstructKapton().

+ Here is the caller graph for this function:

G4Material * PHG4BarrelEcalDetector::GetSciGlass ( )
private

Definition at line 513 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 513 of file PHG4BarrelEcalDetector.cc

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

Referenced by ConstructGlass().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Trap * PHG4BarrelEcalDetector::GetSIO2Trap ( std::map< std::string, towerposition >::iterator  iterator)
private

Definition at line 650 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 650 of file PHG4BarrelEcalDetector.cc

References overlap, SIO2_width_half, and G4CTD::size_z.

Referenced by ConstructSIO2().

+ Here is the caller graph for this function:

G4Trap * PHG4BarrelEcalDetector::GetSiTrap ( std::map< std::string, towerposition >::iterator  iterator)
private

Definition at line 588 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 588 of file PHG4BarrelEcalDetector.cc

References overlap, silicon_width_half, and G4CTD::size_z.

Referenced by ConstructSi().

+ Here is the caller graph for this function:

G4LogicalVolume* PHG4BarrelEcalDetector::GetTowerSci ( std::map< std::string, towerposition >::iterator  iterator)
private
G4Trap * PHG4BarrelEcalDetector::GetTowerTrap ( std::map< std::string, towerposition >::iterator  iterator)
private

Definition at line 553 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 553 of file PHG4BarrelEcalDetector.cc

Referenced by ConstructTower().

+ Here is the caller graph for this function:

int PHG4BarrelEcalDetector::IsInBarrelEcal ( G4VPhysicalVolume *  volume) const

Definition at line 59 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 59 of file PHG4BarrelEcalDetector.cc

References m_AbsorberActiveFlag, m_AbsorberLogicalVolSet, m_ActiveFlag, m_ScintiLogicalVolSet, m_SupportActiveFlag, and m_SupportLogicalVolSet.

Referenced by PHG4BarrelEcalSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

int PHG4BarrelEcalDetector::PlaceTower ( G4LogicalVolume *  envelope)
private

Definition at line 178 of file PHG4BarrelEcalDetector.cc.

View newest version in sPHENIX GitHub at line 178 of file PHG4BarrelEcalDetector.cc

References kdfinder::abs(), PHG4BarrelEcalDisplayAction::AddVolume(), Carbon_width_half, ConstructCarbon(), ConstructGlass(), ConstructKapton(), ConstructSi(), ConstructSIO2(), ConstructTower(), cos(), kapton_width_half, m_DisplayAction, m_TowerPostionMap, overlap, PHG4Detector::OverlapCheck(), silicon_width_half, SIO2_width_half, th, theta(), tower_length, and PHG4Detector::Verbosity().

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 48 of file PHG4BarrelEcalDetector.h.

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

References m_SuperDetector, and name.

Referenced by PHG4BarrelEcalSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

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

Definition at line 49 of file PHG4BarrelEcalDetector.h.

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

References m_SuperDetector.

Member Data Documentation

const double PHG4BarrelEcalDetector::becal_length = 415 * cm
private

Definition at line 60 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 60 of file PHG4BarrelEcalDetector.h

Referenced by ConstructMe().

G4double PHG4BarrelEcalDetector::Carbon_width_half
private

Definition at line 67 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 67 of file PHG4BarrelEcalDetector.h

Referenced by ConstructMe(), GetCarbonTrap(), and PlaceTower().

PHG4GDMLConfig* PHG4BarrelEcalDetector::gdml_config = nullptr
private

registry for volumes that should not be exported, i.e. fibers

Definition at line 130 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 130 of file PHG4BarrelEcalDetector.h

Referenced by ConstructMe(), and PHG4BarrelEcalDetector().

G4double PHG4BarrelEcalDetector::kapton_width_half
private

Definition at line 65 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 65 of file PHG4BarrelEcalDetector.h

Referenced by ConstructMe(), GetKaptonTrap(), and PlaceTower().

int PHG4BarrelEcalDetector::m_AbsorberActiveFlag = 0
private

Definition at line 114 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 114 of file PHG4BarrelEcalDetector.h

Referenced by IsInBarrelEcal().

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

Definition at line 125 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 125 of file PHG4BarrelEcalDetector.h

Referenced by ConstructTower(), and IsInBarrelEcal().

int PHG4BarrelEcalDetector::m_ActiveFlag = 1
private

Definition at line 113 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 113 of file PHG4BarrelEcalDetector.h

Referenced by IsInBarrelEcal().

PHG4BarrelEcalDisplayAction* PHG4BarrelEcalDetector::m_DisplayAction = nullptr
private

Definition at line 110 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 110 of file PHG4BarrelEcalDetector.h

Referenced by ConstructMe(), and PlaceTower().

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

Definition at line 122 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 122 of file PHG4BarrelEcalDetector.h

Referenced by ParseParametersFromTable().

int PHG4BarrelEcalDetector::m_Layer = 0
private

Definition at line 116 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 116 of file PHG4BarrelEcalDetector.h

Referenced by get_Layer().

PHParameters* PHG4BarrelEcalDetector::m_Params = nullptr
private

Definition at line 111 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 111 of file PHG4BarrelEcalDetector.h

Referenced by ConstructMe(), GetGlassTrap(), GetGlassTrapSubtract(), and ParseParametersFromTable().

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

Definition at line 126 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 126 of file PHG4BarrelEcalDetector.h

Referenced by ConstructGlass(), and IsInBarrelEcal().

std::string PHG4BarrelEcalDetector::m_SuperDetector
private

Definition at line 120 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 120 of file PHG4BarrelEcalDetector.h

Referenced by SuperDetector().

int PHG4BarrelEcalDetector::m_SupportActiveFlag = 0
private

Definition at line 115 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 115 of file PHG4BarrelEcalDetector.h

Referenced by IsInBarrelEcal().

std::set<G4LogicalVolume *> PHG4BarrelEcalDetector::m_SupportLogicalVolSet
private

Definition at line 127 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 127 of file PHG4BarrelEcalDetector.h

Referenced by IsInBarrelEcal().

std::string PHG4BarrelEcalDetector::m_TowerLogicNamePrefix
private

Definition at line 119 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 119 of file PHG4BarrelEcalDetector.h

Referenced by ConstructMe(), and ParseParametersFromTable().

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

Definition at line 123 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 123 of file PHG4BarrelEcalDetector.h

Referenced by ParseParametersFromTable(), and PlaceTower().

const int PHG4BarrelEcalDetector::nTowers_layer = 128.
private

Definition at line 59 of file PHG4BarrelEcalDetector.h.

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

const double PHG4BarrelEcalDetector::overlap = 0.1
private

Definition at line 62 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 62 of file PHG4BarrelEcalDetector.h

Referenced by ConstructMe(), GetCarbonTrap(), GetGlassTrapSubtract(), GetKaptonTrap(), GetSIO2Trap(), GetSiTrap(), and PlaceTower().

G4double PHG4BarrelEcalDetector::Radius = 85. * cm
private

BECAL parameters.

Definition at line 56 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 56 of file PHG4BarrelEcalDetector.h

Referenced by ConstructMe().

G4double PHG4BarrelEcalDetector::silicon_width_half
private

Definition at line 64 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 64 of file PHG4BarrelEcalDetector.h

Referenced by ConstructMe(), GetSiTrap(), and PlaceTower().

G4double PHG4BarrelEcalDetector::SIO2_width_half
private

Definition at line 66 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 66 of file PHG4BarrelEcalDetector.h

Referenced by ConstructMe(), GetSIO2Trap(), and PlaceTower().

G4double PHG4BarrelEcalDetector::support_length
private

Definition at line 68 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 68 of file PHG4BarrelEcalDetector.h

Referenced by ConstructMe().

const double PHG4BarrelEcalDetector::th = 1.
private

Definition at line 61 of file PHG4BarrelEcalDetector.h.

View newest version in sPHENIX GitHub at line 61 of file PHG4BarrelEcalDetector.h

Referenced by ConstructTower(), GetGlassTrap(), GetGlassTrapSubtract(), and PlaceTower().

G4double PHG4BarrelEcalDetector::tower_length = 45.5 * cm
private

Definition at line 57 of file PHG4BarrelEcalDetector.h.

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

Referenced by ConstructMe(), and PlaceTower().


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