Class RMGTrackingAction

Inheritance Relationships

Base Type

  • public G4UserTrackingAction

Class Documentation

class RMGTrackingAction : public G4UserTrackingAction

Tracking action delegating to output schemes and guarding global-time precision.

Beyond forwarding pre/post hooks to the registered output schemes, this action resets the global time of secondaries emitted by an initial radioactive decay (so that decay chains start at t=0) and issues a warning once the global time grows large enough that double precision degrades the timing resolution below 1 us.

Public Functions

RMGTrackingAction(RMGRunAction*)
~RMGTrackingAction() = default
RMGTrackingAction(RMGTrackingAction const&) = delete
RMGTrackingAction &operator=(RMGTrackingAction const&) = delete
RMGTrackingAction(RMGTrackingAction&&) = delete
RMGTrackingAction &operator=(RMGTrackingAction&&) = delete
void PreUserTrackingAction(const G4Track*) override

Forward the track to all output schemes for pre-tracking bookkeeping.

void PostUserTrackingAction(const G4Track*) override

Run post-tracking output bookkeeping, reset initial-decay times and emit a one-shot warning when global time grows large enough to spoil sub-us precision.

inline G4TrackingManager *GetTrackingManager()

Access the underlying Geant4 tracking manager (for output-scheme integration).