G4-ExampleB0/src/ParticleSource.cpp

23 lines
650 B
C++

#include "ParticleSource.h"
#include "G4ParticleTable.hh"
#include "G4SystemOfUnits.hh"
GeneratorAction::GeneratorAction() {
auto table = G4ParticleTable::GetParticleTable();
particleGun = new G4ParticleGun(1);
particleGun->SetParticleDefinition(table->FindParticle("gamma"));
particleGun->SetParticlePosition(G4ThreeVector(0, 0, 555. / 2 * mm));
particleGun->SetParticleMomentumDirection(G4ThreeVector(0, 0, -1));
particleGun->SetParticleEnergy(1 * MeV);
}
GeneratorAction::~GeneratorAction() {
delete particleGun;
}
void GeneratorAction::GeneratePrimaries(G4Event* e) {
particleGun->GeneratePrimaryVertex(e);
}