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" 46 bool isThisVolume(
const G4VTouchable* touch,
const G4VPhysicalVolume*
pv)
const;
96 return (theTrack->GetGlobalTime() > tofM) ?
true :
false;
100 const G4VPhysicalVolume*
pv)
const 102 int level = (touch->GetHistoryDepth())+1;
103 return (level >= 3) ? (touch->GetVolume(level - 3) ==
pv) :
false;
void UserSteppingAction(const G4Step *aStep) final
const G4VPhysicalVolume * tracker
std::vector< int > ekinPDG
std::vector< const G4Region * > deadRegions
double theCriticalDensity
SimActivityRegistry::G4StepSignal m_g4StepSignal
~SteppingAction() override
const CMSSteppingVerbose * steppingVerbose
bool isOutOfTimeWindow(G4Track *theTrack, const G4Region *reg) const
std::vector< std::string > deadRegionNames
const G4VPhysicalVolume * calo
std::vector< double > maxTrackTimes
std::vector< G4LogicalVolume * > ekinVolumes
double theCriticalEnergyForVacuum
EventAction * eventAction_
std::vector< double > ekinMins
std::vector< std::string > maxTimeNames
std::vector< std::string > ekinNames
bool isLowEnergy(const G4Step *aStep) const
bool isInsideDeadRegion(const G4Region *reg) const
SteppingAction(EventAction *ea, const edm::ParameterSet &ps, const CMSSteppingVerbose *, bool hasW)
void PrintKilledTrack(const G4Track *, const TrackStatus &) const
unsigned int ndeadRegions
std::vector< std::string > ekinParticles
bool isThisVolume(const G4VTouchable *touch, const G4VPhysicalVolume *pv) const
std::vector< const G4Region * > maxTimeRegions