13 #include "G4HEPEvtInterface.hh"
18 : _hepEvtGenerator(nullptr), _messenger(this,
"/GGS/generatorActions/hepEvt/"), _hepEvtPos(0., 0., 0.),
21 _messenger.DeclareProperty(
"file", _hepEvtFile,
"File containing the generated events in the HEPEvt format.")
22 .SetStates(G4State_Idle);
23 _messenger.DeclareProperty(
"position", _hepEvtPos,
"Position of generation vertex.")
25 .SetStates(G4State_Idle);
26 _messenger.DeclareProperty(
"time", _hepEvtTime,
"Time of event generation.")
28 .SetStates(G4State_Idle);
32 if (!_hepEvtGenerator) {
33 _hepEvtGenerator = std::make_unique<G4HEPEvtInterface>(_hepEvtFile);
34 _hepEvtGenerator->SetParticlePosition(_hepEvtPos);
35 _hepEvtGenerator->SetParticleTime(_hepEvtTime);
37 _hepEvtGenerator->GeneratePrimaryVertex(anEvent);
42 params.
SetParam(
"generator", std::string(
"hepEvt"));
GGSParameters GetParameters() const
Gets the generation parameters.
A generator action to produce particles using the HEPEvt generator.
GGSHEPEvtGeneratorAction()
Constructor.
void SetParam(const std::string &name, T value)
Sets a parameter.
Class for storing parameters.
#define RegisterGA(gaClassName, gaName)
Macro for registration of user generator actions.
void GeneratePrimaries(G4Event *anEvent)
Generate primaries with GPS generator.