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

Detector Subsystem module. More...

#include <fun4all_eicdetectors/blob/master/simulation/g4simulation/g4rp/EICG4RPSubsystem.h>

+ Inheritance diagram for EICG4RPSubsystem:
+ Collaboration diagram for EICG4RPSubsystem:

Public Member Functions

 EICG4RPSubsystem (const std::string &name="EICG4RP", const int layer=0)
 constructor
 
virtual ~EICG4RPSubsystem ()
 destructor
 
int InitRunSubsystem (PHCompositeNode *) override
 
int process_event (PHCompositeNode *) override
 event processing
 
PHG4DetectorGetDetector () const override
 accessors (reimplemented)
 
PHG4SteppingActionGetSteppingAction () const override
 return pointer to this subsystem stepping action
 
void Print (const std::string &what="ALL") const override
 Print info (from SubsysReco)
 
bool CanBeMotherSubsystem () const override
 
void SaveAllHits (bool i=true)
 
void SetParametersFromFile (std::string filename)
 
void SetBeamConfig (std::string val)
 
void SetIonBeamEnergy (double val)
 
void SetElectronBeamEnergy (double val)
 
- Public Member Functions inherited from PHG4DetectorSubsystem
 ~PHG4DetectorSubsystem () override
 
int Init (PHCompositeNode *) final
 
int InitRun (PHCompositeNode *) final
 
virtual int InitSubsystem (PHCompositeNode *)
 
void OverlapCheck (const bool chk=true)
 
bool CheckOverlap () const
 
PHParametersGetParams () const
 
void set_double_param (const std::string &name, const double dval)
 
double get_double_param (const std::string &name) const
 
void set_int_param (const std::string &name, const int ival)
 
int get_int_param (const std::string &name) const
 
void set_string_param (const std::string &name, const std::string &sval)
 
std::string get_string_param (const std::string &name) const
 
void UseDB (const int i=1)
 
int ReadDB () const
 
FILE_TYPE get_filetype () const
 
void UseCalibFiles (const FILE_TYPE ftyp)
 
int SaveParamsToDB ()
 
int ReadParamsFromDB (const std::string &name, const int issuper)
 
int SaveParamsToFile (const FILE_TYPE ftyp)
 
int ReadParamsFromFile (const std::string &name, const FILE_TYPE ftyp, const int issuper)
 
void SetCalibrationFileDir (const std::string &calibdir)
 
void UpdateParametersWithMacro ()
 
void SetActive (const int i=1)
 
void SetAbsorberActive (const int i=1)
 
void SetAbsorberTruth (const int i=1)
 
void BlackHole (const int i=1)
 
void SetSupportActive (const int i=1)
 
void SuperDetector (const std::string &name)
 
const std::string SuperDetector () const
 
int GetLayer () const
 
- Public Member Functions inherited from PHG4Subsystem
 PHG4Subsystem (const std::string &name="Generic Subsystem")
 constructor
 
 ~PHG4Subsystem (void) override
 destructor
 
virtual int process_after_geant (PHCompositeNode *)
 event processing
 
virtual PHG4EventActionGetEventAction (void) const
 return pointer to this subsystem event 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 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 Reset (PHCompositeNode *)
 Reset.
 
virtual int ResetEvent (PHCompositeNode *)
 Clean up after each event.
 
- 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.
 

Protected Member Functions

void SetDefaultParameters () override
 
- Protected Member Functions inherited from PHG4DetectorSubsystem
 PHG4DetectorSubsystem (const std::string &name="GenericSubsystem", const int lyr=0)
 
void InitializeParameters ()
 
void set_default_double_param (const std::string &name, const double dval)
 
void set_default_int_param (const std::string &name, const int ival)
 
void set_default_string_param (const std::string &name, const std::string &sval)
 
int BeginRunExecuted () const
 

Private Attributes

EICG4RPDetectorm_Detector
 detector construction
 
PHG4SteppingActionm_SteppingAction
 particle tracking "stepping" action
 
bool m_SaveAllHitsFlag = false
 
std::string m_beamProfile
 
double m_ionE
 
double m_elecE
 

Additional Inherited Members

- Public Types inherited from PHG4DetectorSubsystem
enum  FILE_TYPE { none = 0, xml = 1, root = 2 }
 

Detailed Description

Detector Subsystem module.

The detector is constructed and registered via EICG4RPDetector

See Also
EICG4RPDetector
EICG4RPSubsystem

Definition at line 23 of file EICG4RPSubsystem.h.

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

Constructor & Destructor Documentation

EICG4RPSubsystem::EICG4RPSubsystem ( const std::string &  name = "EICG4RP",
const int  layer = 0 
)

constructor

Definition at line 30 of file EICG4RPSubsystem.cc.

View newest version in sPHENIX GitHub at line 30 of file EICG4RPSubsystem.cc

References PHG4DetectorSubsystem::InitializeParameters().

+ Here is the call graph for this function:

virtual EICG4RPSubsystem::~EICG4RPSubsystem ( )
inlinevirtual

destructor

Definition at line 30 of file EICG4RPSubsystem.h.

View newest version in sPHENIX GitHub at line 30 of file EICG4RPSubsystem.h

Member Function Documentation

bool EICG4RPSubsystem::CanBeMotherSubsystem ( ) const
inlineoverridevirtual

Reimplemented from PHG4Subsystem.

Definition at line 51 of file EICG4RPSubsystem.h.

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

PHG4Detector * EICG4RPSubsystem::GetDetector ( void  ) const
overridevirtual

accessors (reimplemented)

Reimplemented from PHG4Subsystem.

Definition at line 127 of file EICG4RPSubsystem.cc.

