#include <PrimaryGeneratorAction.hh>


| Public Member Functions | |
| PrimaryGeneratorAction (DetectorConstruction *) | |
| ~PrimaryGeneratorAction () | |
| void | GeneratePrimaries (G4Event *) | 
| void | SetRndmFlag (G4String flag) | 
| 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 }
| void PrimaryGeneratorAction::SetRndmFlag | ( | G4String | flag | ) |  [inline] | 
Definition at line 29 of file PrimaryGeneratorAction.hh.
Referenced by PrimaryGeneratorMessenger::SetNewValue().
00029 { m_rndmFlag = flag;};
| G4ParticleGun* PrimaryGeneratorAction::GetParticleGun | ( | ) |  [inline] | 
| G4ParticleGun* PrimaryGeneratorAction::m_particleGun  [private] | 
Definition at line 34 of file PrimaryGeneratorAction.hh.
Referenced by GeneratePrimaries(), GetParticleGun(), PrimaryGeneratorAction(), and ~PrimaryGeneratorAction().
Definition at line 36 of file PrimaryGeneratorAction.hh.
Referenced by PrimaryGeneratorAction(), and ~PrimaryGeneratorAction().
| G4String PrimaryGeneratorAction::m_rndmFlag  [private] | 
Definition at line 37 of file PrimaryGeneratorAction.hh.
Referenced by GeneratePrimaries(), PrimaryGeneratorAction(), and SetRndmFlag().
 1.5.7.1
 1.5.7.1