Import Geant4 10.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-12-09 12:35:28 +01:00
parent 4ec577e5c4
commit a3452e42ac
3514 changed files with 210500 additions and 89628 deletions
@@ -27,7 +27,7 @@
/// \brief Implementation of the PhysicsList class
//
//
// $Id: PhysicsList.cc 92421 2015-09-01 07:38:57Z gcosmo $
// $Id: PhysicsList.cc 101216 2016-11-09 13:54:13Z gcosmo $
//
/////////////////////////////////////////////////////////////////////////
//
@@ -66,7 +66,7 @@
#include "G4IonBinaryCascadePhysics.hh"
#include "G4IonPhysics.hh"
#include "G4EmExtraPhysics.hh"
#include "G4EmProcessOptions.hh"
#include "G4EmParameters.hh"
#include "G4HadronPhysicsFTFP_BERT.hh"
#include "G4HadronPhysicsFTFP_BERT_HP.hh"
@@ -80,8 +80,6 @@
#include "G4HadronPhysicsQGSP_FTFP_BERT.hh"
#include "G4HadronPhysicsQGS_BIC.hh"
#include "G4LossTableManager.hh"
#include "G4ProcessManager.hh"
#include "G4ParticleTypes.hh"
#include "G4ParticleTable.hh"
@@ -94,25 +92,19 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
PhysicsList::PhysicsList()
: G4VModularPhysicsList(),
fEmPhysicsList(0), fParticleList(0), fMessenger(0)
PhysicsList::PhysicsList() : G4VModularPhysicsList()
{
G4LossTableManager::Instance();
defaultCutValue = 0.7*mm;
fCutForGamma = defaultCutValue;
fCutForElectron = defaultCutValue;
fCutForPositron = defaultCutValue;
fCutForProton = defaultCutValue;
verboseLevel = 1;
SetDefaultCutValue(0.7*CLHEP::mm);
verboseLevel = 1;
fMessenger = new PhysicsListMessenger(this);
// Particles
fParticleList = new G4DecayPhysics("decays");
fParticleList = new G4DecayPhysics(verboseLevel);
// EM physics
fEmPhysicsList = new G4EmStandardPhysics();
fEmPhysicsList = new G4EmStandardPhysics(verboseLevel);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -156,125 +148,126 @@ void PhysicsList::AddPhysicsList(const G4String& name)
if (name == "emstandard_opt0") {
delete fEmPhysicsList;
fEmPhysicsList = new G4EmStandardPhysics();
fEmPhysicsList = new G4EmStandardPhysics(verboseLevel);
} else if (name == "emstandard_opt1") {
delete fEmPhysicsList;
fEmPhysicsList = new G4EmStandardPhysics_option1();
fEmPhysicsList = new G4EmStandardPhysics_option1(verboseLevel);
} else if (name == "emstandard_opt2") {
delete fEmPhysicsList;
fEmPhysicsList = new G4EmStandardPhysics_option2();
fEmPhysicsList = new G4EmStandardPhysics_option2(verboseLevel);
} else if (name == "emstandard_opt3") {
delete fEmPhysicsList;
fEmPhysicsList = new G4EmStandardPhysics_option3();
fEmPhysicsList = new G4EmStandardPhysics_option3(verboseLevel);
} else if (name == "emstandard_opt4") {
delete fEmPhysicsList;
fEmPhysicsList = new G4EmStandardPhysics_option4();
fEmPhysicsList = new G4EmStandardPhysics_option4(verboseLevel);
} else if (name == "emstandardGS") {
delete fEmPhysicsList;
fEmPhysicsList = new G4EmStandardPhysicsGS();
fEmPhysicsList = new G4EmStandardPhysicsGS(verboseLevel);
} else if (name == "FTFP_BERT_EMV") {
AddPhysicsList("emstandard_opt1");
AddPhysicsList("FTFP_BERT");
AddPhysicsList("emstandard_opt1");
} else if (name == "FTFP_BERT_EMX") {
AddPhysicsList("emstandard_opt2");
AddPhysicsList("FTFP_BERT");
AddPhysicsList("emstandard_opt2");
} else if (name == "FTFP_BERT_EMY") {
AddPhysicsList("emstandard_opt3");
AddPhysicsList("FTFP_BERT");
AddPhysicsList("emstandard_opt3");
} else if (name == "FTFP_BERT_EMZ") {
AddPhysicsList("emstandard_opt4");
AddPhysicsList("FTFP_BERT");
AddPhysicsList("emstandard_opt4");
} else if (name == "FTFP_BERT") {
SetBuilderList0(false);
fHadronPhys.push_back( new G4HadronPhysicsFTFP_BERT());
fHadronPhys.push_back( new G4HadronPhysicsFTFP_BERT(verboseLevel));
} else if (name == "FTFP_BERT_TRV") {
AddPhysicsList("emstandardGS");
G4EmParameters::Instance()->SetMscStepLimitType( fUseSafety );
SetBuilderList1(false);
fHadronPhys.push_back( new G4HadronPhysicsFTFP_BERT_TRV());
fHadronPhys.push_back( new G4HadronPhysicsFTFP_BERT_TRV(verboseLevel));
} else if (name == "FTF_BIC") {
SetBuilderList0(false);
fHadronPhys.push_back( new G4HadronPhysicsFTF_BIC());
fHadronPhys.push_back( new G4HadronPhysicsFTF_BIC(verboseLevel));
} else if (name == "QBBC") {
AddPhysicsList("emstandard_opt0");
SetBuilderList2();
fHadronPhys.push_back( new G4HadronInelasticQBBC());
fHadronPhys.push_back( new G4HadronInelasticQBBC(verboseLevel));
} else if (name == "QGSP_BERT") {
SetBuilderList0(false);
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BERT());
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BERT(verboseLevel));
} else if (name == "QGSP_FTFP_BERT") {
SetBuilderList0(false);
fHadronPhys.push_back( new G4HadronPhysicsQGSP_FTFP_BERT());
fHadronPhys.push_back( new G4HadronPhysicsQGSP_FTFP_BERT(verboseLevel));
} else if (name == "QGSP_FTFP_BERT_EMV") {
AddPhysicsList("emstandard_opt1");
AddPhysicsList("QGSP_FTFP_BERT");
AddPhysicsList("emstandard_opt1");
} else if (name == "QGSP_BERT_EMV") {
AddPhysicsList("emstandard_opt1");
AddPhysicsList("QGSP_BERT");
AddPhysicsList("emstandard_opt1");
} else if (name == "QGSP_BERT_EMX") {
AddPhysicsList("emstandard_opt2");
AddPhysicsList("QGSP_BERT");
AddPhysicsList("emstandard_opt2");
} else if (name == "QGSP_BERT_HP") {
SetBuilderList0(true);
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BERT_HP());
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BERT_HP(verboseLevel));
} else if (name == "QGSP_BIC") {
SetBuilderList0(false);
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BIC());
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BIC(verboseLevel));
} else if (name == "QGSP_BIC_EMY") {
AddPhysicsList("QGSP_BIC");
AddPhysicsList("emstandard_opt3");
SetBuilderList0(false);
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BIC());
} else if (name == "QGS_BIC") {
SetBuilderList0(false);
fHadronPhys.push_back( new G4HadronPhysicsQGS_BIC());
fHadronPhys.push_back( new G4HadronPhysicsQGS_BIC(verboseLevel));
} else if (name == "QGSP_BIC_HP") {
SetBuilderList0(true);
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BIC_HP());
fHadronPhys.push_back( new G4HadronPhysicsQGSP_BIC_HP(verboseLevel));
} else {
@@ -327,56 +320,6 @@ void PhysicsList::SetBuilderList2()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
void PhysicsList::SetCuts()
{
if (verboseLevel >0){
G4cout << "PhysicsList::SetCuts:";
G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl;
}
// set cut values for gamma at first and for e- second and next for e+,
// because some processes for e+/e- need cut values for gamma
SetCutValue(fCutForGamma, "gamma");
SetCutValue(fCutForElectron, "e-");
SetCutValue(fCutForPositron, "e+");
SetCutValue(fCutForProton, "proton");
if (verboseLevel>0) { DumpCutValuesTable(); }
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
void PhysicsList::SetCutForGamma(G4double cut)
{
fCutForGamma = cut;
SetParticleCuts(fCutForGamma, G4Gamma::Gamma());
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void PhysicsList::SetCutForElectron(G4double cut)
{
fCutForElectron = cut;
SetParticleCuts(fCutForElectron, G4Electron::Electron());
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void PhysicsList::SetCutForPositron(G4double cut)
{
fCutForPositron = cut;
SetParticleCuts(fCutForPositron, G4Positron::Positron());
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void PhysicsList::SetCutForProton(G4double cut)
{
fCutForProton = cut;
SetParticleCuts(fCutForProton, G4Proton::Proton());
}
void PhysicsList::List()
{
G4cout << "### PhysicsLists available: FTFP_BERT FTFP_BERT_EMV "