Import Geant4 10.5.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2018-06-29 10:58:11 +02:00
parent fe81a77428
commit 6aa23be517
1581 changed files with 124288 additions and 83758 deletions
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4EmLivermorePhysics.cc 107183 2017-11-03 14:57:23Z gcosmo $
// $Id: G4EmLivermorePhysics.cc 109526 2018-04-30 07:11:52Z gcosmo $
#include "G4EmLivermorePhysics.hh"
#include "G4ParticleDefinition.hh"
@@ -134,14 +134,12 @@ G4EmLivermorePhysics::G4EmLivermorePhysics(G4int ver, const G4String&)
param->SetDefaults();
param->SetVerbose(verbose);
param->SetMinEnergy(100*eV);
param->SetMaxEnergy(1*TeV);
param->SetLowestElectronEnergy(100*eV);
param->SetNumberOfBinsPerDecade(20);
param->ActivateAngularGeneratorForIonisation(true);
param->SetMscRangeFactor(0.02);
param->SetMuHadLateralDisplacement(true);
param->SetMscStepLimitType(fUseDistanceToBoundary);
param->SetLateralDisplacementAlg96(false);
param->SetFluo(true);
SetPhysicsType(bElectromagnetic);
}
@@ -208,7 +206,7 @@ void G4EmLivermorePhysics::ConstructProcess()
G4hMultipleScattering* hmsc = new G4hMultipleScattering("ionmsc");
// high energy limit for e+- scattering models
G4double highEnergyLimit = 100*MeV;
G4double highEnergyLimit = G4EmParameters::Instance()->MscEnergyLimit();
// nuclear stopping
G4NuclearStopping* pnuc = new G4NuclearStopping();
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4EmLivermorePolarizedPhysics.cc 107183 2017-11-03 14:57:23Z gcosmo $
// $Id: G4EmLivermorePolarizedPhysics.cc 109526 2018-04-30 07:11:52Z gcosmo $
#include "G4EmLivermorePolarizedPhysics.hh"
#include "G4ParticleDefinition.hh"
@@ -136,14 +136,12 @@ G4EmLivermorePolarizedPhysics::G4EmLivermorePolarizedPhysics(G4int ver,
param->SetDefaults();
param->SetVerbose(verbose);
param->SetMinEnergy(100*eV);
param->SetMaxEnergy(100*TeV);
param->SetLowestElectronEnergy(100*eV);
param->SetNumberOfBinsPerDecade(20);
param->ActivateAngularGeneratorForIonisation(true);
param->SetMscRangeFactor(0.02);
param->SetMuHadLateralDisplacement(true);
param->SetMscStepLimitType(fUseDistanceToBoundary);
param->SetLateralDisplacementAlg96(false);
param->SetFluo(true);
SetPhysicsType(bElectromagnetic);
}
@@ -214,7 +212,7 @@ void G4EmLivermorePolarizedPhysics::ConstructProcess()
G4hMultipleScattering* hmsc = new G4hMultipleScattering("ionmsc");
// high energy limit for e+- scattering models
G4double highEnergyLimit = 100*MeV;
G4double highEnergyLimit = G4EmParameters::Instance()->MscEnergyLimit();
// nuclear stopping
G4NuclearStopping* pnuc = new G4NuclearStopping();
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4EmLowEPPhysics.cc 107183 2017-11-03 14:57:23Z gcosmo $
// $Id: G4EmLowEPPhysics.cc 109526 2018-04-30 07:11:52Z gcosmo $
#include "G4EmLowEPPhysics.hh"
#include "G4ParticleDefinition.hh"
@@ -56,6 +56,7 @@
#include "G4eBremsstrahlung.hh"
#include "G4LivermoreBremsstrahlungModel.hh"
#include "G4Generator2BS.hh"
#include "G4BetheHeitler5DModel.hh"
// e+
#include "G4eplusAnnihilation.hh"
@@ -78,6 +79,7 @@
#include "G4ionIonisation.hh"
#include "G4alphaIonisation.hh"
#include "G4IonParametrisedLossModel.hh"
#include "G4LindhardSorensenIonModel.hh"
#include "G4NuclearStopping.hh"
// msc models
@@ -131,11 +133,9 @@ G4EmLowEPPhysics::G4EmLowEPPhysics(G4int ver, const G4String&)
param->SetDefaults();
param->SetVerbose(verbose);
param->SetMinEnergy(100*eV);
param->SetMaxEnergy(1*TeV);
param->SetLowestElectronEnergy(100*eV);
param->SetNumberOfBinsPerDecade(20);
param->ActivateAngularGeneratorForIonisation(true);
param->SetLateralDisplacementAlg96(false);
param->SetFluo(true);
SetPhysicsType(bElectromagnetic);
}
@@ -230,7 +230,7 @@ void G4EmLowEPPhysics::ConstructProcess()
// gamma conversion - Livermore model below 80 GeV
G4GammaConversion* theGammaConversion = new G4GammaConversion();
theGammaConversion->SetEmModel(new G4LivermoreGammaConversionModel());
theGammaConversion->SetEmModel(new G4BetheHeitler5DModel());
ph->RegisterProcess(theGammaConversion, particle);
// default Rayleigh scattering is Livermore
@@ -310,7 +310,12 @@ void G4EmLowEPPhysics::ConstructProcess()
} else if (particleName == "GenericIon") {
G4ionIonisation* ionIoni = new G4ionIonisation();
ionIoni->SetEmModel(new G4IonParametrisedLossModel());
G4VEmModel* mod1 = new G4IonParametrisedLossModel();
G4VEmModel* mod2 = new G4LindhardSorensenIonModel();
mod1->SetHighEnergyLimit(20*MeV);
mod2->SetLowEnergyLimit(20*MeV);
ionIoni->SetEmModel(mod1);
ionIoni->SetEmModel(mod2);
ionIoni->SetStepFunction(0.1, 1*um);
ph->RegisterProcess(hmsc, particle);
@@ -168,7 +168,7 @@ void G4EmModelActivator::ActivateEmOptions()
G4VEmModel* mod;
// high energy limit for low-energy e+- model of msc
G4double mscEnergyLimit = 100*MeV;
G4double mscEnergyLimit = G4EmParameters::Instance()->MscEnergyLimit();
// high energy limit for Livermore and Penelope models
G4double highEnergyLimit = 1*GeV;
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4EmPenelopePhysics.cc 107183 2017-11-03 14:57:23Z gcosmo $
// $Id: G4EmPenelopePhysics.cc 109526 2018-04-30 07:11:52Z gcosmo $
#include "G4EmPenelopePhysics.hh"
#include "G4ParticleDefinition.hh"
@@ -138,13 +138,11 @@ G4EmPenelopePhysics::G4EmPenelopePhysics(G4int ver, const G4String&)
param->SetDefaults();
param->SetVerbose(verbose);
param->SetMinEnergy(100*eV);
param->SetMaxEnergy(1*TeV);
param->SetLowestElectronEnergy(100*eV);
param->SetNumberOfBinsPerDecade(20);
param->SetMscRangeFactor(0.02);
param->SetMscStepLimitType(fUseDistanceToBoundary);
param->SetMuHadLateralDisplacement(true);
param->SetLateralDisplacementAlg96(false);
param->SetFluo(true);
param->SetPIXEElectronCrossSectionModel("Penelope");
SetPhysicsType(bElectromagnetic);
@@ -211,7 +209,7 @@ void G4EmPenelopePhysics::ConstructProcess()
G4hMultipleScattering* hmsc = new G4hMultipleScattering("ionmsc");
// high energy limit for e+- scattering models
G4double highEnergyLimit = 100*MeV;
G4double highEnergyLimit = G4EmParameters::Instance()->MscEnergyLimit();
// nuclear stopping
G4NuclearStopping* pnuc = new G4NuclearStopping();
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4EmStandardPhysics.cc 107183 2017-11-03 14:57:23Z gcosmo $
// $Id: G4EmStandardPhysics.cc 109122 2018-03-28 13:08:57Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -191,7 +191,7 @@ void G4EmStandardPhysics::ConstructProcess()
G4hMultipleScattering* hmsc = new G4hMultipleScattering("ionmsc");
// high energy limit for e+- scattering models
G4double highEnergyLimit = 100*MeV;
G4double highEnergyLimit = G4EmParameters::Instance()->MscEnergyLimit();
// Add standard EM Processes
G4ParticleTable* table = G4ParticleTable::GetParticleTable();
@@ -198,7 +198,7 @@ void G4EmStandardPhysicsGS::ConstructProcess()
G4hMultipleScattering* hmsc = new G4hMultipleScattering("ionmsc");
// high energy limit for e+- scattering models
G4double highEnergyLimit = 100*MeV;
G4double highEnergyLimit = G4EmParameters::Instance()->MscEnergyLimit();
// Add standard EM Processes
G4ParticleTable* table = G4ParticleTable::GetParticleTable();
@@ -122,8 +122,7 @@ G4EmStandardPhysicsSS::G4EmStandardPhysicsSS(G4int ver)
param->SetVerbose(verbose);
param->SetLowestElectronEnergy(10*eV);
param->SetMscThetaLimit(0.0);
param->SetFluo(true);
param->SetAuger(true);
param->SetAugerCascade(true);
param->SetPixe(true);
SetPhysicsType(bElectromagnetic);
}
@@ -198,14 +197,14 @@ void G4EmStandardPhysicsSS::ConstructProcess()
if (!particle) { continue; }
if (particleName == "gamma") {
G4ComptonScattering* cs = new G4ComptonScattering;
cs->SetEmModel(new G4KleinNishinaModel());
G4PhotoElectricEffect* pee = new G4PhotoElectricEffect();
pee->SetEmModel(new G4LivermorePhotoElectricModel());
ph->RegisterProcess(cs, particle);
G4ComptonScattering* cs = new G4ComptonScattering;
cs->SetEmModel(new G4KleinNishinaModel());
ph->RegisterProcess(pee, particle);
ph->RegisterProcess(cs, particle);
ph->RegisterProcess(new G4GammaConversion(), particle);
ph->RegisterProcess(new G4RayleighScattering(), particle);
@@ -120,7 +120,7 @@ G4EmStandardPhysicsWVI::G4EmStandardPhysicsWVI(G4int ver)
param->SetVerbose(verbose);
param->SetLowestElectronEnergy(10*eV);
//param->SetLatDisplacementBeyondSafety(true);
//param->SetMuHadLateralDisplacement(false);
param->SetMuHadLateralDisplacement(true);
param->ActivateAngularGeneratorForIonisation(true);
param->SetMscThetaLimit(0.15);
param->SetFluo(true);
@@ -207,14 +207,14 @@ void G4EmStandardPhysicsWVI::ConstructProcess()
if (!particle) { continue; }
if (particleName == "gamma") {
G4ComptonScattering* cs = new G4ComptonScattering;
cs->SetEmModel(new G4KleinNishinaModel());
G4PhotoElectricEffect* pee = new G4PhotoElectricEffect();
pee->SetEmModel(new G4LivermorePhotoElectricModel());
ph->RegisterProcess(cs, particle);
G4ComptonScattering* cs = new G4ComptonScattering;
cs->SetEmModel(new G4KleinNishinaModel());
ph->RegisterProcess(pee, particle);
ph->RegisterProcess(cs, particle);
ph->RegisterProcess(new G4GammaConversion(), particle);
ph->RegisterProcess(new G4RayleighScattering(), particle);
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4EmStandardPhysics_option1.cc 107183 2017-11-03 14:57:23Z gcosmo $
// $Id: G4EmStandardPhysics_option1.cc 109526 2018-04-30 07:11:52Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -55,6 +55,7 @@
#include "G4ComptonScattering.hh"
#include "G4GammaConversion.hh"
#include "G4PhotoElectricEffect.hh"
#include "G4LivermorePhotoElectricModel.hh"
#include "G4eMultipleScattering.hh"
#include "G4MuMultipleScattering.hh"
@@ -197,7 +198,7 @@ void G4EmStandardPhysics_option1::ConstructProcess()
G4hMultipleScattering* hmsc = new G4hMultipleScattering("ionmsc");
// high energy limit for e+- scattering models and bremsstrahlung
G4double highEnergyLimit = 100*MeV;
G4double highEnergyLimit = G4EmParameters::Instance()->MscEnergyLimit();
// Add standard EM Processes
G4ParticleTable* table = G4ParticleTable::GetParticleTable();
@@ -206,7 +207,10 @@ void G4EmStandardPhysics_option1::ConstructProcess()
if (!particle) { continue; }
if (particleName == "gamma") {
ph->RegisterProcess(new G4PhotoElectricEffect(), particle);
G4PhotoElectricEffect* pee = new G4PhotoElectricEffect();
pee->SetEmModel(new G4LivermorePhotoElectricModel());
ph->RegisterProcess(pee, particle);
ph->RegisterProcess(new G4ComptonScattering(), particle);
ph->RegisterProcess(new G4GammaConversion(), particle);
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4EmStandardPhysics_option2.cc 107183 2017-11-03 14:57:23Z gcosmo $
// $Id: G4EmStandardPhysics_option2.cc 109526 2018-04-30 07:11:52Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -55,7 +55,7 @@
#include "G4ComptonScattering.hh"
#include "G4GammaConversion.hh"
#include "G4PhotoElectricEffect.hh"
#include "G4PEEffectFluoModel.hh"
#include "G4LivermorePhotoElectricModel.hh"
#include "G4KleinNishinaModel.hh"
#include "G4RayleighScattering.hh"
@@ -203,7 +203,7 @@ void G4EmStandardPhysics_option2::ConstructProcess()
G4hMultipleScattering* hmsc = new G4hMultipleScattering("ionmsc");
// high energy limit for e+- scattering models and bremsstrahlung
G4double highEnergyLimit = 100*MeV;
G4double highEnergyLimit = G4EmParameters::Instance()->MscEnergyLimit();
// Add standard EM Processes
G4ParticleTable* table = G4ParticleTable::GetParticleTable();
@@ -212,7 +212,10 @@ void G4EmStandardPhysics_option2::ConstructProcess()
if (!particle) { continue; }
if (particleName == "gamma") {
ph->RegisterProcess(new G4PhotoElectricEffect(), particle);
G4PhotoElectricEffect* pee = new G4PhotoElectricEffect();
pee->SetEmModel(new G4LivermorePhotoElectricModel());
ph->RegisterProcess(pee, particle);
ph->RegisterProcess(new G4ComptonScattering(), particle);
ph->RegisterProcess(new G4GammaConversion(), particle);
ph->RegisterProcess(new G4RayleighScattering(), particle);
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4EmStandardPhysics_option3.cc 107183 2017-11-03 14:57:23Z gcosmo $
// $Id: G4EmStandardPhysics_option3.cc 109526 2018-04-30 07:11:52Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -124,12 +124,11 @@ G4EmStandardPhysics_option3::G4EmStandardPhysics_option3(G4int ver,
param->SetDefaults();
param->SetVerbose(verbose);
param->SetMinEnergy(10*eV);
param->SetMaxEnergy(100*TeV);
param->SetLowestElectronEnergy(100*eV);
param->SetNumberOfBinsPerDecade(20);
param->SetMscStepLimitType(fUseDistanceToBoundary);
param->SetMuHadLateralDisplacement(true);
param->SetLateralDisplacementAlg96(false);
//param->SetLateralDisplacementAlg96(false);
param->SetFluo(true);
SetPhysicsType(bElectromagnetic);
}
@@ -202,14 +201,14 @@ void G4EmStandardPhysics_option3::ConstructProcess()
if (!particle) { continue; }
if (particleName == "gamma") {
G4ComptonScattering* cs = new G4ComptonScattering;
cs->SetEmModel(new G4KleinNishinaModel());
G4PhotoElectricEffect* pee = new G4PhotoElectricEffect();
pee->SetEmModel(new G4LivermorePhotoElectricModel());
ph->RegisterProcess(pee, particle);
G4ComptonScattering* cs = new G4ComptonScattering;
cs->SetEmModel(new G4KleinNishinaModel());
ph->RegisterProcess(cs, particle);
ph->RegisterProcess(new G4GammaConversion(), particle);
ph->RegisterProcess(new G4RayleighScattering(), particle);
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4EmStandardPhysics_option4.cc 107332 2017-11-08 16:44:06Z gcosmo $
// $Id: G4EmStandardPhysics_option4.cc 109526 2018-04-30 07:11:52Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -133,7 +133,6 @@ G4EmStandardPhysics_option4::G4EmStandardPhysics_option4(G4int ver,
param->SetDefaults();
param->SetVerbose(verbose);
param->SetMinEnergy(100*eV);
param->SetMaxEnergy(10*TeV);
param->SetLowestElectronEnergy(100*eV);
param->SetNumberOfBinsPerDecade(20);
param->ActivateAngularGeneratorForIonisation(true);
@@ -142,8 +141,6 @@ G4EmStandardPhysics_option4::G4EmStandardPhysics_option4(G4int ver,
param->SetMscSkin(3); // error-free stepping for e-/e+ msc gs
param->SetMscRangeFactor(0.2); // error-free stepping for e-/e+ msc gs
param->SetMuHadLateralDisplacement(true);
// param->SetLatDisplacementBeyondSafety(true);
// param->SetFluo(true);
param->SetAugerCascade(true);
SetPhysicsType(bElectromagnetic);
}
@@ -188,7 +185,7 @@ void G4EmStandardPhysics_option4::ConstructParticle()
void G4EmStandardPhysics_option4::ConstructProcess()
{
if(verbose > -1) {
if(verbose > 1) {
G4cout << "### " << GetPhysicsName() << " Construct Processes " << G4endl;
}
G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper();
@@ -220,7 +217,7 @@ void G4EmStandardPhysics_option4::ConstructProcess()
G4hMultipleScattering* hmsc = new G4hMultipleScattering("ionmsc");
// energy limits for e+- scattering models
G4double highEnergyLimit = 100*MeV;
G4double highEnergyLimit = G4EmParameters::Instance()->MscEnergyLimit();
// energy limits for e+- ionisation models
G4double penEnergyLimit = 1*MeV;