Class RMGVertexFromFile

Inheritance Relationships

Base Type

Class Documentation

class RMGVertexFromFile : public RMGVVertexGenerator

Vertex generator that reads positions sequentially from an ntuple file.

Each row of the ntuple supplies one (x, y, z) triplet. Used to replay vertices produced by an external sampler (e.g. an MC truth file) into a remage run.

Public Functions

RMGVertexFromFile()
~RMGVertexFromFile() = default
RMGVertexFromFile(RMGVertexFromFile const&) = delete
RMGVertexFromFile &operator=(RMGVertexFromFile const&) = delete
RMGVertexFromFile(RMGVertexFromFile&&) = delete
RMGVertexFromFile &operator=(RMGVertexFromFile&&) = delete
virtual bool GenerateVertex(G4ThreeVector&) override

Read the next position row from the file.

Returns:

False if the input has been exhausted (which aborts the run gracefully).

virtual void BeginOfRunAction(const G4Run*) override

Open the input file and bind the position columns.

virtual void EndOfRunAction(const G4Run*) override

Close the input file.

void OpenFile(std::string &name)

Set the path of the input ntuple file.