17#ifndef _RMG_VERTEX_FROM_FILE_HH_
18#define _RMG_VERTEX_FROM_FILE_HH_
23#include "G4GenericMessenger.hh"
24#include "G4ThreeVector.hh"
26#include "RMGAnalysisReader.hh"
27#include "RMGVVertexGenerator.hh"
35class RMGVertexFromFile :
public RMGVVertexGenerator {
40 ~RMGVertexFromFile() =
default;
42 RMGVertexFromFile(RMGVertexFromFile
const&) =
delete;
43 RMGVertexFromFile& operator=(RMGVertexFromFile
const&) =
delete;
44 RMGVertexFromFile(RMGVertexFromFile&&) =
delete;
45 RMGVertexFromFile& operator=(RMGVertexFromFile&&) =
delete;
65 inline static double fXpos = NAN, fYpos = NAN, fZpos = NAN;
67 std::unique_ptr<G4GenericMessenger> fMessenger =
nullptr;
68 void DefineCommands();
70 std::string fNtupleDirectoryName =
"vtx";
wrapper around G4VAnalysisReader instances with special handling for LH5 files.
Definition RMGAnalysisReader.hh:41
void EndOfRunAction(const G4Run *) override
Close the input file.
Definition RMGVertexFromFile.cc:103
void OpenFile(std::string &name)
Set the path of the input ntuple file.
Definition RMGVertexFromFile.cc:30
bool GenerateVertex(G4ThreeVector &) override
Read the next position row from the file.
Definition RMGVertexFromFile.cc:51
void BeginOfRunAction(const G4Run *) override
Open the input file and bind the position columns.
Definition RMGVertexFromFile.cc:88