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

#include <fun4all_coresoftware/blob/master/simulation/g4simulation/g4main/PHG4Subsystem.h>

+ Inheritance diagram for PHG4Subsystem:
+ Collaboration diagram for PHG4Subsystem:

Public Member Functions

 PHG4Subsystem (const std::string &name="Generic Subsystem")
 constructor
 
 ~PHG4Subsystem (void) override
 destructor
 
virtual int process_after_geant (PHCompositeNode *)
 event processing
 
virtual PHG4DetectorGetDetector (void) const
 return pointer to created detector object
 
virtual PHG4EventActionGetEventAction (void) const
 return pointer to this subsystem event action
 
virtual PHG4SteppingActionGetSteppingAction (void) const
 return pointer to this subsystem stepping action
 
virtual PHG4TrackingActionGetTrackingAction (void) const
 return pointer to this subsystem stepping action
 
virtual PHG4DisplayActionGetDisplayAction () const
 return pointer to this subsystem display setting
 
virtual PHG4StackingActionGetStackingAction () const
 
void OverlapCheck (const bool chk=true)
 
bool CheckOverlap () const
 
void SetMotherSubsystem (PHG4Subsystem *subsys)
 
PHG4SubsystemGetMotherSubsystem () const
 
void SetLogicalVolume (G4LogicalVolume *vol)
 
G4LogicalVolume * GetLogicalVolume () const
 
virtual bool CanBeMotherSubsystem () const
 
virtual void AddProcesses (G4ParticleDefinition *)
 
virtual void DefineMaterials ()
 
- Public Member Functions inherited from SubsysReco
 ~SubsysReco () override
 
virtual int End (PHCompositeNode *)
 Called at the end of all processing.
 
virtual int EndRun (const int)
 Called at the end of each run.
 
virtual int Init (PHCompositeNode *)
 
virtual int InitRun (PHCompositeNode *)
 
virtual int process_event (PHCompositeNode *)
 
virtual int Reset (PHCompositeNode *)
 Reset.
 
virtual int ResetEvent (PHCompositeNode *)
 Clean up after each event.
 
void Print (const std::string &="ALL") const override
 
- Public Member Functions inherited from Fun4AllBase
virtual ~Fun4AllBase ()
 
virtual const std::string Name () const
 Returns the name of this module.
 
virtual void Name (const std::string &name)
 Sets the name of this module.
 
virtual void Verbosity (const int ival)
 Sets the verbosity of this module (0 by default=quiet).
 
virtual void Verbosity (enu_Verbosity ival)
 Sets the verbosity of this module (0 by default=quiet).
 
virtual int Verbosity () const
 Gets the verbosity of this module.
 

Private Attributes

PHG4Subsystemm_MyMotherSubsystem = nullptr
 
G4LogicalVolume * m_MyLogicalVolume = nullptr
 
bool overlapcheck = false
 

Additional Inherited Members

- Public Types inherited from Fun4AllBase
enum  enu_Verbosity {
  VERBOSITY_QUIET = 0, VERBOSITY_SOME = 1, VERBOSITY_MORE = 2, VERBOSITY_EVEN_MORE = 3,
  VERBOSITY_A_LOT = 4, VERBOSITY_MAX = INT_MAX - 10
}
 
- Protected Member Functions inherited from SubsysReco
 SubsysReco (const std::string &name="NONAME")
 

Detailed Description

Definition at line 22 of file PHG4Subsystem.h.

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

Constructor & Destructor Documentation

PHG4Subsystem::PHG4Subsystem ( const std::string &  name = "Generic Subsystem")
inline

constructor

Definition at line 26 of file PHG4Subsystem.h.

View newest version in sPHENIX GitHub at line 26 of file PHG4Subsystem.h

PHG4Subsystem::~PHG4Subsystem ( void  )
inlineoverride

destructor

Definition at line 32 of file PHG4Subsystem.h.

View newest version in sPHENIX GitHub at line 32 of file PHG4Subsystem.h

Member Function Documentation

virtual void PHG4Subsystem::AddProcesses ( G4ParticleDefinition *  )
inlinevirtual

