Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4TpcDetector Class Reference

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

+ Inheritance diagram for PHG4TpcDetector:
+ Collaboration diagram for PHG4TpcDetector:

Public Member Functions

 PHG4TpcDetector (PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam)
 constructor
 
 ~PHG4TpcDetector (void) override
 destructor
 
void ConstructMe (G4LogicalVolume *world) override
 construct
 
int IsInTpc (G4VPhysicalVolume *) const
 
void SuperDetector (const std::string &name)
 
const std::string SuperDetector () 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 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 ()
 

Private Member Functions

int ConstructTpcGasVolume (G4LogicalVolume *tpc_envelope)
 
int ConstructTpcCageVolume (G4LogicalVolume *tpc_envelope)
 
int ConstructTpcExternalSupports (G4LogicalVolume *logicWorld)
 
void CreateCompositeMaterial (std::string compositeName, std::vector< std::string > materialName, std::vector< double > thickness)
 
void add_geometry_node ()
 add geometry node
 

Private Attributes

PHG4TpcDisplayActionm_DisplayAction = nullptr
 
PHParametersm_Params = nullptr
 
G4UserLimits * m_G4UserLimits = nullptr
 
int m_ActiveFlag = 0
 
int m_AbsorberActiveFlag = 0
 
double m_InnerCageRadius = NAN
 
double m_OuterCageRadius = NAN
 
std::set< G4VPhysicalVolume * > m_AbsorberVolumeSet
 
std::set< G4VPhysicalVolume * > m_ActiveVolumeSet
 
std::string m_SuperDetectorName
 

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

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

Constructor & Destructor Documentation

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

constructor

Definition at line 44 of file PHG4TpcDetector.cc.

View newest version in sPHENIX GitHub at line 44 of file PHG4TpcDetector.cc

PHG4TpcDetector::~PHG4TpcDetector ( void  )
inlineoverride

destructor

Definition at line 28 of file PHG4TpcDetector.h.

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

Member Function Documentation

void PHG4TpcDetector::add_geometry_node ( )
private

add geometry node

this setups the relevant geometry needed for offline reconstruciton

Definition at line 476 of file PHG4TpcDetector.cc.

View newest version in sPHENIX GitHub at line 476 of file PHG4TpcDetector.cc

References double(), PHNodeIterator::findFirst(), PHParameters::get_double_param(), PHParameters::get_int_param(), layer, m_Params, NSectors, PHWHERE, PHG4TpcCylinderGeom::set_layer(), PHG4CellDefs::sizebinning, PHG4Detector::topNode(), and PHG4Detector::Verbosity().

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4TpcDetector::ConstructMe ( G4LogicalVolume *  world)
overridevirtual

construct

Implements PHG4Detector.

Definition at line 76 of file PHG4TpcDetector.cc.

View newest version in sPHENIX GitHub at line 76 of file PHG4TpcDetector.cc

References add_geometry_node(), PHG4TpcDisplayAction::AddVolume(), Acts::UnitConstants::cm, ConstructTpcCageVolume(), ConstructTpcExternalSupports(), ConstructTpcGasVolume(), PHParameters::get_double_param(), PHG4Detector::GetDetectorMaterial(), recoConsts::instance(), m_DisplayAction, m_G4UserLimits, m_InnerCageRadius, m_OuterCageRadius, m_Params, and PHG4Detector::OverlapCheck().

+ Here is the call graph for this function:

int PHG4TpcDetector::ConstructTpcCageVolume ( G4LogicalVolume *  tpc_envelope)
private

Definition at line 355 of file PHG4TpcDetector.cc.

View newest version in sPHENIX GitHub at line 355 of file PHG4TpcDetector.cc

References PHG4TpcDisplayAction::AddTpcInnerLayer(), PHG4TpcDisplayAction::AddTpcOuterLayer(), Acts::UnitConstants::cm, PHParameters::get_double_param(), PHParameters::get_string_param(), PHG4Detector::GetDetectorMaterial(), i, m_AbsorberVolumeSet, m_DisplayAction, m_InnerCageRadius, m_OuterCageRadius, m_Params, material, perf_headwind::name, nlayers, PHG4Detector::OverlapCheck(), and thickness.

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4TpcDetector::ConstructTpcExternalSupports ( G4LogicalVolume *  logicWorld)
private

Definition at line 236 of file PHG4TpcDetector.cc.

View newest version in sPHENIX GitHub at line 236 of file PHG4TpcDetector.cc

