Geant4 VMC Version 6.6
Loading...
Searching...
No Matches
TG4StackPopper Class Reference

The process which pops particles defined by user from the VMC stack and passes them to tracking. More...

#include <TG4StackPopper.h>

Inheritance diagram for TG4StackPopper:

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 TG4StackPopperInstance ()
 

Private Member Functions

 TG4StackPopper (const TG4StackPopper &right)
 Not implemented.
 
TG4StackPopperoperator= (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 TG4StackPopperfgInstance = 0
 this instance
 

Detailed Description

The process which pops particles defined by user from the VMC stack and passes them to tracking.

Author
I. Hrivnacova; IPN Orsay

Definition at line 40 of file TG4StackPopper.h.

Constructor & Destructor Documentation

◆ TG4StackPopper() [1/2]

TG4StackPopper::TG4StackPopper ( const G4String & processName = "stackPopper")

Standard constructor

Definition at line 30 of file TG4StackPopper.cxx.

◆ ~TG4StackPopper()

TG4StackPopper::~TG4StackPopper ( )
virtual

Destructor

Definition at line 53 of file TG4StackPopper.cxx.

◆ TG4StackPopper() [2/2]

TG4StackPopper::TG4StackPopper ( const TG4StackPopper & right)
private

Not implemented.

Member Function Documentation

◆ Instance()

TG4StackPopper * TG4StackPopper::Instance ( )
inlinestatic

◆ IsApplicable()

G4bool TG4StackPopper::IsApplicable ( const G4ParticleDefinition & )
inlinevirtual

Applicable to any particles

Definition at line 127 of file TG4StackPopper.h.

◆ PostStepGetPhysicalInteractionLength()

G4double TG4StackPopper::PostStepGetPhysicalInteractionLength ( const G4Track & track,
G4double previousStepSize,
G4ForceCondition * condition )
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.

◆ PostStepDoIt()

G4VParticleChange * TG4StackPopper::PostStepDoIt ( const G4Track & track,
const G4Step & step )
virtual

Add particles from the stack as secondaries to the current particle

Definition at line 85 of file TG4StackPopper.cxx.

◆ AlongStepGetPhysicalInteractionLength()

virtual G4double TG4StackPopper::AlongStepGetPhysicalInteractionLength ( const G4Track & ,
G4double ,
G4double ,
G4double & ,
G4GPILSelection *  )
inlinevirtual

Definition at line 61 of file TG4StackPopper.h.

◆ AtRestGetPhysicalInteractionLength()

virtual G4double TG4StackPopper::AtRestGetPhysicalInteractionLength ( const G4Track & ,
G4ForceCondition *  )
inlinevirtual

Definition at line 69 of file TG4StackPopper.h.

◆ AlongStepDoIt()

virtual G4VParticleChange * TG4StackPopper::AlongStepDoIt ( const G4Track & ,
const G4Step &  )
inlinevirtual

Definition at line 75 of file TG4StackPopper.h.

◆ AtRestDoIt()

virtual G4VParticleChange * TG4StackPopper::AtRestDoIt ( const G4Track & ,
const G4Step &  )
inlinevirtual

Definition at line 81 of file TG4StackPopper.h.

◆ Notify()

void TG4StackPopper::Notify ( )

Increment the number of done tracks

Definition at line 159 of file TG4StackPopper.cxx.

Referenced by TG4TrackingAction::PreUserTrackingAction(), and TG4TrackManager::SaveSecondaries().

◆ Reset()

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().

◆ SetMCStack()

void TG4StackPopper::SetMCStack ( TVirtualMCStack * mcStack)
inline

Set cached pointer to thread-local VMC stack

Definition at line 134 of file TG4StackPopper.h.

Referenced by TG4RunManager::CacheMCStack().

◆ SetDoExclusiveStep()

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().

◆ HasPoppedTracks()

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().

◆ operator=()

TG4StackPopper & TG4StackPopper::operator= ( const TG4StackPopper & right)
private

Not implemented.

Member Data Documentation

◆ fgInstance

G4ThreadLocal TG4StackPopper * TG4StackPopper::fgInstance = 0
staticprivate

this instance

Definition at line 101 of file TG4StackPopper.h.

Referenced by Instance(), TG4StackPopper(), and ~TG4StackPopper().

◆ fMCStack

TVirtualMCStack* TG4StackPopper::fMCStack
private

Cached pointer to thread-local VMC stack.

Definition at line 104 of file TG4StackPopper.h.

Referenced by PostStepDoIt(), Reset(), SetMCStack(), and TG4StackPopper().

◆ fNofDoneTracks

G4int TG4StackPopper::fNofDoneTracks
private

the counter for popped tracks

Definition at line 107 of file TG4StackPopper.h.

Referenced by HasPoppedTracks(), Notify(), PostStepDoIt(), and Reset().

◆ fDoExclusiveStep

G4bool TG4StackPopper::fDoExclusiveStep
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().

◆ fTrackStatus

G4TrackStatus TG4StackPopper::fTrackStatus
private

The track status to be restored after performing exclusive step.

Definition at line 116 of file TG4StackPopper.h.

Referenced by PostStepDoIt(), and SetDoExclusiveStep().


The documentation for this class was generated from the following files: