Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4SpacalSteppingAction Class Reference

#include <coresoftware/blob/master/simulation/g4simulation/g4detectors/PHG4SpacalSteppingAction.h>

+ Inheritance diagram for PHG4SpacalSteppingAction:
+ Collaboration diagram for PHG4SpacalSteppingAction:

Public Member Functions

 PHG4SpacalSteppingAction (PHG4SpacalDetector *, const PHParameters *parameters)
 ctor
 
 ~PHG4SpacalSteppingAction () override
 dtor
 
bool UserSteppingAction (const G4Step *, bool) override
 stepping action
 
int InitWithNode (PHCompositeNode *topNode) override
 
void SetInterfacePointers (PHCompositeNode *) override
 reimplemented from base class
 
double get_zmin () const
 
double get_zmax () const
 
void SetHitNodeName (const std::string &type, const std::string &name) override
 Set the G4HIT node names from Subsystem rather than constructing your own.
 
int SetUpGeomNode (PHCompositeNode *topNode)
 
LightCollectionModelget_light_collection_model ()
 
- Public Member Functions inherited from PHG4SteppingAction
 PHG4SteppingAction (const std::string &name, const int i=0)
 
virtual ~PHG4SteppingAction ()
 
virtual void Verbosity (const int i)
 
virtual int Verbosity () const
 
virtual int Init ()
 
virtual double GetScintLightYield (const G4Step *step)
 get scintillation photon count. It require a custom set SCINTILLATIONYIELD property to work
 
virtual double GetVisibleEnergyDeposition (const G4Step *step)
 get amount of energy that can make scintillation light, in Unit of GeV.
 
virtual void StoreLocalCoordinate (PHG4Hit *hit, const G4Step *step, const bool do_prepoint, const bool do_postpoint)
 Extract local coordinate of the hit and save to PHG4Hit.
 
virtual void Print (const std::string &) const
 
std::string GetName () const
 
void SetName (const std::string &name)
 
virtual void SetLightCorrection (const double inner_radius, const double inner_corr, const double outer_radius, const double outer_corr)
 
virtual double GetLightCorrection (const double r) const
 
virtual double GetLightCorrection (const double xpos, const double ypos) const
 
virtual bool ValidCorrection () const
 

Private Member Functions

bool NoHitSteppingAction (const G4Step *aStep)
 

Private Attributes

PHG4SpacalDetectorm_Detector = nullptr
 pointer to the detector
 
PHG4HitContainerm_HitContainer = nullptr
 pointer to hit container
 
PHG4HitContainerm_AbsorberHitContainer = nullptr
 
PHG4Hitm_Hit = nullptr
 
PHG4HitContainerm_CurrentHitContainer = nullptr
 
PHG4Showerm_CurrentShower = nullptr
 
const PHParametersm_Params = nullptr
 
int m_SaveTrackid = -1
 
int m_SavePostStepStatus = -1
 
bool m_doG4Hit = true
 
bool m_geomsetup = false
 
double m_tmin = -20.
 
double m_tmax = 60.
 
double m_dt = 100.
 
std::string m_AbsorberNodeName
 
std::string m_HitNodeName
 
std::string detector
 
std::string geonodename
 
std::string seggeonodename
 
TowerInfoContainerm_CaloInfoContainer = nullptr
 
PHG4CylinderCellGeomContainer_seggeo = nullptr
 
PHG4CylinderGeomContainer_layergeo = nullptr
 
PHG4CylinderCellGeom_Spacalv1_geo = nullptr
 
const PHG4CylinderGeom_Spacalv3_layergeom = nullptr
 
LightCollectionModel light_collection_model
 

Detailed Description

Definition at line 32 of file PHG4SpacalSteppingAction.h.

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

Constructor & Destructor Documentation

PHG4SpacalSteppingAction::PHG4SpacalSteppingAction ( PHG4SpacalDetector indetector,
const PHParameters parameters 
)
explicit

ctor

Definition at line 74 of file PHG4SpacalSteppingAction.cc.

