Class RMGStagingScheme

Inheritance Relationships

Base Type

Class Documentation

class RMGStagingScheme : public RMGVOutputScheme

Centralized staging policy for waiting-stack based track deferral.

Public Functions

RMGStagingScheme()
virtual std::optional<G4ClassificationOfNewTrack> StackingActionClassify(const G4Track*, int) override

Wraps G4UserStackingAction::StackingActionClassify.

This classifies configured optical photons and electrons as fWaiting.

virtual void SteppingAction(const G4Step*) override

Evaluate optional stepping-time suspension criteria for configured particles.

inline void SetElectronVolumeSafety(double safety)

Set the minimum distance to a Germanium detector surface for an electron to be staged.

Set to 0 (the default) to stage electrons regardless of surface distance.

inline void AddElectronVolumeName(std::string volume)

Add a volume name in which electron staging is active.

inline void SetElectronMaxEnergyThresholdForStacking(double energy)

Set the maximum kinetic energy for e- tracks to be considered for staging.

Only tracks with kinetic energy below this threshold will be staged. If set to a negative value, no energy threshold is applied.

inline void SetElectronMinEnergyThresholdForStacking(double energy)

Set the minimum kinetic energy for e- tracks to be considered for staging.

Only tracks with kinetic energy above this threshold will be staged. This is useful to avoid staging low-energy electrons (e.g. below the Cherenkov threshold) that cannot produce the optical photons staging is meant to capture. If set to a negative value, no energy threshold is applied.