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

#include <fun4all_coresoftware/blob/master/simulation/g4simulation/g4micromegas/PHG4MicromegasDetector.h>

+ Inheritance diagram for PHG4MicromegasDetector:
+ Collaboration diagram for PHG4MicromegasDetector:

Public Member Functions

 PHG4MicromegasDetector (PHG4Subsystem *, PHCompositeNode *, PHParameters *, const std::string &)
 constructor
 
void ConstructMe (G4LogicalVolume *) override
 construct
 
void Print (const std::string &what="ALL") const override
 
void set_first_layer (int layer)
 set first layer number
 
int get_first_layer () const
 get first layer number
 
bool IsInDetector (G4VPhysicalVolume *) const
 returns true if passed volume is an active volume of this detector
 
int get_layer (G4VPhysicalVolume *) const
 return layer associated to a given volume, or -1 if invalid
 
void SuperDetector (const std::string &name)
 super detector name
 
const std::string SuperDetector () const
 super detector name
 
- 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

void create_materials () const
 create needed material
 
void construct_micromegas (G4LogicalVolume *)
 construct
 
void add_geometry_node ()
 add geometry node
 

Private Attributes

PHParametersm_Params = nullptr
 detector parameters
 
std::map< G4VPhysicalVolume
*, int > 
m_activeVolumes
 active volumes, and mapping to layer
 
std::set< G4VPhysicalVolume * > m_passiveVolumes
 also store passive volumes
 
std::string m_SuperDetector
 super detector name
 
int m_FirstLayer = 0
 first layer number
 

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 23 of file PHG4MicromegasDetector.h.

View newest version in sPHENIX GitHub at line 23 of file PHG4MicromegasDetector.h

Constructor & Destructor Documentation

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

constructor

Definition at line 46 of file PHG4MicromegasDetector.cc.

View newest version in sPHENIX GitHub at line 46 of file PHG4MicromegasDetector.cc

Member Function Documentation

void PHG4MicromegasDetector::add_geometry_node ( )
private

add geometry node

this handles the internal (module/strips) segmentation, needed for tracking

Definition at line 325 of file PHG4MicromegasDetector.cc.

View newest version in sPHENIX GitHub at line 325 of file PHG4MicromegasDetector.cc

References Acts::UnitConstants::cm, PHNodeIterator::findFirst(), PHParameters::get_int_param(), G4TTL::layer, m_activeVolumes, m_Params, m_SuperDetector, and PHG4Detector::topNode().

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4MicromegasDetector::construct_micromegas ( G4LogicalVolume *  logicWorld)
private

construct

Definition at line 156 of file PHG4MicromegasDetector.cc.

View newest version in sPHENIX GitHub at line 156 of file PHG4MicromegasDetector.cc

References Acts::UnitConstants::cm, color, PHParameters::get_double_param(), PHFlag::get_StringFlag(), PHG4Detector::GetDetectorMaterial(), PHG4Detector::GetName(), recoConsts::instance(), G4TTL::layer, G4BARRELHCAL::length, m_activeVolumes, m_FirstLayer, m_Params, m_passiveVolumes, M_PI, material(), Acts::UnitConstants::mm, name, PHG4Detector::OverlapCheck(), G4BECAL::radius, thickness, and value.

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4MicromegasDetector::ConstructMe ( G4LogicalVolume *  logicWorld)
overridevirtual

construct

Implements PHG4Detector.

Definition at line 63 of file PHG4MicromegasDetector.cc.

View newest version in sPHENIX GitHub at line 63 of file PHG4MicromegasDetector.cc

References add_geometry_node(), construct_micromegas(), and create_materials().

+ Here is the call graph for this function:

void PHG4MicromegasDetector::create_materials ( ) const
private

create needed material

Definition at line 84 of file PHG4MicromegasDetector.cc.

View newest version in sPHENIX GitHub at line 84 of file PHG4MicromegasDetector.cc

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

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4MicromegasDetector::get_first_layer ( ) const
inline

get first layer number

Definition at line 39 of file PHG4MicromegasDetector.h.

View newest version in sPHENIX GitHub at line 39 of file PHG4MicromegasDetector.h

References m_FirstLayer.

int PHG4MicromegasDetector::get_layer ( G4VPhysicalVolume *  volume) const

return layer associated to a given volume, or -1 if invalid

Definition at line 56 of file PHG4MicromegasDetector.cc.

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

References m_activeVolumes.

Referenced by PHG4MicromegasSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

bool PHG4MicromegasDetector::IsInDetector ( G4VPhysicalVolume *  volume) const

returns true if passed volume is an active volume of this detector

Definition at line 52 of file PHG4MicromegasDetector.cc.

View newest version in sPHENIX GitHub at line 52 of file PHG4MicromegasDetector.cc

References m_activeVolumes.

Referenced by PHG4MicromegasSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

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

Reimplemented from PHG4Detector.

Definition at line 71 of file PHG4MicromegasDetector.cc.

View newest version in sPHENIX GitHub at line 71 of file PHG4MicromegasDetector.cc

References m_Params, and PHParameters::Print().

Referenced by PHG4MicromegasSubsystem::Print().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4MicromegasDetector::set_first_layer ( int  layer)
inline

set first layer number

Definition at line 36 of file PHG4MicromegasDetector.h.

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

References G4TTL::layer, and m_FirstLayer.

Referenced by PHG4MicromegasSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

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

super detector name

Definition at line 48 of file PHG4MicromegasDetector.h.

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

References m_SuperDetector, and name.

Referenced by PHG4MicromegasSubsystem::InitRunSubsystem(), and PHG4MicromegasSteppingAction::SetInterfacePointers().

+ Here is the caller graph for this function:

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

super detector name

Definition at line 51 of file PHG4MicromegasDetector.h.

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

References m_SuperDetector.

Member Data Documentation

std::map<G4VPhysicalVolume*, int> PHG4MicromegasDetector::m_activeVolumes
private

active volumes, and mapping to layer

it is needed in the stepping action to map a volume to a given layer

Definition at line 70 of file PHG4MicromegasDetector.h.

View newest version in sPHENIX GitHub at line 70 of file PHG4MicromegasDetector.h

Referenced by add_geometry_node(), construct_micromegas(), get_layer(), and IsInDetector().

int PHG4MicromegasDetector::m_FirstLayer = 0
private

first layer number

Definition at line 80 of file PHG4MicromegasDetector.h.

View newest version in sPHENIX GitHub at line 80 of file PHG4MicromegasDetector.h

Referenced by construct_micromegas(), get_first_layer(), and set_first_layer().

PHParameters* PHG4MicromegasDetector::m_Params = nullptr
private

detector parameters

Definition at line 66 of file PHG4MicromegasDetector.h.

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

Referenced by add_geometry_node(), construct_micromegas(), and Print().

std::set<G4VPhysicalVolume*> PHG4MicromegasDetector::m_passiveVolumes
private

also store passive volumes

Definition at line 73 of file PHG4MicromegasDetector.h.

View newest version in sPHENIX GitHub at line 73 of file PHG4MicromegasDetector.h

Referenced by construct_micromegas().

std::string PHG4MicromegasDetector::m_SuperDetector
private

super detector name

Definition at line 76 of file PHG4MicromegasDetector.h.

View newest version in sPHENIX GitHub at line 76 of file PHG4MicromegasDetector.h

Referenced by add_geometry_node(), and SuperDetector().


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