View newest version in sPHENIX GitHub at line 74 of file PHG4SpacalSteppingAction.cc

PHG4SpacalSteppingAction::~PHG4SpacalSteppingAction ( )
override

dtor

Definition at line 85 of file PHG4SpacalSteppingAction.cc.

View newest version in sPHENIX GitHub at line 85 of file PHG4SpacalSteppingAction.cc

References m_Hit.

Member Function Documentation

LightCollectionModel& PHG4SpacalSteppingAction::get_light_collection_model ( )
inline

Definition at line 57 of file PHG4SpacalSteppingAction.h.

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

References light_collection_model.

Referenced by PHG4SpacalSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

double PHG4SpacalSteppingAction::get_zmax ( ) const

Definition at line 629 of file PHG4SpacalSteppingAction.cc.

View newest version in sPHENIX GitHub at line 629 of file PHG4SpacalSteppingAction.cc

References PHG4SpacalDetector::get_geom(), PHG4CylinderGeomv1::get_zmax(), and m_Detector.

Referenced by UserSteppingAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double PHG4SpacalSteppingAction::get_zmin ( ) const

Definition at line 616 of file PHG4SpacalSteppingAction.cc.

View newest version in sPHENIX GitHub at line 616 of file PHG4SpacalSteppingAction.cc

References PHG4SpacalDetector::get_geom(), PHG4CylinderGeomv1::get_zmin(), and m_Detector.

Referenced by UserSteppingAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4SpacalSteppingAction::InitWithNode ( PHCompositeNode topNode)
overridevirtual

Reimplemented from PHG4SteppingAction.

Definition at line 94 of file PHG4SpacalSteppingAction.cc.

View newest version in sPHENIX GitHub at line 94 of file PHG4SpacalSteppingAction.cc

References PHCompositeNode::addNode(), detector, PHNodeIterator::findFirst(), m_CaloInfoContainer, m_Detector, m_doG4Hit, PHCompositeNode::PHCompositeNode(), PHWHERE, and PHG4SpacalDetector::SuperDetector().

Referenced by PHG4SpacalSubsystem::InitRunSubsystem().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool PHG4SpacalSteppingAction::NoHitSteppingAction ( const G4Step *  aStep)
private

Definition at line 161 of file PHG4SpacalSteppingAction.cc.

View newest version in sPHENIX GitHub at line 161 of file PHG4SpacalSteppingAction.cc

References _geo, _layergeom, assert, Acts::UnitConstants::e, TowerInfoDefs::encode_emcal(), KF_timing::etabin, PHG4SpacalDetector::FIBER_CORE, PHG4CylinderGeom_Spacalv3::scint_id_coder::fiber_ID, PHG4CylinderGeom_Spacalv1::get_config(), TowerInfo::get_energy(), PHG4CylinderCellGeom_Spacalv1::get_etabin_block(), LightCollectionModel::get_fiber_transmission(), PHG4SpacalDetector::get_geom(), LightCollectionModel::get_light_guide_efficiency(), PHG4CylinderGeom_Spacalv3::get_n_subtower_eta(), PHG4CylinderGeom_Spacalv3::get_n_subtower_phi(), PHG4CylinderGeom_Spacalv3::get_sector_tower_map(), TowerInfoContainer::get_tower_at_key(), PHG4CylinderGeom_Spacalv3::get_tower_z_phi_ID(), PHG4SteppingAction::GetVisibleEnergyDeposition(), PHG4CylinderCellGeom_Spacalv1::identify(), PHG4CylinderGeom_Spacalv3::scint_id_coder::identify(), PHG4SpacalDetector::INACTIVE, PHG4SpacalDetector::IsInCylinderActive(), PHG4CylinderGeom_Spacalv1::kFullProjective_2DTaper, PHG4CylinderGeom_Spacalv1::kFullProjective_2DTaper_SameLengthFiberPerTower, PHG4CylinderGeom_Spacalv1::kFullProjective_2DTaper_Tilted, PHG4CylinderGeom_Spacalv1::kFullProjective_2DTaper_Tilted_SameLengthFiberPerTower, light_collection_model, m_CaloInfoContainer, m_Detector, m_dt, m_tmax, merge_hashes::p, PHG4CylinderGeom_Spacalv3::scint_id_coder::scint_ID, PHG4CylinderGeom_Spacalv3::scint_id_coder::sector_ID, TowerInfo::set_energy(), PHG4CylinderGeom_Spacalv3::scint_id_coder::tower_ID, LightCollectionModel::use_fiber_model(), ambiguity_solver_full_chain::x, y, and physmon_track_finding_ttbar::z.

