Medtech/src/MedtechPrimaryGeneratorActi...

34 lines
1.1 KiB
C++

//
// MedtechPrimaryGeneratorAction.cc
// medtech
//
// Created by Baranyai David on 2018. 04. 01..
//
#include "MedtechPrimaryGeneratorAction.hh"
MedtechPrimaryGeneratorAction::MedtechPrimaryGeneratorAction()
{
Parameters *param = Parameters::getInstance();
G4int numberOfParticles = 1;
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, -20*cm));
particleGun -> GeneratePrimaryVertex(anEvent);
}