00001 // 00002 // $Id: PrimaryGeneratorAction.cc 132 2008-07-03 13:34:12Z jacquem $ 00003 // 00004 // 00005 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 00006 00007 #include "PrimaryGeneratorAction.hh" 00008 00009 #include "DetectorConstruction.hh" 00010 00011 #include "G4Event.hh" 00012 #include "G4ParticleGun.hh" 00013 #include "G4ParticleTable.hh" 00014 #include "G4ParticleDefinition.hh" 00015 00016 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 00017 00018 PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det) 00019 :m_detector(det) 00020 { 00021 m_particleGun = new G4ParticleGun(1); 00022 G4ParticleDefinition* particle 00023 = G4ParticleTable::GetParticleTable()->FindParticle("geantino"); 00024 m_particleGun->SetParticleDefinition(particle); 00025 m_particleGun->SetParticleEnergy(10*eV); 00026 m_particleGun->SetParticlePosition(G4ThreeVector(0.,0.,0.)); 00027 m_particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,1.,0.)); 00028 } 00029 00030 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 00031 00032 PrimaryGeneratorAction::~PrimaryGeneratorAction() 00033 { 00034 delete m_particleGun; 00035 } 00036 00037 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 00038 00039 void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) 00040 { 00041 //this function is called at the begining of event 00042 // 00043 m_particleGun->GeneratePrimaryVertex(anEvent); 00044 } 00045 00046 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 00047