Import Geant4 10.6.1 source tree
This commit is contained in:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user