Definition at line 88 of file PHG4Subsystem.h.

View newest version in sPHENIX GitHub at line 88 of file PHG4Subsystem.h

virtual bool PHG4Subsystem::CanBeMotherSubsystem ( ) const
inlinevirtual

Reimplemented in PHG4ConeSubsystem, PHG4CylinderSubsystem, PHG4BlockSubsystem, PHG4CylinderStripSubsystem, EICG4LumiSubsystem, BeamLineMagnetSubsystem, EICG4B0Subsystem, EICG4B0ECALSubsystem, EICG4BwdSubsystem, and EICG4RPSubsystem.

Definition at line 85 of file PHG4Subsystem.h.

View newest version in sPHENIX GitHub at line 85 of file PHG4Subsystem.h

Referenced by SetMotherSubsystem().

+ Here is the caller graph for this function:

bool PHG4Subsystem::CheckOverlap ( ) const
inline

Definition at line 74 of file PHG4Subsystem.h.

View newest version in sPHENIX GitHub at line 74 of file PHG4Subsystem.h

References overlapcheck.

Referenced by PHG4SectorSubsystem::Init(), PHG4EnvelopeSubsystem::Init(), PHG4CEmcTestBeamSubsystem::Init(), G4Example01Subsystem::Init(), G4LmonSubsystem::Init(), PHG4RICHSubsystem::Init(), and PHG4HcalSubsystem::InitRun().

+ Here is the caller graph for this function:

virtual void PHG4Subsystem::DefineMaterials ( )
inlinevirtual

Definition at line 91 of file PHG4Subsystem.h.

View newest version in sPHENIX GitHub at line 91 of file PHG4Subsystem.h

Referenced by PHG4DetectorGroupSubsystem::InitRun(), and PHG4DetectorSubsystem::InitRun().

+ Here is the caller graph for this function:

virtual PHG4Detector* PHG4Subsystem::GetDetector ( void  ) const
inlinevirtual

return pointer to created detector object

Reimplemented in PHG4RICHSubsystem, PHG4PSTOFSubsystem, PHG4BbcSubsystem, PHG4GDMLSubsystem, G4EicDircSubsystem, G4JLeicDIRCSubsystem, G4JLeicVTXSubsystem, G4JLeicDIRCSubsystem, G4JLeicVTXSubsystem, PHG4SpacalSubsystem, G4LmonSubsystem, G4Example03Subsystem, PHG4MicromegasSubsystem, AllSiliconTrackerSubsystem, PHG4mRICHSubsystem, G4Example02Subsystem, G4Example01Subsystem, AllSiliconTrackerSubsystem, PHG4TpcEndCapSubsystem, PHG4CylinderStripSubsystem, PHG4CEmcTestBeamSubsystem, PHG4HcalSubsystem, PHG4InttSubsystem, BeastMagnetSubsystem, G4JLeicBeamLineMagnetSubsystem, PHG4BeamlineMagnetSubsystem, PHG4CylinderSubsystem, EICG4B0Subsystem, EICG4B0ECALSubsystem, EICG4BwdSubsystem, AllSi_Al_support_Subsystem, EicFRichSubsystem, EICG4LumiSubsystem, EICG4RPSubsystem, EICG4ZDCSubsystem, AllSi_Al_support_Subsystem, EicFRichSubsystem, BeamLineMagnetSubsystem, PHG4OuterHcalSubsystem, PHG4SectorSubsystem, PHG4TpcSubsystem, EICG4dRICHSubsystem, G4LBLVtxSubsystem, PHG4TTLSubsystem, G4JLeicBeamLineMagnetSubsystem, G4LBLVtxSubsystem, PHG4InnerHcalSubsystem, PHG4EICMvtxSubsystem, PHG4MvtxSubsystem, PHG4BarrelEcalSubsystem, PHG4ForwardHcalSubsystem, PHG4FPbScSubsystem, PHG4BlockSubsystem, PHG4ConeSubsystem, PHG4ForwardEcalSubsystem, PHG4EnvelopeSubsystem, PHG4ForwardDualReadoutSubsystem, PHG4BackwardHcalSubsystem, PHG4CrystalCalorimeterSubsystem, PHG4HybridHomogeneousCalorimeterSubsystem, PHG4LFHcalSubsystem, PHG4FCalSubsystem, PHG4ZDCSubsystem, EicToyModelSubsystem, PHG4ECAPToFSubsystem, PHG4TRDSubsystem, EicRootSubsystem, and PHG4EPDSubsystem.