References PHG4TpcDisplayAction::AddVolume(), Acts::UnitConstants::cm, PHParameters::get_double_param(), PHG4Detector::GetDetectorMaterial(), i, inch, m_AbsorberVolumeSet, m_DisplayAction, m_Params, perf_headwind::name, and PHG4Detector::OverlapCheck().

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4TpcDetector::ConstructTpcGasVolume ( G4LogicalVolume *  tpc_envelope)
private

Definition at line 119 of file PHG4TpcDetector.cc.

View newest version in sPHENIX GitHub at line 119 of file PHG4TpcDetector.cc

References PHG4TpcDisplayAction::AddVolume(), Acts::UnitConstants::cm, CreateCompositeMaterial(), PHParameters::get_double_param(), PHParameters::get_string_param(), PHG4Detector::GetDetectorMaterial(), m_AbsorberVolumeSet, m_ActiveVolumeSet, m_DisplayAction, m_G4UserLimits, m_Params, material, PHG4TpcDefs::North, PHG4Detector::OverlapCheck(), PHG4TpcDefs::South, thickness, PHG4TpcDefs::Window, and PHG4TpcDefs::WindowCore.

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4TpcDetector::CreateCompositeMaterial ( std::string  compositeName,
std::vector< std::string >  materialName,
std::vector< double thickness 
)
private

Definition at line 425 of file PHG4TpcDetector.cc.

View newest version in sPHENIX GitHub at line 425 of file PHG4TpcDetector.cc

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

Referenced by ConstructTpcGasVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4TpcDetector::IsInTpc ( G4VPhysicalVolume volume) const

Definition at line 56 of file PHG4TpcDetector.cc.

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

References m_AbsorberActiveFlag, m_AbsorberVolumeSet, m_ActiveFlag, and m_ActiveVolumeSet.

Referenced by PHG4TpcSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

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

Definition at line 36 of file PHG4TpcDetector.h.

View newest version in sPHENIX GitHub at line 36 of file PHG4TpcDetector.h

References m_SuperDetectorName, and perf_headwind::name.

Referenced by PHG4TpcSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

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

Definition at line 37 of file PHG4TpcDetector.h.

View newest version in sPHENIX GitHub at line 37 of file PHG4TpcDetector.h

References m_SuperDetectorName.

Member Data Documentation

int PHG4TpcDetector::m_AbsorberActiveFlag = 0
private

Definition at line 54 of file PHG4TpcDetector.h.

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

Referenced by IsInTpc().

std::set<G4VPhysicalVolume *> PHG4TpcDetector::m_AbsorberVolumeSet
private

Definition at line 57 of file PHG4TpcDetector.h.

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

Referenced by ConstructTpcCageVolume(), ConstructTpcExternalSupports(), ConstructTpcGasVolume(), and IsInTpc().

int PHG4TpcDetector::m_ActiveFlag = 0
private

Definition at line 53 of file PHG4TpcDetector.h.

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

Referenced by IsInTpc().

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

Definition at line 58 of file PHG4TpcDetector.h.

View newest version in sPHENIX GitHub at line 58 of file PHG4TpcDetector.h

Referenced by ConstructTpcGasVolume(), and IsInTpc().

PHG4TpcDisplayAction* PHG4TpcDetector::m_DisplayAction = nullptr
private

Definition at line 50 of file PHG4TpcDetector.h.

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

Referenced by ConstructMe(), ConstructTpcCageVolume(), ConstructTpcExternalSupports(), and ConstructTpcGasVolume().

G4UserLimits* PHG4TpcDetector::m_G4UserLimits = nullptr
private

Definition at line 52 of file PHG4TpcDetector.h.

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

Referenced by ConstructMe(), and ConstructTpcGasVolume().

double PHG4TpcDetector::m_InnerCageRadius = NAN
private

Definition at line 55 of file PHG4TpcDetector.h.

View newest version in sPHENIX GitHub at line 55 of file PHG4TpcDetector.h

Referenced by ConstructMe(), and ConstructTpcCageVolume().

double PHG4TpcDetector::m_OuterCageRadius = NAN
private

Definition at line 56 of file PHG4TpcDetector.h.

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

Referenced by ConstructMe(), and ConstructTpcCageVolume().

PHParameters* PHG4TpcDetector::m_Params = nullptr
private

Definition at line 51 of file PHG4TpcDetector.h.

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

Referenced by add_geometry_node(), ConstructMe(), ConstructTpcCageVolume(), ConstructTpcExternalSupports(), and ConstructTpcGasVolume().

std::string PHG4TpcDetector::m_SuperDetectorName
private

Definition at line 60 of file PHG4TpcDetector.h.

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

Referenced by SuperDetector().


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