6#ifndef SIMCORE_PRIMARYGENERATOR_H
7#define SIMCORE_PRIMARYGENERATOR_H
17#include "G4VPrimaryGenerator.hh"
22#include "Framework/Configure/Parameters.h"
23#include "Framework/RunHeader.h"
24#include "SimCore/Factory.h"
86#define DECLARE_GENERATOR(CLASS) \
88 auto v = ::simcore::PrimaryGenerator::Factory::get().declare<CLASS>(); \
Class encapsulating parameters for configuring a processor.
Factory to dynamically create objects derived from a specific prototype class.
Interface that defines a simulation primary generator.
virtual ~PrimaryGenerator()=default
Destructor.
virtual void GeneratePrimaryVertex(G4Event *)=0
Generate a Primary Vertex.
std::string name_
Name of the PrimaryGenerator.
virtual void RecordConfig(const std::string &id, ldmx::RunHeader &rh)=0
Record the configuration of the primary generator into the run header.