#ifndef FCALPrimaryGeneratorAction_h #define FCALPrimaryGeneratorAction_h 1 #include "G4VUserPrimaryGeneratorAction.hh" #include "globals.hh" #include "G4ThreeVector.hh" class G4ParticleGun; class G4Event; class FCALPrimaryGeneratorMessenger; class FCALPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: FCALPrimaryGeneratorAction(G4double particle_Eng, G4double gun_Azim); ~FCALPrimaryGeneratorAction(); void GeneratePrimaries(G4Event* anEvent); G4ParticleGun* getGunPtr() { return particle_Gun; } G4double getParticleEnergy() { return particle_Energy; } G4double getPositionX() { return gun_Position.x(); } G4double getPositionY() { return gun_Position.y(); } void setParticleEnergy(G4double new_Value); void setGunPosition(G4ThreeVector new_Value); private: G4ThreeVector gun_Position; G4ThreeVector momentum_Direction; G4ThreeVector particle_Polarization; G4double particle_Energy; G4double gun_Azimuthal; G4ParticleGun* particle_Gun; FCALPrimaryGeneratorMessenger* generator_Messenger; }; #endif /*FCALPrimaryGeneratorAction_h*/