Import Geant4 8.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:07:44 +02:00
parent fe73f43734
commit 75c7fd177d
764 changed files with 45230 additions and 95238 deletions
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: PhysicsList.cc,v 1.17 2006/11/24 16:48:57 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: PhysicsList.cc,v 1.19 2007/04/26 18:16:55 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-03 $
//
/////////////////////////////////////////////////////////////////////////
//
@@ -35,6 +35,7 @@
//
// Modified:
// 04.06.2006 Adoptation of hadr01 (V.Ivanchenko)
// 26.04.2007 Physics according to 8.3 Physics List (V.Ivanchenko)
//
////////////////////////////////////////////////////////////////////////
//
@@ -58,14 +59,13 @@
#include "G4EmProcessOptions.hh"
#include "HadronPhysicsQGSP_BIC.hh"
#include "HadronPhysicsQGSP_BIC_HP.hh"
#include "HadronPhysicsFTFP.hh"
#include "HadronPhysicsLHEP.hh"
#include "HadronPhysicsLHEP_BIC.hh"
#include "HadronPhysicsLHEP_BIC_HP.hh"
#include "HadronPhysicsLHEP_BERT.hh"
#include "HadronPhysicsLHEP_BERT_HP.hh"
#include "HadronPhysicsQGSP_BERT_HP.hh"
#include "HadronPhysicsQGSP_BERT.hh"
#include "HadronPhysicsQGSC.hh"
#include "HadronPhysicsQGSC_EFLOW.hh"
#include "HadronPhysicsQGSP.hh"
#include "G4HadronInelasticQBBC.hh"
#include "G4HadronInelasticQLHEP.hh"
@@ -98,7 +98,7 @@ PhysicsList::PhysicsList() : G4VModularPhysicsList()
particleList = new G4DecayPhysics("decays");
// EM physics
emPhysicsList = new G4EmStandardPhysics("standard");
emPhysicsList = new G4EmStandardPhysics("G4standard");
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -159,27 +159,89 @@ void PhysicsList::AddPhysicsList(const G4String& name)
delete emPhysicsList;
emPhysicsList = new G4EmStandardPhysics71("standard");
} else if (name == "FTFP_EMV") {
AddPhysicsList("G4standard_fast");
AddPhysicsList("FTFP");
dump = true;
} else if (name == "FTFP") {
hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc"));
hadronPhys.push_back( new G4HadronElasticPhysics("elastic",
verboseLevel,false));
hadronPhys.push_back( new HadronPhysicsFTFP("hadron"));
hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel));
hadronPhys.push_back( new G4IonPhysics("ion"));
hadronPhys.push_back( new G4NeutronTrackingCut());
dump = true;
} else if (name == "QGSC") {
hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc"));
hadronPhys.push_back( new G4HadronQElasticPhysics("QElastic",verboseLevel));
hadronPhys.push_back( new HadronPhysicsQGSC());
hadronPhys.push_back( new G4QStoppingPhysics("stopping"));
hadronPhys.push_back( new HadronPhysicsQGSC("hadron",true));
hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel,false));
hadronPhys.push_back( new G4IonPhysics("ion"));
hadronPhys.push_back( new G4NeutronTrackingCut());
dump = true;
} else if (name == "QGSC_EFLOW") {
hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc"));
hadronPhys.push_back( new G4HadronQElasticPhysics("QElastic",verboseLevel));
hadronPhys.push_back( new HadronPhysicsQGSC_EFLOW("hadron",true));
hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel,false));
hadronPhys.push_back( new G4IonPhysics("ion"));
hadronPhys.push_back( new G4NeutronTrackingCut());
dump = true;
} else if (name == "QGSC_EMV") {
AddPhysicsList("G4standard_fast");
AddPhysicsList("QGSC");
dump = true;
} else if (name == "QGSP") {
hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc"));
hadronPhys.push_back( new G4HadronElasticPhysics("elastic",
verboseLevel,false));
hadronPhys.push_back( new HadronPhysicsQGSP());
hadronPhys.push_back( new G4QStoppingPhysics("stopping"));
hadronPhys.push_back( new HadronPhysicsQGSP("hadron",true));
hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel));
hadronPhys.push_back( new G4IonPhysics("ion"));
hadronPhys.push_back( new G4NeutronTrackingCut());
dump = true;
} else if (name == "QGSP_QEL") {
hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc"));
hadronPhys.push_back( new G4HadronQElasticPhysics("QElastic",
verboseLevel));
hadronPhys.push_back( new HadronPhysicsQGSP("hadron",true));
hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel));
hadronPhys.push_back( new G4IonPhysics("ion"));
hadronPhys.push_back( new G4NeutronTrackingCut());
dump = true;
} else if (name == "QGSP_NQE") {
hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc"));
hadronPhys.push_back( new G4HadronElasticPhysics("elastic",
verboseLevel,false));
hadronPhys.push_back( new HadronPhysicsQGSP("hadron",false));
hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel));
hadronPhys.push_back( new G4IonPhysics("ion"));
hadronPhys.push_back( new G4NeutronTrackingCut());
dump = true;
} else if (name == "QGSP_EMV_NQE") {
AddPhysicsList("G4standard_fast");
AddPhysicsList("QGSP_NQE");
dump = true;
} else if (name == "LHEP_EMV") {
AddPhysicsList("G4standard_fast");
@@ -198,12 +260,29 @@ void PhysicsList::AddPhysicsList(const G4String& name)
AddPhysicsList("QGSP");
dump = true;
} else if (name == "QGSP_BERT_EMV") {
AddPhysicsList("G4standard_fast");
AddPhysicsList("QGSP_BERT");
dump = true;
} else if (name == "QGSP_BERT") {
hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc"));
hadronPhys.push_back( new G4HadronElasticPhysics("elastic",
verboseLevel,false));
hadronPhys.push_back( new HadronPhysicsQGSP_BERT());
hadronPhys.push_back( new HadronPhysicsQGSP_BERT("hadron",true));
hadronPhys.push_back( new G4QStoppingPhysics("stopping"));
hadronPhys.push_back( new G4IonPhysics("ion"));
hadronPhys.push_back( new G4NeutronTrackingCut());
dump = true;
} else if (name == "QGSP_BERT_NQE") {
hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc"));
hadronPhys.push_back( new G4HadronElasticPhysics("elastic",
verboseLevel,false));
hadronPhys.push_back( new HadronPhysicsQGSP_BERT("hadron",false));
hadronPhys.push_back( new G4QStoppingPhysics("stopping"));
hadronPhys.push_back( new G4IonPhysics("ion"));
hadronPhys.push_back( new G4NeutronTrackingCut());
@@ -214,7 +293,7 @@ void PhysicsList::AddPhysicsList(const G4String& name)
hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc"));
hadronPhys.push_back( new G4HadronElasticPhysics("elastic",
verboseLevel,true));
hadronPhys.push_back( new HadronPhysicsQGSP_BERT_HP());
hadronPhys.push_back( new HadronPhysicsQGSP_BERT_HP("hadron",true));
hadronPhys.push_back( new G4QStoppingPhysics("stopping"));
hadronPhys.push_back( new G4IonPhysics("ion"));
hadronPhys.push_back( new G4NeutronTrackingCut());
@@ -223,55 +302,50 @@ void PhysicsList::AddPhysicsList(const G4String& name)
} else if (name == "QGSP_BIC") {
SetStandardList(false);
hadronPhys.push_back( new HadronPhysicsQGSP_BIC());
hadronPhys.push_back( new HadronPhysicsQGSP_BIC("hadron",true));
dump = true;
} else if (name == "QGSP_BIC_HP") {
SetStandardList(true);
hadronPhys.push_back( new HadronPhysicsQGSP_BIC());
hadronPhys.push_back( new HadronPhysicsQGSP_BIC_HP("hadron",true));
dump = true;
} else if (name == "QBBC") {
SetStandardList(false);
hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel));
hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel,
false,false,false,false,true));
} else if (name == "QBBCG") {
SetStandardList(false, true);
hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel,
false,false,false,false,true));
false,false,false,false,false));
} else if (name == "QBEC") {
SetStandardList(false);
hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel,
false,true,false,false));
false,true,false,false,true));
} else if (name == "QBBC_HP") {
SetStandardList(true);
hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel,
false,false,false,true));
false,false,false,true,true));
} else if (name == "QBEC_HP") {
SetStandardList(true);
hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel,
false,true,false,true));
} else if (name == "QBBC_CHIPS") {
SetStandardList(false);
hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel,
false,false,true,false));
false,true,false,true,true));
} else if (name == "QBBC_FTF") {
SetStandardList(false);
hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel,
true,false,false,false));
true,false,false,false,true));
} else {
@@ -286,7 +360,7 @@ void PhysicsList::AddPhysicsList(const G4String& name)
void PhysicsList::SetStandardList(G4bool flagHP, G4bool glauber)
{
hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc"));
hadronPhys.push_back( new G4HadronHElasticPhysics("elastic",verboseLevel,
hadronPhys.push_back( new G4HadronElasticPhysics("elastic",verboseLevel,
flagHP,glauber));
hadronPhys.push_back( new G4QStoppingPhysics("stopping"));
hadronPhys.push_back( new G4IonBinaryCascadePhysics("binary_ion"));
@@ -340,7 +414,9 @@ void PhysicsList::List()
{
G4cout << "### PhysicsLists available: LHEP LHEP_EMV QGSP QGSP_BERT QGSP_BERT_HP QGSP_BIC QGSP_BIC_HP"
<< G4endl;
G4cout << " QGSP_EMV QGSP_EMX QGSC QBBC QBEC QBBC_HP QBEC_HP QBBC_CHIPS QBBC_FTF"
G4cout << " QGSP_EMV_NQE QGSP_NQE QGSP_QEL QGSC QGSC_EMV QGSC_EFLOW FTFP FTFP_EMV"
<< G4endl;
G4cout << " QGSP_EMV QGSP_EMX QBBC QBBCG QBEC QBBC_HP QBEC_HP QBBC_FTF"
<< G4endl;
}