#include "PrimaryGeneratorAction.hh" #ifdef G4MULTITHREADED #include "G4MTRunManager.hh" #else #include "G4RunManager.hh" #endif #include "G4LogicalVolumeStore.hh" #include "G4LogicalVolume.hh" #include "G4Box.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" #include "G4SystemOfUnits.hh" #include "Randomize.hh" PrimaryGeneratorAction::PrimaryGeneratorAction() { G4int n_particle = 50; fParticleGun = new G4ParticleGun(n_particle); // default particle kinematic G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); G4String particleName; G4ParticleDefinition* particle = particleTable->FindParticle(particleName="gamma"); fParticleGun->SetParticleDefinition(particle); fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); fParticleGun->SetParticleEnergy(6.*MeV); } PrimaryGeneratorAction::~PrimaryGeneratorAction() { delete fParticleGun; }