Analysis Software
Documentation for sPHENIX simulation 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 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 PHCompositeNodetopNode ()
 
virtual PHG4SubsystemGetMySubsystem ()
 

Private Member Functions

G4AssemblyVolume * ConstructEndCapAssembly ()
 
void ConstructWagonWheel (G4AssemblyVolume *assmeblyvol, G4double &z_start)
 
void ConstructElectronics (G4AssemblyVolume *assmeblyvol, G4double z_start)
 
void AddLayer (G4AssemblyVolume *assmeblyvol, G4double &z_start, const 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
 
G4AssemblyVolume * m_EndCapAssembly = nullptr
 

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

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

Constructor & Destructor Documentation

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

constructor

Definition at line 45 of file PHG4TpcEndCapDetector.cc.

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

References assert, 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 59 of file PHG4TpcEndCapDetector.cc.

View newest version in sPHENIX GitHub at line 59 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,
const 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 221 of file PHG4TpcEndCapDetector.cc.

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

References PHG4TpcEndCapDisplayAction::AddVolume(), assert, Acts::UnitConstants::cm, material_mapping_optimisation::format, PHParameters::get_double_param(), PHG4Detector::GetDetectorMaterial(), PHG4Detector::GetName(), m_DisplayAction, m_LogicalVolumesSet, m_Params, material, str, and 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 464 of file PHG4TpcEndCapDetector.cc.

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

References PHG4TpcEndCapDisplayAction::AddVolume(), assert, Acts::UnitConstants::cm, Acts::UnitConstants::degree, material_mapping_optimisation::format, PHParameters::get_double_param(), PHParameters::get_int_param(), PHParameters::get_string_param(), PHG4Detector::GetDetectorMaterial(), PHG4Detector::GetName(), m_DisplayAction, m_LogicalVolumesSet, m_Params, material, str, 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 117 of file PHG4TpcEndCapDetector.cc.

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

References AddLayer(), Acts::UnitConstants::cm, ConstructElectronics(), ConstructWagonWheel(), CreateCompositeMaterial(), PHParameters::get_int_param(), PHG4Detector::GetDetectorMaterial(), i, m_Params, material, G4BEAMLINE::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 85 of file PHG4TpcEndCapDetector.cc.

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

References assert, Acts::UnitConstants::cm, ConstructEndCapAssembly(), deg, PHParameters::get_double_param(), i, m_DisplayAction, m_EndCapAssembly, m_Params, and PHG4Detector::OverlapCheck().

+ Here is the call graph for this function:

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

Definition at line 261 of file PHG4TpcEndCapDetector.cc.

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

References PHG4TpcEndCapDisplayAction::AddVolume(), assert, Acts::UnitConstants::cm, deg, Acts::UnitConstants::degree, material_mapping_optimisation::format, PHParameters::get_double_param(), PHParameters::get_int_param(), PHParameters::get_string_param(), PHG4Detector::GetDetectorMaterial(), PHG4Detector::GetName(), m_DisplayAction, m_LogicalVolumesSet, m_Params, material, str, twopi, PHG4Detector::Verbosity(), and KFPMath::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 172 of file PHG4TpcEndCapDetector.cc.

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

References assert, PHG4Detector::GetDetectorMaterial(), and i.

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 73 of file PHG4TpcEndCapDetector.cc.

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

References m_LogicalVolumesSet.

Referenced by PHG4TpcEndCapSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

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

Reimplemented from PHG4Detector.

Definition at line 678 of file PHG4TpcEndCapDetector.cc.

View newest version in sPHENIX GitHub at line 678 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 41 of file PHG4TpcEndCapDetector.h.

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

References m_SuperDetector, and perf_headwind::name.

Referenced by PHG4TpcEndCapSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

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

Definition at line 42 of file PHG4TpcEndCapDetector.h.

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

References m_SuperDetector.

Member Data Documentation

PHG4TpcEndCapDisplayAction* PHG4TpcEndCapDetector::m_DisplayAction = nullptr
private

Definition at line 46 of file PHG4TpcEndCapDetector.h.

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

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

G4AssemblyVolume* PHG4TpcEndCapDetector::m_EndCapAssembly = nullptr
private

Definition at line 53 of file PHG4TpcEndCapDetector.h.

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

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

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

Definition at line 49 of file PHG4TpcEndCapDetector.h.

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

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

PHParameters* PHG4TpcEndCapDetector::m_Params = 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(), ConstructEndCapAssembly(), ConstructMe(), ConstructWagonWheel(), PHG4TpcEndCapDetector(), and Print().

std::string PHG4TpcEndCapDetector::m_SuperDetector
private

Definition at line 51 of file PHG4TpcEndCapDetector.h.

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

Referenced by SuperDetector().


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