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

#include <coresoftware/blob/master/simulation/g4simulation/g4tpc/PHG4TpcEndCapDetector.h>

+ Inheritance diagram for PHG4TpcEndCapDetector:
+ Collaboration diagram for PHG4TpcEndCapDetector:

Public Member Functions

 PHG4TpcEndCapDetector (PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam)
 constructor
 
 ~PHG4TpcEndCapDetector () 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
 
volume accessors
int IsInDetector (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 G4UserSteppingActionGetSteppingAction ()
 
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 PHCompositeNodetopNode ()
 
virtual PHG4SubsystemGetMySubsystem ()
 

Private Member Functions

G4AssemblyVolumeConstructEndCapAssembly ()
 
void ConstructWagonWheel (G4AssemblyVolume *assmeblyvol, G4double &z_start)
 
void ConstructElectronics (G4AssemblyVolume *assmeblyvol, G4double &z_start)
 
void AddLayer (G4AssemblyVolume *assmeblyvol, G4double &z_start, std::string _name, std::string _material, G4double _depth, double _percentage_filled=100)
 
void CreateCompositeMaterial (std::string compositeName, std::vector< std::string > materialName, std::vector< double > thickness)
 

Private Attributes

PHParametersm_Params = nullptr
 
PHG4TpcEndCapDisplayActionm_DisplayAction = nullptr
 
std::set< G4LogicalVolume * > m_LogicalVolumesSet
 
std::string m_SuperDetector
 
G4AssemblyVolumem_EndCapAssembly = nullptr
 

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 21 of file PHG4TpcEndCapDetector.h.

View newest version in sPHENIX GitHub at line 21 of file PHG4TpcEndCapDetector.h

Constructor & Destructor Documentation

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

constructor

Definition at line 42 of file PHG4TpcEndCapDetector.cc.

View newest version in sPHENIX GitHub at line 42 of file PHG4TpcEndCapDetector.cc

References PHParameters::get_int_param(), PHG4Subsystem::GetDisplayAction(), m_DisplayAction, m_Params, and PHG4Detector::Verbosity().

+ Here is the call graph for this function:

PHG4TpcEndCapDetector::~PHG4TpcEndCapDetector ( )
override

destructor

Definition at line 56 of file PHG4TpcEndCapDetector.cc.

View newest version in sPHENIX GitHub at line 56 of file PHG4TpcEndCapDetector.cc

References m_EndCapAssembly, and PHG4Detector::Verbosity().

+ Here is the call graph for this function:

Member Function Documentation

void PHG4TpcEndCapDetector::AddLayer ( G4AssemblyVolume assmeblyvol,
G4double z_start,
std::string  _name,
std::string  _material,
G4double  _depth,
double  _percentage_filled = 100 
)
private
Parameters
_materialname base for this layer
_depthmaterial name in G4
_percentage_filleddepth in G4 units percentage filled//

Definition at line 220 of file PHG4TpcEndCapDetector.cc.

View newest version in sPHENIX GitHub at line 220 of file PHG4TpcEndCapDetector.cc

References G4AssemblyVolume::AddPlacedVolume(), PHG4TpcEndCapDisplayAction::AddVolume(), cm, PHParameters::get_double_param(), PHG4Detector::GetDetectorMaterial(), PHG4Detector::GetName(), m_DisplayAction, m_LogicalVolumesSet, m_Params, material(), and CLHEP::twopi.

Referenced by ConstructEndCapAssembly().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4TpcEndCapDetector::ConstructElectronics ( G4AssemblyVolume assmeblyvol,
G4double z_start 
)
private

Definition at line 463 of file PHG4TpcEndCapDetector.cc.

View newest version in sPHENIX GitHub at line 463 of file PHG4TpcEndCapDetector.cc

References G4AssemblyVolume::AddPlacedAssembly(), G4AssemblyVolume::AddPlacedVolume(), PHG4TpcEndCapDisplayAction::AddVolume(), cm, degree, g4zmq::exit(), PHParameters::get_double_param(), PHParameters::get_int_param(), PHParameters::get_string_param(), PHG4Detector::GetDetectorMaterial(), PHG4Detector::GetName(), m_DisplayAction, m_LogicalVolumesSet, m_Params, material(), CLHEP::Hep3Vector::set(), CLHEP::twopi, and PHG4Detector::Verbosity().

Referenced by ConstructEndCapAssembly().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4AssemblyVolume * PHG4TpcEndCapDetector::ConstructEndCapAssembly ( )
private

Definition at line 114 of file PHG4TpcEndCapDetector.cc.

View newest version in sPHENIX GitHub at line 114 of file PHG4TpcEndCapDetector.cc

References AddLayer(), cm, ConstructElectronics(), ConstructWagonWheel(), CreateCompositeMaterial(), PHParameters::get_int_param(), PHG4Detector::GetDetectorMaterial(), m_Params, material(), hFarBwdBeamLine::starting_z, and thickness.

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4TpcEndCapDetector::ConstructMe ( G4LogicalVolume world)
overridevirtual

construct

Implements PHG4Detector.

Definition at line 82 of file PHG4TpcEndCapDetector.cc.

View newest version in sPHENIX GitHub at line 82 of file PHG4TpcEndCapDetector.cc

References cm, ConstructEndCapAssembly(), deg, PHParameters::get_double_param(), m_DisplayAction, m_EndCapAssembly, m_Params, G4AssemblyVolume::MakeImprint(), PHG4Detector::OverlapCheck(), CLHEP::HepRotation::rotateX(), CLHEP::HepRotation::rotateY(), and CLHEP::HepRotation::rotateZ().

+ Here is the call graph for this function:

void PHG4TpcEndCapDetector::ConstructWagonWheel ( G4AssemblyVolume assmeblyvol,
G4double z_start 
)
private

Definition at line 260 of file PHG4TpcEndCapDetector.cc.

View newest version in sPHENIX GitHub at line 260 of file PHG4TpcEndCapDetector.cc

References G4AssemblyVolume::AddPlacedVolume(), PHG4TpcEndCapDisplayAction::AddVolume(), cm, deg, degree, PHParameters::get_double_param(), PHParameters::get_int_param(), PHParameters::get_string_param(), PHG4Detector::GetDetectorMaterial(), PHG4Detector::GetName(), m_DisplayAction, m_LogicalVolumesSet, m_Params, material(), CLHEP::twopi, PHG4Detector::Verbosity(), and zero.

Referenced by ConstructEndCapAssembly().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4TpcEndCapDetector::CreateCompositeMaterial ( std::string  compositeName,
std::vector< std::string >  materialName,
std::vector< double >  thickness 
)
private
Parameters
materialNamedesired name for the new material
thicknessvector of the names of the component materials in G4 thickness of this particular layer (assuming 100 percent filled)

Definition at line 169 of file PHG4TpcEndCapDetector.cc.

View newest version in sPHENIX GitHub at line 169 of file PHG4TpcEndCapDetector.cc

References G4Material::AddMaterial(), g4zmq::exit(), G4Material::GetDensity(), and PHG4Detector::GetDetectorMaterial().

Referenced by ConstructEndCapAssembly().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4TpcEndCapDetector::IsInDetector ( G4VPhysicalVolume volume) const

Definition at line 70 of file PHG4TpcEndCapDetector.cc.

View newest version in sPHENIX GitHub at line 70 of file PHG4TpcEndCapDetector.cc

References G4VPhysicalVolume::GetLogicalVolume(), and m_LogicalVolumesSet.

Referenced by PHG4TpcEndCapSteppingAction::UserSteppingAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4TpcEndCapDetector::Print ( const std::string &  what = "ALL") const
overridevirtual

Reimplemented from PHG4Detector.

Definition at line 677 of file PHG4TpcEndCapDetector.cc.

View newest version in sPHENIX GitHub at line 677 of file PHG4TpcEndCapDetector.cc

References m_Params, and PHParameters::Print().

Referenced by PHG4TpcEndCapSubsystem::Print().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 40 of file PHG4TpcEndCapDetector.h.

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

References m_SuperDetector.

Referenced by PHG4TpcEndCapSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

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

Definition at line 41 of file PHG4TpcEndCapDetector.h.

View newest version in sPHENIX GitHub at line 41 of file PHG4TpcEndCapDetector.h

References m_SuperDetector.

Member Data Documentation

PHG4TpcEndCapDisplayAction* PHG4TpcEndCapDetector::m_DisplayAction = nullptr
private

Definition at line 45 of file PHG4TpcEndCapDetector.h.

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

Referenced by AddLayer(), ConstructElectronics(), ConstructMe(), ConstructWagonWheel(), and PHG4TpcEndCapDetector().

G4AssemblyVolume* PHG4TpcEndCapDetector::m_EndCapAssembly = nullptr
private

Definition at line 52 of file PHG4TpcEndCapDetector.h.

View newest version in sPHENIX GitHub at line 52 of file PHG4TpcEndCapDetector.h

Referenced by ConstructMe(), and ~PHG4TpcEndCapDetector().

std::set<G4LogicalVolume *> PHG4TpcEndCapDetector::m_LogicalVolumesSet
private

Definition at line 48 of file PHG4TpcEndCapDetector.h.

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

Referenced by AddLayer(), ConstructElectronics(), ConstructWagonWheel(), and IsInDetector().

PHParameters* PHG4TpcEndCapDetector::m_Params = nullptr
private

Definition at line 44 of file PHG4TpcEndCapDetector.h.

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

Referenced by AddLayer(), ConstructElectronics(), ConstructEndCapAssembly(), ConstructMe(), ConstructWagonWheel(), PHG4TpcEndCapDetector(), and Print().

std::string PHG4TpcEndCapDetector::m_SuperDetector
private

Definition at line 50 of file PHG4TpcEndCapDetector.h.

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

Referenced by SuperDetector().


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