Import Geant4 10.6.1 source tree

This commit is contained in:
Gabriele Cosmo
2020-02-14 15:32:52 +01:00
parent 5baee230e9
commit 8c87fe78c4
278 changed files with 24232 additions and 22963 deletions
+3 -1
View File
@@ -13,7 +13,9 @@ GLOBLIBS += libG4tracking.lib libG4processes.lib libG4digits_hits.lib
GLOBLIBS += libG4track.lib libG4particles.lib libG4geometry.lib
GLOBLIBS += libG4materials.lib libG4graphics_reps.lib
GLOBLIBS += libG4intercoms.lib libG4global.lib
GLOBLIBS += libG4expat.lib
ifdef G4LIB_BUILD_EXPAT
GLOBLIBS += libG4expat.lib
endif
include $(G4INSTALL)/config/architecture.gmk
+1 -5
View File
@@ -12,14 +12,10 @@ include $(G4INSTALL)/config/architecture.gmk
CPPFLAGS += -DG4PROCESSES_EXPORT
ifeq ($(G4SYSTEM), WIN32-VC)
CPPFLAGS += -I$(G4BASE)/externals/expat/include
endif
ifdef G4LIB_BUILD_EXPAT
CPPFLAGS += -I$(G4BASE)/externals/expat/include
endif
CPPFLAGS += -I$(G4BASE)/global/management/include \
-I$(G4BASE)/global/HEPRandom/include \
-I$(G4BASE)/global/HEPNumerics/include \
@@ -66,7 +62,7 @@ CPPFLAGS += -I$(G4BASE)/global/management/include \
-I$(G4BASE)/processes/hadronic/models/util/include \
-I$(G4BASE)/processes/hadronic/models/binary_cascade/include \
-I$(G4BASE)/processes/hadronic/models/cascade/cascade/include \
-I$(G4BASE)/processes/hadronic/models/qmd/include \
-I$(G4BASE)/processes/hadronic/models/qmd/include \
-I$(G4BASE)/processes/hadronic/models/coherent_elastic/include \
-I$(G4BASE)/processes/hadronic/models/de_excitation/evaporation/include \
-I$(G4BASE)/processes/hadronic/models/de_excitation/fermi_breakup/include \
@@ -13,6 +13,10 @@ introduced in the code and keeptrack of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
21 December 2019, V.Ivanchenko (phys-ctor-em-V10-05-18)
- G4EmModelActivator - fixed configuration of the default EM multiple
scattering on top of any other physics configuration (problem #2106)
19 October 2019, W.G.Shin, S.Incerti (phys-ctor-em-V10-05-17)
- added new ELSEPA elastic model for Geant4-DNA in G4EmDNAPhysics_option2
@@ -185,9 +185,15 @@ void G4EmModelActivator::ActivateEmOptions()
if("G4EmStandard" == typesPhys[i]) {
G4UrbanMscModel* msc = new G4UrbanMscModel();
msc->SetRangeFactor(0.04);
msc->SetSkin(1);
msc->SetStepLimitType(fUseSafety);
AddStandardScattering(elec, em_config, msc, reg, mscEnergyLimit, highEnergy);
msc = new G4UrbanMscModel();
msc->SetRangeFactor(0.04);
msc->SetSkin(1);
msc->SetStepLimitType(fUseSafety);
AddStandardScattering(posi, em_config, msc, reg, mscEnergyLimit, highEnergy);
} else if("G4EmStandard_opt1" == typesPhys[i] ||
@@ -13,6 +13,10 @@ introduced in the code and keeptrack of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
13 January 2020, Dennis Wright (phys-ctor-glnuclear-V10-05-04)
- Remove double delete in destructor of G4LENDBertiniGammaElectroNuclearBuilder
(Coverity errors 101609 and 101727).
29 November 2019, A.Ribon (phys-ctor-glnuclear-V10-05-03)
- Update of the only README file.
@@ -56,10 +56,14 @@ G4BertiniElectroNuclearBuilder( eNucl )
G4LENDBertiniGammaElectroNuclearBuilder::~G4LENDBertiniGammaElectroNuclearBuilder()
{
/*
DHW 13 Jan 2020 - fix double deletion error; these deletes are already done in the base class dtor
(Coverity bugs 101609 and 101727)
if ( wasActivated ) {
delete theFragmentation;
delete theStringDecay;
}
*/
}
void G4LENDBertiniGammaElectroNuclearBuilder::Build()
@@ -13,9 +13,6 @@ include $(G4INSTALL)/config/architecture.gmk
CPPFLAGS += -DG4PROCESSES_EXPORT
ifeq ($(G4SYSTEM), WIN32-VC)
CPPFLAGS += -I$(G4BASE)/externals/expat/include
endif
ifdef G4LIB_BUILD_EXPAT
CPPFLAGS += -I$(G4BASE)/externals/expat/include
endif
@@ -37,10 +34,10 @@ CPPFLAGS += -I$(G4BASE)/global/management/include \
-I$(G4BASE)/particles/hadrons/barions/include \
-I$(G4BASE)/particles/hadrons/ions/include \
-I$(G4BASE)/run/include \
-I$(G4BASE)/physics_lists/builders/include \
-I$(G4BASE)/physics_lists/util/include \
-I$(G4BASE)/physics_lists/constructors/factory/include \
-I$(G4BASE)/physics_lists/constructors/hadron_inelastic/include \
-I$(G4BASE)/physics_lists/builders/include \
-I$(G4BASE)/physics_lists/util/include \
-I$(G4BASE)/physics_lists/constructors/factory/include \
-I$(G4BASE)/physics_lists/constructors/hadron_inelastic/include \
-I$(G4BASE)/processes/management/include \
-I$(G4BASE)/processes/transportation/include \
-I$(G4BASE)/processes/cuts/include \
@@ -13,14 +13,10 @@ include $(G4INSTALL)/config/architecture.gmk
CPPFLAGS += -DG4PROCESSES_EXPORT
ifeq ($(G4SYSTEM), WIN32-VC)
CPPFLAGS += -I$(G4BASE)/externals/expat/include
endif
ifdef G4LIB_BUILD_EXPAT
CPPFLAGS += -I$(G4BASE)/externals/expat/include
endif
CPPFLAGS += -I$(G4BASE)/global/management/include \
-I$(G4BASE)/global/HEPRandom/include \
-I$(G4BASE)/global/HEPNumerics/include \
@@ -39,9 +35,9 @@ CPPFLAGS += -I$(G4BASE)/global/management/include \
-I$(G4BASE)/particles/hadrons/barions/include \
-I$(G4BASE)/particles/hadrons/ions/include \
-I$(G4BASE)/run/include \
-I$(G4BASE)/physics_lists/builders/include \
-I$(G4BASE)/physics_lists/util/include \
-I$(G4BASE)/physics_lists/constructors/factory/include \
-I$(G4BASE)/physics_lists/builders/include \
-I$(G4BASE)/physics_lists/util/include \
-I$(G4BASE)/physics_lists/constructors/factory/include \
-I$(G4BASE)/processes/management/include \
-I$(G4BASE)/processes/transportation/include \
-I$(G4BASE)/processes/decay/include \
@@ -55,7 +51,7 @@ CPPFLAGS += -I$(G4BASE)/global/management/include \
-I$(G4BASE)/processes/hadronic/models/util/include \
-I$(G4BASE)/processes/hadronic/models/binary_cascade/include \
-I$(G4BASE)/processes/hadronic/models/cascade/cascade/include \
-I$(G4BASE)/processes/hadronic/models/qmd/include \
-I$(G4BASE)/processes/hadronic/models/qmd/include \
-I$(G4BASE)/processes/hadronic/models/coherent_elastic/include \
-I$(G4BASE)/processes/hadronic/models/de_excitation/evaporation/include \
-I$(G4BASE)/processes/hadronic/models/de_excitation/fermi_breakup/include \
@@ -13,11 +13,6 @@ include $(G4INSTALL)/config/architecture.gmk
CPPFLAGS += -DG4PROCESSES_EXPORT
ifeq ($(G4SYSTEM), WIN32-VC)
CPPFLAGS += -I$(G4BASE)/externals/expat/include
endif
CPPFLAGS += -I$(G4BASE)/global/management/include \
-I$(G4BASE)/global/HEPRandom/include \
-I$(G4BASE)/global/HEPNumerics/include \
@@ -37,14 +32,14 @@ CPPFLAGS += -I$(G4BASE)/global/management/include \
-I$(G4BASE)/particles/hadrons/barions/include \
-I$(G4BASE)/particles/hadrons/ions/include \
-I$(G4BASE)/run/include \
-I$(G4BASE)/physics_lists/builders/include \
-I$(G4BASE)/physics_lists/util/include \
-I$(G4BASE)/physics_lists/constructors/factory/include \
-I$(G4BASE)/physics_lists/builders/include \
-I$(G4BASE)/physics_lists/util/include \
-I$(G4BASE)/physics_lists/constructors/factory/include \
-I$(G4BASE)/processes/management/include \
-I$(G4BASE)/processes/scoring/include \
-I$(G4BASE)/processes/transportation/include \
-I$(G4BASE)/processes/decay/include \
-I$(G4BASE)/processes/electromagnetic/utils/include \
-I$(G4BASE)/processes/electromagnetic/utils/include \
-I$(G4BASE)/processes/cuts/include \
-I$(G4BASE)/processes/biasing/generic/include \
-I$(G4BASE)/processes/biasing/importance/include \
@@ -58,7 +53,7 @@ CPPFLAGS += -I$(G4BASE)/global/management/include \
-I$(G4BASE)/processes/hadronic/models/util/include \
-I$(G4BASE)/processes/hadronic/models/binary_cascade/include \
-I$(G4BASE)/processes/hadronic/models/cascade/cascade/include \
-I$(G4BASE)/processes/hadronic/models/qmd/include \
-I$(G4BASE)/processes/hadronic/models/qmd/include \
-I$(G4BASE)/processes/hadronic/models/coherent_elastic/include \
-I$(G4BASE)/processes/hadronic/models/de_excitation/evaporation/include \
-I$(G4BASE)/processes/hadronic/models/de_excitation/fermi_breakup/include \
-4
View File
@@ -12,10 +12,6 @@ include $(G4INSTALL)/config/architecture.gmk
CPPFLAGS += -DG4PROCESSES_EXPORT
ifeq ($(G4SYSTEM), WIN32-VC)
CPPFLAGS += -I$(G4BASE)/externals/expat/include
endif
CPPFLAGS += -I$(G4BASE)/global/management/include \
-I$(G4BASE)/global/HEPRandom/include \
-I$(G4BASE)/global/HEPGeometry/include \
+5
View File
@@ -13,6 +13,11 @@ introduced in the code and keeptrack of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
15-January-2020 Alberto Ribon (phys-lists-V10-05-05)
- LBE : updated cross sections to avoid crashes caused by the removal of
default Gheisha cross sections, and to have consistency between elastic
and inelastic cross sections.
22-October-2019 Alberto Ribon (phys-lists-V10-05-04)
- FTFP_BERT_HP, QGSP_BERT_HP, INCLXXPhysicsListHelper : added (consistently)
RadioactiveDecay to all physics lists which use NeutronHP (the rationale
+26 -22
View File
@@ -48,6 +48,7 @@
// 16-08-10 Remove inclusion of obsolete class of G4ParticleWithCuts
// 20-10-10 Migrate LowEnergy process to Livermore models, LP
// 28-03-13 Replace LEP/HEP with FTFP+BERT (A.R.)
// 15-01-20 Updated cross sections (A.R.)
// --------------------------------------------------------------
#include <iomanip>
@@ -534,6 +535,10 @@ LBE::~LBE()
#include "G4ChipsProtonElasticXS.hh"
#include "G4ChipsNeutronElasticXS.hh"
#include "G4ComponentAntiNuclNuclearXS.hh"
#include "G4ChipsKaonMinusElasticXS.hh"
#include "G4ChipsKaonPlusElasticXS.hh"
#include "G4ChipsKaonZeroElasticXS.hh"
#include "G4BGGNucleonElasticXS.hh"
#include "G4CrossSectionElastic.hh"
// Inelastic processes:
@@ -561,8 +566,7 @@ LBE::~LBE()
#include "G4ExcitedStringDecay.hh"
#include "G4CascadeInterface.hh"
#include "G4CrossSectionInelastic.hh"
#include "G4PiNuclearCrossSection.hh"
#include "G4CrossSectionPairGG.hh"
#include "G4BGGPionInelasticXS.hh"
#include "G4ChipsKaonMinusInelasticXS.hh"
#include "G4ChipsKaonPlusInelasticXS.hh"
#include "G4ChipsKaonZeroInelasticXS.hh"
@@ -592,16 +596,16 @@ LBE::~LBE()
void LBE::ConstructHad()
{
// Elastic scattering
const G4double elastic_elimitPi = 1.0*CLHEP::GeV;
G4HadronElastic* elastic_lhep0 = new G4HadronElastic();
G4HadronElastic* elastic_lhep1 = new G4HadronElastic();
elastic_lhep1->SetMaxEnergy( elastic_elimitPi );
G4ChipsElasticModel* elastic_chip = new G4ChipsElasticModel();
G4ElasticHadrNucleusHE* elastic_he = new G4ElasticHadrNucleusHE();
elastic_he->SetMinEnergy( elastic_elimitPi );
const G4double elastic_elimitAntiNuc = 100.0*CLHEP::MeV;
G4AntiNuclElastic* elastic_anuc = new G4AntiNuclElastic();
elastic_anuc->SetMinEnergy( elastic_elimitAntiNuc );
G4CrossSectionElastic* elastic_anucxs = new G4CrossSectionElastic( elastic_anuc->GetComponentCrossSection() );
G4HadronElastic* elastic_lhep2 = new G4HadronElastic();
elastic_lhep2->SetMaxEnergy( elastic_elimitAntiNuc );
// Inelastic scattering
const G4double theFTFMin0 = 0.0*CLHEP::GeV;
@@ -647,8 +651,6 @@ LBE::~LBE()
theIonBC->SetMinEnergy( theIonBCMin );
theIonBC->SetMaxEnergy( theIonBCMax );
G4VCrossSectionDataSet * thePiData = new G4CrossSectionPairGG(
(G4PiNuclearCrossSection*)G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4PiNuclearCrossSection::Default_Name()), 91*CLHEP::GeV );
G4VCrossSectionDataSet * theAntiNucleonData = new G4CrossSectionInelastic( new G4ComponentAntiNuclNuclearXS );
G4ComponentGGNuclNuclXsc * ggNuclNuclXsec = new G4ComponentGGNuclNuclXsc();
G4VCrossSectionDataSet * theGGNuclNuclData = new G4CrossSectionInelastic(ggNuclNuclXsec);
@@ -666,12 +668,11 @@ LBE::~LBE()
// Elastic scattering
G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess;
theElasticProcess->AddDataSet( new G4BGGPionElasticXS( particle ) );
theElasticProcess->RegisterMe( elastic_lhep1 );
theElasticProcess->RegisterMe( elastic_he );
pmanager->AddDiscreteProcess( theElasticProcess );
// Inelastic scattering
G4PionPlusInelasticProcess* theInelasticProcess = new G4PionPlusInelasticProcess("inelastic");
theInelasticProcess->AddDataSet( thePiData );
theInelasticProcess->AddDataSet( new G4BGGPionInelasticXS( G4PionPlus::Definition() ) );
theInelasticProcess->RegisterMe( theFTFModel1 );
theInelasticProcess->RegisterMe( theBERTModel0 );
pmanager->AddDiscreteProcess( theInelasticProcess );
@@ -682,12 +683,11 @@ LBE::~LBE()
// Elastic scattering
G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess;
theElasticProcess->AddDataSet( new G4BGGPionElasticXS( particle ) );
theElasticProcess->RegisterMe( elastic_lhep1 );
theElasticProcess->RegisterMe( elastic_he );
pmanager->AddDiscreteProcess( theElasticProcess );
// Inelastic scattering
G4PionMinusInelasticProcess* theInelasticProcess = new G4PionMinusInelasticProcess("inelastic");
theInelasticProcess->AddDataSet( thePiData );
theInelasticProcess->AddDataSet( new G4BGGPionInelasticXS( G4PionMinus::Definition() ) );
theInelasticProcess->RegisterMe( theFTFModel1 );
theInelasticProcess->RegisterMe( theBERTModel0 );
pmanager->AddDiscreteProcess( theInelasticProcess );
@@ -698,6 +698,7 @@ LBE::~LBE()
// Elastic scattering
G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess;
theElasticProcess->RegisterMe( elastic_lhep0 );
theElasticProcess->AddDataSet( G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonPlusElasticXS::Default_Name()));
pmanager->AddDiscreteProcess( theElasticProcess );
// Inelastic scattering
G4KaonPlusInelasticProcess* theInelasticProcess = new G4KaonPlusInelasticProcess("inelastic");
@@ -712,6 +713,7 @@ LBE::~LBE()
// Elastic scattering
G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess;
theElasticProcess->RegisterMe( elastic_lhep0 );
theElasticProcess->AddDataSet( G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonZeroElasticXS::Default_Name()));
pmanager->AddDiscreteProcess( theElasticProcess );
// Inelastic scattering
G4KaonZeroSInelasticProcess* theInelasticProcess = new G4KaonZeroSInelasticProcess("inelastic");
@@ -726,6 +728,7 @@ LBE::~LBE()
// Elastic scattering
G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess;
theElasticProcess->RegisterMe( elastic_lhep0 );
theElasticProcess->AddDataSet( G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonZeroElasticXS::Default_Name()));
pmanager->AddDiscreteProcess( theElasticProcess );
// Inelastic scattering
G4KaonZeroLInelasticProcess* theInelasticProcess = new G4KaonZeroLInelasticProcess("inelastic");
@@ -740,6 +743,7 @@ LBE::~LBE()
// Elastic scattering
G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess;
theElasticProcess->RegisterMe( elastic_lhep0 );
theElasticProcess->AddDataSet( G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonMinusElasticXS::Default_Name()));
pmanager->AddDiscreteProcess( theElasticProcess );
// Inelastic scattering
G4KaonMinusInelasticProcess* theInelasticProcess = new G4KaonMinusInelasticProcess("inelastic");
@@ -754,6 +758,7 @@ LBE::~LBE()
// Elastic scattering
G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess;
theElasticProcess->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsProtonElasticXS::Default_Name()));
theElasticProcess->AddDataSet( new G4BGGNucleonElasticXS( G4Proton::Proton() ) );
theElasticProcess->RegisterMe( elastic_chip );
pmanager->AddDiscreteProcess( theElasticProcess );
// Inelastic scattering
@@ -767,12 +772,6 @@ LBE::~LBE()
else if (particleName == "anti_proton")
{
// Elastic scattering
const G4double elastic_elimitAntiNuc = 100.0*CLHEP::MeV;
G4AntiNuclElastic* elastic_anuc = new G4AntiNuclElastic();
elastic_anuc->SetMinEnergy( elastic_elimitAntiNuc );
G4CrossSectionElastic* elastic_anucxs = new G4CrossSectionElastic( elastic_anuc->GetComponentCrossSection() );
G4HadronElastic* elastic_lhep2 = new G4HadronElastic();
elastic_lhep2->SetMaxEnergy( elastic_elimitAntiNuc );
G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess;
theElasticProcess->AddDataSet( elastic_anucxs );
theElasticProcess->RegisterMe( elastic_lhep2 );
@@ -826,7 +825,9 @@ LBE::~LBE()
{
// Elastic scattering
G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess;
theElasticProcess->RegisterMe( elastic_lhep0 );
theElasticProcess->AddDataSet( elastic_anucxs );
theElasticProcess->RegisterMe( elastic_lhep2 );
theElasticProcess->RegisterMe( elastic_anuc );
pmanager->AddDiscreteProcess( theElasticProcess );
// Inelastic scattering
G4AntiNeutronInelasticProcess* theInelasticProcess = new G4AntiNeutronInelasticProcess("inelastic");
@@ -840,6 +841,7 @@ LBE::~LBE()
// Elastic scattering
G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess;
theElasticProcess->RegisterMe( elastic_lhep0 );
theElasticProcess->AddDataSet( theGGNuclNuclData );
pmanager->AddDiscreteProcess( theElasticProcess );
// Inelastic scattering
G4DeuteronInelasticProcess* theInelasticProcess = new G4DeuteronInelasticProcess("inelastic");
@@ -854,6 +856,7 @@ LBE::~LBE()
// Elastic scattering
G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess;
theElasticProcess->RegisterMe( elastic_lhep0 );
theElasticProcess->AddDataSet( theGGNuclNuclData );
pmanager->AddDiscreteProcess( theElasticProcess );
// Inelastic scattering
G4TritonInelasticProcess* theInelasticProcess = new G4TritonInelasticProcess("inelastic");
@@ -868,6 +871,7 @@ LBE::~LBE()
// Elastic scattering
G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess;
theElasticProcess->RegisterMe( elastic_lhep0 );
theElasticProcess->AddDataSet( theGGNuclNuclData );
pmanager->AddDiscreteProcess( theElasticProcess );
// Inelastic scattering
G4AlphaInelasticProcess* theInelasticProcess = new G4AlphaInelasticProcess("inelastic");
-4
View File
@@ -12,10 +12,6 @@ include $(G4INSTALL)/config/architecture.gmk
CPPFLAGS += -DG4PROCESSES_EXPORT
ifeq ($(G4SYSTEM), WIN32-VC)
CPPFLAGS += -I$(G4BASE)/externals/expat/include
endif
CPPFLAGS += -I$(G4BASE)/global/management/include \
-I$(G4BASE)/global/HEPRandom/include \
-I$(G4BASE)/global/HEPGeometry/include \