Import Geant4 10.3.0 source tree
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
$Id: History 97177 2016-05-27 12:44:22Z gcosmo $
|
||||
$Id: History 101901 2016-12-07 08:38:58Z gcosmo $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -14,6 +14,40 @@ introduced in the code and keeptrack of all tags.
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
07-Dec-2016, Alberto Ribon (phys-ctor-hinelastic-V10-02-10)
|
||||
- G4HadronPhysicsFTFP_BERT_HP : changed the transition energy region
|
||||
between FTFP and BERT in the physics list FTFP_BERT_HP to [3, 12] GeV,
|
||||
exactly as it is now in FTFP_BERT.
|
||||
|
||||
01-Dec-2016, Alberto Ribon (phys-ctor-hinelastic-V10-02-09)
|
||||
- G4HadronPhysicsFTFP_BERT : changed the transition energy region
|
||||
between FTFP and BERT in the physics list FTFP_BERT to [3, 12] GeV
|
||||
(for pions, kaons, protons and neutrons; for hyperons, left as it
|
||||
has always been, i.e. [2, 6] GeV).
|
||||
|
||||
24-Nov-2016, Alberto Ribon (phys-ctor-hinelastic-V10-02-08)
|
||||
- G4HadronPhysicsFTFP_BERT : changed the transition energy region
|
||||
between FTFP and BERT in the physics list FTFP_BERT : now it is
|
||||
between [2, 6] GeV.
|
||||
|
||||
18-Nov-2016, Alberto Ribon (phys-ctor-hinelastic-V10-02-07)
|
||||
- G4HadronPhysicsFTFP_BERT : changed the transition energy region
|
||||
between FTFP and BERT in the physics list FTFP_BERT : now it is
|
||||
between the large interval [3, 12] GeV (instead of [4, 5] GeV).
|
||||
|
||||
04-Nov-2016, Alberto Ribon (phys-ctor-hinelastic-V10-02-06)
|
||||
- Written first draft of the README
|
||||
|
||||
17-October-2016 M.Maire (phys-ctor-hinelastic-V10-02-05)
|
||||
- add README
|
||||
|
||||
12-October-2016 G.Folger (phys-ctor-hinelastic-V10-02-04)
|
||||
- replace direct use of aParticleIterator by GetParticleIterator().
|
||||
fix required by clang39 on Windows and MAC
|
||||
|
||||
30-Aug-2016, V.Ivanchenko (phys-ctor-hinelastic-V10-02-03)
|
||||
- G4HadronPhysicsQBBC : use G4 de-excitation for the Bertini cascade
|
||||
|
||||
26-May-2016, A. Ribon (phys-ctor-hinelastic-V10-02-02)
|
||||
- G4HadronPhysicsQGSP_BIC_AllHP : treat only proton with ParticleHP in
|
||||
this class, and move the others (deuteron, triton, 3He, alpha) to
|
||||
|
||||
@@ -0,0 +1,338 @@
|
||||
$Id: $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
|
||||
G4HadronInelasticQBBC
|
||||
---------------------
|
||||
Hadron nuclear inelastic processes for all hadrons:
|
||||
- proton inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: Fritiof coupled with Precompound/de-excitation (FTFP) above 3 GeV;
|
||||
Bertini (BERT) between 1 and 5 GeV;
|
||||
Binary coupled with Precompound/de-excitation (BIC) below 1.5 GeV
|
||||
- neutron inelastic:
|
||||
- cross section: G4NeutronInelasticXS
|
||||
- final-state: FTFP > 3 GeV; 1 GeV < BERT < 5 GeV; BIC < 1.5 GeV
|
||||
neutron capture:
|
||||
- cross section: G4NeutronCaptureXS
|
||||
- final-state: G4NeutronRadCapture
|
||||
- charged pions inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: FTFP > 3 GeV; BERT < 5 GeV
|
||||
- kaons inelastic:
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: FTFP > 3 GeV; BERT < 5 GeV
|
||||
- hyperons inelastic:
|
||||
- cross section: Chips
|
||||
- final-state: FTFP > 3 GeV; BERT < 5 GeV
|
||||
- anti_proton, anti_neutron, anti_deuteron, anti_triton, anti_He3, anti_alpha,
|
||||
anti_hyperons inelastic:
|
||||
- cross-section: Galoyan-Uzhinsky-Glauber-Gribov
|
||||
- final-state: FTFP for all energies
|
||||
|
||||
|
||||
G4HadronPhysicsFTFP_BERT
|
||||
------------------------
|
||||
Hadron nuclear inelastic processes for all hadrons:
|
||||
- proton inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: FTFP > 3 GeV; BERT < 12 GeV
|
||||
- neutron inelastic:
|
||||
- cross section: G4NeutronInelasticXS
|
||||
- final-state: FTFP > 3 GeV; BERT < 12 GeV
|
||||
neutron capture:
|
||||
- cross section: G4NeutronCaptureXS
|
||||
- final-state: G4NeutronRadCapture
|
||||
- charged pions inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: FTFP > 3 GeV; BERT < 12 GeV
|
||||
- kaons inelastic:
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: FTFP > 3 GeV; BERT < 12 GeV
|
||||
- hyperons inelastic:
|
||||
- cross section: Chips
|
||||
- final-state: FTFP > 2 GeV; BERT < 6 GeV
|
||||
- anti_proton, anti_neutron, anti_deuteron, anti_triton, anti_He3, anti_alpha inelastic:
|
||||
- cross-section: Galoyan-Uzhinsky-Glauber-Gribov
|
||||
- final-state: FTFP for all energies
|
||||
- anti_hyperons inelastic:
|
||||
- cross section: Chips
|
||||
- final-state: FTFP for all energies
|
||||
|
||||
|
||||
G4HadronPhysicsFTFP_BERT_ATL
|
||||
----------------------------
|
||||
Similar to G4HadronPhysicsFTFP_BERT, with the difference that for proton,
|
||||
neutron, pions and kaons, the FTFP is used above 9 GeV and BERT below 12 GeV
|
||||
(i.e. transition between these two models is in the interval [9, 12] GeV).
|
||||
|
||||
|
||||
G4HadronPhysicsFTFP_BERT_HP
|
||||
--------------------------
|
||||
Similar to G4HadronPhysicsFTFP_BERT, with the only difference of the
|
||||
treatment of low-energy neutrons:
|
||||
- neutron inelastic: use NeutronHP (for both cross section and final state)
|
||||
below 20 MeV; above G4NeutronCaptureXS cross section;
|
||||
final-state: BERT between 19.9 MeV and 12 GeV,
|
||||
FTFP above 3 GeV.
|
||||
- neutron capture: use NeutronHP (for both cross section and final state)
|
||||
below 20 MeV; above G4NeutronCaptureXS cross section
|
||||
and G4NeutronRadCapture final-state.
|
||||
- neutron fission: use NeutronHP (for both cross section and final state)
|
||||
below 20 MeV; above Gheisha (cross section and final state).
|
||||
|
||||
|
||||
G4HadronPhysicsFTFP_BERT_TRV
|
||||
----------------------------
|
||||
Similar to G4HadronPhysicsFTFP_BERT, with the only difference that the
|
||||
transition between FTFP and BERT is in the interval [2 , 4] GeV.
|
||||
|
||||
|
||||
G4HadronPhysicsFTF_BIC
|
||||
----------------------
|
||||
Similar to G4HadronPhysicsFTFP_BERT, with the following differences for
|
||||
proton, neutron, pions and kaons:
|
||||
- BIC is used (instead of BERT) below 5 GeV;
|
||||
- FTF is still used above 4 GeV, but it is coupled with BIC (instead of
|
||||
Precompound/de-excitation)
|
||||
|
||||
|
||||
G4HadronPhysicsINCLXX
|
||||
---------------------
|
||||
Hadron nuclear inelastic processes for all hadrons:
|
||||
- proton inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: QGSP > 15 GeV; 1 MeV < INCLXX < 20 GeV; Preco < 2 MeV
|
||||
- neutron inelastic:
|
||||
- cross section: G4NeutronInelasticXS
|
||||
- final-state: QGSP > 15 GeV; 1 MeV < INCLXX < 20 GeV; Preco < 2 MeV
|
||||
neutron capture:
|
||||
- cross section: G4NeutronCaptureXS
|
||||
- final-state: G4NeutronRadCapture
|
||||
- charged pions inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: QGSP > 15 GeV; 1 MeV < INCLXX < 20 GeV; Preco < 2 MeV
|
||||
- kaons inelastic:
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: QGSP > 14 GeV; BERT < 15 GeV
|
||||
- hyperons inelastic:
|
||||
- cross section: Chips
|
||||
- final-state: FTFP > 2 GeV; BERT < 6 GeV
|
||||
- anti_proton, anti_neutron, anti_deuteron, anti_triton, anti_He3, anti_alpha inelastic:
|
||||
- cross-section: Galoyan-Uzhinsky-Glauber-Gribov
|
||||
- final-state: FTF for all energies
|
||||
- anti_hyperons inelastic:
|
||||
- cross section: Chips
|
||||
- final-state: FTF for all energies
|
||||
Note: it is possible to specify in the constructor the use of FTFP instead
|
||||
of QGSP for proton, neutron, charged pions and kaons;
|
||||
moreover, NeutronHP can also be activated in the constructor, in which
|
||||
case inelastic, capture and fission below 20 MeV are taken from
|
||||
NeutronHP (both cross section and final-state).
|
||||
|
||||
|
||||
G4HadronPhysicsNuBeam
|
||||
---------------------
|
||||
Hadron nuclear inelastic processes for all hadrons:
|
||||
- proton inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: QGSP with Lund string fragmentation > 100 GeV;
|
||||
3 GeV < FTFP < 101 GeV; BERT < 3.5 GeV
|
||||
- neutron inelastic:
|
||||
- cross section: G4NeutronInelasticXS
|
||||
- final-state: FTFP > 4 GeV; BERT < 5 GeV
|
||||
neutron capture:
|
||||
- cross section: G4NeutronCaptureXS
|
||||
- final-state: G4NeutronRadCapture
|
||||
- charged pions inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: FTFP > 3 GeV; BERT < 3.5 GeV
|
||||
- kaons inelastic:
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: FTFP > 3 GeV; BERT < 3.5 GeV
|
||||
- hyperons inelastic:
|
||||
- cross section: Chips
|
||||
- final-state: FTFP > 2 GeV; BERT < 6 GeV
|
||||
- anti_proton, anti_neutron, anti_deuteron, anti_triton, anti_He3, anti_alpha inelastic:
|
||||
- cross-section: Galoyan-Uzhinsky-Glauber-Gribov
|
||||
- final-state: FTFP for all energies
|
||||
- anti_hyperons inelastic:
|
||||
- cross section: Chips
|
||||
- final-state: FTFP for all energies
|
||||
|
||||
|
||||
G4HadronPhysicsQGSP_BERT
|
||||
------------------------
|
||||
Hadron nuclear inelastic processes for all hadrons:
|
||||
- proton inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: QGSP > 12 GeV; 9.5 GeV < FTFP < 25 GeV; BERT < 9.9 GeV
|
||||
- neutron inelastic:
|
||||
- cross section: G4NeutronInelasticXS
|
||||
- final-state: QGSP > 12 GeV; 9.5 GeV < FTFP < 25 GeV; BERT < 9.9 GeV
|
||||
neutron capture:
|
||||
- cross section: G4NeutronCaptureXS
|
||||
- final-state: G4NeutronRadCapture
|
||||
- charged pions inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: QGSP > 12 GeV; 9.5 GeV < FTFP < 25 GeV; BERT < 9.9 GeV
|
||||
- kaons inelastic:
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: QGSP > 12 GeV; 9.5 GeV < FTFP < 25 GeV; BERT < 9.9 GeV
|
||||
- hyperons inelastic:
|
||||
- cross section: Chips
|
||||
- final-state: FTFP > 2 GeV; BERT < 6 GeV
|
||||
- anti_proton, anti_neutron, anti_deuteron, anti_triton, anti_He3, anti_alpha inelastic:
|
||||
- cross-section: Galoyan-Uzhinsky-Glauber-Gribov
|
||||
- final-state: FTFP for all energies
|
||||
- anti_hyperons inelastic:
|
||||
- cross section: Chips
|
||||
- final-state: FTFP for all energies
|
||||
|
||||
|
||||
G4HadronPhysicsQGSP_BERT_HP
|
||||
---------------------------
|
||||
Similar to G4HadronPhysicsQGSP_BERT, with the only difference for neutron:
|
||||
- neutron inelastic: use NeutronHP (for both cross section and final state)
|
||||
below 20 MeV; above G4NeutronCaptureXS cross section;
|
||||
final-state: BERT between 19.9 MeV and 9.9 GeV,
|
||||
FTFP between 9.5 and 25 GeV, QGSP above 12 GeV.
|
||||
- neutron capture: use NeutronHP (for both cross section and final state)
|
||||
below 20 MeV; above G4NeutronCaptureXS cross section
|
||||
and G4NeutronRadCapture final-state.
|
||||
- neutron fission: use NeutronHP (for both cross section and final state)
|
||||
below 20 MeV; above Gheisha (cross section and final state).
|
||||
|
||||
|
||||
G4HadronPhysicsQGSP_BIC
|
||||
-----------------------
|
||||
Hadron nuclear inelastic processes for all hadrons:
|
||||
- proton inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: QGSP > 12 GeV; 9.5 GeV < FTFP < 25 GeV; BIC < 9.9 GeV
|
||||
- neutron inelastic:
|
||||
- cross section: G4NeutronInelasticXS
|
||||
- final-state: QGSP > 12 GeV; 9.5 GeV < FTFP < 25 GeV; BIC < 9.9 GeV
|
||||
neutron capture:
|
||||
- cross section: G4NeutronCaptureXS
|
||||
- final-state: G4NeutronRadCapture
|
||||
- charged pions inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: QGSP > 12 GeV; 4 GeV < FTFP < 25 GeV; BERT < 5 GeV
|
||||
- kaons inelastic:
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: QGSP > 12 GeV; 4 GeV < FTFP < 25 GeV; BERT < 5 GeV
|
||||
- hyperons inelastic:
|
||||
- cross section: Chips
|
||||
- final-state: FTFP > 2 GeV; BERT < 6 GeV
|
||||
- anti_proton, anti_neutron, anti_deuteron, anti_triton, anti_He3, anti_alpha inelastic:
|
||||
- cross-section: Galoyan-Uzhinsky-Glauber-Gribov
|
||||
- final-state: FTFP for all energies
|
||||
- anti_hyperons inelastic:
|
||||
- cross section: Chips
|
||||
- final-state: FTFP for all energies
|
||||
|
||||
|
||||
G4HadronPhysicsQGSP_BIC_AllHP
|
||||
-----------------------------
|
||||
Similar to G4HadronPhysicsQGSP_BIC_HP (see below) with the only difference
|
||||
for proton: ParticleHP is used (for both cross section and final state)
|
||||
below 200 MeV; above it: Barashenkov-Glauber-Gribov inelastic cross section;
|
||||
final-state: QGSP > 12 GeV; 9.5 GeV < FTFP < 25 GeV; 200 MeV < BIC < 9.9 GeV.
|
||||
|
||||
|
||||
G4HadronPhysicsQGSP_BIC_HP
|
||||
--------------------------
|
||||
Similar to G4HadronPhysicsQGSP_BIC, with the only difference for neutron:
|
||||
- neutron inelastic: use NeutronHP (for both cross section and final state)
|
||||
below 20 MeV; above G4NeutronCaptureXS cross section;
|
||||
final-state: BIC between 19.9 MeV and 9.9 GeV,
|
||||
FTFP between 9.5 and 25 GeV, QGSP above 12 GeV.
|
||||
- neutron capture: use NeutronHP (for both cross section and final state)
|
||||
below 20 MeV; above G4NeutronCaptureXS cross section
|
||||
and G4NeutronRadCapture final-state.
|
||||
- neutron fission: use NeutronHP (for both cross section and final state)
|
||||
below 20 MeV; above Gheisha (cross section and final state).
|
||||
|
||||
|
||||
G4HadronPhysicsQGSP_FTFP_BERT
|
||||
-----------------------------
|
||||
Hadron nuclear inelastic processes for all hadrons:
|
||||
- proton inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: QGSP > 12 GeV; 6 GeV < FTFP < 25 GeV; BERT < 8 GeV
|
||||
- neutron inelastic:
|
||||
- cross section: G4NeutronInelasticXS
|
||||
- final-state: QGSP > 12 GeV; 6 GeV < FTFP < 25 GeV; BERT < 8 GeV
|
||||
neutron capture:
|
||||
- cross section: G4NeutronCaptureXS
|
||||
- final-state: G4NeutronRadCapture
|
||||
- charged pions inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: QGSP > 12 GeV; 6 GeV < FTFP < 25 GeV; BERT < 8 GeV
|
||||
- kaons inelastic:
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: QGSP > 12 GeV; 6 GeV < FTFP < 25 GeV; BERT < 8 GeV
|
||||
- hyperons inelastic:
|
||||
- cross section: Chips
|
||||
- final-state: FTFP > 2 GeV; BERT < 6 GeV
|
||||
- anti_proton, anti_neutron, anti_deuteron, anti_triton, anti_He3, anti_alpha inelastic:
|
||||
- cross-section: Galoyan-Uzhinsky-Glauber-Gribov
|
||||
- final-state: FTFP for all energies
|
||||
- anti_hyperons inelastic:
|
||||
- cross section: Chips
|
||||
- final-state: FTFP for all energies
|
||||
|
||||
|
||||
G4HadronPhysicsQGS_BIC
|
||||
----------------------
|
||||
Similar to G4HadronPhysicsQGSP_BIC, with the following differences
|
||||
in the final-state for some projectile hadrons:
|
||||
- proton inelastic:
|
||||
QGS_BIC > 12 GeV; 9.5 GeV < FTF_BIC < 25 GeV; BIC < 9.9 GeV
|
||||
- neutron inelastic:
|
||||
QGS_BIC > 12 GeV; 9.5 GeV < FTF_BIC < 25 GeV; BIC < 9.9 GeV
|
||||
- pions inelastic:
|
||||
QGS_BIC > 12 GeV; 4 GeV < FTF_BIC < 25 GeV; 1.2 GeV < BERT < 5 GeV; BIC < 1.3 GeV
|
||||
- kaons inelastic:
|
||||
QGS_BIC > 12 GeV; 4 GeV < FTF_BIC < 25 GeV; BERT < 5 GeV
|
||||
Note: QGS_BIC and FTF_BIC indicate that QGS and FTF, respectively,
|
||||
are coupled with BIC (instead of Precompound/de-excitation).
|
||||
|
||||
|
||||
G4HadronPhysicsShielding
|
||||
------------------------
|
||||
Hadron nuclear inelastic processes for all hadrons:
|
||||
- proton inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: FTFP > 9.5 GeV; BERT < 9.9 GeV
|
||||
- neutron inelastic:
|
||||
- cross section: G4NeutronInelasticXS > 20 MeV; NeutronHP or LEND < 20 MeV
|
||||
- final-state: FTFP > 9.5 GeV; 19.9 MeV < BERT < 9.9 GeV; NeutronHP or LEND < 20 MeV
|
||||
neutron capture:
|
||||
- cross section: G4NeutronCaptureXS > 20 MeV; NeutronHP or LEND < 20 MeV
|
||||
- final-state: G4NeutronRadCapture > 19.9 MeV; NeutronHP or LEND < 20 MeV
|
||||
neutron fission:
|
||||
- cross section: Gheisha > 20 MeV; NeutronHP or LEND < 20 MeV
|
||||
- final-state: Gheisha > 19.9 MeV; NeutronHP or LEND < 20 MeV
|
||||
- charged pions inelastic:
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: FTFP > 9.5 GeV; BERT < 9.9 GeV
|
||||
- kaons inelastic:
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: FTFP > 9.5 GeV; BERT < 9.9 GeV
|
||||
- hyperons inelastic:
|
||||
- cross section: Chips
|
||||
- final-state: FTFP > 2 GeV; BERT < 6 GeV
|
||||
- anti_proton, anti_neutron, anti_deuteron, anti_triton, anti_He3, anti_alpha inelastic:
|
||||
- cross-section: Galoyan-Uzhinsky-Glauber-Gribov
|
||||
- final-state: FTFP for all energies
|
||||
- anti_hyperons inelastic:
|
||||
- cross section: Chips
|
||||
- final-state: FTFP for all energies
|
||||
|
||||
|
||||
G4VHadronPhysics
|
||||
----------------
|
||||
Utility class which provides useful methods.
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronInelasticQBBC.hh 93617 2015-10-27 09:00:41Z gcosmo $
|
||||
// $Id: G4HadronInelasticQBBC.hh 99005 2016-08-30 11:26:40Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -73,9 +73,7 @@ private:
|
||||
static G4ThreadLocal G4ComponentAntiNuclNuclearXS* theAntiNuclXS;
|
||||
static G4ThreadLocal G4ComponentGGHadronNucleusXsc* theKaonXS;
|
||||
|
||||
G4String htype;
|
||||
G4int verbose;
|
||||
static G4ThreadLocal G4bool wasActivated;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+15
-7
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronPhysicsFTFP_BERT.hh 93617 2015-10-27 09:00:41Z gcosmo $
|
||||
// $Id: G4HadronPhysicsFTFP_BERT.hh 101741 2016-11-24 10:45:35Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -46,9 +46,13 @@
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
|
||||
#include "G4PiKBuilder.hh"
|
||||
#include "G4BertiniPiKBuilder.hh"
|
||||
#include "G4FTFPPiKBuilder.hh"
|
||||
#include "G4PionBuilder.hh"
|
||||
#include "G4BertiniPionBuilder.hh"
|
||||
#include "G4FTFPPionBuilder.hh"
|
||||
|
||||
#include "G4KaonBuilder.hh"
|
||||
#include "G4BertiniKaonBuilder.hh"
|
||||
#include "G4FTFPKaonBuilder.hh"
|
||||
|
||||
#include "G4ProtonBuilder.hh"
|
||||
#include "G4BertiniProtonBuilder.hh"
|
||||
@@ -87,9 +91,13 @@ class G4HadronPhysicsFTFP_BERT : public G4VPhysicsConstructor
|
||||
G4BertiniNeutronBuilder * theBertiniNeutron;
|
||||
G4FTFPNeutronBuilder * theFTFPNeutron;
|
||||
|
||||
G4PiKBuilder * thePiK;
|
||||
G4BertiniPiKBuilder * theBertiniPiK;
|
||||
G4FTFPPiKBuilder * theFTFPPiK;
|
||||
G4PionBuilder * thePion;
|
||||
G4BertiniPionBuilder * theBertiniPion;
|
||||
G4FTFPPionBuilder * theFTFPPion;
|
||||
|
||||
G4KaonBuilder * theKaon;
|
||||
G4BertiniKaonBuilder * theBertiniKaon;
|
||||
G4FTFPKaonBuilder * theFTFPKaon;
|
||||
|
||||
G4ProtonBuilder * thePro;
|
||||
G4BertiniProtonBuilder * theBertiniPro;
|
||||
|
||||
+14
-6
@@ -44,9 +44,13 @@
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
|
||||
#include "G4PiKBuilder.hh"
|
||||
#include "G4BertiniPiKBuilder.hh"
|
||||
#include "G4FTFPPiKBuilder.hh"
|
||||
#include "G4PionBuilder.hh"
|
||||
#include "G4BertiniPionBuilder.hh"
|
||||
#include "G4FTFPPionBuilder.hh"
|
||||
|
||||
#include "G4KaonBuilder.hh"
|
||||
#include "G4BertiniKaonBuilder.hh"
|
||||
#include "G4FTFPKaonBuilder.hh"
|
||||
|
||||
#include "G4ProtonBuilder.hh"
|
||||
#include "G4BertiniProtonBuilder.hh"
|
||||
@@ -86,9 +90,13 @@ class G4HadronPhysicsFTFP_BERT_HP : public G4VPhysicsConstructor
|
||||
G4FTFPNeutronBuilder * theFTFPNeutron;
|
||||
G4NeutronPHPBuilder * theHPNeutron;
|
||||
|
||||
G4PiKBuilder * thePiK;
|
||||
G4BertiniPiKBuilder * theBertiniPiK;
|
||||
G4FTFPPiKBuilder * theFTFPPiK;
|
||||
G4PionBuilder * thePion;
|
||||
G4BertiniPionBuilder * theBertiniPion;
|
||||
G4FTFPPionBuilder * theFTFPPion;
|
||||
|
||||
G4KaonBuilder * theKaon;
|
||||
G4BertiniKaonBuilder * theBertiniKaon;
|
||||
G4FTFPKaonBuilder * theFTFPKaon;
|
||||
|
||||
G4ProtonBuilder * thePro;
|
||||
G4BertiniProtonBuilder * theBertiniPro;
|
||||
|
||||
+3
-2
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronPhysicsShielding.hh 93878 2015-11-03 08:18:00Z gcosmo $
|
||||
// $Id: G4HadronPhysicsShielding.hh 101813 2016-11-30 18:05:43Z gunter $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -42,6 +42,7 @@
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
#include <CLHEP/Units/SystemOfUnits.h>
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
|
||||
@@ -73,7 +74,7 @@ class G4HadronPhysicsShielding : public G4VPhysicsConstructor
|
||||
explicit G4HadronPhysicsShielding(G4int verbose=1);
|
||||
explicit G4HadronPhysicsShielding(const G4String& name, G4bool );
|
||||
explicit G4HadronPhysicsShielding(const G4String& name, G4int verbose=1,
|
||||
G4double minFTFPEnergy=9.5*GeV, G4double maxBertiniEnergy=9.9*GeV);
|
||||
G4double minFTFPEnergy=9.5*CLHEP::GeV, G4double maxBertiniEnergy=9.9*CLHEP::GeV);
|
||||
virtual ~G4HadronPhysicsShielding();
|
||||
|
||||
public:
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronInelasticQBBC.cc 93617 2015-10-27 09:00:41Z gcosmo $
|
||||
// $Id: G4HadronInelasticQBBC.cc 99977 2016-10-13 07:26:42Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -79,41 +79,30 @@
|
||||
//
|
||||
G4_DECLARE_PHYSCONSTR_FACTORY(G4HadronInelasticQBBC);
|
||||
|
||||
G4ThreadLocal G4ComponentAntiNuclNuclearXS* G4HadronInelasticQBBC::theAntiNuclXS = 0;
|
||||
G4ThreadLocal G4ComponentGGHadronNucleusXsc* G4HadronInelasticQBBC::theKaonXS = 0;
|
||||
G4ThreadLocal G4bool G4HadronInelasticQBBC::wasActivated=false;
|
||||
G4ThreadLocal G4ComponentAntiNuclNuclearXS* G4HadronInelasticQBBC::theAntiNuclXS = nullptr;
|
||||
G4ThreadLocal G4ComponentGGHadronNucleusXsc* G4HadronInelasticQBBC::theKaonXS = nullptr;
|
||||
|
||||
G4HadronInelasticQBBC::G4HadronInelasticQBBC(G4int ver)
|
||||
: G4VHadronPhysics("hInelastic"),verbose(ver)
|
||||
: G4VHadronPhysics("hInelasticQBBC"),verbose(ver)
|
||||
{
|
||||
htype = "QBBC";
|
||||
theAntiNuclXS = 0;
|
||||
theKaonXS = 0;
|
||||
theAntiNuclXS = nullptr;
|
||||
theKaonXS = nullptr;
|
||||
}
|
||||
|
||||
G4HadronInelasticQBBC::G4HadronInelasticQBBC(const G4String& name, G4int ver,
|
||||
G4bool, G4bool,G4bool, G4bool, G4bool)
|
||||
: G4VHadronPhysics("hInelastic"),verbose(ver)
|
||||
{
|
||||
htype = name;
|
||||
theAntiNuclXS = 0;
|
||||
theKaonXS = 0;
|
||||
}
|
||||
G4HadronInelasticQBBC::G4HadronInelasticQBBC(const G4String&, G4int ver,
|
||||
G4bool, G4bool,G4bool, G4bool, G4bool) : G4HadronInelasticQBBC(ver)
|
||||
{}
|
||||
|
||||
G4HadronInelasticQBBC::~G4HadronInelasticQBBC()
|
||||
{
|
||||
delete theAntiNuclXS; theAntiNuclXS=0;
|
||||
delete theKaonXS; theKaonXS=0;
|
||||
delete theAntiNuclXS; theAntiNuclXS=nullptr;
|
||||
delete theKaonXS; theKaonXS=nullptr;
|
||||
}
|
||||
|
||||
void G4HadronInelasticQBBC::ConstructProcess()
|
||||
{
|
||||
if(wasActivated) return;
|
||||
wasActivated = true;
|
||||
|
||||
if(verbose > 1) {
|
||||
G4cout << "### HadronInelasticQBBC Construct Process with type <"
|
||||
<< htype << ">" << G4endl;
|
||||
G4cout << "### HadronInelasticQBBC Construct Process " << G4endl;
|
||||
}
|
||||
|
||||
G4double emax = 100.*TeV;
|
||||
@@ -121,7 +110,7 @@ void G4HadronInelasticQBBC::ConstructProcess()
|
||||
//G4cout << "G4HadronInelasticQBBC::ConstructProcess new PRECO"<< G4endl;
|
||||
|
||||
// PreCompound and Evaporation models are instantiated here
|
||||
G4PreCompoundModel* thePreCompound = 0;
|
||||
G4PreCompoundModel* thePreCompound = nullptr;
|
||||
G4HadronicInteraction* p =
|
||||
G4HadronicInteractionRegistry::Instance()->FindModel("PRECO");
|
||||
thePreCompound = static_cast<G4PreCompoundModel*>(p);
|
||||
@@ -137,10 +126,13 @@ void G4HadronInelasticQBBC::ConstructProcess()
|
||||
G4HadronicInteraction* theFTFP2 =
|
||||
BuildModel(new G4FTFBuilder("FTFP",thePreCompound),0.0,emax);
|
||||
|
||||
G4HadronicInteraction* theBERT =
|
||||
NewModel(new G4CascadeInterface(),1.0*GeV,4.0*GeV);
|
||||
G4HadronicInteraction* theBERT1 =
|
||||
NewModel(new G4CascadeInterface(),0.0*GeV,4.0*GeV);
|
||||
G4CascadeInterface* casc = new G4CascadeInterface();
|
||||
casc->usePreCompoundDeexcitation();
|
||||
G4HadronicInteraction* theBERT = NewModel(casc,1.0*GeV,5.0*GeV);
|
||||
|
||||
casc = new G4CascadeInterface();
|
||||
casc->usePreCompoundDeexcitation();
|
||||
G4HadronicInteraction* theBERT1 = NewModel(casc,0.0*GeV,5.0*GeV);
|
||||
|
||||
//G4cout << "G4HadronInelasticQBBC::ConstructProcess new Binary"<< G4endl;
|
||||
G4BinaryCascade* bic = new G4BinaryCascade(thePreCompound);
|
||||
@@ -154,11 +146,11 @@ void G4HadronInelasticQBBC::ConstructProcess()
|
||||
G4CrossSectionInelastic* kaonxs = new G4CrossSectionInelastic(theKaonXS);
|
||||
|
||||
// loop over particles
|
||||
aParticleIterator->reset();
|
||||
while( (*aParticleIterator)() ) {
|
||||
G4ParticleDefinition* particle = aParticleIterator->value();
|
||||
auto myParticleIterator=GetParticleIterator();
|
||||
myParticleIterator->reset();
|
||||
while( (*myParticleIterator)() ) {
|
||||
G4ParticleDefinition* particle = myParticleIterator->value();
|
||||
G4String pname = particle->GetParticleName();
|
||||
//G4ProcessManager* pmanager = particle->GetProcessManager();
|
||||
if(verbose > 1) {
|
||||
G4cout << "### HadronInelasticQBBC: " << pname << G4endl;
|
||||
}
|
||||
|
||||
+56
-19
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronPhysicsFTFP_BERT.cc 93617 2015-10-27 09:00:41Z gcosmo $
|
||||
// $Id: G4HadronPhysicsFTFP_BERT.cc 101872 2016-12-02 14:02:40Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -73,9 +73,12 @@ G4HadronPhysicsFTFP_BERT::G4HadronPhysicsFTFP_BERT(G4int)
|
||||
/* , theNeutrons(0)
|
||||
, theBertiniNeutron(0)
|
||||
, theFTFPNeutron(0)
|
||||
, thePiK(0)
|
||||
, theBertiniPiK(0)
|
||||
, theFTFPPiK(0)
|
||||
, thePion(0)
|
||||
, theBertiniPion(0)
|
||||
, theFTFPPion(0)
|
||||
, theKaon(0)
|
||||
, theBertiniKaon(0)
|
||||
, theFTFPKaon(0)
|
||||
, thePro(0)
|
||||
, theBertiniPro(0)
|
||||
, theFTFPPro(0)
|
||||
@@ -93,9 +96,12 @@ G4HadronPhysicsFTFP_BERT::G4HadronPhysicsFTFP_BERT(const G4String& name, G4bool
|
||||
/* , theNeutrons(0)
|
||||
, theBertiniNeutron(0)
|
||||
, theFTFPNeutron(0)
|
||||
, thePiK(0)
|
||||
, theBertiniPiK(0)
|
||||
, theFTFPPiK(0)
|
||||
, thePion(0)
|
||||
, theBertiniPion(0)
|
||||
, theFTFPPion(0)
|
||||
, theKaon(0)
|
||||
, theBertiniKaon(0)
|
||||
, theFTFPKaon(0)
|
||||
, thePro(0)
|
||||
, theBertiniPro(0)
|
||||
, theFTFPPro(0)
|
||||
@@ -110,30 +116,56 @@ G4HadronPhysicsFTFP_BERT::G4HadronPhysicsFTFP_BERT(const G4String& name, G4bool
|
||||
|
||||
void G4HadronPhysicsFTFP_BERT::CreateModels()
|
||||
{
|
||||
G4double minFTFP_pion = 3.0 * GeV;
|
||||
G4double maxBERT_pion = 12.0 * GeV;
|
||||
G4double minFTFP_kaon = 3.0 * GeV;
|
||||
G4double maxBERT_kaon = 12.0 * GeV;
|
||||
G4double minFTFP_proton = 3.0 * GeV;
|
||||
G4double maxBERT_proton = 12.0 * GeV;
|
||||
G4double minFTFP_neutron = 3.0 * GeV;
|
||||
G4double maxBERT_neutron = 12.0 * GeV;
|
||||
|
||||
G4cout << G4endl
|
||||
<< " FTFP_BERT : new threshold between BERT and FTFP is over the interval " << G4endl
|
||||
<< " for pions : " << minFTFP_pion/GeV << " to " << maxBERT_pion/GeV << " GeV" << G4endl
|
||||
<< " for kaons : " << minFTFP_kaon/GeV << " to " << maxBERT_kaon/GeV << " GeV" << G4endl
|
||||
<< " for proton : " << minFTFP_proton/GeV << " to " << maxBERT_proton/GeV << " GeV" << G4endl
|
||||
<< " for neutron : " << minFTFP_neutron/GeV << " to " << maxBERT_neutron/GeV << " GeV" << G4endl
|
||||
<< G4endl;
|
||||
|
||||
tpdata->theNeutrons=new G4NeutronBuilder;
|
||||
tpdata->theFTFPNeutron=new G4FTFPNeutronBuilder(QuasiElastic);
|
||||
tpdata->theNeutrons->RegisterMe(tpdata->theFTFPNeutron);
|
||||
tpdata->theFTFPNeutron->SetMinEnergy(minFTFP_neutron);
|
||||
tpdata->theNeutrons->RegisterMe(tpdata->theBertiniNeutron=new G4BertiniNeutronBuilder);
|
||||
tpdata->theBertiniNeutron->SetMinEnergy(0.0*GeV);
|
||||
tpdata->theBertiniNeutron->SetMaxEnergy(5*GeV);
|
||||
tpdata->theBertiniNeutron->SetMaxEnergy(maxBERT_neutron);
|
||||
|
||||
tpdata->thePro=new G4ProtonBuilder;
|
||||
tpdata->theFTFPPro=new G4FTFPProtonBuilder(QuasiElastic);
|
||||
tpdata->thePro->RegisterMe(tpdata->theFTFPPro);
|
||||
tpdata->theFTFPPro->SetMinEnergy(minFTFP_proton);
|
||||
tpdata->thePro->RegisterMe(tpdata->theBertiniPro=new G4BertiniProtonBuilder);
|
||||
tpdata->theBertiniPro->SetMaxEnergy(5*GeV);
|
||||
tpdata->theBertiniPro->SetMaxEnergy(maxBERT_proton);
|
||||
|
||||
tpdata->thePiK=new G4PiKBuilder;
|
||||
tpdata->theFTFPPiK=new G4FTFPPiKBuilder(QuasiElastic);
|
||||
tpdata->thePiK->RegisterMe(tpdata->theFTFPPiK);
|
||||
tpdata->thePiK->RegisterMe(tpdata->theBertiniPiK=new G4BertiniPiKBuilder);
|
||||
tpdata->theBertiniPiK->SetMaxEnergy(5*GeV);
|
||||
tpdata->thePion=new G4PionBuilder;
|
||||
tpdata->theFTFPPion=new G4FTFPPionBuilder(QuasiElastic);
|
||||
tpdata->thePion->RegisterMe(tpdata->theFTFPPion);
|
||||
tpdata->theFTFPPion->SetMinEnergy(minFTFP_pion);
|
||||
tpdata->thePion->RegisterMe(tpdata->theBertiniPion=new G4BertiniPionBuilder);
|
||||
tpdata->theBertiniPion->SetMaxEnergy(maxBERT_pion);
|
||||
|
||||
tpdata->theKaon=new G4KaonBuilder;
|
||||
tpdata->theFTFPKaon=new G4FTFPKaonBuilder(QuasiElastic);
|
||||
tpdata->theKaon->RegisterMe(tpdata->theFTFPKaon);
|
||||
tpdata->theFTFPKaon->SetMinEnergy(minFTFP_kaon);
|
||||
tpdata->theKaon->RegisterMe(tpdata->theBertiniKaon=new G4BertiniKaonBuilder);
|
||||
tpdata->theBertiniKaon->SetMaxEnergy(maxBERT_kaon);
|
||||
|
||||
tpdata->theHyperon=new G4HyperonFTFPBuilder;
|
||||
|
||||
tpdata->theAntiBaryon=new G4AntiBarionBuilder;
|
||||
tpdata->theAntiBaryon->RegisterMe(tpdata->theFTFPAntiBaryon=new G4FTFPAntiBarionBuilder(QuasiElastic));
|
||||
tpdata->theAntiBaryon->RegisterMe(tpdata->theFTFPAntiBaryon=new G4FTFPAntiBarionBuilder(QuasiElastic));
|
||||
}
|
||||
|
||||
G4HadronPhysicsFTFP_BERT::~G4HadronPhysicsFTFP_BERT()
|
||||
@@ -144,10 +176,14 @@ G4HadronPhysicsFTFP_BERT::~G4HadronPhysicsFTFP_BERT()
|
||||
delete tpdata->theBertiniNeutron;
|
||||
delete tpdata->theFTFPNeutron;
|
||||
|
||||
delete tpdata->thePiK;
|
||||
delete tpdata->theBertiniPiK;
|
||||
delete tpdata->theFTFPPiK;
|
||||
delete tpdata->thePion;
|
||||
delete tpdata->theBertiniPion;
|
||||
delete tpdata->theFTFPPion;
|
||||
|
||||
delete tpdata->theKaon;
|
||||
delete tpdata->theBertiniKaon;
|
||||
delete tpdata->theFTFPKaon;
|
||||
|
||||
delete tpdata->thePro;
|
||||
delete tpdata->theBertiniPro;
|
||||
delete tpdata->theFTFPPro;
|
||||
@@ -181,7 +217,8 @@ void G4HadronPhysicsFTFP_BERT::ConstructProcess()
|
||||
CreateModels();
|
||||
tpdata->theNeutrons->Build();
|
||||
tpdata->thePro->Build();
|
||||
tpdata->thePiK->Build();
|
||||
tpdata->thePion->Build();
|
||||
tpdata->theKaon->Build();
|
||||
|
||||
// --- Kaons ---
|
||||
tpdata->xsKaon = new G4ComponentGGHadronNucleusXsc();
|
||||
|
||||
+55
-17
@@ -68,9 +68,12 @@ G4HadronPhysicsFTFP_BERT_HP::G4HadronPhysicsFTFP_BERT_HP(G4int)
|
||||
, theBertiniNeutron(0)
|
||||
, theFTFPNeutron(0)
|
||||
, theHPNeutron(0)
|
||||
, thePiK(0)
|
||||
, theBertiniPiK(0)
|
||||
, theFTFPPiK(0)
|
||||
, thePion(0)
|
||||
, theBertiniPion(0)
|
||||
, theFTFPPion(0)
|
||||
, theKaon(0)
|
||||
, theBertiniKaon(0)
|
||||
, theFTFPKaon(0)
|
||||
, thePro(0)
|
||||
, theBertiniPro(0)
|
||||
, theFTFPPro(0)
|
||||
@@ -88,9 +91,12 @@ G4HadronPhysicsFTFP_BERT_HP::G4HadronPhysicsFTFP_BERT_HP(const G4String& name, G
|
||||
, theBertiniNeutron(0)
|
||||
, theFTFPNeutron(0)
|
||||
, theHPNeutron(0)
|
||||
, thePiK(0)
|
||||
, theBertiniPiK(0)
|
||||
, theFTFPPiK(0)
|
||||
, thePion(0)
|
||||
, theBertiniPion(0)
|
||||
, theFTFPPion(0)
|
||||
, theKaon(0)
|
||||
, theBertiniKaon(0)
|
||||
, theFTFPKaon(0)
|
||||
, thePro(0)
|
||||
, theBertiniPro(0)
|
||||
, theFTFPPro(0)
|
||||
@@ -105,25 +111,52 @@ G4HadronPhysicsFTFP_BERT_HP::G4HadronPhysicsFTFP_BERT_HP(const G4String& name, G
|
||||
void G4HadronPhysicsFTFP_BERT_HP::CreateModels()
|
||||
{
|
||||
|
||||
G4double minFTFP_pion = 3.0 * GeV;
|
||||
G4double maxBERT_pion = 12.0 * GeV;
|
||||
G4double minFTFP_kaon = 3.0 * GeV;
|
||||
G4double maxBERT_kaon = 12.0 * GeV;
|
||||
G4double minFTFP_proton = 3.0 * GeV;
|
||||
G4double maxBERT_proton = 12.0 * GeV;
|
||||
G4double minFTFP_neutron = 3.0 * GeV;
|
||||
G4double maxBERT_neutron = 12.0 * GeV;
|
||||
|
||||
G4cout << G4endl
|
||||
<< " FTFP_BERT_HP : new threshold between BERT and FTFP is over the interval " << G4endl
|
||||
<< " for pions : " << minFTFP_pion/GeV << " to " << maxBERT_pion/GeV << " GeV" << G4endl
|
||||
<< " for kaons : " << minFTFP_kaon/GeV << " to " << maxBERT_kaon/GeV << " GeV" << G4endl
|
||||
<< " for proton : " << minFTFP_proton/GeV << " to " << maxBERT_proton/GeV << " GeV" << G4endl
|
||||
<< " for neutron : " << minFTFP_neutron/GeV << " to " << maxBERT_neutron/GeV << " GeV" << G4endl
|
||||
<< G4endl;
|
||||
|
||||
tpdata->theNeutrons=new G4NeutronBuilder( true ); // Fission on
|
||||
tpdata->theFTFPNeutron=new G4FTFPNeutronBuilder(QuasiElastic);
|
||||
tpdata->theNeutrons->RegisterMe(tpdata->theFTFPNeutron);
|
||||
tpdata->theFTFPNeutron->SetMinEnergy(minFTFP_neutron);
|
||||
tpdata->theNeutrons->RegisterMe(tpdata->theBertiniNeutron=new G4BertiniNeutronBuilder);
|
||||
tpdata->theBertiniNeutron->SetMinEnergy(19.9*MeV);
|
||||
tpdata->theBertiniNeutron->SetMaxEnergy(5*GeV);
|
||||
tpdata->theBertiniNeutron->SetMaxEnergy(maxBERT_neutron);
|
||||
tpdata->theNeutrons->RegisterMe(tpdata->theHPNeutron=new G4NeutronPHPBuilder);
|
||||
|
||||
tpdata->thePro=new G4ProtonBuilder;
|
||||
tpdata->theFTFPPro=new G4FTFPProtonBuilder(QuasiElastic);
|
||||
tpdata->thePro->RegisterMe(tpdata->theFTFPPro);
|
||||
tpdata->theFTFPPro->SetMinEnergy(minFTFP_proton);
|
||||
tpdata->thePro->RegisterMe(tpdata->theBertiniPro=new G4BertiniProtonBuilder);
|
||||
tpdata->theBertiniPro->SetMaxEnergy(5*GeV);
|
||||
tpdata->theBertiniPro->SetMaxEnergy(maxBERT_proton);
|
||||
|
||||
tpdata->thePiK=new G4PiKBuilder;
|
||||
tpdata->theFTFPPiK=new G4FTFPPiKBuilder(QuasiElastic);
|
||||
tpdata->thePiK->RegisterMe(tpdata->theFTFPPiK);
|
||||
tpdata->thePiK->RegisterMe(tpdata->theBertiniPiK=new G4BertiniPiKBuilder);
|
||||
tpdata->theBertiniPiK->SetMaxEnergy(5*GeV);
|
||||
tpdata->thePion=new G4PionBuilder;
|
||||
tpdata->theFTFPPion=new G4FTFPPionBuilder(QuasiElastic);
|
||||
tpdata->thePion->RegisterMe(tpdata->theFTFPPion);
|
||||
tpdata->theFTFPPion->SetMinEnergy(minFTFP_pion);
|
||||
tpdata->thePion->RegisterMe(tpdata->theBertiniPion=new G4BertiniPionBuilder);
|
||||
tpdata->theBertiniPion->SetMaxEnergy(maxBERT_pion);
|
||||
|
||||
tpdata->theKaon=new G4KaonBuilder;
|
||||
tpdata->theFTFPKaon=new G4FTFPKaonBuilder(QuasiElastic);
|
||||
tpdata->theKaon->RegisterMe(tpdata->theFTFPKaon);
|
||||
tpdata->theFTFPKaon->SetMinEnergy(minFTFP_kaon);
|
||||
tpdata->theKaon->RegisterMe(tpdata->theBertiniKaon=new G4BertiniKaonBuilder);
|
||||
tpdata->theBertiniKaon->SetMaxEnergy(maxBERT_kaon);
|
||||
|
||||
tpdata->theHyperon=new G4HyperonFTFPBuilder;
|
||||
|
||||
@@ -140,9 +173,13 @@ G4HadronPhysicsFTFP_BERT_HP::~G4HadronPhysicsFTFP_BERT_HP()
|
||||
delete tpdata->theFTFPNeutron;
|
||||
delete tpdata->theHPNeutron;
|
||||
|
||||
delete tpdata->thePiK;
|
||||
delete tpdata->theBertiniPiK;
|
||||
delete tpdata->theFTFPPiK;
|
||||
delete tpdata->thePion;
|
||||
delete tpdata->theBertiniPion;
|
||||
delete tpdata->theFTFPPion;
|
||||
|
||||
delete tpdata->theKaon;
|
||||
delete tpdata->theBertiniKaon;
|
||||
delete tpdata->theFTFPKaon;
|
||||
|
||||
delete tpdata->thePro;
|
||||
delete tpdata->theBertiniPro;
|
||||
@@ -174,7 +211,8 @@ void G4HadronPhysicsFTFP_BERT_HP::ConstructProcess()
|
||||
CreateModels();
|
||||
tpdata->theNeutrons->Build();
|
||||
tpdata->thePro->Build();
|
||||
tpdata->thePiK->Build();
|
||||
tpdata->thePion->Build();
|
||||
tpdata->theKaon->Build();
|
||||
|
||||
// --- Kaons ---
|
||||
tpdata->xsKaon = new G4ComponentGGHadronNucleusXsc();
|
||||
|
||||
Reference in New Issue
Block a user