Geant4 11.2 - patch-01 Release Notes ------------------------------------ 16 February 2024 List of fixes included in this public patch since the public release 11.2.0: o Configuration ------------- + CMake: o Added -F flag on macOS with a framework build of Qt. Addressing problem report #2589. o Fixed detection of SoQt/Xt packages, by manually checking versions of found packages. Geant4 only requires a minimum version. o Geometry: -------- + solids/CSG: o In wrapper G4UTrap, use GetThetaCosPhi() and GetThetaSinPhi() in method GetVertices(); this overcomes a problem with trapezoid reported in CMSSW after migration to VecGeom 1.2.6. Also fixed typo in method SetAllParameters(), setter used in parameterisation of shape dimensions. o Global: ------ + G4PhysicsModelCatalog: added ID for the Light-Ion QMD model. + Updated date and version for 11.2.1. o Physics Lists: ------------- + constructors/electromagnetic o G4GammaGeneralProcess: fixed sampling of muon pair production. Addressing problem report #2543. o G4EmStandardPhysics_option3: restore step limit type to use 'fUseDistanceToBoundary' and set default RangeFactor from 0.03 to 0.04, fixing inaccuracy in medical benchmarks. + constructors/gamma_lepto_nuclear o G4NeutrinoPhysics: fixed neutrino physics instantiation. Addressing problem report #2594. o Processes - Electromagnetic: --------------------------- + dna o G4DNABornAngle: fixed numerical problem; added protection for cosTheta; use relativistic formula for maximum energy transfer to delta-electrons. + lowenergy o G4MicroElecInelasticModel_new: fixed Coverity report for memory leak at exit. Minor code cleanup. o G4MicroElecLOPhononModel: minor code cleanup. + standard o G4IonICRU73Data: fix for the case when target material has an element with Z>92; improved 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 returns zero, then dEdx is computed from G4GenericIon and effective charge. Addressing problem report #2586. + utils o G4VEmProcess, G4VEnergyLossProcess: minor CPU optimisation with reduction of number of calls for log() of kinetic energy. + xrays o G4GaussXTRadiator, G4VXTRenergyLoss: flexible summation in SpectralXTRdEdx; clean-up in GetStackFactor() based on std::complex methods. o In G4Scintillation::sample_time(), refactored the scintillation time sampling. o Processes - Hadronic: -------------------- + cross_sections o G4KokoulinMuonNuclearXS: use faster interface to G4PhysicsVector. o G4ElectroNuclearCrossSection: added low-energy limit of 100 MeV for cross-section. + management o G4HadronicProcess: explicitly define cross-section type per particle type, this might provide some CPU speedup. + models/de_excitation o G4FermiBreakUpVI, G4FermiFragmentsPoolVI: fix in production of fake excited isomeres, by moving the check on lifetime limit to the Initialise() method of the model, allowing to change this limit in an application; do not consider decay chains with no final state. Addressing problem report #2584. o G4StatMFChannel: replaced use of C-arrays with std::vector, clearing compilation warnings on gcc compiler when LTO settings are enabled. + models/lend o Fixed compilation error on recent Windows VC++ compiler 17.8.3 for use of std::isfinite(). Addressing problem report #2582. o Fixed compilation warnings on gcc compiler when LTO settings are enabled. + models/particle_hp o G4ParticleHPFissionFS, G4ParticleHPFFFissionFS: added extra protections against cases when fission data are not available for some isotopes. Addressing problem #2590. o G4ParticleHPFSFissionFS, G4ParticleHPFissionBaseFS: replaced use of C-arrays with std::vector, clearing compilation warnings on gcc compiler when LTO settings are enabled. + qmd o Fixed model ID (model_LightIonQMDModel) in G4LightIonQMDReaction. + radioactive_decay o G4Radioactivation: added DBL_EPSILON check on transition energy for metastables to prevent creation of zero energy levels which have no decay products. o G4BetaPlusDecay, G4BetaMinusDecay: fixed sampling algorithm. Addressing problem report #2588. o Run: --- + Correctly report number of threads from G4TaskRunManager. o Tracking: -------- + G4TrackingMessenger: fixed Coverity report for memory leak at exit, by moving static thread-local variable to become class member, as G4TrackingManager and its messenger are thread-local by nature. o Examples: -------- + basic/B2 o Updated PrimaryGeneratorAction::GeneratePrimaries() in B2a and B2b examples to avoid placing of the initial position on the world boundary. Updated READMEs. + extended/electromagnetic/TestEm1 o Updated initial gun position in PrimaryGeneratorAction to not lay on the world volume surface. + extended/electromagnetic/TestEm5 o Updated initial gun position in PrimaryGeneratorAction to not lay on the world volume surface. o In TrackingAction, added a protection against potential wrong argument to std::acos(), rarely happening for very high energy projectile particles. + extended/electromagnetic/TestEm11 o Updated initial gun position in PrimaryGeneratorAction to not lay on the world volume surface. + extended/electromagnetic/TestEm16 o Updated READMEs to document all macros. + extended/medical/dna/neuron o Cleanup to reduce number of Valgrind warnings; applied coding style recommendations; removed commented lines, removed unused methods; substituted C-arrays with vectors; improved algorithm of reading of data file. ---------------------------------------------------------------------------- Technical Notes --------------- o This patch should be applied on top of release 11.2 series. o Technical notes distributed for release 11.2 are also applicable and valid for this patch. The code and rebuilt binary libraries for release 11.2.1 are available through the Geant4 "Download" Web page. Please refer to the Geant4 User Documentation for further information about using Geant4.