G4-DESCSS/include/PrimaryGeneratorAction.h

31 lines
657 B
C++

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