Definition at line 41 of file PHG4Subsystem.h.

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

virtual PHG4EventAction* PHG4Subsystem::GetEventAction ( void  ) const
inlinevirtual

return pointer to this subsystem event action

Reimplemented in PHG4CEmcTestBeamSubsystem, G4LmonSubsystem, PHG4mRICHSubsystem, PHG4FPbScSubsystem, and PHG4TruthSubsystem.

Definition at line 47 of file PHG4Subsystem.h.

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

G4LogicalVolume* PHG4Subsystem::GetLogicalVolume ( ) const
inline

Definition at line 80 of file PHG4Subsystem.h.

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

References m_MyLogicalVolume.

Referenced by PHG4Detector::Construct().

+ Here is the caller graph for this function:

PHG4Subsystem* PHG4Subsystem::GetMotherSubsystem ( ) const
inline

Definition at line 77 of file PHG4Subsystem.h.

View newest version in sPHENIX GitHub at line 77 of file PHG4Subsystem.h

References m_MyMotherSubsystem.

Referenced by PHG4Detector::Construct(), BeamLineMagnetDetector::ConstructMe(), EICG4RPSteppingAction::hasMotherSubsystem(), EICG4LumiSteppingAction::hasMotherSubsystem(), EICG4B0ECALSteppingAction::hasMotherSubsystem(), EICG4B0SteppingAction::hasMotherSubsystem(), EICG4BwdSteppingAction::hasMotherSubsystem(), and PHG4CylinderSteppingAction::hasMotherSubsystem().

+ Here is the caller graph for this function:

virtual PHG4StackingAction* PHG4Subsystem::GetStackingAction ( ) const
inlinevirtual

Reimplemented in G4EicDircSubsystem.

Definition at line 70 of file PHG4Subsystem.h.

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

virtual PHG4SteppingAction* PHG4Subsystem::GetSteppingAction ( void  ) const
inlinevirtual

return pointer to this subsystem stepping action

Reimplemented in PHG4PSTOFSubsystem, PHG4BbcSubsystem, G4EicDircSubsystem, PHG4GDMLSubsystem, G4JLeicDIRCSubsystem, G4JLeicVTXSubsystem, G4JLeicDIRCSubsystem, G4JLeicVTXSubsystem, G4LmonSubsystem, G4Example03Subsystem, PHG4SpacalSubsystem, AllSiliconTrackerSubsystem, G4Example02Subsystem, G4Example01Subsystem, AllSiliconTrackerSubsystem, PHG4MicromegasSubsystem, PHG4TpcEndCapSubsystem, PHG4mRICHSubsystem, PHG4CylinderStripSubsystem, PHG4CEmcTestBeamSubsystem, PHG4InttSubsystem, BeastMagnetSubsystem, PHG4HcalSubsystem, EICG4B0Subsystem, EICG4B0ECALSubsystem, EICG4BwdSubsystem, G4JLeicBeamLineMagnetSubsystem, AllSi_Al_support_Subsystem, EicFRichSubsystem, EICG4LumiSubsystem, EICG4RPSubsystem, EICG4ZDCSubsystem, AllSi_Al_support_Subsystem, EicFRichSubsystem, PHG4CylinderSubsystem, PHG4TpcSubsystem, EICG4dRICHSubsystem, BeamLineMagnetSubsystem, PHG4OuterHcalSubsystem, PHG4SectorSubsystem, G4LBLVtxSubsystem, PHG4TTLSubsystem, G4JLeicBeamLineMagnetSubsystem, G4LBLVtxSubsystem, PHG4BlockSubsystem, PHG4InnerHcalSubsystem, PHG4EICMvtxSubsystem, PHG4MvtxSubsystem, PHG4BarrelEcalSubsystem, PHG4ForwardHcalSubsystem, PHG4FPbScSubsystem, PHG4ConeSubsystem, PHG4ForwardEcalSubsystem, PHG4EnvelopeSubsystem, PHG4ForwardDualReadoutSubsystem, PHG4BackwardHcalSubsystem, PHG4CrystalCalorimeterSubsystem, PHG4HybridHomogeneousCalorimeterSubsystem, PHG4LFHcalSubsystem, PHG4ZDCSubsystem, PHG4ECAPToFSubsystem, PHG4TRDSubsystem, EicRootSubsystem, and PHG4EPDSubsystem.

