Import Geant4 10.6.0 source tree
This commit is contained in:
@@ -13,6 +13,17 @@ introduced in the code and keeptrack of all tags.
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
22-Oct-2019, A. Ribon (phys-ctor-helastic-V10-05-03)
|
||||
- G4HadronElasticPhysics, G4HadronDElasticPhysics : use the Glauber-Gribov
|
||||
elastic cross section for anti-baryons also for anti-neutron;
|
||||
extended to sigma0, anti_sigma0 and xi0.
|
||||
- G4HadronHElasticPhysics : use the Glauber-Gribov elastic cross section
|
||||
for anti-hyperons (instead of Chips).
|
||||
- README : updated.
|
||||
|
||||
06-Aug-2019, V. Ivanchenko (phys-ctor-helastic-V10-05-02)
|
||||
- G4HadronElasticPhysics - use HE elastic model for the full energy range
|
||||
|
||||
08-May-2019, V. Ivanchenko (phys-ctor-helastic-V10-05-01)
|
||||
- G4HadronElasticPhysics : use Glauber-Gribov x-section for hyperons
|
||||
- G4HadronDElasticPhysics, G4HadronDElasticPhysics : use
|
||||
|
||||
@@ -1,31 +1,6 @@
|
||||
-------------------------------------------------------------------
|
||||
|
||||
|
||||
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:
|
||||
@@ -37,17 +12,15 @@
|
||||
- final-state: Chips
|
||||
- charged pions:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: Starkov's model above 1 GeV, Gheisha below.
|
||||
- kaons
|
||||
- final-state: Starkov's model (G4ElasticHadrNucleusHE) for all energies
|
||||
- kaons, hyperons, anti-hyperons
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: Gheisha
|
||||
- hyperons, anti-hyperons
|
||||
- cross section: Gheisha
|
||||
- final-state: Gheisha
|
||||
- deuteron, triton, He3, alpha
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: Gheisha
|
||||
- anti_proton, anti_deuteron, anti_triton, anti_He3, anti_alpha
|
||||
- anti_proton, anti_neutron, 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.
|
||||
@@ -82,9 +55,9 @@
|
||||
- kaons, hyperons, anti-hyperons
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: Chips
|
||||
- deuteron, triton, He3, alpha, and generic ions
|
||||
- deuteron, triton, He3, alpha
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: Diffuse
|
||||
- final-state: Gheisha
|
||||
- anti_proton, anti_neutron
|
||||
- cross section: Galoyan-Uzhinsky-Glauber-Gribov
|
||||
- final-state: Galoyan-Uzhinsky model above 100 MeV/nucleon,
|
||||
@@ -101,3 +74,30 @@
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: Diffuse model
|
||||
|
||||
|
||||
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: Glauber-Gribov
|
||||
- final-state: Diffuse model where applicable, else Gheisha
|
||||
- hyperons, anti-hyperons, deuteron, triton, He3, alpha
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: Gheisha
|
||||
- anti_proton, anti_neutron, 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.
|
||||
|
||||
G4ChargeExchangePhysics
|
||||
-----------------------
|
||||
Hadron nuclear coherent charge exchange, used in this constructor
|
||||
only for nucleons and charged pions.
|
||||
|
||||
|
||||
@@ -148,21 +148,20 @@ void G4HadronDElasticPhysics::ConstructProcess()
|
||||
G4ProcessManager* pmanager = particle->GetProcessManager();
|
||||
G4String pname = particle->GetParticleName();
|
||||
if(pname == "anti_lambda" ||
|
||||
pname == "anti_neutron" ||
|
||||
pname == "anti_omega-" ||
|
||||
pname == "anti_sigma-" ||
|
||||
pname == "anti_sigma0" ||
|
||||
pname == "anti_sigma+" ||
|
||||
pname == "anti_xi-" ||
|
||||
pname == "anti_xi0" ||
|
||||
pname == "lambda" ||
|
||||
pname == "omega-" ||
|
||||
pname == "sigma-" ||
|
||||
pname == "sigma+" ||
|
||||
pname == "xi-" ||
|
||||
pname == "alpha" ||
|
||||
pname == "deuteron" ||
|
||||
pname == "triton"
|
||||
) {
|
||||
pname == "anti_xi-" ||
|
||||
pname == "anti_xi0" ||
|
||||
pname == "lambda" ||
|
||||
pname == "omega-" ||
|
||||
pname == "sigma-" ||
|
||||
pname == "sigma0" ||
|
||||
pname == "sigma+" ||
|
||||
pname == "xi-" ||
|
||||
pname == "xi0"
|
||||
) {
|
||||
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->RegisterMe(lhep0);
|
||||
@@ -177,7 +176,6 @@ void G4HadronDElasticPhysics::ConstructProcess()
|
||||
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet(new G4BGGNucleonElasticXS(particle));
|
||||
//hel->AddDataSet(new G4CHIPSElasticXS());
|
||||
model = new G4DiffuseElastic();
|
||||
hel->RegisterMe(lhep1);
|
||||
hel->RegisterMe(model);
|
||||
@@ -218,7 +216,7 @@ void G4HadronDElasticPhysics::ConstructProcess()
|
||||
) {
|
||||
|
||||
hel = new G4HadronElasticProcess();
|
||||
model = new G4DiffuseElastic();
|
||||
model = new G4DiffuseElastic();
|
||||
hel->RegisterMe(lhep1);
|
||||
hel->RegisterMe(model);
|
||||
hel->AddDataSet( theComponentGGHadronNucleusData );
|
||||
@@ -242,6 +240,7 @@ void G4HadronDElasticPhysics::ConstructProcess()
|
||||
}
|
||||
|
||||
} else if(
|
||||
pname == "anti_neutron" ||
|
||||
pname == "anti_proton" ||
|
||||
pname == "anti_alpha" ||
|
||||
pname == "anti_deuteron" ||
|
||||
|
||||
@@ -103,14 +103,12 @@ void G4HadronElasticPhysics::ConstructParticle()
|
||||
|
||||
void G4HadronElasticPhysics::ConstructProcess()
|
||||
{
|
||||
const G4double elimitPi = 1.0*GeV;
|
||||
const G4double elimitAntiNuc = 100.*MeV;
|
||||
const G4double delta = 0.1*MeV;
|
||||
if(verbose > 1) {
|
||||
G4cout << "### HadronElasticPhysics::ConstructProcess: Elimit for pi "
|
||||
<< elimitPi/GeV << " GeV" << G4endl;
|
||||
G4cout << " for anti-neuclei "
|
||||
<< elimitAntiNuc/GeV << " GeV" << G4endl;
|
||||
G4cout << "### HadronElasticPhysics::ConstructProcess: "
|
||||
<< "Elimit for for anti-neuclei " << elimitAntiNuc/GeV << " GeV"
|
||||
<< G4endl;
|
||||
}
|
||||
|
||||
G4AntiNuclElastic* anuc = new G4AntiNuclElastic();
|
||||
@@ -119,13 +117,10 @@ void G4HadronElasticPhysics::ConstructProcess()
|
||||
new G4CrossSectionElastic(anuc->GetComponentCrossSection());
|
||||
|
||||
G4HadronElastic* lhep0 = new G4HadronElastic();
|
||||
G4HadronElastic* lhep1 = new G4HadronElastic();
|
||||
G4HadronElastic* lhep2 = new G4HadronElastic();
|
||||
lhep1->SetMaxEnergy(elimitPi+delta);
|
||||
lhep2->SetMaxEnergy(elimitAntiNuc+delta);
|
||||
|
||||
G4ElasticHadrNucleusHE* he = new G4ElasticHadrNucleusHE();
|
||||
he->SetMinEnergy(elimitPi);
|
||||
|
||||
G4VCrossSectionDataSet* theComponentGGHadronNucleusData =
|
||||
new G4CrossSectionElastic( new G4ComponentGGHadronNucleusXsc );
|
||||
@@ -143,17 +138,19 @@ void G4HadronElasticPhysics::ConstructProcess()
|
||||
G4ProcessManager* pmanager = particle->GetProcessManager();
|
||||
G4String pname = particle->GetParticleName();
|
||||
if(pname == "anti_lambda" ||
|
||||
pname == "anti_neutron" ||
|
||||
pname == "anti_omega-" ||
|
||||
pname == "anti_sigma-" ||
|
||||
pname == "anti_sigma0" ||
|
||||
pname == "anti_sigma+" ||
|
||||
pname == "anti_xi-" ||
|
||||
pname == "anti_xi0" ||
|
||||
pname == "lambda" ||
|
||||
pname == "omega-" ||
|
||||
pname == "sigma-" ||
|
||||
pname == "sigma+" ||
|
||||
pname == "xi-"
|
||||
pname == "anti_xi-" ||
|
||||
pname == "anti_xi0" ||
|
||||
pname == "lambda" ||
|
||||
pname == "omega-" ||
|
||||
pname == "sigma-" ||
|
||||
pname == "sigma0" ||
|
||||
pname == "sigma+" ||
|
||||
pname == "xi-" ||
|
||||
pname == "xi0"
|
||||
) {
|
||||
|
||||
hel = new G4HadronElasticProcess();
|
||||
@@ -205,7 +202,6 @@ void G4HadronElasticPhysics::ConstructProcess()
|
||||
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet(new G4BGGPionElasticXS(particle));
|
||||
hel->RegisterMe(lhep1);
|
||||
hel->RegisterMe(he);
|
||||
pmanager->AddDiscreteProcess(hel);
|
||||
if(verbose > 1) {
|
||||
@@ -236,6 +232,7 @@ void G4HadronElasticPhysics::ConstructProcess()
|
||||
|
||||
} else if(
|
||||
pname == "anti_proton" ||
|
||||
pname == "anti_neutron" ||
|
||||
pname == "anti_alpha" ||
|
||||
pname == "anti_deuteron" ||
|
||||
pname == "anti_triton" ||
|
||||
|
||||
@@ -37,11 +37,6 @@
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
// CHIPS for sampling scattering for p and n
|
||||
// Glauber model for samplimg of high energy pi+- (E > 1GeV)
|
||||
// LHEP sampling model for the other particle
|
||||
// BBG cross sections for p, n and pi+-
|
||||
// LHEP cross sections for other particles
|
||||
|
||||
#include "G4HadronHElasticPhysics.hh"
|
||||
|
||||
@@ -178,25 +173,15 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
pname == "anti_sigma+" ||
|
||||
pname == "anti_xi-" ||
|
||||
pname == "anti_xi0" ||
|
||||
pname == "anti_omega-"
|
||||
) {
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet( G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet( G4ChipsAntiBaryonElasticXS::Default_Name() ) );
|
||||
hel->RegisterMe( chips1 );
|
||||
pmanager->AddDiscreteProcess( hel );
|
||||
if ( verbose > 1 ) {
|
||||
G4cout << "### HadronElasticPhysics: " << hel->GetProcessName()
|
||||
<< " added for " << particle->GetParticleName() << G4endl;
|
||||
}
|
||||
|
||||
} else if ( pname == "lambda" ||
|
||||
pname == "sigma-" ||
|
||||
pname == "sigma0" ||
|
||||
pname == "sigma+" ||
|
||||
pname == "xi-" ||
|
||||
pname == "xi0" ||
|
||||
pname == "omega-"
|
||||
) {
|
||||
pname == "anti_omega-" ||
|
||||
pname == "lambda" ||
|
||||
pname == "sigma-" ||
|
||||
pname == "sigma0" ||
|
||||
pname == "sigma+" ||
|
||||
pname == "xi-" ||
|
||||
pname == "xi0" ||
|
||||
pname == "omega-"
|
||||
) {
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet( theComponentGGHadronNucleusData );
|
||||
hel->RegisterMe( chips1 );
|
||||
|
||||
Reference in New Issue
Block a user