// // MedtechPrimaryGeneratorAction.cc // medtech // // Created by Baranyai David on 2018. 04. 01.. // #include "MedtechPrimaryGeneratorAction.hh" MedtechPrimaryGeneratorAction::MedtechPrimaryGeneratorAction() { Parameters *param = Parameters::getInstance(); G4int numberOfParticles = 100; particleGun = new G4ParticleGun(numberOfParticles); G4ParticleTable *particleTable = G4ParticleTable::GetParticleTable(); G4ParticleDefinition *particle = particleTable -> FindParticle("e-"); particleGun -> SetParticleDefinition(particle); particleGun -> SetParticlePosition(G4ThreeVector(0,0,0)); particleGun -> SetParticleMomentumDirection(G4ThreeVector(param -> GetHDegree(), param -> GetVDegree(), 1)); particleGun -> SetParticleEnergy(param -> GetParticleEnergy() *MeV); } MedtechPrimaryGeneratorAction::~MedtechPrimaryGeneratorAction() { delete particleGun; } void MedtechPrimaryGeneratorAction::GeneratePrimaries(G4Event *anEvent) { particleGun -> SetParticlePosition(G4ThreeVector(0, 0, 0)); particleGun -> GeneratePrimaryVertex(anEvent); }