Import Geant4 10.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-10 14:11:04 +02:00
parent c9b32a6c0a
commit d4af681f38
4886 changed files with 420149 additions and 1023309 deletions
@@ -35,17 +35,68 @@
#include "UltraRunAction.hh"
#include "UltraEventAction.hh"
#include "G4GeneralParticleSource.hh"
#include "G4ParticleTable.hh"
#include "G4ParticleDefinition.hh"
#include "G4SystemOfUnits.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
UltraActionInitializer::UltraActionInitializer() :
G4VUserActionInitialization()
{
//AND->3June2014, temporary to take into account new GPS
//Create an instance of GPS in master so shared resources and messenger
//exist in master.
//Note: We instantiate a GPS here, because we want to set the defaults.
//Since GPS distributions are shared among threads, we need to be sure
//that defaults are done only once.
//See comments in file G4GeneralParticleSource.hh
masterGPS = new G4GeneralParticleSource();
//AND<-3June2014
// Define here the user default properties for the General Particle Source (GPS)
// Can be modified through the GPS Messenger (/gps/... commands)
G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
G4String particleName;
G4ParticleDefinition* opticalphoton = particleTable->FindParticle(particleName="opticalphoton");
//....PARTICLE DEFINITIONS
masterGPS->SetParticleDefinition(opticalphoton);
G4ThreeVector Polarization = G4ThreeVector(1.,1.,0.) ;
masterGPS->SetParticlePolarization(Polarization);
// DEFINE A MONO-ENERGETIC SOURCE
G4SPSEneDistribution *eneDist = masterGPS->GetCurrentSource()->GetEneDist() ;
eneDist->SetEnergyDisType("Mono");
eneDist->SetMonoEnergy(3.0*eV);
// SET POSITION DISTRIBUTION
G4SPSPosDistribution *posDist = masterGPS->GetCurrentSource()->GetPosDist() ;
posDist->SetPosDisType("Plane");
posDist->SetPosDisShape("Circle");
posDist->SetRadius(20.0*cm);
#ifdef ULTRA_MIRROR_USE
#define ULTRA_REFLECTION_USE
#endif
#ifdef ULTRA_GROUND_USE
#define ULTRA_REFLECTION_USE
#endif
G4SPSAngDistribution *angDist = masterGPS->GetCurrentSource()->GetAngDist() ;
#ifdef ULTRA_REFLECTION_USE
angDist->SetParticleMomentumDirection(G4ThreeVector(0.0,-1.0,0.0)) ;
posDist->SetPosRot1(G4ThreeVector(1.,0.,0.));
posDist->SetPosRot2(G4ThreeVector(0.,0.,-1.));
posDist->SetCentreCoords(G4ThreeVector(0.0*cm,90.0*cm,150.0*cm));
#else
angDist->SetParticleMomentumDirection(G4ThreeVector(0.0,0.0,-1.0)) ;
posDist->SetCentreCoords(G4ThreeVector(0.0*cm,0.0*cm,150.0*cm));
#endif
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......