Geant4 VMC Version 6.6
|
The process which pops particles defined by user from the VMC stack and passes them to tracking. More...
#include <TG4StackPopper.h>
Public Member Functions | |
TG4StackPopper (const G4String &processName="stackPopper") | |
virtual | ~TG4StackPopper () |
virtual G4bool | IsApplicable (const G4ParticleDefinition &) |
virtual G4double | PostStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition) |
virtual G4VParticleChange * | PostStepDoIt (const G4Track &track, const G4Step &step) |
virtual G4double | AlongStepGetPhysicalInteractionLength (const G4Track &, G4double, G4double, G4double &, G4GPILSelection *) |
virtual G4double | AtRestGetPhysicalInteractionLength (const G4Track &, G4ForceCondition *) |
virtual G4VParticleChange * | AlongStepDoIt (const G4Track &, const G4Step &) |
virtual G4VParticleChange * | AtRestDoIt (const G4Track &, const G4Step &) |
void | Notify () |
void | Reset () |
void | SetMCStack (TVirtualMCStack *mcStack) |
void | SetDoExclusiveStep (G4TrackStatus trackStatus) |
G4bool | HasPoppedTracks () const |
Static Public Member Functions | |
static TG4StackPopper * | Instance () |
Private Member Functions | |
TG4StackPopper (const TG4StackPopper &right) | |
Not implemented. | |
TG4StackPopper & | operator= (const TG4StackPopper &right) |
Not implemented. | |
Private Attributes | |
TVirtualMCStack * | fMCStack |
Cached pointer to thread-local VMC stack. | |
G4int | fNofDoneTracks |
the counter for popped tracks | |
G4bool | fDoExclusiveStep |
G4TrackStatus | fTrackStatus |
The track status to be restored after performing exclusive step. | |
Static Private Attributes | |
static G4ThreadLocal TG4StackPopper * | fgInstance = 0 |
this instance | |
The process which pops particles defined by user from the VMC stack and passes them to tracking.
Definition at line 40 of file TG4StackPopper.h.
TG4StackPopper::TG4StackPopper | ( | const G4String & | processName = "stackPopper" | ) |
Standard constructor
Definition at line 30 of file TG4StackPopper.cxx.
|
virtual |
Destructor
Definition at line 53 of file TG4StackPopper.cxx.
|
private |
Not implemented.
|
inlinestatic |
Return this instance.
Definition at line 121 of file TG4StackPopper.h.
Referenced by TG4RunManager::CacheMCStack(), TG4SteppingAction::LateInitialize(), TG4TrackingAction::LateInitialize(), and TG4TrackManager::LateInitialize().
|
inlinevirtual |
Applicable to any particles
Definition at line 127 of file TG4StackPopper.h.
|
virtual |
Do not limit step, set condition to StronglyForced if there are popped tracks in the stack
Definition at line 65 of file TG4StackPopper.cxx.
|
virtual |
Add particles from the stack as secondaries to the current particle
Definition at line 85 of file TG4StackPopper.cxx.
|
inlinevirtual |
Definition at line 61 of file TG4StackPopper.h.
|
inlinevirtual |
Definition at line 69 of file TG4StackPopper.h.
|
inlinevirtual |
Definition at line 75 of file TG4StackPopper.h.
|
inlinevirtual |
Definition at line 81 of file TG4StackPopper.h.
void TG4StackPopper::Notify | ( | ) |
Increment the number of done tracks
Definition at line 159 of file TG4StackPopper.cxx.
Referenced by TG4TrackingAction::PreUserTrackingAction(), and TG4TrackManager::SaveSecondaries().
void TG4StackPopper::Reset | ( | ) |
Reset the number of done tracks to the number od tracks in stack (when starting track)
Definition at line 167 of file TG4StackPopper.cxx.
Referenced by TG4TrackingAction::PreUserTrackingAction().
|
inline |
Set cached pointer to thread-local VMC stack
Definition at line 134 of file TG4StackPopper.h.
Referenced by TG4RunManager::CacheMCStack().
void TG4StackPopper::SetDoExclusiveStep | ( | G4TrackStatus | trackStatus | ) |
Activate performing exclusive step and keep the track status
Definition at line 176 of file TG4StackPopper.cxx.
Referenced by TG4SteppingAction::UserSteppingAction().
G4bool TG4StackPopper::HasPoppedTracks | ( | ) | const |
Return true if there are user tracks in stack
Definition at line 185 of file TG4StackPopper.cxx.
Referenced by PostStepGetPhysicalInteractionLength(), and TG4SteppingAction::UserSteppingAction().
|
private |
Not implemented.
|
staticprivate |
this instance
Definition at line 101 of file TG4StackPopper.h.
Referenced by Instance(), TG4StackPopper(), and ~TG4StackPopper().
|
private |
Cached pointer to thread-local VMC stack.
Definition at line 104 of file TG4StackPopper.h.
Referenced by PostStepDoIt(), Reset(), SetMCStack(), and TG4StackPopper().
|
private |
the counter for popped tracks
Definition at line 107 of file TG4StackPopper.h.
Referenced by HasPoppedTracks(), Notify(), PostStepDoIt(), and Reset().
|
private |
The indication for performing exclusive step
It is set in stepping action when a track is not alive and there are user tracks in the VMC stack
Definition at line 113 of file TG4StackPopper.h.
Referenced by PostStepDoIt(), PostStepGetPhysicalInteractionLength(), and SetDoExclusiveStep().
|
private |
The track status to be restored after performing exclusive step.
Definition at line 116 of file TG4StackPopper.h.
Referenced by PostStepDoIt(), and SetDoExclusiveStep().