#include <PrimaryGeneratorAction.hh>
Public Member Functions | |
PrimaryGeneratorAction (DetectorConstruction *) | |
~PrimaryGeneratorAction () | |
void | GeneratePrimaries (G4Event *) |
G4ParticleGun * | GetParticleGun () |
Private Attributes | |
G4ParticleGun * | m_particleGun |
DetectorConstruction * | m_detector |
PrimaryGeneratorMessenger * | m_gunMessenger |
G4String | m_rndmFlag |
Definition at line 21 of file PrimaryGeneratorAction.hh.
PrimaryGeneratorAction::PrimaryGeneratorAction | ( | DetectorConstruction * | det | ) |
Definition at line 21 of file PrimaryGeneratorAction.cc.
00022 :m_detector(det) 00023 { 00024 m_particleGun = new G4ParticleGun(1); 00025 G4ParticleDefinition* particle 00026 = G4ParticleTable::GetParticleTable()->FindParticle("proton"); 00027 m_particleGun->SetParticleDefinition(particle); 00028 m_particleGun->SetParticleEnergy(500*MeV); 00029 00030 m_rndmFlag = "on"; 00031 00032 //create a messenger for this class 00033 m_gunMessenger = new PrimaryGeneratorMessenger(this); 00034 }
PrimaryGeneratorAction::~PrimaryGeneratorAction | ( | ) |
Definition at line 38 of file PrimaryGeneratorAction.cc.
00039 { 00040 delete m_particleGun; 00041 delete m_gunMessenger; 00042 }
void PrimaryGeneratorAction::GeneratePrimaries | ( | G4Event * | anEvent | ) |
Definition at line 46 of file PrimaryGeneratorAction.cc.
00047 { 00048 //this function is called at the begining of event 00049 // 00050 G4double y0 = (m_detector->GetWorldSizeXY())*0.5; 00051 G4double x0 = 0., z0 = 0.; 00052 if (m_rndmFlag == "on") { 00053 x0 = (m_detector->GetWorldSizeXY())*(G4UniformRand()-0.5); 00054 z0 = (m_detector->GetWorldSizeZ()) *(G4UniformRand()-0.5); 00055 } 00056 00057 m_particleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); 00058 m_particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,-1.,0.)); 00059 m_particleGun->GeneratePrimaryVertex(anEvent); 00060 }
G4ParticleGun* PrimaryGeneratorAction::GetParticleGun | ( | ) | [inline] |
G4ParticleGun* PrimaryGeneratorAction::m_particleGun [private] |
Definition at line 33 of file PrimaryGeneratorAction.hh.
Referenced by GeneratePrimaries(), GetParticleGun(), PrimaryGeneratorAction(), and ~PrimaryGeneratorAction().
Definition at line 35 of file PrimaryGeneratorAction.hh.
Referenced by PrimaryGeneratorAction(), and ~PrimaryGeneratorAction().
G4String PrimaryGeneratorAction::m_rndmFlag [private] |
Definition at line 36 of file PrimaryGeneratorAction.hh.
Referenced by GeneratePrimaries(), and PrimaryGeneratorAction().