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

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

+ Inheritance diagram for PHG4ZDCSteppingAction:
+ Collaboration diagram for PHG4ZDCSteppingAction:

Public Member Functions

 PHG4ZDCSteppingAction (PHG4ZDCDetector *, const PHParameters *parameters)
 constructor
 
 ~PHG4ZDCSteppingAction () override
 destroctor
 
bool UserSteppingAction (const G4Step *, bool) override
 stepping action
 
void SetInterfacePointers (PHCompositeNode *) override
 reimplemented from base class
 
void SetHitNodeName (const std::string &type, const std::string &name) override
 Set the G4HIT node names from Subsystem rather than constructing your own.
 
- 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

int FindIndexZDC (G4TouchableHandle &touch, int &j, int &k)
 
int FindIndexSMD (G4TouchableHandle &touch, int &j, int &k)
 
double ZDCResponse (double beta, double angle)
 
double ZDCEResponse (double E, double angle)
 

Private Attributes

PHG4ZDCDetectorm_Detector = nullptr
 pointer to the detector
 
PHG4HitContainerm_HitContainer = nullptr
 pointer to hit container
 
PHG4HitContainerm_AbsorberHitContainer = nullptr
 
PHG4HitContainerm_SupportHitContainer = nullptr
 
const PHParametersm_Params = nullptr
 
PHG4HitContainerm_CurrentHitContainer = nullptr
 
PHG4Hitm_Hit = nullptr
 
PHG4Showerm_CurrentShower = nullptr
 
gsl_rng * RandomGenerator = nullptr
 
int m_IsActiveFlag = 0
 
int absorbertruth = 0
 
int m_IsBlackHole = 0
 
const std::array< std::array
< double, 18 >, 9 > 
m_PMMA05
 
const double m_Beta [9] = {0.70, 0.75, 0.80, 0.85, 0.90, 0.92, 0.95, 0.98, 1.00}
 
const double m_BetaThersh = 0.671141
 
const std::array< std::array
< double, 36 >, 11 > 
m_PMMA05E
 
const double m_E [11] = {0.0005, 0.00055, 0.0006, 0.00075, 0.001, 0.0015, 0.002, 0.003, 0.005, 0.01, 0.05}
 
std::string m_AbsorberNodeName
 
std::string m_HitNodeName
 
std::string m_SupportNodeName
 

Detailed Description

Definition at line 22 of file PHG4ZDCSteppingAction.h.

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

Constructor & Destructor Documentation

PHG4ZDCSteppingAction::PHG4ZDCSteppingAction ( PHG4ZDCDetector detector,
const PHParameters parameters 
)

constructor

Definition at line 50 of file PHG4ZDCSteppingAction.cc.

View newest version in sPHENIX GitHub at line 50 of file PHG4ZDCSteppingAction.cc

References RandomGenerator, and seed.

PHG4ZDCSteppingAction::~PHG4ZDCSteppingAction ( )
override

destroctor

Definition at line 63 of file PHG4ZDCSteppingAction.cc.

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

References m_Hit, and RandomGenerator.

Member Function Documentation

int PHG4ZDCSteppingAction::FindIndexSMD ( G4TouchableHandle touch,
int j,
int k 
)
private

Definition at line 411 of file PHG4ZDCSteppingAction.cc.

View newest version in sPHENIX GitHub at line 411 of file PHG4ZDCSteppingAction.cc

References G4VPhysicalVolume::GetCopyNo(), and G4VTouchable::GetVolume().

Referenced by UserSteppingAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHG4ZDCSteppingAction::FindIndexZDC ( G4TouchableHandle touch,
int j,
int k 
)
private

Definition at line 400 of file PHG4ZDCSteppingAction.cc.

View newest version in sPHENIX GitHub at line 400 of file PHG4ZDCSteppingAction.cc

References G4VPhysicalVolume::GetCopyNo(), and G4VTouchable::GetVolume().

Referenced by UserSteppingAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4ZDCSteppingAction::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 376 of file PHG4ZDCSteppingAction.cc.

View newest version in sPHENIX GitHub at line 376 of file PHG4ZDCSteppingAction.cc

References m_AbsorberNodeName, m_HitNodeName, and m_SupportNodeName.

void PHG4ZDCSteppingAction::SetInterfacePointers ( PHCompositeNode topNode)
overridevirtual

reimplemented from base class

Reimplemented from PHG4SteppingAction.

Definition at line 347 of file PHG4ZDCSteppingAction.cc.

View newest version in sPHENIX GitHub at line 347 of file PHG4ZDCSteppingAction.cc

References m_AbsorberHitContainer, m_AbsorberNodeName, m_HitContainer, m_HitNodeName, m_SupportHitContainer, m_SupportNodeName, and PHG4SteppingAction::Verbosity().

