Class RMGStackingAction

Inheritance Relationships

Base Type

  • public G4UserStackingAction

Class Documentation

class RMGStackingAction : public G4UserStackingAction

Stacking action delegating track classification to the registered output schemes.

Iterates over the output schemes attached to the owning RMGRunAction so that they can, for instance, defer secondary tracks to a later processing stage.

Public Functions

RMGStackingAction(RMGRunAction*)
~RMGStackingAction() = default
RMGStackingAction(RMGStackingAction const&) = delete
RMGStackingAction &operator=(RMGStackingAction const&) = delete
RMGStackingAction(RMGStackingAction&&) = delete
RMGStackingAction &operator=(RMGStackingAction&&) = delete
G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track *aTrack) override

Classify a newly created track by consulting the registered output schemes.

Schemes may return a classification different from fUrgent to defer processing to a later stage (e.g. for two-pass optical photon handling).

void NewStage() override

Advance to the next stacking stage; called when the current stack is empty.

void PrepareNewEvent() override

Reset the stage counter before tracking a new event.