5#ifndef ISF_GEANT4TOOLS_TRACKPROCESSORUSERACTIONBASE_H
6#define ISF_GEANT4TOOLS_TRACKPROCESSORUSERACTIONBASE_H
8#include "G4UserTrackingAction.hh"
9#include "G4UserSteppingAction.hh"
10#include "G4UserEventAction.hh"
31 public G4UserSteppingAction,
32 public G4UserEventAction
72 int regenerationNumber)
const;
This class is attached to G4Event objects as UserInformation.
VTrackInformation::TrackClassification classify(HepMC::ConstGenParticlePtr primaryGenParticle, HepMC::ConstGenParticlePtr generationZeroGenParticle, HepMC::ConstGenParticlePtr currentGenParticle, int regenerationNumber) const
Classify the particle represented by the given set of truth links.
virtual void PreUserTrackingAction(const G4Track *) override
virtual void EndOfEventAction(const G4Event *) override final
virtual void ISFSteppingAction(const G4Step *, ISF::ISFParticle *)=0
This method is called by TrackProcessorUserActionBase after the G4Track->ISFParticle association has ...
virtual void PostUserTrackingAction(const G4Track *) override final
virtual void UserSteppingAction(const G4Step *) override final
ISF::ISFParticleContainer m_storedSecondaries
void setupPrimary(G4Track &)
Setup the given G4Track as the current primary particle which we'll process.
void setupSecondary(const G4Track &)
Setup the given G4Track as the current secondary particle which we'll process.
void updateCachedParticleInfo(ISF::ISFParticle *baseISFParticle, HepMC::ConstGenParticlePtr primaryGenParticle, HepMC::GenParticlePtr currentGenParticle)
Set the following information as the currently traced particle.
AtlasG4EventUserInfo * m_atlasG4EvtUserInfo
event-global G4 UserInformation
ISF::ISFParticleContainer ReturnSecondaries(ISF::ISFParticle const *parent)
TrackProcessorUserActionBase()=default
virtual void BeginOfEventAction(const G4Event *) override final
ISF::ISFParticle * m_curBaseISP
The most recent ISFParticle ancestor that triggers the currently processed G4Track.
The generic ISF particle definition,.
GenParticle * GenParticlePtr
const GenParticle * ConstGenParticlePtr
std::list< ISF::ISFParticle * > ISFParticleContainer
generic ISFParticle container (not necessarily a std::list!)