Referenced by UserSteppingAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4SpacalSteppingAction::SetHitNodeName ( const std::string &  ,
const std::string &   
)
overridevirtual

Set the G4HIT node names from Subsystem rather than constructing your own.

Reimplemented from PHG4SteppingAction.

Definition at line 641 of file PHG4SpacalSteppingAction.cc.

View newest version in sPHENIX GitHub at line 641 of file PHG4SpacalSteppingAction.cc

References m_AbsorberNodeName, m_HitNodeName, and perf_headwind::name.

Referenced by PHG4SpacalSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

void PHG4SpacalSteppingAction::SetInterfacePointers ( PHCompositeNode topNode)
overridevirtual

reimplemented from base class

Reimplemented from PHG4SteppingAction.

Definition at line 590 of file PHG4SpacalSteppingAction.cc.

View newest version in sPHENIX GitHub at line 590 of file PHG4SpacalSteppingAction.cc

References m_AbsorberHitContainer, m_AbsorberNodeName, m_doG4Hit, m_geomsetup, m_HitContainer, m_HitNodeName, SetUpGeomNode(), and PHG4SteppingAction::Verbosity().

Referenced by PHG4SpacalSubsystem::process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4SpacalSteppingAction::SetUpGeomNode ( PHCompositeNode topNode)

Definition at line 123 of file PHG4SpacalSteppingAction.cc.

View newest version in sPHENIX GitHub at line 123 of file PHG4SpacalSteppingAction.cc

References _geo, _layergeo, _layergeom, _seggeo, assert, detector, geonodename, PHG4CylinderCellGeomContainer::GetFirstLayerCellGeom(), PHG4CylinderGeomContainer::GetFirstLayerGeom(), m_Detector, m_doG4Hit, m_geomsetup, seggeonodename, and PHG4SpacalDetector::SuperDetector().

Referenced by SetInterfacePointers().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool PHG4SpacalSteppingAction::UserSteppingAction ( const G4Step *  aStep,
bool   
)
overridevirtual

stepping action

Implements PHG4SteppingAction.

Definition at line 304 of file PHG4SpacalSteppingAction.cc.

View newest version in sPHENIX GitHub at line 304 of file PHG4SpacalSteppingAction.cc

