Import Geant4 11.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2025-12-05 08:54:02 +01:00
parent a499fb82e9
commit b4a16de652
6484 changed files with 232674 additions and 221097 deletions
@@ -5,6 +5,58 @@ which **must** added in reverse chronological order (newest at the top).
It must **not** be used as a substitute for writing good git commit messages!
-------------------------------------------------------------------------------
## 2025-11-07 M.Novak (emstand-V11-03-16)
- G4eDPWACoulombScatteringModel, G4eDPWAElasticDCS - fixed some of the mixed
simulation mode functionalities of this numerical ELSEPA DCS based model for
e-/e+ Coulomb scattering (which are still not utilised)
## 2025-11-05 M.Novak (emstand-V11-03-15)
- G4GoudsmitSaundersonMscModel - adding back the "range-rejection" like
optimisation to the stepping algorithm that should bring back the number of
simulation steps to the values close to before emstand-V11-03-14 below.
## 2025-10-27 M.Novak (emstand-V11-03-14)
- G4GoudsmitSaundersonMscModel, G4GoudsmitSaundersonTable, G4GSMottCorrection,
G4GSPWACorrections - removing all other electron stepping and boundary
crossing algorithms from the Goudsmit-Saunderson MSC model but its accurate
one; update the class descriptions, reference of the realted classes; no
physics change is expected in the Livermore, Penelope and standard option4
EM constructors while the standard GS constructor will be more accurate now
## 2025-10-10 V.Ivanchenko (emstand-V11-03-13)
- G4UrbanMscModel - L.Urban proposed a change of geommin parameter value
from 10^-3 mm to 10^-6 mm; this change is effective to EM option3 physics
configuration
## 2025-10-09 Mihaly Novak (emstand-V11-03-12)
- G4eBremsstrahlungRelModel, G4PairProductionRelModel - simplifed handling of
LPM functions by precomputing and factoring the related data to a new
G4LPMFunction (header only) utility.
## 2025-09-03 Dmitri Konstantinov (emstand-V11-03-11)
- G4BraggModel - fixed two compound formula typos in MolecIsInZiegler1988:
"C_H_3OH" to "CH_3OH" (methanol) and "CCLF_3" to "CClF_3" (chlorotrifluoromethane).
Restores application of the ChemicalFactor for these compounds.
## 2025-08-07 V.Ivanchenko (emstand-V11-03-10)
- G4eplusAnnihilation - added positronium lifetime, which was forgotten.
## 2025-08-07 V.Ivanchenko (emstand-V11-03-09)
- G4BetheBlochModel - fixed problem in dEdx for alpha particles introduced
in previous commit
- G4BraggIonGasModel, G4BetheBlochIonGasModel - fixed computation of
dynamic charge
## 2025-08-02 V.Ivanchenko (emstand-V11-03-08)
- G4UrbanMscModel - L.Urban proposed a new simplification of the step limit
algorithm for Opt3 (EMY) configuration of EM physics, which improves CPU
without degradation of the accuracy
## 2025-07-11 V.Ivanchenko (emstand-V11-03-07)
- G4BraggModel, G4BraggIonModel, G4BetheBlochModel, G4LindhardSorensenIonModel,
G4AtimaEnergyLossModel, G4LowPAIH2O - store ion effective charge square in
each model, which allows to compute dEdx by G4EmCalculator (problem #2664).
This does not affect run time computations.
## 2025-04-25 V.Ivanchenko (emstand-V11-03-06)
- G4LowPAIH2O - fixed Coverity warnings
@@ -18,7 +70,7 @@ It must **not** be used as a substitute for writing good git commit messages!
problems reported by J.Allison
## 2025-03-11 V.Grichine (emstand-V11-03-03)
- G4LowPAIH2O class with G4LowDataH2O.hh data file for dE/dx in water for p and e-.
- G4LowPAIH2O class with G4LowDataH2O.hh data file for dE/dx in water for p and e-.
## 2025-02-26 V.Ivanchenko (emstand-V11-03-02)
- G4UrbanMscModel - L.Urban propose cosmetic change for Opt3 case and updated
@@ -45,7 +97,7 @@ It must **not** be used as a substitute for writing good git commit messages!
change in run time
- G4ionIonisation - use G4BraggIonModel only for alpha and G4BraggModel for
other ions in the default EM physics
## 2024-11-04 Philippe Canal (emstand-V11-02-19)
- Static initialization improvement for G4eBremsstrahlungRelModel.
Use std::shared_ptr for LPMFuncs and ElementData.
@@ -54,7 +106,7 @@ It must **not** be used as a substitute for writing good git commit messages!
- G4WentzelVIModel - fixed Coverity warning
## 2024-10-17 V.Ivanchenko (emstand-V11-02-17)
- renamed G4eplusTo2GammaOKVIModel to G4eplusTo2or3GammaModel to avoid confusions
- renamed G4eplusTo2GammaOKVIModel to G4eplusTo2or3GammaModel to avoid confusions
## 2024-09-17 V.Ivanchenko (emstand-V11-02-16)
- G4WentzelVIModel - fixed Coverity warning
@@ -127,16 +179,16 @@ It must **not** be used as a substitute for writing good git commit messages!
## 2024-01-23 V.Ivanchenko (emstand-V11-02-00)
- G4IonICRU73Data - fixed bug #2586 for the case if target material has
an element with Z>92, improve debug printouts. In the Lindhard-Sorensen
model to compute dEdx the first try is to take it from ICRU73 or ICRU90
data, if this class return 0.0, then dEdx is computed from G4GenericIon
an element with Z>92, improve debug printouts. In the Lindhard-Sorensen
model to compute dEdx the first try is to take it from ICRU73 or ICRU90
data, if this class return 0.0, then dEdx is computed from G4GenericIon
and effective charge.
## 2023-11-03 Ben Morgan (emstand-V11-01-24)
- Use "G4" prefixed version of EXPAT/ZLIB CMake variables
## 2023-10-19 V.Ivanchenko (emstand-V11-01-23)
- G4UrbanMscModel - (L. Urban) tuned step limit parameterisation for
- G4UrbanMscModel - (L. Urban) tuned step limit parameterisation for
the case of enabled optional algorithm of lateral displacement.
The default tracking is not affected.
@@ -154,9 +206,9 @@ It must **not** be used as a substitute for writing good git commit messages!
compiler options are used, use G4Pow
## 2023-08-21 V.Ivanchenko (emstand-V11-01-19)
- G4SeltzerBergerModel - implement inheritance from G4VEmModel instead of
- G4SeltzerBergerModel - implement inheritance from G4VEmModel instead of
G4eBremsstrahlungRelModel, which means re-implementing common methods
by cut and paster from G4eBremsstrahlungRelModel and removal LPM
by cut and paster from G4eBremsstrahlungRelModel and removal LPM
computations; use std::applyOnce approach to initilize static data;
upplied code format.
- G4eBremsstrahlungRelModel - use std::applyOncy approach to initilize
@@ -166,9 +218,9 @@ It must **not** be used as a substitute for writing good git commit messages!
## 2023-06-18 V.Ivanchenko (emstand-V11-01-18)
- G4BetheHeitlerModel, G4PairProductionRelModel, G4eBremsstrahlungRelModel,
G4SeltzerBergerModel - further reorganized initialisation for #2543 and
G4SeltzerBergerModel - further reorganized initialisation for #2543 and
considered neccesity to fix, Initilise(..) method described by Stephan
Hageboeck, to have thread safe check if a model is the first
Hageboeck, to have thread safe check if a model is the first
instance of the class, set lock and perform initilisation of all static
data. Results of standard EM tests are unchanged.
@@ -197,7 +249,7 @@ It must **not** be used as a substitute for writing good git commit messages!
## 2023-05-09 V.Ivanchenko (emstand-V11-01-12)
- updated hadron/ion ionisation models; initialise stopping power data
once: PSTAR and ICRU90 in G4BraggModel, ASTAR - in G4BraggIonModel,
once: PSTAR and ICRU90 in G4BraggModel, ASTAR - in G4BraggIonModel,
ICRU73 and ICRU90 ion (Z>2) data in G4LindHardSorensenIonModel;
G4BraggIonModel inherit from G4Bragg model; fixed stopping power
of heavy ions at moderate energies
@@ -220,22 +272,22 @@ It must **not** be used as a substitute for writing good git commit messages!
- G4LinhardSorensenModel - added extra protection and improved debug printout
## 2023-03-11 V.Ivanchenko (emstand-V11-01-08)
- G4UrbanMscModel - optimisation of the code without any change of the
- G4UrbanMscModel - optimisation of the code without any change of the
results (L. Urban)
## 2023-03-05 V.Ivanchenko (emstand-V11-01-07)
- G4CoulombScattering - fixed typo
- G4PAIModel, G4PAIPhotModel, G4PAIModelData, G4PAIPhotData, G4PAIxSection,
G4PAIySection - fixed problem in tests and code clean-up
G4PAIySection - fixed problem in tests and code clean-up
## 2023-03-04 V.Ivanchenko (emstand-V11-01-06)
- G4CoulombScattering - added extra constructor to address all existing
cases, for pure single scattering integral method type is changed
from fOnePeak to fEmDecreasing and spline interpolation is used.
- G4CoulombScattering - added extra constructor to address all existing
cases, for pure single scattering integral method type is changed
from fOnePeak to fEmDecreasing and spline interpolation is used.
This is needed for the fix of #2530.
## 2023-02-24 V.Ivanchenko (emstand-V11-01-05)
- G4WentzelOKandVIxSection - fix numeric instability for the extreme case of
- G4WentzelOKandVIxSection - fix numeric instability for the extreme case of
very small kinetic energy (< 1 eV)
## 2023-02-21 V.Ivanchenko (emstand-V11-01-04)
@@ -246,9 +298,9 @@ It must **not** be used as a substitute for writing good git commit messages!
- G4eCoulombScatterinModel - improve initialisation and code comments
## 2023-02-14 V.Ivanchenko (emstand-V11-01-03)
- Preparation for the fix of the problem #2530 - fix apply single
- Preparation for the fix of the problem #2530 - fix apply single
scattering per region
- G4UrbanMscModel - check IsLocked() method before definition of
- G4UrbanMscModel - check IsLocked() method before definition of
lateral displacement algorithm and positron correction;
improve formatting
- G4CoulombScattering - added SetCombined(G4bool) method allowing
@@ -256,8 +308,8 @@ It must **not** be used as a substitute for writing good git commit messages!
- G4eCoulombScatterinModel - improve formatting
## 2023-01-13 V.Ivanchenko (emstand-V11-01-02)
- G4ESTARStopping, G4GoudsmitSaundersonTable, G4GSPWACorrections,
G4GSMottCorrection, G4SeltzerBergerModel, G4SBBremTable, G4IonICRU73Data,
- G4ESTARStopping, G4GoudsmitSaundersonTable, G4GSPWACorrections,
G4GSMottCorrection, G4SeltzerBergerModel, G4SBBremTable, G4IonICRU73Data,
G4eDPWAElasticDCS - do not call std::getenv from model classes, instead
use G4EmParameters, do not check if G4LEDATA environment variable
defined correctly - this is responsibility of the global utility
@@ -279,14 +331,14 @@ It must **not** be used as a substitute for writing good git commit messages!
- G4IonICRU73Data - fixed stopping power parameterisation below lowest
energy point; apply unit factor to material vector and not to
data inside each element vector; include debug printouts protected
by verbosity; implement data tables for materials and not
by verbosity; implement data tables for materials and not
material-cut-couples; provide non-zero dEdx for ions with Z > 80
- G4LindhardSorensenIonModel - fixed CorrectionAlongStep() computations
at low energy
## 2022-10-18 V.Ivanchenko (emstand-V11-00-18)
- G4UrbanMscModel - L.Urban remove computation and use of rangecut for
step limitation; this affect only EM option3 physics making
step limitation; this affect only EM option3 physics making
results more close to option4 and there is some CPU advantage
## 2022-10-18 V.Ivanchenko (emstand-V11-00-17)
@@ -335,14 +387,14 @@ It must **not** be used as a substitute for writing good git commit messages!
- G4UrbanMscModel - L.Urban move safety computation before
step limitation algorithms in order to save few instructions,
which should not affect results; comments to the code are improved
- G4eBremsstrahlungRelModel, G4PairProductionRelModel - added headers
- G4eBremsstrahlungRelModel, G4PairProductionRelModel - added headers
of G4Exp, G4Pow to source
- G4WentzelVIRelModel, G4WentzelOKandVIxSection, G4LindhardSorensenIonModel,
G4ICRU49NuclearStoppingModel - use G4AutoLock
- G4PairProductionRelModel, G4eBremsstrahlungRelModel - added G4Log,
- G4PairProductionRelModel, G4eBremsstrahlungRelModel - added G4Log,
G4Exp headers
- G4BetheHeitler5DModel - do not instantiate G4MuonPlus, G4MuonMinus
inside the model to allow usage of this class in physics lists
inside the model to allow usage of this class in physics lists
without muons
## 2022-04-07 V.Ivanchenko (emstand-V11-00-08)
@@ -359,14 +411,14 @@ It must **not** be used as a substitute for writing good git commit messages!
## 2022-02-18 V.Ivanchenko (emstand-V11-00-04)
- G4UniversalFluctuation, G4UrbanFluctuation - L.Urban use the same fw=4 and a0=42
parameters of the model providing similar results for small steps or thin
layers to Geant4 10.7 version of fluctuations (fixed #2466)
parameters of the model providing similar results for small steps or thin
layers to Geant4 10.7 version of fluctuations (fixed #2466)
## 2022-02-14 V.Ivanchenko (emstand-V11-00-03)
- G4UrbanMscModel - minor optimisation of arithmetic
- G4UniversalFluctuation - introduced a new protected method SampleGlandz(..),
which provides sampling of non-Gauss fluctuations; improved arithmetic;
results are identical to the version of the release 11.0
results are identical to the version of the release 11.0
- G4UrbanFluctuation - reorganized version of fluctuation model from
Geant4 10.7 in SampleGlandz(...) method
- G4LossFluctuationDummy - new class with zero fluctuations
@@ -387,20 +439,20 @@ It must **not** be used as a substitute for writing good git commit messages!
# History entries prior to 11.0
26 November 21: V.Ivanchenko (emstand-V10-07-28)
- G4PairProductionRelModel - reduce upper limit of parameterisation x-section
- G4PairProductionRelModel - reduce upper limit of parameterisation x-section
from 80 to 30 GeV
09 November 21: V.Ivanchenko (emstand-V10-07-27)
- G4ionIonisation - minor clean-up
- G4IonICRU73Data - new data structure for ion ionisation data
- G4LindhardSorensenIonModel - use G4BraggIonModel, G4BetheBlochModel
and G4IonICRU73Data, do not apply corrections at the last step of
- G4LindhardSorensenIonModel - use G4BraggIonModel, G4BetheBlochModel
and G4IonICRU73Data, do not apply corrections at the last step of
an ion
- G4BraggIonModel, G4BetheBlochModel - do not apply corrections at
- G4BraggIonModel, G4BetheBlochModel - do not apply corrections at
the last step of an ion
30 October 21: V.Ivanchenko (emstand-V10-07-26)
- G4BetheBlochModel, G4BraggIonModel, G4ionIonisation - use ion
- G4BetheBlochModel, G4BraggIonModel, G4ionIonisation - use ion
corrections for all ions except alpha in order to fix #2440
12 October 21: V.Ivanchenko (emstand-V10-07-25)
@@ -412,7 +464,7 @@ It must **not** be used as a substitute for writing good git commit messages!
07 Octoberber 21: V.Ivanchenko (emstand-V10-07-24)
- G4UniversalFluctuations - Laszlo Urban substantially simplified
sampling algorithm - less number of parameters, faster
computations, results are in statistical agreement with the
computations, results are in statistical agreement with the
previous version of the code
27 September 21: V.Ivanchenko (emstand-V10-07-23)
@@ -433,7 +485,7 @@ It must **not** be used as a substitute for writing good git commit messages!
27 August 21: V.Ivanchenko (emstand-V10-07-21)
- G4BraggModel, G4BraggIonModel - set lowest energy to 0.25 keV,
added protection to limit cut value by the lowest energy
- G4LinhardSorensenIonModel, G4ICRU73QOModel - added protection
- G4LinhardSorensenIonModel, G4ICRU73QOModel - added protection
to limit cut value by the lowest energy
- G4BetheBlochModel - minor clean-up
@@ -450,19 +502,19 @@ It must **not** be used as a substitute for writing good git commit messages!
18 July 21: V.Ivanchenko (emstand-V10-07-17)
- G4UniversalFluctuation, G4IonFluctuations, G4AtomaFluctuations,
G4PAIModel, G4PAIPhotModel - updated according to change
of G4VEmFluctuationModel signature
G4PAIModel, G4PAIPhotModel - updated according to change
of G4VEmFluctuationModel signature
16 July 21: V.Ivanchenko (emstand-V10-07-16)
- G4UniversalFluctuation - minor optimisation, code clean-up
- G4UniversalFluctuation - minor optimisation, code clean-up
- G4UrbanMscModel - use random arrays instead flat() method
to speed-up the code; use more const variables
10 July 21: V.Ivanchenko (emstand-V10-07-15)
- G4BetheBlochModel, G4ESTARStopping, G4AtimaEnergyLossModel,
G4LindhardSorensenIonModel - fixed Coverity warnings by
G4LindhardSorensenIonModel - fixed Coverity warnings by
initialisation of all variables in class constructors
- G4UrbanMscModel - do not apply energy correction at small
- G4UrbanMscModel - do not apply energy correction at small
steps below 1% of a particle range
24 May 21: J.Allison (emstand-V10-07-14)
@@ -470,7 +522,7 @@ It must **not** be used as a substitute for writing good git commit messages!
o Instantiate clip board only if Quantum Entanglement is requested.
23 May 21: V.Ivanchenko (emstand-V10-07-13)
- G4PAIModelData, G4eplusTo2GammaOKVIModel - corrected
- G4PAIModelData, G4eplusTo2GammaOKVIModel - corrected
initialisation of physics vectors spline
15 May 21: V.Ivanchenko (emstand-V10-07-12)
@@ -478,7 +530,7 @@ It must **not** be used as a substitute for writing good git commit messages!
updated set of flags for spline and the integral approach
10 May 21: V.Ivanchenko (emstand-V10-07-11)
- G4BetheBlochModel - minor cleanup - more const variables
- G4BetheBlochModel - minor cleanup - more const variables
- G4LindhardSorensenData - updated definition of spline
16 April 21: B.Morgan (emstand-V10-07-10)