34 lines
1.1 KiB
C++
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);
|
|
}
|