References PHG4SpacalDetector::ABSORBER, PHG4Shower::add_g4hit_id(), PHG4HitContainer::AddHit(), Acts::UnitConstants::cm, PHG4SpacalDetector::FIBER_CLADING, PHG4SpacalDetector::FIBER_CORE, PHG4CylinderGeom_Spacalv1::get_config(), PHG4Hit::get_edep(), PHG4Hit::get_eion(), PHG4SpacalDetector::get_geom(), PHG4Hit::get_hit_id(), PHG4SpacalDetector::get_Layer(), PHG4Hit::get_light_yield(), PHG4Hit::get_x(), PHG4Hit::get_z(), get_zmax(), get_zmin(), PHG4HitContainer::GetID(), PHG4SteppingAction::GetName(), PHG4Detector::GetName(), PHG4SteppingAction::GetVisibleEnergyDeposition(), Acts::UnitConstants::GeV, PHG4Hit::identify(), PHG4SpacalDetector::INACTIVE, PHG4SpacalDetector::IsInCylinderActive(), PHG4CylinderGeom_Spacalv3::scint_id_coder::kfiber_bit, PHG4CylinderGeom_Spacalv1::kFullProjective_2DTaper, PHG4CylinderGeom_Spacalv1::kFullProjective_2DTaper_SameLengthFiberPerTower, PHG4CylinderGeom_Spacalv1::kFullProjective_2DTaper_Tilted, PHG4CylinderGeom_Spacalv1::kFullProjective_2DTaper_Tilted_SameLengthFiberPerTower, m_AbsorberHitContainer, m_CurrentHitContainer, m_CurrentShower, m_Detector, m_doG4Hit, m_Hit, m_HitContainer, m_SavePostStepStatus, m_SaveTrackid, NoHitSteppingAction(), merge_hashes::p, PHG4Hit::Reset(), PHG4CylinderGeom_Spacalv3::scint_id_coder::scint_ID, PHG4Hit::set_edep(), PHG4Hit::set_eion(), PHG4Hit::set_layer(), PHG4Hit::set_light_yield(), PHG4Hit::set_scint_id(), PHG4Hit::set_shower_id(), PHG4Hit::set_t(), PHG4Hit::set_trkid(), PHG4Hit::set_x(), PHG4Hit::set_y(), PHG4Hit::set_z(), PHG4SteppingAction::StoreLocalCoordinate(), PHG4SpacalDetector::SUPPORT, and PHG4SteppingAction::Verbosity().

+ Here is the call graph for this function:

Member Data Documentation

PHG4CylinderCellGeom_Spacalv1* PHG4SpacalSteppingAction::_geo = nullptr
private

Definition at line 91 of file PHG4SpacalSteppingAction.h.

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

Referenced by NoHitSteppingAction(), and SetUpGeomNode().

PHG4CylinderGeomContainer* PHG4SpacalSteppingAction::_layergeo = nullptr
private

Definition at line 89 of file PHG4SpacalSteppingAction.h.

View newest version in sPHENIX GitHub at line 89 of file PHG4SpacalSteppingAction.h

Referenced by SetUpGeomNode().

const PHG4CylinderGeom_Spacalv3* PHG4SpacalSteppingAction::_layergeom = nullptr
private

Definition at line 93 of file PHG4SpacalSteppingAction.h.

View newest version in sPHENIX GitHub at line 93 of file PHG4SpacalSteppingAction.h

Referenced by NoHitSteppingAction(), and SetUpGeomNode().

PHG4CylinderCellGeomContainer* PHG4SpacalSteppingAction::_seggeo = nullptr
private

Definition at line 87 of file PHG4SpacalSteppingAction.h.

View newest version in sPHENIX GitHub at line 87 of file PHG4SpacalSteppingAction.h

Referenced by SetUpGeomNode().

std::string PHG4SpacalSteppingAction::detector
private

Definition at line 81 of file PHG4SpacalSteppingAction.h.

View newest version in sPHENIX GitHub at line 81 of file PHG4SpacalSteppingAction.h

Referenced by InitWithNode(), and SetUpGeomNode().

std::string PHG4SpacalSteppingAction::geonodename
private

Definition at line 82 of file PHG4SpacalSteppingAction.h.

View newest version in sPHENIX GitHub at line 82 of file PHG4SpacalSteppingAction.h

Referenced by SetUpGeomNode().

LightCollectionModel PHG4SpacalSteppingAction::light_collection_model
private

Definition at line 95 of file PHG4SpacalSteppingAction.h.

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

Referenced by get_light_collection_model(), and NoHitSteppingAction().

PHG4HitContainer* PHG4SpacalSteppingAction::m_AbsorberHitContainer = nullptr
private

Definition at line 66 of file PHG4SpacalSteppingAction.h.

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

Referenced by SetInterfacePointers(), and UserSteppingAction().

std::string PHG4SpacalSteppingAction::m_AbsorberNodeName
private

Definition at line 79 of file PHG4SpacalSteppingAction.h.

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

Referenced by SetHitNodeName(), and SetInterfacePointers().

