#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; extern G4String particleType; template class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: PrimaryGeneratorAction(); ~PrimaryGeneratorAction(); virtual void GeneratePrimaries(G4Event*); const T* GetParticleGun() const { return fParticleGun; } private: T* fParticleGun = nullptr; }; #endif