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: