EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <fun4all_coresoftware/blob/master/simulation/g4simulation/g4micromegas/PHG4MicromegasDetector.h>
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 PHCompositeNode * | topNode () |
virtual PHG4Subsystem * | GetMySubsystem () |
Private Member Functions | |
void | create_materials () const |
create needed material | |
void | construct_micromegas (G4LogicalVolume *) |
construct | |
void | add_geometry_node () |
add geometry node | |
Private Attributes | |
PHParameters * | m_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) |
Definition at line 23 of file PHG4MicromegasDetector.h.
View newest version in sPHENIX GitHub at line 23 of file PHG4MicromegasDetector.h
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
|
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().
|
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().
|
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().
|
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().
|
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().
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().
|
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().
|
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().
|
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().
|
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.
|
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().
|
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().
|
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().
|
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().
|
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().