remage
Simulation framework for HPGe-based experiments
Loading...
Searching...
No Matches
RMGStagingScheme Class Reference

Centralized staging policy for waiting-stack based track deferral. More...

#include <RMGStagingScheme.hh>

Inheritance diagram for RMGStagingScheme:
Collaboration diagram for RMGStagingScheme:

Public Member Functions

std::optional< G4ClassificationOfNewTrack > StackingActionClassify (const G4Track *, int) override
 Wraps G4UserStackingAction::StackingActionClassify.
void SteppingAction (const G4Step *) override
 Evaluate optional stepping-time suspension criteria for configured particles.
void SetElectronVolumeSafety (double safety)
 Set the minimum distance to a Germanium detector surface for an electron to be staged.
void AddElectronVolumeName (std::string volume)
 Add a volume name in which electron staging is active.
void SetElectronMaxEnergyThresholdForStacking (double energy)
 Set the maximum kinetic energy for e- tracks to be considered for staging.
void SetElectronMinEnergyThresholdForStacking (double energy)
 Set the minimum kinetic energy for e- tracks to be considered for staging.
Public Member Functions inherited from RMGVOutputScheme
virtual void AssignOutputNames (G4AnalysisManager *)
 Initialize ntuple column names for this output scheme.
virtual void ClearBeforeEvent ()
 Clear any event-specific data.
virtual bool ShouldDiscardEvent (const G4Event *)
 Decide whether to discard the current event.
virtual bool StoreAlways () const
 Indicates whether the output scheme always stores event data.
virtual void StoreEvent (const G4Event *)
 Store the event data.
virtual std::optional< bool > StackingActionNewStage (const int)
 Hook for transitioning to a new stacking stage.
virtual void TrackingActionPre (const G4Track *)
 Hook called before tracking a new particle.
virtual void TrackingActionPost (const G4Track *)
 Hook called after tracking a new particle.
virtual void EndOfRunAction (const G4Run *)
 Perform final actions at the end of a run.
void SetNtuplePerDetector (bool ntuple_per_det)
 Specify whether to create separate ntuples for each detector.
void SetNtupleUseVolumeName (bool use_vol_name)
 Specify whether to use the physical volume name for naming ntuples.
void SetEventIDOffset (int offset)

Additional Inherited Members

Static Public Attributes inherited from RMGVOutputScheme
static std::string fUIDKeyFormatString = "det{:03}"
Protected Member Functions inherited from RMGVOutputScheme
virtual std::string GetNtupleName (RMGDetectorMetadata det) const
virtual std::string GetNtupleNameFlat () const
void CreateNtupleFOrDColumn (G4AnalysisManager *ana_man, int nt, std::string name, bool use_float)
void FillNtupleFOrDColumn (G4AnalysisManager *ana_man, int nt, int col, double val, bool use_float)
int GetEventIDForStorage (const G4Event *evt) const
Protected Attributes inherited from RMGVOutputScheme
bool fNtuplePerDetector = true
bool fNtupleUseVolumeName = false
int fEventIDOffset = 0

Detailed Description

Centralized staging policy for waiting-stack based track deferral.

Member Function Documentation

◆ SetElectronMaxEnergyThresholdForStacking()

void RMGStagingScheme::SetElectronMaxEnergyThresholdForStacking ( double energy)
inline

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.

◆ SetElectronMinEnergyThresholdForStacking()

void RMGStagingScheme::SetElectronMinEnergyThresholdForStacking ( double energy)
inline

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.

◆ SetElectronVolumeSafety()

void RMGStagingScheme::SetElectronVolumeSafety ( double safety)
inline

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.

◆ StackingActionClassify()

std::optional< G4ClassificationOfNewTrack > RMGStagingScheme::StackingActionClassify ( const G4Track * aTrack,
int stage )
overridevirtual

Wraps G4UserStackingAction::StackingActionClassify.

This classifies configured optical photons and electrons as fWaiting.

Reimplemented from RMGVOutputScheme.

◆ SteppingAction()

void RMGStagingScheme::SteppingAction ( const G4Step * step)
overridevirtual

Evaluate optional stepping-time suspension criteria for configured particles.

Reimplemented from RMGVOutputScheme.


The documentation for this class was generated from the following files:
  • /home/docs/checkouts/readthedocs.org/user_builds/remage/checkouts/latest/include/RMGStagingScheme.hh
  • /home/docs/checkouts/readthedocs.org/user_builds/remage/checkouts/latest/src/RMGStagingScheme.cc