16#ifndef _RMG_VERTEX_OUTPUT_SCHEME_HH_
17#define _RMG_VERTEX_OUTPUT_SCHEME_HH_
21#include "G4AnalysisManager.hh"
22#include "G4GenericMessenger.hh"
24#include "RMGVOutputScheme.hh"
34class RMGVertexOutputScheme :
public RMGVOutputScheme {
38 RMGVertexOutputScheme();
46 [[nodiscard]]
bool StoreAlways()
const override {
return true; }
51 throw std::logic_error(
"vertex output scheme has no detectors");
56 std::unique_ptr<G4GenericMessenger> fMessenger;
57 void DefineCommands();
59 bool fStorePrimaryParticleInformation =
false;
60 bool fStoreSinglePrecisionEnergy =
false;
61 bool fStoreSinglePrecisionPosition =
false;
62 bool fSkipPrimaryVertexOutput =
false;
bool StoreAlways() const override
Indicates whether the output scheme always stores event data.
Definition RMGVertexOutputScheme.hh:46
void AssignOutputNames(G4AnalysisManager *) override
Register vertex (and, if enabled, primary-particle) ntuple columns.
Definition RMGVertexOutputScheme.cc:29
void StoreEvent(const G4Event *) override
Fill one row per primary vertex of the event.
Definition RMGVertexOutputScheme.cc:62