+ Here is the call graph for this function:

bool PHG4ZDCSteppingAction::UserSteppingAction ( const G4Step aStep,
bool   
)
overridevirtual

stepping action

Implements PHG4SteppingAction.

Definition at line 74 of file PHG4ZDCSteppingAction.cc.

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

References absorbertruth, PHG4Shower::add_g4hit_id(), PHG4HitContainer::AddHit(), angle, charge, cm, dy, dz, E, edep, fAtRestDoItProc, fGeomBoundary, FindIndexSMD(), FindIndexZDC(), fStopAndKill, fUndefined, fWorldBoundary, PHG4Hit::get_edep(), PHG4Hit::get_eion(), PHG4Hit::get_hit_id(), PHG4ZDCDetector::get_Layer(), PHG4Hit::get_light_yield(), G4IonisParamMat::GetBirksConstant(), G4Track::GetDynamicParticle(), G4StepPoint::GetGlobalTime(), PHG4HitContainer::GetID(), G4Material::GetIonisation(), G4Track::GetKineticEnergy(), G4MaterialCutsCouple::GetMaterial(), G4Track::GetMaterialCutsCouple(), G4DynamicParticle::GetMomentumDirection(), PHG4Detector::GetName(), G4Material::GetName(), G4Step::GetNonIonizingEnergyDeposit(), G4Track::GetParticleDefinition(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGEncoding(), G4StepPoint::GetPosition(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4StepPoint::GetStepStatus(), G4DynamicParticle::GetTotalEnergy(), G4Step::GetTotalEnergyDeposit(), G4DynamicParticle::GetTotalMomentum(), G4StepPoint::GetTouchableHandle(), G4Step::GetTrack(), G4Track::GetTrackID(), G4Track::GetTrackStatus(), G4Track::GetUserInformation(), PHG4SteppingAction::GetVisibleEnergyDeposition(), G4VTouchable::GetVolume(), GeV, PHG4ZDCDetector::IsInZDC(), m_AbsorberHitContainer, m_CurrentHitContainer, m_CurrentShower, m_Detector, m_Hit, m_HitContainer, m_IsActiveFlag, m_IsBlackHole, M_PI, m_SupportHitContainer, nanosecond, P, pid, G4InuclParticleNames::pp, RandomGenerator, PHG4Hit::Reset(), PHG4Hit::set_edep(), PHG4Hit::set_eion(), PHG4Hit::set_index_j(), PHG4Hit::set_index_k(), PHG4Hit::set_light_yield(), PHG4Hit::set_shower_id(), PHG4Hit::set_t(), PHG4Hit::set_trkid(), PHG4Hit::set_x(), PHG4Hit::set_y(), PHG4Hit::set_z(), G4Track::SetTrackStatus(), PHG4SteppingAction::Verbosity(), Acts::Test::volume, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), CLHEP::Hep3Vector::z(), ZDCEResponse(), and ZDCResponse().

double PHG4ZDCSteppingAction::ZDCEResponse ( double  E,
double  angle 
)
private

Definition at line 459 of file PHG4ZDCSteppingAction.cc.

View newest version in sPHENIX GitHub at line 459 of file PHG4ZDCSteppingAction.cc

References int(), m_E, and m_PMMA05E.

Referenced by UserSteppingAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double PHG4ZDCSteppingAction::ZDCResponse ( double  beta,
double  angle 
)
private

Definition at line 431 of file PHG4ZDCSteppingAction.cc.

View newest version in sPHENIX GitHub at line 431 of file PHG4ZDCSteppingAction.cc

References int(), m_Beta, m_BetaThersh, and m_PMMA05.

Referenced by UserSteppingAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

int PHG4ZDCSteppingAction::absorbertruth = 0
private

Definition at line 62 of file PHG4ZDCSteppingAction.h.

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

Referenced by UserSteppingAction().

PHG4HitContainer* PHG4ZDCSteppingAction::m_AbsorberHitContainer = nullptr
private

Definition at line 53 of file PHG4ZDCSteppingAction.h.

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

Referenced by SetInterfacePointers(), and UserSteppingAction().

std::string PHG4ZDCSteppingAction::m_AbsorberNodeName
private

Definition at line 161 of file PHG4ZDCSteppingAction.h.

View newest version in sPHENIX GitHub at line 161 of file PHG4ZDCSteppingAction.h

Referenced by SetHitNodeName(), and SetInterfacePointers().

const double PHG4ZDCSteppingAction::m_Beta[9] = {0.70, 0.75, 0.80, 0.85, 0.90, 0.92, 0.95, 0.98, 1.00}
private

Definition at line 101 of file PHG4ZDCSteppingAction.h.

View newest version in sPHENIX GitHub at line 101 of file PHG4ZDCSteppingAction.h

Referenced by ZDCResponse().

const double PHG4ZDCSteppingAction::m_BetaThersh = 0.671141
private

Definition at line 102 of file PHG4ZDCSteppingAction.h.

View newest version in sPHENIX GitHub at line 102 of file PHG4ZDCSteppingAction.h

Referenced by ZDCResponse().

PHG4HitContainer* PHG4ZDCSteppingAction::m_CurrentHitContainer = nullptr
private

Definition at line 56 of file PHG4ZDCSteppingAction.h.

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

Referenced by UserSteppingAction().

PHG4Shower* PHG4ZDCSteppingAction::m_CurrentShower = nullptr
private

Definition at line 58 of file PHG4ZDCSteppingAction.h.

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

Referenced by UserSteppingAction().

PHG4ZDCDetector* PHG4ZDCSteppingAction::m_Detector = nullptr
private

pointer to the detector

Definition at line 49 of file PHG4ZDCSteppingAction.h.

View newest version in sPHENIX GitHub at line 49 of file PHG4ZDCSteppingAction.h

Referenced by UserSteppingAction().

const double PHG4ZDCSteppingAction::m_E[11] = {0.0005, 0.00055, 0.0006, 0.00075, 0.001, 0.0015, 0.002, 0.003, 0.005, 0.01, 0.05}
private

Definition at line 159 of file PHG4ZDCSteppingAction.h.

View newest version in sPHENIX GitHub at line 159 of file PHG4ZDCSteppingAction.h

Referenced by ZDCEResponse().

PHG4Hit* PHG4ZDCSteppingAction::m_Hit = nullptr
private

Definition at line 57 of file PHG4ZDCSteppingAction.h.

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

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

PHG4HitContainer* PHG4ZDCSteppingAction::m_HitContainer = nullptr
private

pointer to hit container

Definition at line 52 of file PHG4ZDCSteppingAction.h.

View newest version in sPHENIX GitHub at line 52 of file PHG4ZDCSteppingAction.h

Referenced by SetInterfacePointers(), and UserSteppingAction().

std::string PHG4ZDCSteppingAction::m_HitNodeName
private

Definition at line 162 of file PHG4ZDCSteppingAction.h.

View newest version in sPHENIX GitHub at line 162 of file PHG4ZDCSteppingAction.h

Referenced by SetHitNodeName(), and SetInterfacePointers().

int PHG4ZDCSteppingAction::m_IsActiveFlag = 0
private

Definition at line 61 of file PHG4ZDCSteppingAction.h.

View newest version in sPHENIX GitHub at line 61 of file PHG4ZDCSteppingAction.h

Referenced by UserSteppingAction().

int PHG4ZDCSteppingAction::m_IsBlackHole = 0
private

Definition at line 63 of file PHG4ZDCSteppingAction.h.

View newest version in sPHENIX GitHub at line 63 of file PHG4ZDCSteppingAction.h

Referenced by UserSteppingAction().

const PHParameters* PHG4ZDCSteppingAction::m_Params = nullptr
private

Definition at line 55 of file PHG4ZDCSteppingAction.h.

View newest version in sPHENIX GitHub at line 55 of file PHG4ZDCSteppingAction.h

const std::array<std::array<double, 18>, 9> PHG4ZDCSteppingAction::m_PMMA05
private

Definition at line 65 of file PHG4ZDCSteppingAction.h.

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

Referenced by ZDCResponse().

const std::array<std::array<double, 36>, 11> PHG4ZDCSteppingAction::m_PMMA05E
private

Definition at line 104 of file PHG4ZDCSteppingAction.h.

View newest version in sPHENIX GitHub at line 104 of file PHG4ZDCSteppingAction.h

Referenced by ZDCEResponse().

PHG4HitContainer* PHG4ZDCSteppingAction::m_SupportHitContainer = nullptr
private

Definition at line 54 of file PHG4ZDCSteppingAction.h.

View newest version in sPHENIX GitHub at line 54 of file PHG4ZDCSteppingAction.h

Referenced by SetInterfacePointers(), and UserSteppingAction().

std::string PHG4ZDCSteppingAction::m_SupportNodeName
private

Definition at line 163 of file PHG4ZDCSteppingAction.h.

View newest version in sPHENIX GitHub at line 163 of file PHG4ZDCSteppingAction.h

Referenced by SetHitNodeName(), and SetInterfacePointers().

gsl_rng* PHG4ZDCSteppingAction::RandomGenerator = nullptr
private

Definition at line 59 of file PHG4ZDCSteppingAction.h.

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

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


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