#ifndef DESCSS_PrimaryGeneratorAction_h #define DESCSS_PrimaryGeneratorAction_h #include "G4GeneralParticleSource.hh" #include "G4ParticleGun.hh" #include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" class G4GeneralParticleSource; class G4ParticleGun; class G4Event; template class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: PrimaryGeneratorAction(); ~PrimaryGeneratorAction(); virtual void GeneratePrimaries(G4Event*); const T* GetParticleGun() const { return fParticleGun; } private: G4String particleType; T* fParticleGun = nullptr; }; #endif