TowerInfoContainer* PHG4SpacalSteppingAction::m_CaloInfoContainer = nullptr
private

Definition at line 85 of file PHG4SpacalSteppingAction.h.

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

Referenced by InitWithNode(), and NoHitSteppingAction().

PHG4HitContainer* PHG4SpacalSteppingAction::m_CurrentHitContainer = nullptr
private

Definition at line 68 of file PHG4SpacalSteppingAction.h.

View newest version in sPHENIX GitHub at line 68 of file PHG4SpacalSteppingAction.h

Referenced by UserSteppingAction().

PHG4Shower* PHG4SpacalSteppingAction::m_CurrentShower = nullptr
private

Definition at line 69 of file PHG4SpacalSteppingAction.h.

View newest version in sPHENIX GitHub at line 69 of file PHG4SpacalSteppingAction.h

Referenced by UserSteppingAction().

PHG4SpacalDetector* PHG4SpacalSteppingAction::m_Detector = nullptr
private

pointer to the detector

Definition at line 62 of file PHG4SpacalSteppingAction.h.

View newest version in sPHENIX GitHub at line 62 of file PHG4SpacalSteppingAction.h

Referenced by get_zmax(), get_zmin(), InitWithNode(), NoHitSteppingAction(), SetUpGeomNode(), and UserSteppingAction().

bool PHG4SpacalSteppingAction::m_doG4Hit = true
private

Definition at line 73 of file PHG4SpacalSteppingAction.h.

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

Referenced by InitWithNode(), SetInterfacePointers(), SetUpGeomNode(), and UserSteppingAction().

double PHG4SpacalSteppingAction::m_dt = 100.
private

Definition at line 77 of file PHG4SpacalSteppingAction.h.

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

Referenced by NoHitSteppingAction().

bool PHG4SpacalSteppingAction::m_geomsetup = false
private

Definition at line 74 of file PHG4SpacalSteppingAction.h.

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

Referenced by SetInterfacePointers(), and SetUpGeomNode().

PHG4Hit* PHG4SpacalSteppingAction::m_Hit = nullptr
private

Definition at line 67 of file PHG4SpacalSteppingAction.h.

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

Referenced by UserSteppingAction(), and ~PHG4SpacalSteppingAction().

PHG4HitContainer* PHG4SpacalSteppingAction::m_HitContainer = nullptr
private

pointer to hit container

Definition at line 65 of file PHG4SpacalSteppingAction.h.

View newest version in sPHENIX GitHub at line 65 of file PHG4SpacalSteppingAction.h

Referenced by SetInterfacePointers(), and UserSteppingAction().

std::string PHG4SpacalSteppingAction::m_HitNodeName
private

Definition at line 80 of file PHG4SpacalSteppingAction.h.

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

Referenced by SetHitNodeName(), and SetInterfacePointers().

const PHParameters* PHG4SpacalSteppingAction::m_Params = nullptr
private

Definition at line 70 of file PHG4SpacalSteppingAction.h.

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

int PHG4SpacalSteppingAction::m_SavePostStepStatus = -1
private

Definition at line 72 of file PHG4SpacalSteppingAction.h.

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

Referenced by UserSteppingAction().

int PHG4SpacalSteppingAction::m_SaveTrackid = -1
private

Definition at line 71 of file PHG4SpacalSteppingAction.h.

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

Referenced by UserSteppingAction().

double PHG4SpacalSteppingAction::m_tmax = 60.
private

Definition at line 76 of file PHG4SpacalSteppingAction.h.

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

Referenced by NoHitSteppingAction().

double PHG4SpacalSteppingAction::m_tmin = -20.
private

Definition at line 75 of file PHG4SpacalSteppingAction.h.

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

std::string PHG4SpacalSteppingAction::seggeonodename
private

Definition at line 83 of file PHG4SpacalSteppingAction.h.

View newest version in sPHENIX GitHub at line 83 of file PHG4SpacalSteppingAction.h

Referenced by SetUpGeomNode().


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