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

#include <fun4all_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)
 

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

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

Constructor & Destructor Documentation

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

constructor

Definition at line 35 of file PHG4TpcDetector.cc.

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

PHG4TpcDetector::~PHG4TpcDetector ( void  )
inlineoverride

destructor

Definition at line 27 of file PHG4TpcDetector.h.

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

Member Function Documentation

void PHG4TpcDetector::ConstructMe ( G4LogicalVolume *  world)
overridevirtual

construct

Implements PHG4Detector.

Definition at line 67 of file PHG4TpcDetector.cc.

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

References 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, M_PI, and PHG4Detector::OverlapCheck().

+ Here is the call graph for this function:

int PHG4TpcDetector::ConstructTpcCageVolume ( G4LogicalVolume *  tpc_envelope)
private

Definition at line 305 of file PHG4TpcDetector.cc.

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

References PHG4TpcDisplayAction::AddTpcInnerLayer(), PHG4TpcDisplayAction::AddTpcOuterLayer(), Acts::UnitConstants::cm, PHParameters::get_double_param(), PHParameters::get_string_param(), PHG4Detector::GetDetectorMaterial(), m_AbsorberVolumeSet, m_DisplayAction, m_InnerCageRadius, m_OuterCageRadius, m_Params, M_PI, material(), name, 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 226 of file PHG4TpcDetector.cc.

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

References PHG4TpcDisplayAction::AddVolume(), Acts::UnitConstants::cm, cos(), PHParameters::get_double_param(), PHG4Detector::GetDetectorMaterial(), inch, m_AbsorberVolumeSet, m_DisplayAction, m_Params, M_PI, 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 105 of file PHG4TpcDetector.cc.

View newest version in sPHENIX GitHub at line 105 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, M_PI, 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 380 of file PHG4TpcDetector.cc.

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

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

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 47 of file PHG4TpcDetector.cc.

View newest version in sPHENIX GitHub at line 47 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 35 of file PHG4TpcDetector.h.

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

References m_SuperDetectorName, and name.

Referenced by PHG4TpcSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

const std::string PHG4TpcDetector::SuperDetector ( ) const
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.

Member Data Documentation

int PHG4TpcDetector::m_AbsorberActiveFlag = 0
private

Definition at line 49 of file PHG4TpcDetector.h.

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

Referenced by IsInTpc().

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

Definition at line 52 of file PHG4TpcDetector.h.

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

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

int PHG4TpcDetector::m_ActiveFlag = 0
private

Definition at line 48 of file PHG4TpcDetector.h.

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

Referenced by IsInTpc().

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

Definition at line 53 of file PHG4TpcDetector.h.

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

Referenced by ConstructTpcGasVolume(), and IsInTpc().

PHG4TpcDisplayAction* PHG4TpcDetector::m_DisplayAction = nullptr
private

Definition at line 45 of file PHG4TpcDetector.h.

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

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

G4UserLimits* PHG4TpcDetector::m_G4UserLimits = nullptr
private

Definition at line 47 of file PHG4TpcDetector.h.

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

Referenced by ConstructMe(), and ConstructTpcGasVolume().

double PHG4TpcDetector::m_InnerCageRadius = NAN
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(), and ConstructTpcCageVolume().

double PHG4TpcDetector::m_OuterCageRadius = NAN
private

Definition at line 51 of file PHG4TpcDetector.h.

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

Referenced by ConstructMe(), and ConstructTpcCageVolume().

PHParameters* PHG4TpcDetector::m_Params = nullptr
private

Definition at line 46 of file PHG4TpcDetector.h.

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

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

std::string PHG4TpcDetector::m_SuperDetectorName
private

Definition at line 55 of file PHG4TpcDetector.h.

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

Referenced by SuperDetector().


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