Import Geant4 10.6.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2019-06-28 11:59:04 +02:00
parent 28a70706e0
commit d0f911957d
1056 changed files with 95168 additions and 78160 deletions
@@ -13,6 +13,13 @@ introduced in the code and keeptrack of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
22-May-2019, Alberto Ribon (phys-ctor-stopping-V10-05-00)
- Use FTFP also for the annihilation at rest of neutral anti-hadrons:
anti-neutron, anti-lambda, anti-sigma0 anti-xi0.
Note: this extension is for completeness and practical convenience,
although physically neutral hadrons should never be completely
at rest!
03-Nov-2016, Alberto Ribon (phys-ctor-stopping-V10-02-02)
- Written first draft of the README
@@ -7,7 +7,8 @@
Precompound/deexcitation of Geant4, not the internal one of Bertini)
for nuclear capture of: pi-, K-, Sigma-, Xi- and Omega-.
It uses Fritiof/Precompound model for nuclear capture of: anti_proton,
anti_Sigma+, anti_deuteron, anti_triton, anti_He3 and anti_alpha.
anti_neutron, anti_Lambda, anti_Sigma0, anti_Sigma+, anti_Xi0,
anti_deuteron, anti_triton, anti_He3, and anti_alpha.
For mu-, Bertini model is used for nuclear capture, together with
default element selector, EM cascade sampling and bound decay sampling.
@@ -44,6 +44,8 @@
// particles, using: Bertini for pi-, K-, Sigma-, Xi-, and Omega-.
// Fritiof/Precompound for anti-proton and anti-Sigma+;
// another model for mu-.
// Use Fritiof/Precompound also for the annihilation at rest of neutral
// anti-hadrons: anti-neutron, anti-Lambda, anti-Sigma0 and anti-Xi0.
//
//----------------------------------------------------------------------------
@@ -39,6 +39,9 @@
// G4StoppingPhysics.
// 17-Oct-2012 A. Ribon: added nuclear capture at rest of anti-nuclei with
// Fritof/Precompound.
// 22-May-2019 A. Ribon: added annihilation at rest with Fritiof/Precompound
// for neutral anti-hadrons: anti-neutron, anti-lambda
// anti-sigma0 nd anti-xi0.
//
//----------------------------------------------------------------------------
@@ -144,14 +147,18 @@ void G4StoppingPhysics::ConstructProcess() {
}
}
if ( particle->GetPDGCharge() < 0.0 &&
if ( particle->GetPDGCharge() <= 0.0 &&
particle->GetPDGMass() > mThreshold &&
! particle->IsShortLived() ) {
// Use Fritiof/Precompound for: anti-protons, anti-sigma+, and
// anti-nuclei.
if ( particle == G4AntiProton::AntiProton() ||
particle == G4AntiSigmaPlus::AntiSigmaPlus() ||
// Use Fritiof/Precompound for: anti-proton, anti-neutron, anti-lambda,
// anti-sigma0, anti-sigma+, anti-xi0 and anti-nuclei.
if ( particle == G4AntiProton::Definition() ||
particle == G4AntiNeutron::Definition() ||
particle == G4AntiLambda::Definition() ||
particle == G4AntiSigmaZero::Definition() ||
particle == G4AntiSigmaPlus::Definition() ||
particle == G4AntiXiZero::Definition() ||
particle->GetBaryonNumber() < -1 ) { // Anti-nuclei
if ( hFritiofProcess->IsApplicable( *particle ) ) {
pmanager->AddRestProcess( hFritiofProcess );
@@ -162,11 +169,11 @@ void G4StoppingPhysics::ConstructProcess() {
}
// Use Bertini/Precompound for pi-, K-, Sigma-, Xi-, and Omega-
} else if ( particle == G4PionMinus::PionMinus() ||
particle == G4KaonMinus::KaonMinus() ||
particle == G4SigmaMinus::SigmaMinus() ||
particle == G4XiMinus::XiMinus() ||
particle == G4OmegaMinus::OmegaMinus() ) {
} else if ( particle == G4PionMinus::Definition() ||
particle == G4KaonMinus::Definition() ||
particle == G4SigmaMinus::Definition() ||
particle == G4XiMinus::Definition() ||
particle == G4OmegaMinus::Definition() ) {
if ( hBertiniProcess->IsApplicable( *particle ) ) {
pmanager->AddRestProcess( hBertiniProcess );
if ( verbose > 1 ) {