Import Geant4 11.4.1 source tree

This commit is contained in:
Gabriele Cosmo
2026-03-19 16:51:22 +01:00
parent b4a16de652
commit 41f2dd7996
352 changed files with 26342 additions and 24532 deletions
+8
View File
@@ -5,6 +5,14 @@ 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!
-------------------------------------------------------------------------------
## 2026-02-25 Vladimir Ivanchenko (particles-V11-03-02)
- Attempt to fixed data race in ion creation (Bugzilla #2680) by extention
of excited isomer name from 3 to 5 digits after dot.
## 2026-01-14 Shogo Okada
- Fixed energy conservation in G4MuonDecayChannel (Bugzilla #2678).
## 2025-11-4 Shogo Okada (particles-V11-03-01)
- Scanned all mesons and baryons, including their resonances, to compare their
particle properties with PDG-2025. Then, updated mass, decay width, and
@@ -826,7 +826,7 @@ G4String G4IonTable::GetIonName(G4int Z, G4int A, G4double E,
if (E > 0 || flb != G4Ions::G4FloatLevelBase::no_Float) {
std::ostringstream os;
os.setf(std::ios::fixed);
os.precision(3);
os.precision(5);
// Excited nucleus
os << '[' << E / keV;
if (flb != G4Ions::G4FloatLevelBase::no_Float) {
@@ -29,6 +29,10 @@
// Contributions:
// - 2005 - M.Melissas, J.Brunner CPPM/IN2P3
// Added V-A fluxes for neutrinos using a new algorithm, 2005
// - S.Okada KEK/CRC, 14 January 2026
// Fixed energy conservation in G4MuonDecayChannel (Bugzilla #2678):
// Corrected EMax definition to parentmass/2 and applied standard relativistic
// formula (p=sqrt(E^2-m^2)) to compute momenta for all decay products.
// --------------------------------------------------------------------
#include "G4MuonDecayChannel.hh"
@@ -142,7 +146,7 @@ G4DecayProducts* G4MuonDecayChannel::DecayIt(G4double)
G4double Ee, Ene;
G4double gam;
G4double EMax = parentmass / 2 - daughtermass[0];
G4double EMax = parentmass / 2;
const std::size_t MAX_LOOP = 1000;
// Generating Random Energy
@@ -174,7 +178,7 @@ G4DecayProducts* G4MuonDecayChannel::DecayIt(G4double)
rot.set(rphi, rtheta, rpsi);
// electron 0
daughtermomentum[0] = std::sqrt(Ee * Ee * EMax * EMax + 2.0 * Ee * EMax * daughtermass[0]);
daughtermomentum[0] = std::sqrt(Ee * Ee * EMax * EMax - daughtermass[0] * daughtermass[0]);
G4ThreeVector direction0(0.0, 0.0, 1.0);
direction0 *= rot;
@@ -186,7 +190,7 @@ G4DecayProducts* G4MuonDecayChannel::DecayIt(G4double)
// electronic neutrino 1
daughtermomentum[1] = std::sqrt(Ene * Ene * EMax * EMax + 2.0 * Ene * EMax * daughtermass[1]);
daughtermomentum[1] = std::sqrt(Ene * Ene * EMax * EMax - daughtermass[1] * daughtermass[1]);
G4ThreeVector direction1(sintheta, 0.0, costheta);
direction1 *= rot;
@@ -197,7 +201,7 @@ G4DecayProducts* G4MuonDecayChannel::DecayIt(G4double)
// muonnic neutrino 2
daughtermomentum[2] = std::sqrt(Enm * Enm * EMax * EMax + 2.0 * Enm * EMax * daughtermass[2]);
daughtermomentum[2] = std::sqrt(Enm * Enm * EMax * EMax - daughtermass[2] * daughtermass[2]);
G4ThreeVector direction2(-Ene / Enm * sintheta, 0, -Ee / Enm - Ene / Enm * costheta);
direction2 *= rot;