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

Output scheme writing the primary vertices (and optionally primary particles). More...

#include <RMGVertexOutputScheme.hh>

Inheritance diagram for RMGVertexOutputScheme:
Collaboration diagram for RMGVertexOutputScheme:

Public Member Functions

void AssignOutputNames (G4AnalysisManager *) override
 Register vertex (and, if enabled, primary-particle) ntuple columns.
 
void StoreEvent (const G4Event *) override
 Fill one row per primary vertex of the event.
 
bool StoreAlways () const override
 Indicates whether the output scheme always stores event data.
 
- Public Member Functions inherited from RMGVOutputScheme
virtual void ClearBeforeEvent ()
 Clear any event-specific data.
 
virtual bool ShouldDiscardEvent (const G4Event *)
 Decide whether to discard the current event.
 
virtual std::optional< G4ClassificationOfNewTrack > StackingActionClassify (const G4Track *, const int)
 Hook for classifying new tracks during the stacking phase.
 
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 SteppingAction (const G4Step *)
 Hook called after each step.
 
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)
 

Protected Member Functions

std::string GetNtupleName (RMGDetectorMetadata) const override
 
- Protected Member Functions inherited from RMGVOutputScheme
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
 

Additional Inherited Members

- Static Public Attributes inherited from RMGVOutputScheme
static std::string fUIDKeyFormatString = "det{:03}"
 
- Protected Attributes inherited from RMGVOutputScheme
bool fNtuplePerDetector = true
 
bool fNtupleUseVolumeName = false
 
int fEventIDOffset = 0
 

Detailed Description

Output scheme writing the primary vertices (and optionally primary particles).

Always stores its rows even when other schemes mark the event for discard, so that normalization quantities (e.g. number of generated primaries) remain unbiased. Optional fields for primary-particle kinematics are toggled through messenger commands.

Member Function Documentation

◆ AssignOutputNames()

void RMGVertexOutputScheme::AssignOutputNames ( G4AnalysisManager * ana_man)
overridevirtual

Register vertex (and, if enabled, primary-particle) ntuple columns.

Reimplemented from RMGVOutputScheme.

◆ GetNtupleName()

std::string RMGVertexOutputScheme::GetNtupleName ( RMGDetectorMetadata ) const
inlinenodiscardoverrideprotectedvirtual

Reimplemented from RMGVOutputScheme.

◆ StoreAlways()

bool RMGVertexOutputScheme::StoreAlways ( ) const
inlinenodiscardoverridevirtual

Indicates whether the output scheme always stores event data.

Useful for output schemes that should always write out information regardless of filtering criteria defined by any output scheme in RMGVOutputScheme::ShouldDiscardEvent.

Returns
True if the scheme always stores event data, false otherwise.

Reimplemented from RMGVOutputScheme.

◆ StoreEvent()

void RMGVertexOutputScheme::StoreEvent ( const G4Event * event)
overridevirtual

Fill one row per primary vertex of the event.

Reimplemented from RMGVOutputScheme.


The documentation for this class was generated from the following files: