1#ifndef TG4_STACK_POPPER_H
2#define TG4_STACK_POPPER_H
18#include <G4VProcess.hh>
54 G4double previousStepSize, G4ForceCondition* condition);
57 const G4Track& track,
const G4Step& step);
62 const G4Track& , G4double ,
63 G4double , G4double& ,
70 const G4Track& , G4ForceCondition* )
76 const G4Track& ,
const G4Step& )
82 const G4Track& ,
const G4Step& )
The process which pops particles defined by user from the VMC stack and passes them to tracking.
G4bool HasPoppedTracks() const
void SetDoExclusiveStep(G4TrackStatus trackStatus)
static G4ThreadLocal TG4StackPopper * fgInstance
this instance
G4TrackStatus fTrackStatus
The track status to be restored after performing exclusive step.
virtual G4VParticleChange * AtRestDoIt(const G4Track &, const G4Step &)
virtual G4VParticleChange * AlongStepDoIt(const G4Track &, const G4Step &)
static TG4StackPopper * Instance()
TG4StackPopper(const G4String &processName="stackPopper")
virtual G4VParticleChange * PostStepDoIt(const G4Track &track, const G4Step &step)
void SetMCStack(TVirtualMCStack *mcStack)
TG4StackPopper(const TG4StackPopper &right)
Not implemented.
virtual G4double AlongStepGetPhysicalInteractionLength(const G4Track &, G4double, G4double, G4double &, G4GPILSelection *)
TVirtualMCStack * fMCStack
Cached pointer to thread-local VMC stack.
TG4StackPopper & operator=(const TG4StackPopper &right)
Not implemented.
virtual G4bool IsApplicable(const G4ParticleDefinition &)
G4int fNofDoneTracks
the counter for popped tracks
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
virtual ~TG4StackPopper()
virtual G4double AtRestGetPhysicalInteractionLength(const G4Track &, G4ForceCondition *)
TG4StackPopperProcessType
Definition of Stack popper process type.