Go to the documentation of this file. 1 #ifndef SimG4Core_SteppingAction_H
2 #define SimG4Core_SteppingAction_H
7 #include "G4LogicalVolume.hh"
9 #include "G4UserSteppingAction.hh"
10 #include "G4VPhysicalVolume.hh"
11 #include "G4VTouchable.hh"
44 inline bool isOutOfTimeWindow(
const G4Track* theTrack,
const G4Region* reg)
const;
45 inline bool isThisVolume(
const G4VTouchable* touch,
const G4VPhysicalVolume*
pv)
const;
95 return (theTrack->GetGlobalTime() > tofM);
99 int level = (touch->GetHistoryDepth()) + 1;
100 return (
level >= 3) ? (touch->GetVolume(
level - 3) ==
pv) :
false;
std::vector< std::string > maxTimeNames
double theCriticalDensity
const G4VPhysicalVolume * tracker
bool isLowEnergy(const G4Step *aStep) const
bool isOutOfTimeWindow(const G4Track *theTrack, const G4Region *reg) const
std::vector< std::string > deadRegionNames
std::vector< std::string > ekinParticles
std::vector< const G4Region * > maxTimeRegions
std::vector< std::string > ekinNames
double theCriticalEnergyForVacuum
double maxTrackTimeForward
void PrintKilledTrack(const G4Track *, const TrackStatus &) const
bool isInsideDeadRegion(const G4Region *reg) const
const CMSSteppingVerbose * steppingVerbose
std::vector< double > maxTrackTimes
unsigned int ndeadRegions
const G4VPhysicalVolume * calo
void UserSteppingAction(const G4Step *aStep) final
std::vector< double > ekinMins
~SteppingAction() override
bool isThisVolume(const G4VTouchable *touch, const G4VPhysicalVolume *pv) const
std::vector< G4LogicalVolume * > ekinVolumes
SimActivityRegistry::G4StepSignal m_g4StepSignal
EventAction * eventAction_
std::vector< int > ekinPDG
SteppingAction(EventAction *ea, const edm::ParameterSet &ps, const CMSSteppingVerbose *, bool hasW)
std::vector< const G4Region * > deadRegions