Import Geant4 10.4.0 source tree
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
$Id: History 104019 2017-05-08 07:34:08Z gcosmo $
|
||||
$Id: History 107437 2017-11-13 07:37:11Z gcosmo $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -14,6 +14,31 @@ introduced in the code and keeptrack of all tags.
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
10-Nov-2017, T. Koi (phys-ctor-helastic-V10-03-04)
|
||||
-Dumpping LEND target information in G4HadronElasticPhysicsLEND
|
||||
|
||||
7-Nov-2017, T. Koi (phys-ctor-helastic-V10-03-03)
|
||||
- G4HadronElasticPhysicsLEND: Modify setting of selection of target data
|
||||
|
||||
19-Oct-2017, A. Ribon (phys-ctor-helastic-V10-03-02)
|
||||
- G4HadronHElasticPhysics : use G4NuclNuclDiffuseElastic for the elastic
|
||||
scattering of light and generic ions (this is possible now because
|
||||
the latest version of G4NuclNuclDiffuseElastic respects reproducibility).
|
||||
|
||||
14-Aug-2017, A. Ribon (phys-ctor-helastic-V10-03-01)
|
||||
- G4HadronElasticPhysics, G4HadronHElasticPhysics : changed kaon elastic
|
||||
cross sections from, respectively, Gheisha (used in G4HadronElasticPhysics)
|
||||
and Chips (used in G4HadronHElasticPhysics), to Grichine's Glauber Gribov
|
||||
ones. In this way, the total (elastic + inelastic) kaon cross sections
|
||||
are consistent with the PDG ones.
|
||||
Notes:
|
||||
- For the time being, kept the original elastic final-state model
|
||||
(i.e. Gheisha in G4HadronElasticPhysics and Chips in
|
||||
G4HadronHElasticPhysics).
|
||||
- These two changes should be used also for the next patch of G4 10.3
|
||||
(i.e. for 10.3.p03 : the two files G4HadronElasticPhysics.cc and
|
||||
G4HadronHElasticPhysics.cc can be taken directly).
|
||||
|
||||
04-May-2017, V.Ivanchenko (phys-ctor-helastic-V10-03-00)
|
||||
- G4ThermalNeutrons - new class for addition of thermal neutron
|
||||
scattering below 4 eV (backported from CMS simulation)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronElasticPhysics.cc 99978 2016-10-13 07:28:13Z gcosmo $
|
||||
// $Id: G4HadronElasticPhysics.cc 105730 2017-08-16 12:51:52Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -63,6 +63,7 @@
|
||||
#include "G4ElasticHadrNucleusHE.hh"
|
||||
#include "G4AntiNuclElastic.hh"
|
||||
|
||||
#include "G4ComponentGGHadronNucleusXsc.hh"
|
||||
#include "G4ComponentGGNuclNuclXsc.hh"
|
||||
|
||||
#include "G4BGGNucleonElasticXS.hh"
|
||||
@@ -142,6 +143,9 @@ void G4HadronElasticPhysics::ConstructProcess()
|
||||
G4ElasticHadrNucleusHE* he = new G4ElasticHadrNucleusHE();
|
||||
he->SetMinEnergy(elimitPi);
|
||||
|
||||
G4VCrossSectionDataSet* theComponentGGHadronNucleusData =
|
||||
new G4CrossSectionElastic( new G4ComponentGGHadronNucleusXsc );
|
||||
|
||||
auto myParticleIterator=GetParticleIterator();
|
||||
myParticleIterator->reset();
|
||||
while( (*myParticleIterator)() )
|
||||
@@ -232,6 +236,13 @@ void G4HadronElasticPhysics::ConstructProcess()
|
||||
) {
|
||||
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
//AR-14Aug2017 : Replaced Gheisha elastic kaon cross sections with
|
||||
// Grichine's Glauber-Gribov ones. In this way, the
|
||||
// total (elastic + inelastic) kaon cross sections
|
||||
// are consistent with the PDG ones.
|
||||
// For the time being, kept Gheisha elastic as
|
||||
// final-state model.
|
||||
hel->AddDataSet( theComponentGGHadronNucleusData );
|
||||
hel->RegisterMe(lhep0);
|
||||
pmanager->AddDiscreteProcess(hel);
|
||||
if(verbose > 1) {
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronElasticPhysicsLEND.cc 71037 2013-06-10 09:20:54Z gcosmo $
|
||||
// $Id: G4HadronElasticPhysicsLEND.cc 107437 2017-11-13 07:37:11Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -94,13 +94,14 @@ void G4HadronElasticPhysicsLEND::ConstructProcess()
|
||||
|
||||
G4LENDElastic* lend = new G4LENDElastic( G4Neutron::Neutron() );
|
||||
if ( evaluation.size() > 0 ) lend->ChangeDefaultEvaluation( evaluation );
|
||||
//lend->AllowNaturalAbundanceTarget();
|
||||
lend->AllowAnyCandidateTarget();
|
||||
lend->AllowNaturalAbundanceTarget();
|
||||
//lend->AllowAnyCandidateTarget();
|
||||
lend->DumpLENDTargetInfo(true);
|
||||
hel->RegisterMe(lend);
|
||||
G4LENDElasticCrossSection* lend_XS = new G4LENDElasticCrossSection( G4Neutron::Neutron() );
|
||||
if ( evaluation.size() > 0 ) lend_XS->ChangeDefaultEvaluation( evaluation );
|
||||
//lend_XS->AllowNaturalAbundanceTarget();
|
||||
lend_XS->AllowAnyCandidateTarget();
|
||||
lend_XS->AllowNaturalAbundanceTarget();
|
||||
//lend_XS->AllowAnyCandidateTarget();
|
||||
hel->AddDataSet( lend_XS );
|
||||
|
||||
if(verbose > 1) {
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronHElasticPhysics.cc 99978 2016-10-13 07:28:13Z gcosmo $
|
||||
// $Id: G4HadronHElasticPhysics.cc 106721 2017-10-20 09:46:54Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -72,6 +72,7 @@
|
||||
#include "G4ChipsKaonZeroElasticXS.hh"
|
||||
#include "G4ChipsHyperonElasticXS.hh"
|
||||
#include "G4ChipsAntiBaryonElasticXS.hh"
|
||||
#include "G4ComponentGGHadronNucleusXsc.hh"
|
||||
#include "G4ComponentGGNuclNuclXsc.hh"
|
||||
#include "G4CrossSectionDataSetRegistry.hh"
|
||||
|
||||
@@ -149,6 +150,9 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
G4NuclNuclDiffuseElastic* diffuseNuclNuclElastic = new G4NuclNuclDiffuseElastic();
|
||||
diffuseNuclNuclElastic->SetMinEnergy( elimitDiffuse );
|
||||
|
||||
G4VCrossSectionDataSet* theComponentGGHadronNucleusData =
|
||||
new G4CrossSectionElastic( new G4ComponentGGHadronNucleusXsc );
|
||||
|
||||
G4VCrossSectionDataSet* theComponentGGNuclNuclData =
|
||||
new G4CrossSectionElastic( new G4ComponentGGNuclNuclXsc() );
|
||||
|
||||
@@ -272,13 +276,13 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
pname == "kaon0L"
|
||||
) {
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
if ( pname == "kaon-" ) {
|
||||
hel->AddDataSet( G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonMinusElasticXS::Default_Name() ) );
|
||||
} else if ( pname == "kaon+" ) {
|
||||
hel->AddDataSet( G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonPlusElasticXS::Default_Name() ) );
|
||||
} else {
|
||||
hel->AddDataSet( G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet( G4ChipsKaonZeroElasticXS::Default_Name() ) );
|
||||
}
|
||||
//AR-14Aug2017 : Replaced Chips elastic kaon cross sections with
|
||||
// Grichine's Glauber-Gribov ones. In this way, the
|
||||
// total (elastic + inelastic) kaon cross sections
|
||||
// are consistent with the PDG ones.
|
||||
// For the time being, kept Chips elastic as
|
||||
// final-state model.
|
||||
hel->AddDataSet( theComponentGGHadronNucleusData );
|
||||
hel->RegisterMe( chips1 );
|
||||
pmanager->AddDiscreteProcess( hel );
|
||||
if(fDiffraction) { hel->SetDiffraction(diffGen, diffRatio); }
|
||||
@@ -295,11 +299,7 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
) {
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet( theComponentGGNuclNuclData );
|
||||
// To preserve reproducibility, replace temporarily
|
||||
// G4NuclNuclDiffuseElastic with the Gheisha elastic model.
|
||||
//hel->RegisterMe( diffuseNuclNuclElastic );
|
||||
G4HadronElastic* lhepLightIon = new G4HadronElastic();
|
||||
hel->RegisterMe( lhepLightIon );
|
||||
hel->RegisterMe( diffuseNuclNuclElastic );
|
||||
pmanager->AddDiscreteProcess( hel );
|
||||
if ( verbose > 1 ) {
|
||||
G4cout << "### HadronElasticPhysics: " << hel->GetProcessName()
|
||||
@@ -333,16 +333,14 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
}
|
||||
|
||||
} else if ( pname == "GenericIon" ) {
|
||||
// To preserve reproducibility, disable temporarily
|
||||
// G4NuclNuclDiffuseElastic.
|
||||
//G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
//hel->AddDataSet( theComponentGGNuclNuclData );
|
||||
//hel->RegisterMe( diffuseNuclNuclElastic );
|
||||
//pmanager->AddDiscreteProcess( hel );
|
||||
//if ( verbose > 1 ) {
|
||||
// G4cout << "### HadronElasticPhysics: " << hel->GetProcessName()
|
||||
// << " added for " << particle->GetParticleName() << G4endl;
|
||||
//}
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet( theComponentGGNuclNuclData );
|
||||
hel->RegisterMe( diffuseNuclNuclElastic );
|
||||
pmanager->AddDiscreteProcess( hel );
|
||||
if ( verbose > 1 ) {
|
||||
G4cout << "### HadronElasticPhysics: " << hel->GetProcessName()
|
||||
<< " added for " << particle->GetParticleName() << G4endl;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user