Definition at line 53 of file PHG4Subsystem.h.

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

virtual PHG4TrackingAction* PHG4Subsystem::GetTrackingAction ( void  ) const
inlinevirtual

return pointer to this subsystem stepping action

Reimplemented in PHG4TruthSubsystem.

Definition at line 59 of file PHG4Subsystem.h.

View newest version in sPHENIX GitHub at line 59 of file PHG4Subsystem.h

void PHG4Subsystem::OverlapCheck ( const bool  chk = true)
inline

Definition at line 72 of file PHG4Subsystem.h.

View newest version in sPHENIX GitHub at line 72 of file PHG4Subsystem.h

References overlapcheck.

Referenced by AerogelSetup(), DIRCSetup(), FGEMSetup(), make_forward_station_basic(), make_GEM_station(), make_LANL_FST_station(), and RICHSetup().

+ Here is the caller graph for this function:

virtual int PHG4Subsystem::process_after_geant ( PHCompositeNode )
inlinevirtual

event processing

Reimplemented in PHG4TruthSubsystem.

Definition at line 35 of file PHG4Subsystem.h.

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

References Fun4AllReturnCodes::EVENT_OK.

void PHG4Subsystem::SetLogicalVolume ( G4LogicalVolume *  vol)
inline

Definition at line 79 of file PHG4Subsystem.h.

View newest version in sPHENIX GitHub at line 79 of file PHG4Subsystem.h

References m_MyLogicalVolume.

Referenced by PHG4BlockDetector::ConstructMe(), PHG4CylinderDetector::ConstructMe(), PHG4CylinderStripDetector::ConstructMe(), PHG4ConeDetector::ConstructMe(), BeamLineMagnetDetector::ConstructMe(), G4LBLVtxDetector::ConstructMe(), and PHG4GDMLDetector::ConstructMe().

+ Here is the caller graph for this function:

void PHG4Subsystem::SetMotherSubsystem ( PHG4Subsystem subsys)

Definition at line 9 of file PHG4Subsystem.cc.

View newest version in sPHENIX GitHub at line 9 of file PHG4Subsystem.cc

References CanBeMotherSubsystem(), and Fun4AllBase::Name().

Referenced by BeamLineDefineBeamPipe(), BeamLineDefineMagnets(), EndCap_Hadron(), hFarFwdDefineDetectorsIP6(), hFarFwdDefineMagnets(), and ZDCSetup().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4LogicalVolume* PHG4Subsystem::m_MyLogicalVolume = nullptr
private

Definition at line 95 of file PHG4Subsystem.h.

View newest version in sPHENIX GitHub at line 95 of file PHG4Subsystem.h

Referenced by GetLogicalVolume(), and SetLogicalVolume().

PHG4Subsystem* PHG4Subsystem::m_MyMotherSubsystem = nullptr
private

Definition at line 94 of file PHG4Subsystem.h.

View newest version in sPHENIX GitHub at line 94 of file PHG4Subsystem.h

Referenced by GetMotherSubsystem().

bool PHG4Subsystem::overlapcheck = false
private

Definition at line 96 of file PHG4Subsystem.h.

View newest version in sPHENIX GitHub at line 96 of file PHG4Subsystem.h

Referenced by CheckOverlap(), and OverlapCheck().


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