View newest version in sPHENIX GitHub at line 127 of file EICG4RPSubsystem.cc

References m_Detector.

PHG4SteppingAction* EICG4RPSubsystem::GetSteppingAction ( void  ) const
inlineoverridevirtual

return pointer to this subsystem stepping action

Reimplemented from PHG4Subsystem.

Definition at line 47 of file EICG4RPSubsystem.h.

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

References m_SteppingAction.

int EICG4RPSubsystem::InitRunSubsystem ( PHCompositeNode topNode)
overridevirtual

creates relevant hit nodes that will be populated by the stepping action and stored in the output DST

Reimplemented from PHG4DetectorSubsystem.

Definition at line 40 of file EICG4RPSubsystem.cc.

View newest version in sPHENIX GitHub at line 40 of file EICG4RPSubsystem.cc

References PHG4HitContainer::AddLayer(), PHCompositeNode::addNode(), PHG4DetectorSubsystem::CheckOverlap(), PHNodeIterator::findFirst(), PHG4DetectorSubsystem::get_int_param(), PHG4DetectorSubsystem::GetLayer(), PHG4DetectorSubsystem::GetParams(), m_Detector, m_SaveAllHitsFlag, m_SteppingAction, Fun4AllBase::Name(), PHG4Detector::OverlapCheck(), EICG4RPDetector::SuperDetector(), and PHG4DetectorSubsystem::SuperDetector().

+ Here is the call graph for this function:

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

Print info (from SubsysReco)

Reimplemented from SubsysReco.

Definition at line 117 of file EICG4RPSubsystem.cc.

View newest version in sPHENIX GitHub at line 117 of file EICG4RPSubsystem.cc

References m_Detector, and EICG4RPDetector::Print().

+ Here is the call graph for this function:

int EICG4RPSubsystem::process_event ( PHCompositeNode topNode)
overridevirtual

event processing

get all relevant nodes from top nodes (namely hit list) and pass that to the stepping action

Reimplemented from SubsysReco.

Definition at line 106 of file EICG4RPSubsystem.cc.

View newest version in sPHENIX GitHub at line 106 of file EICG4RPSubsystem.cc

References m_SteppingAction, and PHG4SteppingAction::SetInterfacePointers().

+ Here is the call graph for this function:

void EICG4RPSubsystem::SaveAllHits ( bool  i = true)
inline

Definition at line 53 of file EICG4RPSubsystem.h.

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

References m_SaveAllHitsFlag.

void EICG4RPSubsystem::SetBeamConfig ( std::string  val)
inline

Definition at line 56 of file EICG4RPSubsystem.h.

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

References m_beamProfile.

void EICG4RPSubsystem::SetDefaultParameters ( )
overrideprotectedvirtual

Implements PHG4DetectorSubsystem.

Definition at line 133 of file EICG4RPSubsystem.cc.

View newest version in sPHENIX GitHub at line 133 of file EICG4RPSubsystem.cc

References INPUTHEPMC::filename, PHWHERE, PHG4DetectorSubsystem::set_default_double_param(), PHG4DetectorSubsystem::set_default_int_param(), and PHG4DetectorSubsystem::set_default_string_param().

+ Here is the call graph for this function:

void EICG4RPSubsystem::SetElectronBeamEnergy ( double  val)
inline

Definition at line 58 of file EICG4RPSubsystem.h.

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

References m_elecE.

void EICG4RPSubsystem::SetIonBeamEnergy ( double  val)
inline

Definition at line 57 of file EICG4RPSubsystem.h.

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

References m_ionE.

void EICG4RPSubsystem::SetParametersFromFile ( std::string  filename)

Definition at line 176 of file EICG4RPSubsystem.cc.

View newest version in sPHENIX GitHub at line 176 of file EICG4RPSubsystem.cc

References INPUTHEPMC::filename, getline, m_beamProfile, m_elecE, m_ionE, name, PHWHERE, PHG4DetectorSubsystem::set_double_param(), PHG4DetectorSubsystem::set_string_param(), true, and value.

+ Here is the call graph for this function:

Member Data Documentation

std::string EICG4RPSubsystem::m_beamProfile
private

Definition at line 75 of file EICG4RPSubsystem.h.

View newest version in sPHENIX GitHub at line 75 of file EICG4RPSubsystem.h

Referenced by SetBeamConfig(), and SetParametersFromFile().

EICG4RPDetector* EICG4RPSubsystem::m_Detector
private

detector construction

derives from PHG4Detector

Definition at line 67 of file EICG4RPSubsystem.h.

View newest version in sPHENIX GitHub at line 67 of file EICG4RPSubsystem.h

Referenced by GetDetector(), InitRunSubsystem(), and Print().

double EICG4RPSubsystem::m_elecE
private

Definition at line 77 of file EICG4RPSubsystem.h.

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

Referenced by SetElectronBeamEnergy(), and SetParametersFromFile().

double EICG4RPSubsystem::m_ionE
private

Definition at line 76 of file EICG4RPSubsystem.h.

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

Referenced by SetIonBeamEnergy(), and SetParametersFromFile().

bool EICG4RPSubsystem::m_SaveAllHitsFlag = false
private

Definition at line 73 of file EICG4RPSubsystem.h.

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

Referenced by InitRunSubsystem(), and SaveAllHits().

PHG4SteppingAction* EICG4RPSubsystem::m_SteppingAction
private

particle tracking "stepping" action

derives from PHG4SteppingActions

Definition at line 71 of file EICG4RPSubsystem.h.

View newest version in sPHENIX GitHub at line 71 of file EICG4RPSubsystem.h

Referenced by GetSteppingAction(), InitRunSubsystem(), and process_event().


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