Kamil Sedlak 2009-06-05

Added possibility to use mu- (or other particles) as the primary particles
  in the G4ParticleGun  (this option can be switched on by 
  /gun/primaryparticle ).
This commit is contained in:
2009-06-05 13:08:02 +00:00
parent e6083ec894
commit b70e4ddbc7
9 changed files with 91 additions and 18 deletions

View File

@@ -77,6 +77,7 @@ musrPrimaryGeneratorAction::musrPrimaryGeneratorAction(
// default particle kinematic
G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* muonParticle= particleTable->FindParticle("mu+");
// cks delete muonMinusParticle= particleTable->FindParticle("mu-");
// cks Implement also alpha and proton particles for the simulation of Juan Pablo Urrego
alphaParticle= particleTable->FindParticle("alpha");
protonParticle= particleTable->FindParticle("proton");
@@ -448,3 +449,20 @@ void musrPrimaryGeneratorAction::SetKEnergy(G4double val) {
// G4cout<<"musrPrimaryGeneratorAction::SetKEnergy: Muon kinetic energy of "
// <<val<<" MeV requested ==> initial muon momentum set to "<<p0<<" MeV/c"<<G4endl;
}
//===============================================================================
void musrPrimaryGeneratorAction::SetPrimaryParticule(G4String particleName) {
G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* particule= particleTable->FindParticle(particleName);
if (particule!=NULL) {
G4cout<<" musrPrimaryGeneratorAction::SetPrimaryParticleMuMinus(): USING "
<<particleName<<" AS PRIMARY PARTICLE!"<<G4endl;
particleGun->SetParticleDefinition(particule);
}
else {
G4cout<<"\n musrPrimaryGeneratorAction::SetPrimaryParticleMuMinus(): Particle "
<<particleName<<" required as primary particle, but not found !!!";
G4cout<<"S T O P F O R C E D" << G4endl;
exit(1);
}
}