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
@@ -1,4 +1,4 @@
$Id: History 97178 2016-05-27 12:45:30Z gcosmo $
$Id: History 101061 2016-11-04 13:07:09Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -14,6 +14,16 @@ introduced in the code and keeptrack of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
04-Nov-2016, Alberto Ribon (phys-ctor-helastic-V10-02-04)
- Written first draft of the README
16-October-2016 M.Maire (phys-ctor-helastic-V10-02-03)
- add README
12-October-2016 G.Folger (phys-ctor-helastic-V10-02-02)
- replace direct use of aParticleIterator by GetParticleIterator().
fix required by clang39 on Windows and MAC
26-May-2016, A. Ribon (phys-ctor-helastic-V10-02-01)
- G4HadronElasticPhysicsPHP : made it thread-safe.
@@ -0,0 +1,105 @@
$Id: $
-------------------------------------------------------------------
G4ChargeExchangePhysics
-----------------------
Hadron nuclear coherent charge exchange, used in this constructor
only for nucleons and charged pions.
G4HadronDElasticPhysics
-----------------------
Hadron nuclear elastic process for all hadrons:
- proton and charged pions:
- cross section: Barashenkov-Glauber-Gribov
- final-state: Diffuse model where applicable, else Gheisha
- neutron:
- cross section: G4NeutronElasticXS
- final-state: Diffuse model where applicable, else Gheisha
- kaons
- cross section: Chips
- final-state: Diffuse model where applicable, else Gheisha
- hyperons, anti-hyperons, deuteron, triton, alpha
- cross section: Gheisha
- final-state: Gheisha
- anti_proton, anti_deuteron, anti_triton, anti_He3, anti_alpha
- cross-section: Galoyan-Uzhinsky-Glauber-Gribov
- final-state: Galoyan-Uzhinsky model above 100 MeV/nucleon,
Gheisha below.
G4HadronElasticPhysics
----------------------
Hadron nuclear elastic process for all hadrons:
- proton
- cross section: Chips
- final-state: Chips
- neutron:
- cross section: G4NeutronElasticXS
- final-state: Chips
- charged pions:
- cross section: Barashenkov-Glauber-Gribov
- final-state: Starkov's model above 1 GeV, Gheisha below.
- kaons
- cross section: Gheisha
- final-state: Gheisha
- hyperons, anti-hyperons, deuteron, triton, alpha
- cross section: Gheisha
- final-state: Gheisha
- He3
- cross section: Glauber-Gribov
- final-state: Gheisha
- anti_proton, anti_deuteron, anti_triton, anti_He3, anti_alpha
- cross-section: Galoyan-Uzhinsky-Glauber-Gribov
- final-state: Galoyan-Uzhinsky model above 100 MeV/nucleon,
Gheisha below.
G4HadronElasticPhysicsHP
------------------------
As G4HadronElasticPhysics, with the only difference that for neutrons
below 20 MeV, NeutronHP elastic is used (for both cross section and
final-state model).
G4HadronElasticPhysicsLEND
--------------------------
As G4HadronElasticPhysics, with the only difference that for neutrons
below 20 MeV, LEND elastic is used (for both cross section and
final-state model).
G4HadronElasticPhysicsXS
------------------------
As G4HadronElasticPhysics, with only difference in the proton elastic
cross section: Barashenkov-Glauber-Gribov is used (instead of Chips).
G4HadronHElasticPhysics
-----------------------
- proton
- cross section: Barashenkov-Glauber-Gribov
- final-state: Diffuse model, except for Hydrogen where Chips is used
- neutron:
- cross section: G4NeutronElasticXS
- final-state: Diffuse model, except for Hydrogen where Chips is used
- charged pions:
- cross section: Barashenkov-Glauber-Gribov
- final-state: Diffuse model, except for Hydrogen where Chips is used
- kaons, hyperons, anti-hyperons
- cross section: Chips
- final-state: Chips
- deuteron, triton, He3, alpha
- cross section: Glauber-Gribov
- final-state: Gheisha
- anti_proton, anti_neutron
- cross section: Galoyan-Uzhinsky-Glauber-Gribov
- final-state: Galoyan-Uzhinsky model above 100 MeV/nucleon,
Chips below.
- anti_deuteron, anti_triton, anti_He3, anti_alpha
- cross-section: Galoyan-Uzhinsky-Glauber-Gribov
- final-state: Galoyan-Uzhinsky model above 100 MeV/nucleon,
Gheisha below.
G4IonElasticPhysics
-------------------
As G4HadronElasticPhysics, with the addition of elastic process for
generic ion:
- cross section: Glauber-Gribov
- final-state: Diffuse model
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4ChargeExchangePhysics.cc 71037 2013-06-10 09:20:54Z gcosmo $
// $Id: G4ChargeExchangePhysics.cc 99978 2016-10-13 07:28:13Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -87,10 +87,11 @@ void G4ChargeExchangePhysics::ConstructProcess()
<< model->GetModelName() << ">" << G4endl;
}
aParticleIterator->reset();
while( (*aParticleIterator)() )
auto myParticleIterator=GetParticleIterator();
myParticleIterator->reset();
while( (*myParticleIterator)() )
{
G4ParticleDefinition* particle = aParticleIterator->value();
G4ParticleDefinition* particle = myParticleIterator->value();
G4String pname = particle->GetParticleName();
if(pname == "neutron" ||
pname == "pi-" ||
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4HadronDElasticPhysics.cc 83699 2014-09-10 07:18:25Z gcosmo $
// $Id: G4HadronDElasticPhysics.cc 99978 2016-10-13 07:28:13Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -137,10 +137,11 @@ void G4HadronDElasticPhysics::ConstructProcess()
G4DiffuseElastic* model = 0;
aParticleIterator->reset();
while( (*aParticleIterator)() )
auto myParticleIterator=GetParticleIterator();
myParticleIterator->reset();
while( (*myParticleIterator)() )
{
G4ParticleDefinition* particle = aParticleIterator->value();
G4ParticleDefinition* particle = myParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
G4String pname = particle->GetParticleName();
if(pname == "anti_lambda" ||
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4HadronElasticPhysics.cc 95771 2016-02-24 08:23:05Z gcosmo $
// $Id: G4HadronElasticPhysics.cc 99978 2016-10-13 07:28:13Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -142,10 +142,11 @@ void G4HadronElasticPhysics::ConstructProcess()
G4ElasticHadrNucleusHE* he = new G4ElasticHadrNucleusHE();
he->SetMinEnergy(elimitPi);
aParticleIterator->reset();
while( (*aParticleIterator)() )
auto myParticleIterator=GetParticleIterator();
myParticleIterator->reset();
while( (*myParticleIterator)() )
{
G4ParticleDefinition* particle = aParticleIterator->value();
G4ParticleDefinition* particle = myParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
G4String pname = particle->GetParticleName();
if(pname == "anti_lambda" ||
@@ -40,6 +40,7 @@
#include "G4HadronElastic.hh"
#include "G4ParticleHPElastic.hh"
#include "G4ParticleHPElasticData.hh"
#include "G4SystemOfUnits.hh"
// factory
#include "G4PhysicsConstructorFactory.hh"
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4HadronHElasticPhysics.cc 90757 2015-06-09 07:45:14Z gcosmo $
// $Id: G4HadronHElasticPhysics.cc 99978 2016-10-13 07:28:13Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -159,10 +159,11 @@ void G4HadronHElasticPhysics::ConstructProcess() {
G4AutoDelete::Register(diffRatio);
}
aParticleIterator->reset();
while( (*aParticleIterator)() ) {
auto myParticleIterator=GetParticleIterator();
myParticleIterator->reset();
while( (*myParticleIterator)() ) {
G4ParticleDefinition* particle = aParticleIterator->value();
G4ParticleDefinition* particle = myParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
G4String pname = particle->GetParticleName();