13 #include "G4HEPEvtInterface.hh"
22 _hepEvtGenerator(NULL), _hepEvtPos(0., 0., 0.), _hepEvtTime(0.) {
24 _messenger =
new G4GenericMessenger(
this,
"/GGS/generatorActions/hepEvt/");
25 _messenger->DeclareProperty(
"file", _hepEvtFile,
"File containing the generated events in the HEPEvt format.").SetStates(
27 _messenger->DeclareProperty(
"position", _hepEvtPos,
"Position of generation vertex.").SetDefaultUnit(
"cm").SetStates(
29 _messenger->DeclareProperty(
"time", _hepEvtTime,
"Time of event generation.").SetDefaultUnit(
"ns").SetStates(
36 delete _hepEvtGenerator;
43 if (!_hepEvtGenerator) {
44 _hepEvtGenerator =
new G4HEPEvtInterface(_hepEvtFile);
45 _hepEvtGenerator->SetParticlePosition(_hepEvtPos);
46 _hepEvtGenerator->SetParticleTime(_hepEvtTime);
48 _hepEvtGenerator->GeneratePrimaryVertex(anEvent);
A generator action to produce particles using the HEPEvt generator.
GGSHEPEvtGeneratorAction()
Constructor.
~GGSHEPEvtGeneratorAction()
Destructor.
#define RegisterGA(gaClassName, gaName)
Macro for registration of user generator actions.
void GeneratePrimaries(G4Event *anEvent)
Generate primaries with GPS generator.