Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-10-13 08:24:37

0001 <HTML>
0002 <HEAD>
0003 <TITLE>Geant4 11.3 Release Notes</TITLE>
0004 </HEAD>
0005 <BODY BGCOLOR='F0F0F0'>
0006 
0007 <P> </P>
0008 <BR>
0009 <P> </P>
0010 
0011 <P ALIGN="Center">
0012 <FONT SIZE="+4" COLOR="#238E23">
0013 <B>Geant4 11.3 Release Notes</B>
0014 </FONT>
0015 
0016 <TABLE WIDTH="100%">
0017 <TR><TD ALIGN="Right">
0018 <FONT SIZE="-1" COLOR="#5C3317">
0019 <B><I>December 6<SUP>th</SUP>, 2024</I></B>
0020 </FONT>
0021 </TD></TR>
0022 </TABLE>
0023 
0024 <BR><BR>
0025 <HR ALIGN="Center" SIZE="7%">
0026 <P>
0027 The code and binary libraries for the supported systems are available
0028 through our <A TARGET="ext" HREF="https://cern.ch/geant4/support/download">Source
0029 Code Web page</A>.
0030 </P>
0031 <P>
0032 <I>We are grateful for the efforts of Geant4 users who have provided
0033    detailed feedback or comprehensive reports of issues.
0034    We thank in particular those who have contributed corrections,
0035    improvements or developments included in this release.</I>
0036 </P>
0037 <P>
0038 Please refer to the
0039 <A TARGET="ext" HREF="https://cern.ch/geant4/support/user_documentation">Geant4
0040 User Documentation</A> for further information about using Geant4.
0041 </P>
0042 
0043 <H2><I>Contents</I></H2>
0044 <OL>
0045 <LI><A HREF="#1.">Supported and Tested Platforms</A></LI>
0046 <LI><A HREF="#2.">Supported CLHEP, VecGeom and PTL versions</A></LI>
0047 <LI><A HREF="#3.">Items for migration of the user code</A></LI>
0048 <LI><A HREF="#4.">New Developments and Capabilities</A></LI>
0049 <LI><A HREF="#5.">Expected effects on physics and performance</A></LI>
0050 <LI><A HREF="#6.">Known Run-Time Problems and Limitations</A></LI>
0051 <LI><A HREF="#7.">Compilation Warnings</A></LI>
0052 <LI><A HREF="#8.">Geant4 Software License</A></LI>
0053 <LI><A HREF="#9.">Detailed list of changes and fixes</A></LI>
0054 </OL>
0055 
0056 <P> </P>
0057 <A NAME="1."></a>
0058 <HR>
0059 
0060 <!-- ============================================== -->
0061 
0062 <H2>1. Supported and Tested Platforms</H2>
0063 
0064 Platforms:
0065 <UL>
0066 <LI>Linux, gcc-14.2.0.<BR>
0067     Tested on 64 bit architectures (Intel or AMD) with
0068     Alma Linux 9 (based on RedHat Linux Enterprise 9).</LI>
0069 <LI>macOS 15.1 Sequoia with Apple LLVM/Clang-16.<BR>
0070     Tested on 64 bit architectures (Intel or Apple Silicon).</LI>
0071 <LI>Windows-11 with Visual C++ 14.4 (Visual Studio 2022), 64 bits.</LI>
0072 </UL>
0073 
0074 More verified and tested configurations (64 bits):
0075 <UL>
0076 <LI>Linux, gcc-9.4/10.3/11.3/12.1/13.2, clang-16/17/19</LI>
0077 <LI>Linux, Intel-icx 2024.2</LI>
0078 <LI>macOS 13.6 Ventura with Apple LLVM/clang-15</LI>
0079 <LI>macOS 14.7 Sonoma with Apple LLVM/clang-15</LI>
0080 <LI>Windows/10 with Visual C++ 14.36 (Visual Studio 2022)</LI>
0081 </UL>
0082 
0083 <P> </P>
0084 <A NAME="2."></A>
0085 <HR>
0086 
0087 <!-- ============================================== -->
0088 
0089 <H2>2. Supported CLHEP, VecGeom and PTL versions</H2>
0090 
0091 This release of Geant4 has been verified with
0092 <A TARGET="ext" HREF="https://cern.ch/clhep/">CLHEP</A>, release <B>2.4.7.1</B>.
0093 Use of a different CLHEP version may cause incorrect simulation results.<BR>
0094 NOTE: an internal module of the relevant CLHEP classes is provided and can be
0095 used as alternative to an external CLHEP library installation.<BR>
0096 A configuration option allows a Geant4 installation to use the
0097 <A TARGET="ext" HREF="https://gitlab.cern.ch/VecGeom/VecGeom/">VecGeom Library</A>
0098 primitives, to replace the original Geant4 solids.<BR>
0099 VecGeom version <B>2.0.0-rc3</B> or <B>1.2.10</B> can be adopted when using
0100 such configuration.<BR>
0101 PTL version <B>3.0.1</B> or later is required for external installation of the
0102 <A TARGET="ext" HREF="https://github.com/jrmadsen/PTL">PTL tasking library</A>.<BR>
0103 CMake <B>3.16</B> is the minimum version required to build Geant4.
0104 
0105 <P> </P>
0106 <A NAME="3."></A>
0107 <HR>
0108 
0109 <!-- ============================================== -->
0110 
0111 <H2>3. Items for migration of the user code</H2>
0112 
0113 Listed here is some relevant information on developments included in this
0114 release.
0115 Note that for all users a full re-installation of libraries (or a full
0116 re-compilation) and a re-compilation of user applications is required.
0117 
0118 <P> </P>
0119 <B>General</B>
0120 <P> </P>
0121 <UL>
0122 <LI>Fixed spurious compilation warnings on gcc when LTO settings are enabled.</LI>
0123 <LI>Set default for GEANT4_INSTALL_PACKAGE_CACHE to be OFF.
0124     This file is highly unstable on macOS and Spack installs, causing
0125     problems for most users. Retain the ability to install this file if
0126     really wanted, but change the default to NOT install it; in
0127     general this will not change anything for users provided they have a
0128     reproducible build environment setup.</LI>
0129 <LI>Removed configuration/setup of no longer supported TiMemory profiling.</LI>
0130 </UL>
0131 
0132 <P> </P>
0133 <B>Analysis</B>
0134 <UL>
0135 <LI>The G4Accumulable class was renamed in G4AccValue including the related
0136     functions in G4AccumulableManager; the old class name is still available
0137     via using.</LI>
0138 <LI>The following G4AccumulableManager functions are deprecated (a warning
0139     will be issued in compilation if present in user code):
0140     <UL>
0141     <LI><TT>CreateAccumulable&lt;T&gt;()</TT> [new name: <TT>CreateAccValue&lt;T&gt;()</TT>]</LI>
0142     <LI><TT>GetAccumulable&lt;T&gt;()</TT> [new name: <TT>GetAccValue&lt;T&gt;()</TT>]</LI>
0143     <LI><TT>RegisterAccumulable&lt;T&gt;()</TT> [new name: <TT>Register&lt;T&gt;()</TT>]</LI>
0144     </UL></LI>
0145 <LI>Newly added function <TT>Print(G4PrintOption)</TT> in the accumulable base
0146     class G4VAccumulable requires to adapt user classes which implement the
0147     <TT>Print()</TT> function without or with different arguments.</LI>
0148 </UL>
0149 
0150 <P> </P>
0151 <B>Electromagnetic and optical physics</B>
0152 <P> </P>
0153 <UL>
0154 <LI>New dataset G4EMLOW8.6.1 is required and should be used.</LI>
0155 </UL>
0156 
0157 <P> </P>
0158 <B>Hadronic physics</B>
0159 <P> </P>
0160 <UL>
0161 <LI>New hadronic datasets <TT>G4ENSDFSTATE-3.0, G4PhotonEvaporation-6.1,
0162     G4RadioactiveDecay-6.1.2, G4PARTICLEXS-4.1</TT> are required and should be
0163     used.</LI>
0164 <LI>Since Geant4 version 11.2, the physics list QGSP_BERT_HP has a treatment
0165     of low energy (&lt; <TT>20 MeV</TT>) neutrons which is not the same as for
0166     the other HP-based reference physics list (FTFP_BERT_HP, QGSP_BIC_HP,
0167     Shielding, etc.).
0168     QGSP_BERT_HP is still under validation, therefore it is not recommended for
0169     physics studies, but users are welcome to try out and provide feedback.</LI>
0170 <LI>Renamed G4RadioactiveDecay to G4VRadioactiveDecay and G4Radioactivation
0171     to G4RadioactiveDecay. The header for G4Radioactivation is preserved to
0172     provide backwards compatibility.</LI>
0173 </UL>
0174 
0175 <P> </P>
0176 <B>Run</B>
0177 <UL>
0178 <LI>G4TaskRunManager now organises workers so that each divides its events
0179     evenly across N tasks, rather than one task that processes all events for
0180     the worker. This should have no observable effect, though applications
0181     using the TBB backend to share it with non-Geant4 tasks may see different
0182     overall task numbers and ordering. Event order and reproducibility are not
0183     affected.</LI>
0184 <LI>Tuned verbose levels to reduce printouts during event loop.</LI>
0185 <LI>Added protection in <TT>G4VPrimaryGenerator::SetParticlePosition()</TT> to
0186     avoid and warn for attempts to place vertex position outside or on surface
0187     of the world volume.</LI>
0188 <LI>Cleanly delete G4Event objects at the end of each run as long as the
0189     events are not requested to be kept for redrawing during the following
0190     <TT>Idle</TT> state. The kept events are deleted at the beginning of next
0191     run or at program termination.
0192 </UL>
0193 
0194 <P> </P>
0195 <B>Visualization and Modeling</B>
0196 <P> </P>
0197 <UL>
0198 <LI>Restored OpenGL as default backend for Qt6. Fixed open issues when using
0199     Qt6 with supported drivers. Qt6 is now fully supported.</LI>
0200 </UL>
0201 
0202 <P> </P>
0203 <B>Data Sets</B>
0204 <P> </P>
0205 <UL>
0206 <LI>This release introduces new data set versions.
0207     Please see the corresponding details in
0208     <A href="#data-notes">Section 9</A> of this document.
0209     <UL>
0210     <LI>New data set versions: <TT>G4ENSDFSTATE-3.0, G4PhotonEvaporation-6.1,
0211         G4RadioactiveDecay-6.1.2, G4CHANNELINGDATA-1.0, G4EMLOW-8.6.1,
0212         G4PARTICLEXS-4.1</TT>.</LI>
0213     <LI>New optional data sets: <TT>G4NUDEXLIB-1.0, G4URRPT-1.1</TT>.</LI>
0214     <LI>In order to use <TT>ParticleHP</TT> for charged particles
0215         (protons, deuterons, tritons, He3 and alphas), an optional data
0216         set <TT>G4TENDL-1.4</TT> is required, and can be optionally
0217         downloaded in addition.</LI>
0218     </UL></LI>
0219 </UL>
0220 
0221 <A NAME="4."></A>
0222 <HR>
0223 
0224 <!-- ============================================== -->
0225 
0226 <H2>4. New Developments and Capabilities </H2>
0227 
0228 <B>General</B>
0229 <UL>
0230 <LI>First full implementation of sub-event parallelism, with creation and
0231     processing of sub-events in workers, and merging of results back into
0232     events on the main thread. Added sub-event parallel mode as an option
0233     in G4RunManagerFactory and new UI command for allowing trajectory merging.</LI>
0234 </UL>
0235 
0236 <B>Analysis</B>
0237 <UL>
0238 <LI>Added support for accumulable collections in analysis module.</LI>
0239 </UL>
0240 
0241 <B>Geometry & Field</B>

0242 <UL>

0243 <LI>Added option for performing the geometry initialisation phase,

0244     i.e. creating the 'optimisation' voxels for navigation, in parallel mode.

0245     The user can enable this option by calling the method

0246     <TT>RequestParallelOptimisation(optimise, verbose)</TT> of

0247     G4GeometryManager.</LI>

0248 <LI>New revised and optimised implementation of G4GenericTrap shape.</LI>

0249 <LI>Improved/optimised implementation of <TT>GetCubicVolume()</TT> in Boolean

0250     solids.</LI>

0251 <LI>Added new G4FieldBuilder class to construct what is needed (to carry out

0252     the propagation) for a user-specified type (class) of a magnetic or

0253     electromagnetic field; added also new classes to hold the accuracy
0254     parameters for the propagation tracks in magnetic or EM fields.
0255     Instantiating G4FieldBuilder also creates a set of UI commands in the
0256     <TT>/field</TT> directory, for changing the default field integrator,
0257     equation of motion and the accuracy parameters.
0258     Note: the field class can be either user-defined or an existing type
0259     from the toolkit, such as G4QuadrupleMagField or G4UniformElectricField.</LI>
0260 </UL>
0261 
0262 <B>Materials</B>
0263 <UL>
0264 <LI>Extended diagnostics and output from material scanner.</LI>
0265 </UL>
0266 
0267 <B>Electromagnetic physics</B>
0268 <UL>
0269 <LI>New processes G4DynamicParticleIonisation, G4DynamicParticleMSC and
0270     G4DynamicParticleFluctuation, which perform computations on the fly using
0271     only G4DynamicParticle data.</LI>
0272 <LI>Optimised step limitation algorithm in G4UrbanMscModel.</LI>
0273 <LI>G4eeToTwoGammaModel: fixed precision lost in sampling of final state
0274     for very high energies.</LI>
0275 <LI>New class G4EmDataRegistry, to keep EM data tables.</LI>
0276 <LI>New 5D model for e+e- pair production by muons; classes
0277     G4RiGeMuPairProductionModel and G4RiGeAngularGenerator.</LI>
0278 <LI>New G4OrePowellAtRestModel and G4PolarizedOrePowellAtRestModel classes,
0279     for Orel & Powell orto positronium decay model at rest, also polarized.</LI>

0280 <LI>Implemented new model of ionization losses for e+- ionization for

0281     channeling using the new channeling dataset.</LI>

0282 <LI>New process G4CoherentPairProduction for the simulation of coherent

0283     pair production by high energy gamma in an oriented crystal.</LI>

0284 <LI>Simplified computation of cross-section maximum for discrete processes

0285     in G4EmUtility.</LI>

0286 <LI>Introduced new classes G4UnknownParticle and G4ChargedUnknownParticle,

0287     part of ATLAS and LHCb request to assign automatically ionisation and

0288     multiple scattering processes to charged primary particles with valid PDG

0289     code but not known to Geant4.</LI>

0290 <LI>Implemented production and decay of omega(780) and f2(1270) for pion

0291     projectile and implemented decay of unstable isomers of recoil nucleus

0292     if not a natural isotope.</LI>

0293 <LI>New class G4XTRGaussRadModel, providing improved account on the origin

0294     of XTR photons.</LI>

0295 <LI>Updated adjoint simulation classes to allow running adjoint simulation

0296     in MT mode.</LI>

0297 <LI><U>Geant4-DNA</U>

0298     <UL>

0299     <LI>New classes implementing general models for ions heavier than Helium:

0300         G4GeneralIonIonisationModel, G4DNAIonChargeIncreaseModel and

0301         G4DNAIonChargeDecreaseModel.</LI>

0302     <LI>New class focusing on generating multiple-ionised water ions and

0303         calculating scale parameters to compute cross-sections of each

0304         multiple-ionisation process: G4DNAMultipleIonisationManager.</LI>

0305     <LI>New process classes for multiple-ionisation: G4DNADoubleIonisation,

0306         G4DNATripleIonisation and G4DNAQuadrupleIonisation.</LI>

0307     <LI>New model classes related to multiple-ionisation:

0308         G4DNADoubleIonisationModel, G4DNATripleIonisationModel and

0309         G4DNAQuadrupleIonisationModel.</LI>

0310     <LI>In G4EmDNAPhysics, defining default maximum kinetic energy

0311         <TT>600 MeV</TT> instead of <TT>300 MeV</TT> in order to have standard

0312         ionisation and multiple scattering always defined for DNA physics

0313         configurations.</LI>

0314     </UL></LI>

0315 </UL>

0316 

0317 <B>Hadronic physics</B>

0318 <UL>

0319 <LI>The angular emission for 4-body and higher-body generation in the Bertini-like

0320     intranuclear cascade model BERT has been improved.

0321     This has a visible impact on the simulation of hadronic showers for most of the

0322     reference physics lists, including FTFP_BERT and QGSP_BERT.</li>

0323 <LI>First implementation of the optional NuDEX nuclear de-excitation hadronic model,

0324     which provides a detailed emission of gammas and internal conversion electrons

0325     from the de-excitation of nuclei.

0326     This model relies on the new, optional dataset G4NUDEXLIB-1.0, accessed through

0327     the G4NUDEXLIBDATA environmental variable. 

0328     For the time being, NuDEX can be utilised only for neutron capture in the

0329     physics list QGSP_BERT_HP. To enable it, one needs to include the following

0330     C++ code line <TT>G4HadronicParameters::Instance()->SetEnableNUDEX(true);</TT>
0331     in the main program, before instantiating the physics list.</li>
0332 <LI>For low-energy (&lt; <TT>20 MeV</TT>) neutrons, introduced the optional
0333     treatment of the Unresolved Resonance Region (URR) via Probability
0334     Table (PT), relevant for precise simulations of nuclear reactor criticality
0335     and shielding applications.
0336     This special treatment can be activated on top of any reference physics list
0337     based on HP or HPT by using the new physics list constructor class
0338     G4URRNeutrons. There are two possible types of probability tables - NJOY and
0339     CALENDF - and the choice between them can be done via the C++ code line, e.g.
0340     <TT>G4HadronicParameters::Instance()->SetTypeTablePT("njoy")</TT>
0341     in the main program, before instantiating the physics list.
0342     This treatment, when activated, needs the new, optional dataset G4URRPT-1.1,
0343     accessed through the G4URRPTDATA environmental variable.</LI>
0344 <LI>New class G4InterfaceToXS, to compute inverse cross-section using
0345     G4PARTICLEXS cross-sections for neutrons and light ions.</LI>
0346 <LI>Optimised G4ChargeExchangeXS, switching computations from level of
0347     isotopes to level of elements and making the code running faster
0348     without loss of accuracy.</LI>
0349 <LI>Added "HPT" extension to support adding G4ThermalNeutrons to extensible
0350     physlist factory.</LI>
0351 <LI>In de-excitation hadronic model, improved algorithm for handling of broken
0352     levels in G4LevelReader.</LI>
0353 <LI>Updates to cross-section classes to rationalise initialisation of data
0354     in MT mode.</LI>
0355 </UL>
0356 
0357 <B>Physics Lists</B>
0358 <UL>
0359 <LI>New physics list constructor class G4ChargedUnknownPhysics, to be used
0360     on top on any reference physics list, to assign ionisation and multiple
0361     scattering (as well as transportation) processes to exotic charged particles,
0362     i.e. primary charged particles with valid PDG code but not known to Geant4.</LI>
0363 <LI>Added three new variants of <TT>Shielding</TT> physics list in
0364     G4PhysListFactory: <TT>ShieldingLIQMD</TT>, <TT>ShieldingLIQMD_HP</TT> and
0365     <TT>ShieldingLIQMD_HPT</TT>. These variants use the model G4LightIonQMDReaction.
0366     Note that <TT>ShieldingLIQMD</TT> and <TT>ShieldingLIQMD_HP</TT> are the same:
0367     the latter is introduced for consistency.</LI>
0368 </UL>
0369 
0370 <B>Visualization and Interfaces</B>
0371 <UL>
0372 <LI>Improved plotting with <TT>/vis/plot</TT> if TOOLS_USE_FREETYPE flag is set.
0373     Set GEANT4_USE_FREETYPE=ON in CMake.</LI>
0374 <LI>Improved identification of scene tree models in visualisation.
0375     Now suppressing the scene tree if the number of touchables exceeds
0376     10000 (equivalent to about 20 MB).</LI>
0377 </UL>
0378 
0379 <B>Examples</B>
0380 <UL>
0381 <LI>Extended example RE03 in 'extended/runAndEvent', demonstrating the ability
0382     to run in sub-event parallel mode.</LI>
0383 <LI>Introduced 'exoticphysics/channeling' examples category, created 'ch0'
0384     example out of the original example and added 'ch1', 'ch2' and 'ch3'
0385     examples. ch1: an easy demonstration of the minimum requirements necessary
0386     to integrate the G4ChannelingFastSimModel and the G4BaierKatkov model into
0387     a project in order to simulate the physics of channeling and channeling
0388     radiation/coherent bremsstrahlung; ch2: an enhanced version of ch1,
0389     providing the user with the full functionality of both demonstrated models,
0390     with parameters set up via a macro; ch3: demonstrating the minimum
0391     requirements necessary to integrate the G4CoherentPairProduction process
0392     into a project, along with the demonstrated models, to simulate the physics
0393     of electromagnetic showers in an oriented crystal.</LI>
0394 <LI>Created a new dna category for Geant4-DNA advanced examples, including
0395     <TT>moleculardna</TT> example, moved from extended category and new
0396     <TT>cellularPhantom</TT> application, showing how to simulate the
0397     irradiation of a 3D voxel phantom containing biological cells, created
0398     from a confocal microscopy 24-bit RGB image. Reference:
0399     P. Barberet et al., "Monte-Carlo dosimetry on a realistic cell monolayer

0400     geometry exposed to alpha-particle", Phys. Med. Biol. 57 (2012) 2189-2207.</LI>
0401 <LI>The Periodic Boundary Condition is implemented in the UHDR extended example
0402     for Geant4-DNA microdosimetry simulations, based on 
0403     <A TARGET="ext" HREF="https://github.com/amentumspace/g4pbc">https://github.com/amentumspace/g4pbc</A>.
0404     The effective box model is also implemented in the UHDR example based
0405     on M. Karamitros et al., arXiv:2006.14225 (2020).</LI>
0406 </UL>
0407 
0408 <A NAME="5."></A>
0409 <HR>
0410 
0411 <!-- ============================================== -->
0412 
0413 <H2>5. Expected effects on physics and computing performance</H2>
0414 
0415 <B>Electromagnetic physics</B>
0416 <UL>
0417 <LI>Electromagnetic shower shapes will be affected on level of per mille
0418     if 3-gamma annihilation is enabled. For low energy positively charged
0419     particles the agreement of simulation versus data will be improved.</LI>
0420 </UL>
0421 
0422 <B>Hadronic physics</B>
0423 <UL>
0424 <LI>Due to the improvement in the angular emission of &gt;= 4 particles in the
0425     final-state of the BERT model, the hadronic showers for most of the reference
0426     physics lists, including FTFP_BERT and QGSP_BERT, have few per-cent higher
0427     energy response and narrower lateral shower shapes with respect to the
0428     previous version, Geant4 11.2.
0429     In other words, the hadronic string models (FTF and QGS) and the intranuclear
0430     cascade model BERT become closer to each other in this Geant4 release.</LI>
0431 <LI>The new hadronic dataset G4PhotonEvaporation-6.1 produces some visible differences
0432     in the final-state of the photo-evaporation model in Tungsten, with respect to
0433     the previous version.
0434     This has an impact, at the per-cent level, on hadronic showers in Tungsten
0435     calorimeters only for the physics lists QGSP_BIC and QGSP_INCLXX (whereas
0436     those that are based on BERT model, e.g. FTFP_BERT and QGSP_BERT, are not
0437     affected because BERT has its own internal nuclear de-excitation model that
0438     does not use the G4PhotonEvaporation-6.1 dataset).</LI>
0439 </UL>
0440 
0441 <P> </P>
0442 <A NAME="6."></A>
0443 <HR>
0444 
0445 <!-- ============================================== -->
0446 
0447 <H2>6. Known Run-Time Problems and Limitations</H2>
0448 For a complete list of outstanding run-time problems and to submit any
0449 problem you may find while running this version of Geant4, please refer
0450 to the
0451 <A TARGET="ext" HREF="https://bugzilla-geant4.kek.jp/">Geant4 Problem
0452 Reporting System</A>.
0453 
0454 <P> </P> 
0455 <A NAME="7."></A>
0456 <HR>
0457 
0458 <!-- ============================================== -->
0459 
0460 <H2>7. Compilation Warnings</H2>
0461 
0462 There may be a few compilation warnings on some platforms.
0463 We do not believe that any of these lead to incorrect run-time behaviour.
0464 
0465 <P> </P>
0466 <A NAME="8."></A>
0467 <HR>
0468 
0469 <!-- ============================================== -->
0470 
0471 <H2>8. Geant4 Software License</H2>
0472 
0473 A Software License applies to the Geant4 code.
0474 Users must accept this license in order to use it.<BR>
0475 The details and the list of copyright holders is available at
0476 <A href="https://cern.ch/geant4/license">https://cern.ch/geant4/license</A>
0477 and also in the text file <TT>LICENSE</TT> distributed with the source code.
0478 
0479 <P> </P>
0480 <A NAME="9."></A>
0481 <HR>
0482 
0483 <!-- ============================================== -->
0484 
0485 <H2>9. Detailed list of changes and fixes</H2>
0486 
0487 These are the main new features/fixes included in this release since the
0488 last patched public release (for more detailed lists of fixes/additions,
0489 please refer to the corresponding History files provided in most packages):
0490 
0491 <P> </P>
0492 
0493 <A NAME="conf-notes">
0494 <H3><I>Configuration</I></H3></A>
0495 <UL>
0496 <LI><U>CMake</U>
0497     <UL>
0498     <LI>Support running example build-and-run tests in XCode on macOS.</LI>
0499     <LI>Added support for use of sanitizers with XCode; ensure sanitizer flags
0500         are forwarded to the linker when using Xcode, and all linker flags are
0501         forwarded to builds of tests.</LI>
0502     <LI>Added compiler flags for GCC only to help detect/debug LTO-related
0503         problems when building with CMAKE_INTERPROCEDURAL_OPTIMIZATION.</LI>
0504     <LI>Provide CMake function to assist in linking unit tests to final
0505         libraries given required source code modules.</LI>
0506     <LI>Removed configuration/setup of no longer supported TiMemory profiling.
0507     <LI>Introduced new <TT>FullRelWithDebInfo</TT> build mode, <TT>-O3 -g</TT>,
0508         so maximum optimisation with debugging symbols.</LI>
0509     <LI>Simplifications to Geant4Config.cmake: removed obsolete and never run
0510         "whole archive" linking of G4physics_lists; replaced TOOLSSG
0511         visualisation driver variables that are just synonyms for more
0512         fundamental config options (e.g. GEANT4_USE_QT) with the underlying
0513         variable.</LI>
0514     <LI>Simplified CMake/CTest functions and settings: moved <TT>geant4_add_test</TT>
0515         function to dedicated module, retiring <TT>UseGeant4_internal</TT> file;
0516         reduced oversetting of <TT>Geant4_DIR</TT> variable for use by tests.</LI>
0517     <LI>Set default for GEANT4_INSTALL_PACKAGE_CACHE to be OFF.
0518         This file is highly unstable on macOS and Spack installs, causing
0519         problems for most users. Retain the ability to install this file if
0520         really wanted, but change the default to NOT install it; in
0521         general this will not change anything for users provided they have a
0522         reproducible build environment setup.</LI>
0523     <LI>Added optional install of new NuDEXLib and URRPT datasets.</LI>
0524     <LI>Bump minimum VecGeom version to 1.2.9.</LI>
0525     <LI>New data sets <TT>G4ENSDFSTATE-3.0</TT>, <TT>G4PhotonEvaporation-6.1</TT>,
0526         <TT>G4RadioactiveDecay-6.1.2</TT>, <TT>G4CHANNELINGDATA-1.0</TT>,
0527         <TT>G4EMLOW-8.6.1</TT>, <TT>G4PARTICLEXS-4.1</TT>,
0528         <TT>G4NUDEXLIB-1.0</TT>, <TT>G4URRPT-1.1</TT>.</LI>
0529     <LI>Updated tag-IDs for 11.3.</LI>
0530     </UL></LI>
0531 </UL>
0532 
0533 <A NAME="ana-notes">
0534 <H3><I>Analysis</I></H3></A>
0535 <UL>
0536 <LI>Added support for accumulable collections.
0537     New classes: G4AccArray, G4AccMap, G4AccUnorderedMap, G4AccVector.</LI>
0538 <LI>Added G4AccType enumeration for available accumulable types.</LI>
0539 <LI>Added functions for printing with G4PrintOption argument to all accumulable
0540     types and G4AccumulableManager (Note - this will require to update user
0541     classes which implement the Print() function without or with different
0542     arguments).</LI>
0543 <LI>Added <TT>VerboseLevel</TT> in G4Accumulables and its setter/getter
0544     in G4AccumulableManager.</LI>
0545 <LI><U>Internal changes</U>:
0546     <UL>
0547     <LI>Renamed class G4Accumulable<T> in G4AccValue<T>, and added a using for
0548         the old name for backward compatibility.</LI>
0549     <LI>In G4AccumulableManager, replaced <TT>RegisterAccumulable()</TT> with
0550         <TT>Register()</TT> and deprecated the function with the old name.</LI>
0551     </UL></LI>
0552 <LI><U>Fixes</U>:
0553     <UL>
0554     <LI>Fixed setting of file compression level in G4GenericFileManager:
0555         propagate setting to all registered file managers.
0556         Addressing problem report
0557         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2625">#2625</A>.</LI>
0558     <LI>Applyed clang-tidy checks to code (use of override, redundant data
0559         initialisation, use of <TT>emplace-back</TT>).</LI>
0560     <LI>Fixed reported Coverity defects (use <TT>std::move()</TT> and
0561         <TT>const auto&</TT>, to avoid copying).</LI>

0562     </UL></LI>

0563 </UL>

0564 

0565 <A NAME="digits-notes">

0566 <H3><I>Digitization &amp; Hits</I></H3></A>
0567 <UL>
0568 <LI>Fixed reported Coverity defects, use consistently <TT>const G4String&</TT>

0569     to avoid implicit copy.</LI>

0570 <LI>Fixed class description in headers. Use G4 types.</LI>

0571 </UL>

0572 

0573 <A NAME="emstd-notes">

0574 <H3><I>Electromagnetic Processes</I></H3></A>

0575 <UL>

0576 <LI><B>Adjoint</B>

0577     <UL>

0578     <LI>Updates to allow running adjoint simulation in MT mode.</LI>

0579     <LI>Fixed reported Coverity defects for use of <TT>const G4String&</TT>

0580         and <TT>std::move()</TT>.</LI>

0581     <LI>Minor code cleanup (use of default destructor, <TT>std::size_t</TT>,

0582         G4 types, ...).</LI>

0583     </UL></LI>

0584 <LI><B>DNA</B>:

0585     <UL>

0586     <LI>Modified the molecule names of OH, HO2, O in MoleculeDefinition.

0587         Each molecule configuration has a molecule definition.</LI>

0588     <LI>Optimised IRT-syn at <TT>1 ps</TT> for high LET applications.</LI>

0589     <LI>G4DNARuddIonisationExtendedModel: updated model to not use autolock but

0590         rather upload data in the class constructor once in all threads; use
0591         effective charge approach for all ions with <TT>Z > 2</TT> (in order to
0592         have more correct computation of stopping power and ranges); precompute
0593         internal variables before sampling; optimised algorithm of sampling
0594         (at <TT>10 MeV</TT> it becomes considerably faster); updated initialisation
0595         to allow be called from the general model; removed unused parameters.</LI>
0596     <LI>G4GeneralIonIonisationModel, G4DNAIonChargeIncreaseModel and
0597         G4DNAIonChargeDecreaseModel: new classes implementing general models
0598         for ions heavier than Helium.</LI>
0599     <LI>Fixed missing value in DNA PTB Ionization Structure.</LI>
0600     <LI>Fixed missing <TT>GetMaterial()</TT> in DNA PTB Excitation and Elastic
0601         models as suggested in
0602         <A HREF="https://github.com/Geant4/geant4/pull/78">GitHub PR#78</A>.</LI>
0603     <LI>G4DNAChargeDecrease, G4DNAChargeIncrease: removed obsolete definition
0604         of min/max model energy inside processes class; some code clean-up.</LI>
0605     <LI>G4DNAElectronHoleRecombination: changed branch condition in
0606         <TT>FindReactant()</TT> to select only <TT>H2O+</TT> ions involved in
0607         electron-hole recombination.</LI>
0608     <LI>G4DNAWaterDissociationDisplacer: added dissociative decay channels for
0609         multiple-ionised water ions.</LI>
0610     <LI>G4DNAMultipleIonisationManager: new class focusing on generation of
0611         multiple-ionised water ions and calculation of scale parameter to
0612         compute cross-section of each multiple-ionisation process.</LI>
0613     <LI>G4DNADoubleIonisation, G4DNATripleIonisation and
0614         G4DNAQuadrupleIonisation: new process classes for multiple-ionisation.</LI>
0615     <LI>G4DNADoubleIonisationModel, G4DNATripleIonisationModel and
0616         G4DNAQuadrupleIonisationModel: new model classes related to
0617         multiple-ionisation.</LI>
0618     <LI>G4DNAELSEPAElasticModel: modified to be compatible with density
0619         scaling.</LI>
0620     <LI>Fixed condition for node insertion in G4KDTree.</LI>
0621     <LI>Deleted DelayLists at the end of chemistry stage.</LI>
0622     <LI>Delete unused enum, as now adopting EmParameters to control chemistry
0623         models in G4EmDNAChemistry_option3.</LI>
0624     <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT>,
0625         <TT>const auto&</TT> and const iterators.</LI>

0626     <LI>Fixed reported Coverity defects in G4LEPTSElossDistr and

0627         G4LEPTSDistribution for explicit null dereferenced pointer and

0628         out-of-bounds reads; minor code cleanup.</LI>
0629     <LI>Cleaned G4Scheduler and cleanup in CMake scripts.</LI>
0630     </UL></LI>
0631 <LI><B>High Energy</B>
0632     <UL>
0633     <LI>Added new processes G4DynamicParticleIonisation, G4DynamicParticleMSC
0634         and G4DynamicParticleFluctuation, which perform computations on the fly
0635         using only G4DynamicParticle data (G4ParticleDefinition is not used).</LI>
0636     </UL></LI>
0637 <LI><B>Low Energy</B>
0638     <UL>
0639     <LI>G4MicroElecCapture: fixed Coverity warning about division by zero via
0640         modification of the formula to compute MFP and added an upper limit
0641         <TT>500 eV</TT> for this process.</LI>
0642     <LI>Fix in G4PenelopeBremsstrahlungAngular, for a crash observed when the 
0643         angular generator is used with a Bremsstrahlung model other than 
0644         G4PenelopeBremsstrahungModel.</LI>
0645     <LI>In G4UAtomicDeexcitation, reset vector <TT>vacancyArray</TT> in
0646         <TT>GenerateParticles()</TT>, to avoid rare case of event
0647         non-reproducibility, observed when using EM Opt4 (EMZ) physics-list.</LI>
0648     <LI>G4FluoData, G4hIonEffChargeSquare, G4MicroElecInelasticModel_new:
0649         fixed reported Coverity defects.</LI>
0650     <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT>.</LI>
0651     <LI>G4MicroElecLOPhononModel: minor code cleanup.</LI>
0652     </UL></LI>
0653 <LI><B>Muons</B>
0654     <UL>
0655     <LI>G4RiGeMuPairProductionModel, G4RiGeAngularGenerator: a new 5D model
0656         for e+e- pair production by muons.</LI>
0657     <LI>Fixed declaration of virtual destructors in several header files.</LI>
0658     <LI>G4MuPairProductionModel: minor cleanup for better code readability.</LI>
0659     </UL></LI>
0660 <LI><B>Standard</B>
0661     <UL>
0662     <LI>New G4OrePowellAtRestModel class, Orel & Powell orto positronium decay

0663         model AtRest. New class G4PolarizedOrePowellAtRestModel for polarized

0664         Orel & Powell orto positronium decay model at rest.</LI>

0665     <LI>G4IonICRU73Data: fix for the case when target material has an element

0666         with <TT>Z&gt;92</TT>; improved debug printouts. In the Lindhard-Sorensen
0667         model to compute dEdx the first try is to take it from ICRU73 or ICRU90
0668         data, if this class returns zero, then dEdx is computed from
0669         G4GenericIon and effective charge. Addressing problem report
0670         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2586">#2586</A>.</LI>
0671     <LI>G4eeToTwoGammaModel: fixed precision lost in sampling of final state
0672         for the very high energy (ATLAS report).</LI>
0673     <LI>G4UrbanMscModel: optimised DistanceToBoundary step limitation
0674         algorithm currently used only in Opt3 EM physics.</LI>
0675     <LI>G4SimplePositronAtRestModel, G4AllisonAtRestModel: new classes to
0676         sample positron annihilation.</LI>
0677     <LI>Renamed G4eplusTo2GammaOKVIModel to G4eplusTo2or3GammaModel.
0678         Removed sampling at rest.</LI>
0679     <LI>G4WentzelOKandVIxSection: fixed rejection factor for sampling of single
0680         scattering with nuclear form-factor. Addressing problem report
0681         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2627">#2627</A>.</LI>
0682     <LI>G4BraggModel: fixed issue observed with <TT>4.12 MeV</TT> mu+ range,
0683         reported in Users Forum.</LI>
0684     <LI>Static initialization improvement for G4eBremsstrahlungRelModel.
0685         Use <TT>std::shared_ptr</TT> for LPMFuncs and ElementData.</LI>
0686     <LI>G4ionIonisation: use G4BraggIonModel only for alpha and G4BraggModel
0687         for other ions in the default EM physics.</LI>
0688     <LI>G4eplusAnnihilation: added selection of AtRest model; implemented
0689         <TT>ApplyCuts()</TT> for AtRest; implemented choice of positron
0690         annihilation model at rest. Use more const class members; changed
0691         model ID definition for produced tracks. Updated configuration of
0692         models AtRest, the choice of 2-gamma, 3-gamma final states is
0693         implemented in one place. Use orto positronium fraction from material
0694         property and not from EM parameters.</LI>
0695     <LI>G4BetheBlochModel: set flags <TT>isIon</TT> and <TT>isAlpha</TT> at
0696         initialisation and not at run time.</LI>
0697     <LI>G4BetheHeitlerModel: include optional possibility to use EPICS2017
0698         cross-section.</LI>
0699     <LI>G4BetheHeitler5DModel: added extra protection against division by zero.</LI>
0700     <LI>Fixed reported Coverity defects in several classes.</LI>
0701     </UL></LI>
0702 <LI><B>Utils</B>
0703     <UL>
0704     <LI>G4EmElementXS: new helper class to cross-section data.</LI>
0705     <LI>G4EmParameters: increased low-limit on 'maxKinEnergy' parameter from
0706         <TT>10 MeV</TT> to <TT>600 MeV</TT> in order to have standard ionisation
0707         and multiple scattering always defined for DNA physics configurations. 
0708         Added protection to fix segmentation fault when data is unavailable.
0709         Added flag to enable/disable the new Ricardo-Gerardo model of e+e-
0710         pair production.</LI>
0711     <LI>G4EmParameters, G4EmParametersMessenger: added enumerator and a new
0712         flag G4PositronAtRestModel, which allows selection and configuration of
0713         the model of positron annihilation at rest. Added orto positronium
0714         fraction flag. Added Ore-Powell models to the list of models for
0715         positron annihilation at rest. Added Boolean flag <TT>UseEPICS2017</TT>.
0716         Removed parameter defining fraction of orto positronium for all
0717         materials. Added flag to enable/disable 3 gamma annihilation on fly.</LI>
0718     <LI>G4EmConfigurator: handle G4TransportationWithMsc process name.</LI>
0719     <LI>G4TransportationWithMsc: set TRANSPORTATION_WITH_MSC process sub-type.</LI>
0720     <LI>G4LowEnergyEmProcessSubType: added <TT>fLowEnergyTripleIonisation</TT>
0721         and <TT>fLowEnergyQuadrupleIonisation</TT> for implementing
0722         multiple-ionisation processes in Geant4-DNA.</LI>
0723     <LI>G4VPositronAtRestModel: new virtual interface.</LI>
0724     <LI>G4EmDataRegistry: new class to keep EM data tables.</LI>
0725     <LI>G4VEmProcess: extended info printout for e+ annihilation at rest.</LI>
0726     <LI>G4VEmProcess, G4VEnergyLossProcess: improved identification of model ID
0727         for atomic de-excitation (fluorescence, Auger e-, PIXE).</LI>
0728     <LI>G4EmParameters, G4EmLowEParameters, G4EmLowEParametersMessenger: added
0729         DNA chemistry time step model.</LI>
0730     <LI>G4EmDataHandler: extended functionality.</LI>
0731     <LI>G4LossTableManager: identify master thread using <TT>std</TT> method.</LI>
0732     <LI>G4LossTableBuilder: more accurate use of static members and methods.</LI>
0733     <LI>G4VEmModel, G4VEmProcess, G4VEnergyLossProcess, G4EmTableUtil: updated
0734         according to change in the data.</LI>
0735     <LI>G4VMscModel: moved initialisation of tables for model to G4EmTableUtil.</LI>
0736     <LI>G4EmBiasingManager: minor cosmetic change.</LI>
0737     <LI>G4EmProcessSubType: added sub-types for dynamic EM processes
0738         (G4ParticleDefinition is not used, all computations on the fly).
0739         Added coherent channeling pair production process type.</LI>
0740     <LI>Fixed reported Coverity defects.</LI>
0741     </UL></LI>
0742 <LI><B>Xrays</B>
0743     <UL>
0744     <LI>G4XTRGaussRadModel: new class providing improved account on the origin
0745         of XTR photons.</LI>
0746     <LI>G4VTRModel: added empty implementation to <TT>GenerateSecondaries()</TT>
0747         method  to resolve linker error on clang compiler.</LI>
0748     <LI>Fixed reported Coverity defect in G4VXTRenergyLoss.</LI>
0749     </UL></LI>
0750 </UL>
0751 
0752 <A NAME="error-propagation">
0753 <H3><I>Error Propagation</I></H3></A>
0754 <UL>
0755 <LI>Fixed reported Coverity defect in G4ErrorFreeTrajState for use of
0756     <TT>const G4String&</TT> and <TT>std::move()</TT>.</LI>

0757 </UL>

0758 

0759 <A NAME="event-notes">

0760 <H3><I>Event</I></H3></A>

0761 <UL>

0762 <LI>Implementated new feature for creation and processing of sub-events.</LI>

0763 <LI>Added protection in G4VPrimaryGenerator in <TT>SetParticlePosition()</TT>

0764     to avoid and warn for attempts to place vertex position outside or on

0765     surface of the world volume.</LI>

0766 <LI>In G4Event, changed data member <TT>keepTheEvent</TT> to <TT>mutable</TT>

0767     so that <TT>KeepTheEvent()</TT> method can be invoked forconst G4Event

0768     object.</LI>

0769 <LI>G4PrimaryTransformer: adding sanity check of 4-momentum.</LI>

0770 <LI>Added UI command to switch on/off the vertex position check (default: on).</LI>

0771 <LI>Updated <TT>/gun/position</TT> UI command guidance in G4ParticleGunMessenger.

0772     Removed unnecessary setting of gun position to <TT>(0, 0, 0)</TT>.</LI>

0773 <LI>Improved use of Mutex lock in G4EventManager for sub-event level parallelism.</LI>

0774 <LI>G4PrimaryTransformer: adapted and extended after introduction of the new

0775     class G4ChargedUnknownParticle (part of ATLAS and LHCb request to assign

0776     automatically ionisation and multiple scattering processes to charged

0777     primary particles with valid PDG code but not known to Geant4).</LI>

0778 <LI>Fixed reported Coverity defects: in G4GeneralParticleSourceMessenger for

0779     use of <TT>const auto&</TT> and use of <TT>const G4String&</TT>; in
0780     G4StackManager for copy/paste error in printout.</LI>
0781 <LI>Removed use of no longer supported TiMemory.</LI>
0782 </UL>
0783 
0784 <A NAME="externals-notes">
0785 <H3><I>Externals</I></H3></A>
0786 <UL>
0787 <LI><U>G4tools</U>:
0788     <UL>
0789     <LI>Updated to version 6.3.3</LI>
0790     <LI>Fixed reported Coverity defects for use of <TT>const</TT> references
0791         and <TT>std::move()</TT>. Fixed cases of potential divide by zero.</LI>
0792     <LI>In <TT>wroot/file</TT>, fixed buffer size in function
0793         <TT>compress_buffer()</TT>. In <TT>wroot/basket</TT>, suppressed test
0794         in <TT>write_on_file()</TT>. Addressing problem report
0795         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2625">#2625</A>.</LI>
0796     <LI>Fixed typo in <TT>columns</TT> class member name; issue picked up by
0797         clang-19 compiler on Linux.</LI>
0798     </UL></LI>
0799 <LI><U>PTL</U>:
0800     <UL>
0801     <LI>Synchronised with version PTL-3.0.1. Retaining patches for Geant4
0802         source layout in configuration.</LI>
0803     <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT> and
0804         removal of structurally dead code.</LI>
0805     <LI>Added max CMake version in PTLConfig.cmake.in to suppress warnings in
0806         latest CMake versions about support for 3.10 being dropped.</LI>
0807     </UL></LI>
0808 </UL>
0809 
0810 <A NAME="gen-notes">
0811 <H3><I>General Processes</I></H3></A>
0812 <UL>
0813 <LI><B>Biasing</B>
0814     <UL>
0815     <LI>Fixed reported Coverity defects, to use <TT>const G4String&</TT> for

0816         avoiding implicit copies.</LI>

0817     </UL></LI>

0818 <LI><B>Management</B>

0819     <UL>

0820     <LI>G4ParticleTypes: added G4ChargedUnknownParticle class; part of ATLAS
0821         and LHCb request to assign automatically ionisation and multiple
0822         scattering processes to charged primary particles with valid PDG code
0823         but not known to Geant4.</LI>
0824     </UL></LI>
0825 <LI><B>Optical</B>
0826     <UL>
0827     <LI>G4OpWLS2: change <TT>SetProcessSubType()</TT> from fOpWLS to fOpWLS2.</LI>
0828     </UL></LI>
0829 <LI><B>Scoring</B>
0830     <UL>
0831     <LI>Added safeguard for zero energy deposited in G4EnergySplitter.
0832         Addressing problem report
0833         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2629">#2629</A>.</LI>
0834     </UL></LI>
0835 <LI><B>Solid State</B>
0836     <UL>
0837     <LI>Fixed reported Coverity defects in G4ChannelingOptrChangeCrossSection
0838         and G4ChannelingOptrMultiParticleChangeCrossSection.</LI>
0839     </UL></LI>
0840 <LI><B>Transportation</B>
0841     <UL>
0842     <LI>Introduced TRANSPORTATION_WITH_MSC process sub-type in
0843         G4TransportationProcessType.</LI>
0844     </UL></LI>
0845 </UL>
0846 
0847 <A NAME="geo-notes">
0848 <H3><I>Geometry</I></H3></A>
0849 <UL>
0850 <LI><B>Biasing</B>
0851     <UL>
0852     <LI>Fixed reported Coverity defect in G4WeightWindowStore, to use
0853         <TT>std::move()</TT> for avoiding implicit copy.</LI>
0854     </UL></LI>
0855 <LI><B>Divisions</B>
0856     <UL>
0857     <LI>Applied trivial clang-tidy fixes to classes, i.e. use of default
0858         constructor/destructor.</LI>
0859     </UL></LI>
0860 <LI><B>Magnetic Field</B>
0861     <UL>
0862     <LI>Added new classes for automatic field construction from parameters:
0863         G4FieldBuilder[Messenger], G4FieldParameters[Messenger] and
0864         G4FieldSetup.</LI>
0865     <LI>Improved stability of static initialisation for <TT>StepperType()</TT>
0866         and <TT>StepperDescription()</TT> in G4DormandPrince745.</LI>
0867     <LI>Applied trivial clang-tidy fixes to classes, i.e. use of default
0868         constructor/destructor, auto and using statements.</LI>
0869     <LI>Minor cleanup in QSS classes.</LI>
0870     <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT>
0871         and <TT>const auto&</TT>, to avoid copying.</LI>

0872     </UL></LI>

0873 <LI><B>Management</B>

0874     <UL>

0875     <LI>Added new capability to run voxel optimisation in threads in MT mode.

0876         Parallelises only over volumes. The user can call the method

0877         <TT>RequestParallelOptimisation(optimise, verbose)</TT> from

0878         G4GeometryManager to turn it on/off (default is off).

0879         Set <TT>verbose=true</TT> to obtain statistics on the

0880         volumes with biggest contribution to memory size and CPU time for

0881         voxelisation.

0882         New method <TT>BuildOptimisationsParallel()</TT> can be called by

0883         G4WorkerRunManager to initialise. New method <TT>ReportVoxelInfo()</TT>

0884         to write out for verification. Checked with simple and complex/large

0885         geometries.</LI>

0886     <LI>Added new methods <TT>GetNumOfConstituents()</TT> and <TT>IsFaceted()</TT>

0887         to G4VSolid.</LI>

0888     <LI>Access G4GeometryManager singleton through its <TT>GetInstance()</TT>

0889         in stores.</LI>

0890     <LI>Applied trivial clang-tidy fixes to classes, i.e. use of default

0891         constructor/destructor.</LI>

0892     </UL></LI>

0893 <LI><B>Navigation</B>

0894     <UL>

0895     <LI>G4TransportationManager now notifies G4FieldManager about the global

0896         field via its new function <TT>SetGlobalFieldManager()</TT>.

0897         This provides the ability to access/revise the global field manager

0898         directly from G4FieldManager without dependency on the navigation

0899         module.</LI>

0900     <LI>In G4MultiLevelLocator, in <TT>EstimateIntersectionPoint()</TT>,

0901         moved repeated assertion on invalid intersection within G4DEBUG_FIELD,

0902         to avoid excess of warning printouts in rare cases of failed

0903         convergence, as reported by CMS.</LI>

0904     <LI>Applied trivial clang-tidy fixes to classes, i.e. use of <TT>override</TT>

0905         and removal of <TT>virtual</TT> keywords; use of default
0906         constructor/destructor.</LI>
0907     </UL></LI>
0908 <LI><B>Solids (Boolean)</B>
0909     <UL>
0910     <LI>In G4BooleanSolid, propagate parameter to all constituents in
0911         <TT>SetCubVolStatistics()</TT> and <TT>SetCubVolEpsilon()</TT>.</LI>
0912     <LI>In G4UnionSolid and G4SubtractionSolid, limit calculations with
0913         construction of temporary G4IntersectionSolid by 10 constituents for
0914         <TT>GetCubicVolume()</TT>.</LI>
0915     <LI>Implemented new methods <TT>GetNumOfConstituents()</TT> and
0916         <TT>IsFaceted()</TT>.</LI>
0917     <LI>G4MultiUnion: in <TT>GetCubicVolume()</TT>, use
0918         <TT>EstimateCubicVolume()</TT>.</LI>
0919     <LI>G4BooleanSolid: in <TT>SetCubVolStatistics()</TT> and
0920         <TT>SetCubVolEpsilon()</TT>, added check for G4MultiUnion to avoid
0921         memory corruption.</LI>
0922     <LI>Added extra method to process solid and not perform external operations
0923         via G4Polyhedron. Successive Boolean mesh operations with floating point
0924         are invariably going to be unstable. Providing a method which takes a
0925         solid and returns the G4Polyhedron allows the external processor to use
0926         significantly more precise types and strategies to avoid ambiguity and
0927         then finally convert to double at the very last step.</LI>
0928     </UL></LI>
0929 <LI><B>Solids (CSG)</B>
0930     <UL>
0931     <LI>Implemented new methods <TT>GetNumOfConstituents()</TT> and
0932         <TT>IsFaceted()</TT>.</LI>
0933     <LI>Applied trivial clang-tidy fixes to G4CSGSolid, i.e. use of
0934         <TT>override</TT>.</LI>
0935     </UL></LI>
0936 <LI><B>Solids (Specific)</B>
0937     <UL>
0938     <LI>Completely revised and optimised implementation of G4GenericTrap.
0939         Addressing problem report
0940         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2547">#2547</A>.</LI>
0941     <LI>Implemented new methods <TT>GetNumOfConstituents()</TT> and
0942         <TT>IsFaceted()</TT>.</LI>
0943     <LI>Removed internal cached state of G4TwistedTubs and G4VTwistedFaceted.
0944         Addressing problem report
0945         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2619">#2619</A>.</LI>
0946     <LI>G4ExtrudedSolid: fixed defects reported by Coverity.</LI>
0947     <LI>Fixed reported Coverity defects in G4Voxelizer; use <TT>std::move()</TT>
0948         instead of plain vector copy in several methods.</LI>
0949     <LI>Applied trivial clang-tidy fixes to classes, i.e. use of <TT>override</TT>
0950         and <TT>default</TT> keywords.</LI>
0951     </UL></LI>
0952 <LI><B>Volumes</B>
0953     <UL>
0954     <LI>Access G4GeometryManager singleton through its <TT>GetInstance()</TT>
0955         in G4AssemblyStore.</LI>
0956     <LI>Applied trivial clang-tidy fixes to G4AssemblyStore, i.e. removed
0957         unnecessary <TT>if</TT> check for null pointer in <TT>Clean()</TT>
0958         method.</LI>
0959     <LI>Fixed reported Coverity defect in G4ReflectionFactory, to not pass
0960         the same G4VisAttributes object to the reflected logical volume.</LI>
0961     </UL></LI>
0962 </UL>
0963 
0964 <A NAME="glob-notes">
0965 <H3><I>Global</I></H3></A>
0966 <UL>
0967 <LI>Moved flushing of G4cout to G4iosFinalization, resolving a problem of
0968     possible static destruction issue reported by ATLAS.</LI>
0969 <LI>Improved stability of static initialisation in G4ios; ensure unique
0970     initialisation and finalisation.</LI>
0971 <LI>Added method <TT>Report()</TT> to G4AllocatorList, for monitoring
0972     G4Allocator objects.</LI>
0973 <LI>G4StateManager, G4VStateDependent: added notifying methods when an event
0974     or a run is deleted to avoid a state-dependent class from accessing to an
0975     obsolete event/run object.</LI>
0976 <LI>G4PhysicsModelCatalog: added ID for the NuDEX nuclear de-excitation model;
0977     removed unnecessary ID (24110) for internal conversion.</LI>
0978 <LI>G4PhysicsTable: avoid crash in printout for the case when a vector in the
0979     table is not yet created (useful for debugging).</LI>
0980 <LI>Updated G4TBBTaskGroup for changes to underlying PTL-3.0.0 API.</LI>
0981 <LI>Added protection in G4ConvergenceTester in <TT>calStat()</TT> in case of
0982     zero histories.</LI>
0983 <LI>Addressed Coverity reported defects for use of <TT>std:move()</TT> to
0984     avoid copies in HEPNumerics; fixed potential division-by-zero in
0985     G4SimplexDownhill.</LI>
0986 <LI>Applied fixes from clang-tidy.</LI>
0987 <LI>Removed use of no longer supported TiMemory.</LI>
0988 <LI>Updated date of release for 11.3.</LI>
0989 </UL>
0990 
0991 <A NAME="greps-notes">
0992 <H3><I>Graphical Representations</I></H3></A>
0993 <UL>
0994 <LI>G4SceneTreeItem: added G4String field <TT>FurtherInfo</TT> and access
0995     functions.</LI>
0996 <LI>G4Colour: clarify usage; added <TT>GetColor()</TT> (US spelling);
0997     added G4Exception.</LI>
0998 <LI>G4VVisManager: added <TT>EventReadyForVis()</TT>, used by
0999     G4SubEvtRunManager.</LI>
1000 <LI>In G4VVisManager, provide all base class interfaces in Sequential and MT
1001     modes, with an empty implementation modelling the Sequential case.</LI>
1002 <LI>In G4AttDef, deprecated output <TT>operator<<()</TT> that uses pointer.</LI>
1003 <LI>Minor improvements to messages in output <TT>operator<<()</TT> in G4VMarker
1004     and G4Visible.</LI>
1005 <LI>Fixed reported Coverity defects in BooleanProcessor and in 
1006     HepPolyhedronProcessor.</LI>
1007 </UL>
1008 
1009 <A NAME="had-notes">
1010 <H3><I>Hadronic Processes</I></H3></A>
1011 <UL>
1012 <LI><B>Cross Sections</B>
1013     <UL>
1014     <LI>New class G4InterfaceToXS, to compute inverse cross-section using
1015         G4PARTICLEXS cross-sections for neutrons and light ions.</LI>
1016     <LI>G4ChargeExchangeXS: switch computations from level of isotopes to
1017         level of elements; code becomes several times faster and accuracy is
1018         not lost. Added protections against negative components of cross-section
1019         and potential division by zero, which may be only possible at extreme
1020         high energy. Fixed problem in pion cross-sections according to
1021         prescription in the original paper. Handle special case of positive
1022         meson scattering off Hydrogen, the cross-section is propotional to the
1023         percent of deuterons.</LI>
1024     <LI>G4NeutronCapture: lowest energy limit is set to <TT>10^-5 eV</TT>;
1025         below this energy no computations are done, to avoid numerical problems.
1026         Improved comments to the code.</LI>
1027     <LI>G4NeutronInelastic: implemented 1/v cross-section dependence below
1028         low-energy limit of the cross-section vector, if the cross-section
1029         does not start from null.</LI>
1030     <LI>Moved G4IsotopeList header to 'util' module.</LI>
1031     <LI>G4HadronXSDataTable: make class a singleton for registration and
1032         destruction of static objects with cross-section data; data are deleted
1033         only at the end of run. Use const pointers; fixed data structure;
1034         perform proper deletion of objects at exit.</LI>
1035     <LI>G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS,
1036         G4BGGPionInelasticXS, G4ComponentBarNucleonNucleusXsc,
1037         G4HadronNucleonXsc, G4UPiNuclearCrossSection and
1038         G4CrossSectionDataSetRegistry: code clean-up; removed <TT>isMaster</TT>
1039         checks, removed mutex locks, removed unused variables and applied code
1040         formatting.</LI>
1041     <LI>G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4NeutronInelasticXS,
1042         G4ComponentBarNucleonNucleusXsc, G4ComponentGGNuclNuclXsc, G4PiData and
1043         G4NucleonNuclearCrossSection: general clean-up of proton and neutron
1044         cross-sections; removed unused methods, removed not needed mutex locks,
1045         improved printouts, cross-sections outside data tables are equal to
1046         low or high edge of the table (not zero).</LI>
1047     <LI>G4BGGPionElasticXS, G4BGGNucleonInelasticXS, G4BGGNucleonElasticXS:
1048         added check of G4VERBOSE compilation flag.</LI>
1049     <LI>In G4NeutronInelasticXS, in <TT>SelectIsotope()</TT>, fixed compilation
1050         warnings for implicit type conversions detected with macOS/XCode.</LI>
1051     <LI>G4ComponentGGNuclNuclXsc: removed debug printout, added check of
1052         G4VERBOSE.</LI>
1053     <LI>G4ParticleInelasticXS: perform initialisation of data only for given
1054         ion, not for all 5 ions.</LI>
1055     <LI>G4ParticleInelasticXS, G4NeutronElasticXS: access to G4PARTICLEXSDATA
1056         in class constructor; optimized usage of mutex lock; do not use
1057         <TT>isInitializer</TT> flag anymore.</LI>
1058     <LI>G4GammaNuclearXS: Use CHIPS parameterisation for Zr and W at all
1059         energies, for Cr and Y above <TT>25 MeV</TT> and for Sn and Gd above
1060         <TT>16 MeV</TT>. The default transition energy <TT>130-150 MeV</TT>
1061         remains for all other targets. Addressing problem report
1062         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2609">#2609</A>.</LI>
1063     <LI>G4GammaNuclearXS, G4PhotoNuclearCrossSection, G4ParticleInelasticXS,
1064         G4NeutronInelasticXS: allow to reuse static data when several instances
1065         of cross-section classes are used.</LI>
1066     <LI>Fixed reported Coverity defect in G4ParticleInelasticXS,
1067         G4NeutronInelasticXS, G4EMDissociationCrossSection and in
1068         CHIPS inelastic cross-sections. Some code cleanup.</LI>
1069     </UL></LI>
1070 <LI><B>Management</B>
1071     <UL>
1072     <LI>G4HadronicProcessStore: fixed handling of rare processes, printout, 
1073         cross-section maximum search, and deletion at the end of run.
1074         Fixed minor memory leak at exit by addition of G4ThreadLocalSingleton
1075         pattern and removed deletion of extra processes to avoid double
1076         deletion at exit.</LI>
1077     <LI>Fixed use of <TT>std::move()</TT> in G4ProcessTableMessenger,
1078         reported by Coverity.</LI>
1079     </UL></LI>
1080 <LI><B>Utilities</B>
1081     <UL>
1082     <LI>G4HadronicParameters: introduced Get/Set methods for flag controlling
1083         the NuDEX gamma de-excitation module.</LI>
1084     <LI>Moved G4IsotopeList header with static data in this module, from
1085         'cross_sections'.</LI>
1086     <LI>G4IsotopeList: added table with low-energy threshold energies per
1087         atomic number.</LI>
1088     <LI>G4NucleaRadii: added two static functions to describe threshold shape
1089         by the old parameterisations derived from GHEISHA.</LI>
1090     <LI>G4HadronicParameters: introduced Getter/Setter for selecting the PT
1091         table type (a choice between <TT>calendf</TT> and <TT>njoy</TT>) for
1092         the URR treatment of low-energy neutrons; the choice must be done at
1093         initialization time, therefore it cannot be made via UI command in
1094         ParticleHP.</LI>
1095     <LI>G4LegendrePolynomial: optimized implementation as suggested in
1096         <A HREF="https://github.com/Geant4/geant4/pull/70">GitHub PR#70</A>.</LI>
1097     <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT> and
1098         <TT>const G4String&</TT>; in G4HadronicDeveloperParameters use
1099         <TT>const G4String&</TT> and <TT>const_iterator</TT>.</LI>

1100     </UL></LI>

1101 <LI><B>Abla</B>

1102     <UL>

1103     <LI>Added array extension for super-heavy nuclei.</LI>

1104     <LI>Added the dissipation parameter for heavy hypernuclei.</LI>

1105     <LI>General code cleanup; removed unused data structures; consistently use
1106         G4 types; added pragma once for compilation.</LI>
1107     <LI>Fixed reported Coverity defects for uninitialised data in G4VarNtp
1108         and G4Abla.</LI>
1109     </UL></LI>
1110 <LI><B>Bertini Cascade</B>
1111     <UL>
1112     <LI>Use <TT>G4UniformRand()</TT> instead of <TT>inuclRndm()</TT> wrapper
1113         which was defined and now removed in  G4InuclSpecialFunctions class.</LI>
1114     <LI>In G4CascadeFinalStateAlgorithm, in <TT>GenerateCosTheta()</TT>, for
1115         4-body and higher-body generation of <TT>cosTheta</TT>, use direct
1116         sampling of <TT>exp(1-cosTheta)</TT> instead of previously used
1117         rejection method on <TT>sinTheta*exp(-sinTheta)</TT>. This removes the
1118         reflection about <TT>cosTheta=0</TT> that caused a symmetric double
1119         bump in the Feynman-x distribution.</LI>
1120     <LI>Fixed reported Coverity defect in G4NucleiModel for use of
1121         <TT>std::move()</TT> and unitialised data.</LI>
1122     </UL></LI>
1123 <LI><B>Binary Cascade</B>
1124     <UL>
1125     <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT> in
1126         G4BinaryCascade. Minor code optimisation (use of <TT>nullptr</TT>,
1127         use of const iterators and pre-increment).</LI>
1128     </UL></LI>
1129 <LI><B>De-excitation</B>
1130     <UL>
1131     <LI>G4Evaporation, G4EvaporationProbability, G4CompetitiveFission:
1132         provide initialisation of G4InterfaceToXS class also in the case of unit
1133         tests, when general initialisation is not performed; minor code
1134         clean-up. Results are not changed for the default configuration.</LI>
1135     <LI>G4DeexPrecoParameters, G4DeexParametersMessenger: added UI command to
1136         define inverse cross-section type.</LI>
1137     <LI>G4EvaporationProbability, G4VEmissionProbability: added use of
1138         G4InterfaceToXS as an alternative option.</LI>
1139     <LI>G4CameronGilbertPairingCorrections, G4CameronGilbertShellCorrections,
1140         G4NuclearLevelData, G4PairingCorrection: simplified computation of
1141         corrections; computations are now done in one place only, not spread
1142         among classes.</LI>
1143     <LI>G4EvaporationChannel, G4EvaporationProbability: fixed usage of pairing
1144         corrections; agreement with test data is improved.
1145         Improved implementation of methods <TT>ComputeInverseXSection(..)</TT>
1146         and <TT>ComputeProbability(..)</TT>.</LI>
1147     <LI>G4EvaporationChannel: fixed computation of minimal kinetic energy of a
1148         fragment for odd-even residual nucleus.</LI>
1149     <LI>G4EvaporationProbability, G4EvaporationChannel, G4VEmissionProbability:
1150         do not apply Coulomb barrier for computation of minimum energy of
1151         emitted fragments if <TT>OPTxs=1</TT> - use isotope cross-section
1152         instead; fixed minor memory leak at exit; define <TT>OPTxs</TT>
1153         parameter only in class constructor.</LI>
1154     <LI>G4DeexPrecoParameters: moved definition of int and bool parameters to
1155         source; improved comments; added default width of nuclear level needed
1156         for selection of final excitation in a decay of an excited state.
1157         Enable read and use of electron conversion data by default.
1158         For pre-compound model, use XS option 1 instead of 3.</LI>
1159     <LI>G4LevelReader: added two new protections to handle broken files with
1160         gamma level data: next level energy below previous one is ignored;
1161         transition from given level to itself with zero transition energy is
1162         ignored. Added two counters for limitation of warning printouts.
1163         Changed algorithm for handling of broken levels: do not change number
1164         of levels and number of transitions, broken levels or transitions are
1165         not deleted but protected. For the case that the energy of the next level
1166         is below the previous energy, its energy is set to <tt>Eprevious+2 eV</tt>.
1167         For the case of a transition to itself, the probability of such a
1168         transition is set to zero. Reduced printouts on problems in nuclear
1169         level data. Code clean-up and improved comments to code.</LI>
1170     <LI>G4PolarizationTransition: use optimized G4LegendrePolynomial.</LI>
1171     <LI>G4PhotonEvaporation: use <TT>std::abs()</TT> in all computations
1172         for 'JP', as it can be negative due to parity. Addressing problem report
1173         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2587">#2587</A>.</LI>
1174     <LI>G4VEmissionProbability: renamed local variable to avoid possible
1175         shadowing. Use the new width parameter.</LI>
1176     <LI>G4ExcitationHandler: improved debug printout.</LI>
1177     <LI>G4ExcitationHandle, G4NeutronRadCapture: corrected model ID for IC
1178         electrons.</LI>
1179     <LI>G4GEMChannelVI, G4GEMProbabilityVI: updated interfaces and simplified
1180         algorithm of computation of probability.</LI>
1181     <LI>G4VCoulombBarrier, G4CoulombBarrier, G4GEMCoulombBarrier,
1182         G4FermiBreakUpUtil: code cleanup; removed unused headers and variables.</LI>
1183     <LI>G4CompetitiveFission: added normalisation factor if G4InterfaceToXS
1184         is used.</LI>
1185     <LI>G4CoulombBarrier: changed <TT>theRho</TT> parameter from 0.6 to 0.4.</LI>
1186     <LI>Fixed reported Coverity defects in G4VEmissionProbability, G4StatMF
1187         and G4PolarizationTransition.</LI>
1188     <LI>G4ShellCorrection, G4CookShellCorrections: code clean-up.</LI>
1189     </UL></LI>
1190 <LI><B>Elastic scattering</B>
1191     <UL>
1192     <LI>In G4ChargeExchange, do not allow unphysical final state; implemented
1193         production and decay of omega(780) and f2(1270) for pion projectile;
1194         implemented decay of unstable isomers of recoil nucleus if not a
1195         natural isotope. Addressing problem report
1196         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2618">#2618</A>.</LI>
1197     <LI>In G4ChargeExchange, fixed problem of the Hydrogen target; change event
1198         weight if cross-section biasing factor is applied.
1199         Added warning in G4ChargeExchangeProcess.</LI>
1200     </UL></LI>
1201 <LI><B>Fission</B>
1202     <UL>
1203     <LI>G4FissLib: fixed compilation warning on gcc when LTO settings are
1204         enabled.</LI>
1205     <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT>.</LI>
1206     </UL></LI>
1207 <LI><B>im_r_matrix</B>
1208     <UL>
1209     <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT>.</LI>
1210     </UL></LI>
1211 <LI><B>INCLXX</B>
1212     <UL>
1213     <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT>.</LI>
1214     </UL></LI>
1215 <LI><B>Lend</B>
1216     <UL>
1217     <LI>Fixed reported Coverity defects for pointless expression condition
1218         in <TT>ptwXY_div_ptwXY()</TT> operator, and dead code statement in
1219         <TT>MCGIDI_angularEnergy_parsePointwiseFromTOM()</TT> and
1220         in <TT>MCGIDI_energyAngular_linear_parseFromTOM()</TT>.</LI>
1221     </UL></LI>
1222 <LI><B>Lepto-nuclear</B>
1223     <UL>
1224     <LI>Fixed Coverity warning on unused variable in neutrino models.</LI>
1225     </UL></LI>
1226 <LI><B>Nudex</B>
1227     <UL>
1228     <LI>New alternative and more sophisticated nuclear de-excitation model
1229         (NuDEX) as far as the emission of gammas and internal conversion
1230         electrons are concerned. The model relies on the dataset
1231         G4NUDEXLIB-1.0, which is pointed by the environment variable
1232         G4NUDEXLIBDATA. When NuDEX is not applicable - e.g. because the
1233         corresponding nucleus is not present in the dataset - the
1234         G4PhotonEvaporation class is utilised instead. Currently, the model
1235         will be used only for the neutron capture process, when ParticleHP is
1236         utilised; in the future it can be used more generally as one of the
1237         possible "evaporation" models. This, at the beginning, will only be
1238         possible for the physics list QGSP_BERT_HP.</LI>
1239     </UL></LI>
1240 <LI><B>Particle High Precision</B>
1241     <UL>
1242     <LI>Introduced neutron treatment of the Unresolved Resonance Region (URR)
1243         via Probability Table (PT); relevant for precise simulations of nuclear
1244         reactor criticality and shielding applications.
1245         Reading probability table files in compressed format from the new
1246         G4URRPT-1.1 dataset pointed by the G4URRPTDATA environment variable.</LI>
1247     <LI>G4ParticleHPManager, G4ParticleHPProbabilityTablesStore,
1248         G4ParticleHPInelasticDataPT and G4ParticleHPInelasticURR: updated
1249         to use G4HadronicParameters for selecting the type of PT table for
1250         the URR treatment.</LI>
1251     <LI>Fixed cross-section computation with Doppler broading effect due to
1252         media temperature in G4CrossSectionXP.</LI>
1253     <LI>G4ParticleHPMessenger: removed recently introduced UI command for
1254         selecting the type of PT table (choice between <TT>calendf</TT> and
1255         <TT>njoy</TT>) for the URR treatment; replaced with a C++ interface in
1256         G4HadronicParameters that allows the selection to be made at
1257         initialization time.</LI>
1258     <LI>G4ParticleHPInelastic: fixed missed call to
1259         <TT>RegisterInelasticFinalStates()</TT> of G4ParticleHPManager in
1260         method <TT>BuildPhysicsTable()</TT> of G4ParticleHPInelastic.</LI>
1261     <LI>In G4ParticleHPElasticData, G4ParticleHPInelasticData,
1262         G4ParticleHPCaptureData, G4ParticleHPFissionData,
1263         G4ParticleHPThermalScatteringData and G4ParticleHPThermalScattering,
1264         use const pointer of G4ElementTable; removed unnecessary thread-local
1265         variables, dead code and commented code.</LI>
1266     <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT> and
1267         <TT>const G4String&</TT>. Use <TT>const</TT> qualifier for methods

1268         where possible.</LI>

1269     </UL></LI>

1270 <LI><B>Parton-String</B>

1271     <UL>

1272     <LI>G4FTFParameters: fixed typo, renamed method <TT>SetElastis()</TT> as

1273         <TT>SetElastic()</TT>.</LI>

1274     <LI>G4ExcitedStringDecay: fixed minor memory leak suggested by Coverity.</LI>

1275     <LI>Fixed reported Coverity defect in G4NucleiModel for redundant assignment

1276         in G4LundStringFragmentation in <TT>Sample4Momentum()</TT>.

1277     </UL></LI>

1278 <LI><B>Pre-equilibrium</B>

1279     <UL>

1280     <LI>G4PreCompoundFragment: completed implementation of usage of XS

1281         cross-sections.</LI>

1282     <LI>G4VPreCompoundFragment, G4PreCompoundFragment: added a new option

1283         to use G4InterfaceToXS cross-section class.</LI>

1284     <LI>G4PreCompoundFragment, G4VPreCompoundFragment: removed shadowing and

1285         minor memory leak at exit; moved initialisation to constructors;
1286         define <TT>OPTxs</TT> parameter only in class constructor.
1287         Use G4InterfaceToXS class</LI>
1288     </UL></LI>
1289 <LI><B>QMD</B>
1290     <UL>
1291     <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT> and
1292         <TT>const std::string&</TT>.</LI>

1293     </UL></LI>

1294 <LI><B>Radioactive Decay</B>

1295     <UL>

1296     <LI>Renamed G4RadioactiveDecay to G4VRadioactiveDecay and G4Radioactivation

1297         to G4RadioactiveDecay. The header for G4Radioactivation is preserved to

1298         provide backwards compatibility.</LI>

1299     <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT>.</LI>

1300     </UL></LI>

1301 </UL>

1302 

1303 <A NAME="interc-notes">

1304 <H3><I>Intercoms</I></H3></A>

1305 <UL>

1306 <LI>Unify range checking implementation in G4UIparameter/command; pure
1307     refactor to remove code duplication and complexity of user-facing
1308     classes.</LI>
1309 <LI>G4UImanager: in <TT>ApplyCommand()</TT>, fix to replace <TT>isMaster()</TT>
1310     with <TT>IsMasterThread()</TT> from G4Threading, to properly control
1311     highlighting of echoed commands in the Qt GUI in Serial mode.</LI>
1312 <LI>Fixed reported Coverity defects, use consistently <TT>const G4String&</TT>

1313     to avoid implicit copy.</LI>

1314 <LI>Removed use of no longer supported TiMemory.</LI>

1315 </UL>

1316 

1317 <A NAME="interf-notes">

1318 <H3><I>Interfaces</I></H3></A>

1319 <UL>

1320 <LI>Improved identification of scene tree models: use full description,

1321     including embedded blanks.</LI>

1322 <LI>In G4UIQt, now all models are treated alike. Load tooltip with "further

1323     information", if any; inform user if scene tree is suppressed because
1324     of too many touchable. Fixed crash and bad rendering behaviour when
1325     using QOpenGLWidget with Qt6.
1326     Allow larger integers in widget response in function
1327     <TT>NewSceneTreeItemTreeWidget::ActWithAnInteger()</TT>.
1328     Fixed case of <TT>opacity==0</TT> for touchables.</LI>
1329 <LI>fixed case of compilation error in FilterOutput() in G4UIQt, with Qt-6.8.0
1330     version. Addressing problem report
1331     <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2633">#2633</A>.</LI>
1332 <LI>In G4UIWin32, fix in <TT>ConvertNewLines()</TT> to fix treatment of first
1333     character in G4cout output.</LI>
1334 <LI>Fixed reported Coverity defects, use consistently <TT>const G4String&</TT>

1335     to avoid implicit copy.</LI>

1336 <LI>Removed use of no longer supported TiMemory.</LI>

1337 </UL>

1338 

1339 <A NAME="materials-notes">

1340 <H3><I>Materials</I></H3></A>

1341 <UL>

1342 <LI>G4IonisParamMat: added parameter for fraction of Orto positronium at rest.</LI>

1343 <LI>G4NistMessenger: added extra UI command for Orto positronium fraction;
1344     updated all commands for multi-threading.</LI>
1345 <LI>G4NistManager, G4NistElementBuilder, G4Material, G4Element, G4Isotope:
1346     general code clean-up; use <TT>std::size_t</TT>; simplified expressions;
1347     avoid use of static methods in class destructors.</LI>
1348 <LI>Improved stability of static initialisation: simplified G4NistManager
1349     singleton initialisation; migrated Isotopes, Materials, Elements's table

1350     to function static; delete the element of table at the same time as the

1351     table itself.</LI>

1352 <LI>Fixed reported Coverity defects in G4Material, G4NistElementBuilder,

1353     G4IonisParamMat and G4LatticePhysical.</LI>

1354 </UL>

1355 

1356 <A NAME="parameterisations-notes">

1357 <H3><I>Parameterisations</I></H3></A>

1358 <UL>

1359 <LI>Channeling:

1360     <UL>

1361     <LI>Implemented new model of ionization losses for e+/- ionization

1362         G4VChannelingFastSimCrystalData with some updates in

1363         G4ChannelingFastSimModel and G4ChannelingFastSimCrystalData;

1364         fixed some bugs concerning particles of higher charges.</LI>

1365     <LI>Updated G4ChannelingFastSimCrystalData to be compatible with the new

1366         channeling dataset accessed through G4CHANNELINGDATA environment

1367         variable. Added option to use a custom input file.</LI>

1368     <LI>Added new process G4CoherentPairProduction for the simulation of

1369         coherent pair production by high energy gamma in an oriented crystal.

1370         It works as a G4VDiscreteProcess, not as a parameterisation and uses

1371         G4ChannelingFastSimCrystalData.</LI>

1372     <LI>Added some new accessor methods.</LI>

1373     <LI>Corrected semantic errors in G4BaierKatkov in <TT>RadIntegral()</TT> and

1374         in G4VChannelingFastSimCrystalData in <TT>CoulombElectronScattering()</TT>.</LI>

1375     <LI>Fixed reported Coverity defect in G4VChannelingFastSimCrystalData.</LI>

1376     </UL></LI>

1377 <LI>GFLASH:

1378     <UL>

1379     <LI>Added <TT>GetEffDensity()</TT> function in

1380         GFlashSamplingShowerParameterisation.</LI>

1381     <LI>Applied correction of <TT>Es</TT> and sampling resolution function.</LI>

1382     <LI>Added Rossi approximation for <TT>Ec</TT> as comment.</LI>

1383     <LI>Applied clang-format to code.</LI>

1384     </UL></LI>

1385 </UL>

1386 

1387 <A NAME="part-notes">

1388 <H3><I>Particles</I></H3></A>

1389 <UL>

1390 <LI>Added new class, G4ChargedUnknownParticle, similar to G4UnknownParticle for

1391     charged unknown particles. Part of ATLAS and LHCb request to assign

1392     automatically ionisation and multiple scattering processes to charged

1393     primary particles with valid PDG code but not known to Geant4.</LI>

1394 <LI>Applied correction suggested in

1395     <A HREF="https://github.com/Geant4/geant4/pull/74">GitHub PR#74</A>,

1396     fixing G4ParticleMessenger never updating the currently selected particle.

1397     Simplified logic in patch to remove local static.</LI>

1398 </UL>

1399 

1400 <A NAME="pers-notes">

1401 <H3><I>Persistency</I></H3></A>

1402 <UL>

1403 <LI>ASCII:

1404     <UL>

1405     <LI>Fixed reported Coverity defects for use of <TT>const G4String&</TT>

1406         and <TT>std::move()</TT>.</LI>

1407     </UL></LI>

1408 <LI>GDML:

1409     <UL>

1410     <LI>Added possibility to define G4GDML_DEFAULT_SCHEMALOCATION string as

1411         environment variable, to point to local path for the schema.

1412         Defined new flag G4GDML_DEFAULT_WRITE_SCHEMALOCATION for schema

1413         location in writing.</LI>

1414     </UL></LI>

1415 <LI>mctruth:

1416     <UL>

1417     <LI>Use G4String type consistently throughout the code, fixing reported

1418         Coverity defects.</LI>

1419     </UL></LI>

1420 </UL>

1421 

1422 <A NAME="lst-notes">

1423 <H3><I>Physics lists</I></H3></A>

1424 <UL>

1425 <LI><B>Constructors</B>:

1426     <UL>

1427     <LI><U>electromagnetic</U>:

1428         <UL>

1429         <LI>New constructor G4ChargedUnknownParticle, to be used on top on any

1430             reference physics list, to assign ionisation and multiple scattering

1431             (as well as transportation) processes to charged primary particles

1432             with valid PDG code but not known to Geant4.</LI>

1433         <LI>G4ChargedUnknownPhysics: replaced G4hIonisation and

1434             G4hMultipleScattering (which use G4ParticleDefinition) with the

1435             corresponding new classes G4DynamicParticleIonisation and

1436             G4DynamicParticleMSC (which use only G4DynamicParticle),

1437             respectively.</LI>

1438         <LI>G4EmStandardPhysicsWVI: return back ATIMA model for ionisation and

1439             fluctuations of ions in order to make comparisons with other

1440             models.</LI>

1441         <LI>G4EmStandardPhysics_option3: return back step limit type to

1442             <TT>fUseDistanceToBoundary</TT> and the default RangeFactor from

1443             <TT>0.03</TT> to <TT>0.04</TT>. This will allow to restore more

1444             accurate distributions for several medical benchmark tests.</LI>

1445         <LI>G4EmStandardPhysics_option3, G4EmStandardPhysics_option4,

1446             G4EmLivermorePhysics, G4EmLivermorePhysics, G4EmDNAPhysics: use

1447             fAllisonPositronium type of model for sampling of positron

1448             annihilation at rest (as in release 11.2).</LI>

1449         <LI>G4EmStandardPhysics_option4: use alternative model for positron

1450             annihilation on fly with 3-gamma annihilation channel enabled.</LI>

1451         <LI>G4EmStandardPhysics_option4, G4EmLivermorePhysics,

1452             G4EmStandardPhysics, G4EmStandardPhysicsWVI: added possibility to

1453             enable/disable 3 gamma annihilation on fly; take into account

1454             rename of the model G4eplusTo2GammaOKVIModel to G4eplusTo2or3GammaModel.

1455             By default it is enabled in G4EmStandardPhysics_option4 only.

1456             This option is not added to G4EmPenelopePhysics as here the

1457             original Penelope model for annihilation is used instead.</LI>

1458         <LI>G4GammaGeneralProcess: updated according to change in EM data

1459             tables.</LI>

1460         <LI>G4EmDNAPhysics: define default maximum kinetic energy <TT>600 MeV</TT>

1461             instead of <TT>300 MeV</TT> in order to have standard ionisation

1462             and multiple scattering always defined for DNA physics

1463             configurations.

1464             This allows to avoid situations when low-energy ions pass through

1465             DNA regions without interaction.</LI>

1466         <LI>G4EmDNAPhysics, G4EmDNAPhysicsActivator, G4EmDNAPhysics_option2,

1467             G4EmDNAPhysics_option4, G4EmDNAPhysics_option6 and

1468             G4EmDNAPhysics_option8: changed upper limit for DNA physics of

1469             Helium ions from <TT>300 MeV</TT> to <TT>400 MeV</TT>.</LI>

1470         <LI>G4EmDNABuilder: added nuclear stopping process for G4GenericIon

1471             below <TT>1 MeV/u</TT>.</LI>

1472         <LI>Use EmParameters to control chemistry models in

1473             G4EmDNAChemistry_option3.</LI>

1474         <LI>Modified the molecule names of OH, HO2, O in MoleculeDefinition.

1475             Each molecule configuration has a molecule definition.</LI>

1476         </UL></LI>

1477     <LI><U>decay</U>:

1478         <UL>

1479         <LI>G4UnknownDecayPhysics: extended to newly introduced

1480             G4ChargedUnknownParticle.</LI>

1481         </UL></LI>

1482     <LI><U>factory</U>:

1483         <UL>

1484         <LI>G4PhysicsConstructorRegistry: fixed memory leak at exit, adopting

1485             G4ThreadLocalSingleton pattern.</LI>

1486         <LI>Minor code cleanup in G4PhysicsConstructorRegistry source.</LI>

1487         </UL></LI>

1488     <LI><U>gamma_lepto_nuclear</U>:

1489         <UL>

1490         <LI>Added new G4CoherentPairProductionPhysics class, related to the

1491             process G4CoherentPairProduction of coherent pair production by

1492             high energy gamma in an oriented crystal.</LI>

1493         </UL></LI>

1494     <LI><U>hadron_elastic</U>:

1495         <UL>

1496         <LI>Added self registration of G4ThermalNeutrons with the constructor

1497             factory.</LI>

1498         </UL></LI>

1499     <LI><U>hadron_inelastic</U>:

1500         <UL>

1501         <LI>G4HadronPhysicsQGSP_BERT_HP: use alternative NuDEX model of

1502             gamma de-excitation.</LI>

1503         <LI>Introduced new class G4URRNeutrons to enable the special treatment

1504             of the Unresolved Resonance Region (URR) via Probability Tables (PT)

1505             for low-energy neutrons. It can be used on top of any _HP or _HPT

1506             physics list. Updated internal README.</LI>

1507         </UL></LI>

1508     <LI><U>ions</U>:

1509         <UL>

1510         <LI>Updated description in G4LightIonQMDPhysics and internal README.</LI>

1511         </UL></LI>

1512     <LI><U>limiters</U>:

1513         <UL>

1514         <LI>Fixed reported Coverity defect in G4FastSimulationPhysics and in

1515             G4GenericBiasingPhysics, to use <TT>const G4String&</TT> and

1516             <TT>std::move()</TT>.</LI>

1517         </UL></LI>

1518     </UL></LI>

1519 <LI><B>Lists</B>:

1520     <UL>

1521     <LI>Added <TT>HPT</TT> extension to support adding G4ThermalNeutrons to

1522         extensible physlist factory.</LI>

1523     <LI>Changed how base phylist matching is done in G4PhysListRegistry in

1524         order to support <TT>_HP</TT> lists and new <TT>_HPT</TT> extension;

1525         requires match to be exact or the remaining part start with <TT>_</TT>

1526         or <TT>+</TT>.</LI>

1527     <LI>G4PhysListRegistry: fixed compilation on XCode for implicit type

1528         conversion. Minor code cleanup (use of <TT>nullptr</TT>, G4bool,

1529         <TT>std::size_t</TT>, singleton instance initialisation). Initialise

1530         the instance only the first time it gets created.</LI>

1531     <LI>G4PhysListFactory: use <TT>std::size_t</TT>.</LI>

1532     </UL></LI>

1533 <LI><B>Util</B>:

1534     <UL>

1535     <LI>Static initialisation improvement for G4HadParticles.</LI>

1536     </UL></LI>

1537 </UL>

1538 

1539 <A NAME="readout-notes">

1540 <H3><I>Readout</I></H3></A>

1541 <UL>

1542 <LI>Fixed reported Coverity defects, use consistently <TT>const G4String&</TT>

1543     to avoid implicit copy.</LI>

1544 </UL>

1545 

1546 <A NAME="run-notes">

1547 <H3><I>Run</I></H3></A>

1548 <UL>

1549 <LI>Tuned verbose levels to reduce printouts during event loop.</LI>

1550 <LI>First full implementation of of sub-event parallelism, adding the

1551     creation and processing of sub-events in workers, plus the merging

1552     of results back into events on the main thread.

1553     No impact of the core changes needed to support sub-event parallelism in

1554     any other mode (Seq, MT, Tasking) other than some counting aspects with

1555     retained events.</LI>

1556 <LI>Set number of random numbers generated as the seeds of workers for

1557     sub-event level parallelism.</LI>

1558 <LI>Defined UI alias representing the run mode [sequential, eventParallel,

1559     subEventParallel]. This alias can be used in macro file.</LI>

1560 <LI>G4RunManagerFactory: added sub-event parallel mode as an option.</LI>

1561 <LI>G4RunMessenger: added a command for trajectory merging in sub-event

1562     parallel mode.</LI>

1563 <LI>G4SubEvtRunManager, G4WorkerRunManager, G4WorkerSubEvtRunManager: added an

1564     option to merge trajectories created by worker threads in sub-event parallel

1565     mode.</LI>

1566 <LI>Fix in G4WorkerTaskRunManager and G4TaskRunManager, to process only

1567     <TT>NumberOfEventsPerTask</TT>. Before this change, each thread would

1568     process all its events in a single task since

1569     <TT>GetNumberOfEventsToBeProcessed()</TT> returns the number of all events

1570     in the run. All other tasks would immediately return because no work is

1571     left.</LI>

1572 <LI>Fixed static memory leak of process and tracking managers in worker threads.</LI>

1573 <LI>Provide static initialization for <TT>masterWorlds</TT> in G4MTRunManager.

1574     Adapted G4SubEvtRunManager and G4TaskRunManager accordingly.</LI>

1575 <LI>G4RunManagerKernel, G4RunManager, G4SubEvtRunManager: cleanly delete G4Event

1576     objects at the end of each run as long as these events are not requested to

1577     be kept for redrawing during the following <TT>Idle</TT> state.

1578     The kept events are deleted at the beginning of next run or at program

1579     termination.</LI>

1580 <LI>G4Run: added <TT>GetNumberOfKeptEvents()</TT> method.</LI>

1581 <LI>Extended diagnostics and output from material scanner.</LI>

1582 <LI>Added call in G4WorkerRunManager to use parallel initialisation of

1583     voxels.</LI>

1584 <LI>In G4RunManager, in <TT>ReinitializeGeometry()</TT>, added call to new

1585     function from G4FieldBuilder <TT>Reinitialize()</TT>.</LI>

1586 <LI>G4RunManagerKernel: removed call to <TT>ResetNavigator()</TT> during

1587     initialisation. <TT>ResetNavigator()</TT> is now invoked only at the

1588     beginning of <TT>BeamOn()</TT>.</LI>

1589 <LI>G4PhysicsListHelper: added <TT>DNATripleIoni</TT> and

1590     <TT>DNAQuadrupleIoni</TT> for the implementation of multiple-ionisation

1591     processes in Geant4-DNA. Added XrayReflection (<TT>fGammaReflection</TT>).</LI>

1592 <LI>G4RunManager: added <TT>SetDefaultClassification()</TT> methods to enable

1593     setting the classification for tracks newly arriving to a stack.</LI>

1594 <LI>Access G4GeometryManager singleton through its <TT>GetInstance()</TT> call

1595     in G4RunManagerKernel and G4WorkerRunManager.</LI>

1596 <LI>Updated G4AdjointSimManager and G4AdjointSimMessenger to allow running

1597     adjoint simulation in MT mode.</LI>

1598 <LI>Removed use of no longer supported TiMemory.</LI>

1599 <LI>Fixed compilation warnings for implicit type conversions on macOS/XCode

1600     on G4MSSteppingAction. Use consistently G4 types.</LI>

1601 <LI>Fixed reported Coverity defects: in G4MSSteppingAction for restoring

1602     original stream format state; in G4RunManager and others, for use of

1603     <TT>std::move()</TT> and restructured conditionals. Also fixes in

1604     G4Task/SubEvtRunManager.</LI>

1605 <LI>Updated G4TaskRunManager for changes to underlying PTL-3.0.0 API.

1606     No changes to behaviour expected.</LI>

1607 </UL>

1608 

1609 <A NAME="track-notes">

1610 <H3><I>Track &amp; Tracking</I></H3></A>

1611 <UL>

1612 <LI>Added optional copy of touchable when copy constructing a G4Track, to

1613     support sub-event level parallelism.</LI>

1614 <LI>G4Trajectory and G4TrajectoryPoint: added <TT>CloneForMaster()</TT> method

1615     for merging trajectories created by worker thread in sub-event parallel

1616     mode. Refined by introducing G4ClonedTrajectory

1617     and G4ClonedTrajectoryPoint classes for clean and safe use of G4Allocator.

1618     Also added G4ClonedSmoothTrajectory and G4ClonedSmoothTrajectoryPoint.</LI>

1619 <LI>G4RichTrajectory and G4RichTrajectoryPoint are modified to directly

1620     inherit G4VTrajectory and G4VTrajectoryPoint abstract base-classes to

1621     avoid double use of G4Allocator. Added G4ClonedRichTrajectory and

1622     G4ClonedRichTrajectoryPoint classes.</LI>

1623 <LI>Some code cleanup, providing more easy reading of class headers; expected

1624     tiny CPU speedup; identical results.</LI>

1625 <LI>G4Track, G4Step, G4StepPoint: some code cleanup; improved comments.</LI>

1626 <LI>G4Step: move methods to compute delta energy and momentum to inline

1627     removing G4Exception but improving comments to these methods; removed

1628     G4ThreadLocal variable.</LI>

1629 <LI>G4VParticleChange: improved layout of variables.</LI>

1630 <LI>G4ParticleChangeForGamma, G4ParticleChangeForLoss: reserve vector of

1631     secondaries.</LI>

1632 <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT> in

1633     G4AdjointCrossSurfChecker.</LI>

1634 <LI>Removed use of no longer supported TiMemory.</LI>

1635 </UL>

1636 

1637 <A NAME="vis-notes">

1638 <H3><I>Visualization</I></H3></A>

1639 <UL>

1640 <LI><B>General</B>

1641     <UL>

1642     <LI>Fixed reported Coverity defects.</LI>

1643     </UL></LI>

1644 <LI><B>Management</B>

1645     <UL>

1646     <LI>Rationalisation, simplification and code tidying.

1647     <LI>Updated visualisation manager to correctly merge/handle asynchronous

1648         event merging (also resolving long standing issues with post

1649         processing). Implemented <TT>EventReadyForVis()</TT>, used by

1650         G4SubEvtRunManager; restructured EndOfEvent functions to accommodate

1651         this and avoid code duplication; this involved introducing:

1652         <TT>Relinquishable</TT>, <TT>EndOfEventKernel</TT> and

1653         <TT>EndOfEventCleanup</TT>.</LI>

1654     <LI>Corrected the use of <TT>KeepForPostProcessing/PostProcessingFinished</TT>.</LI>

1655     <LI>G4VisExecutive: restored OpenGL as default backend for Qt6.</LI>

1656     <LI>Improved identification of scene tree models: use full description,

1657         including embedded blanks.</LI>

1658     <LI>G4VViewer: check validity of arguments in SceneTreeScene constructor.

1659         Pre-calculate quantities in SceneTreeScene constructor; pre-calculate

1660         the number of touchable; if more than 10000, suppress them in the

1661         scene tree and add some information about it to the model item so that

1662         it pops up as a tooltip in the GUI.

1663         More logical order of some functions.</LI>

1664     <LI>G4VSceneHandler: specify the G4PhysicalVolumeModel for construction

1665         of scene tree. Simplified loop over models, added some printing.

1666         Print number of touchable by depth (if verbosity &gt;= confirmations).

1667         Print problematic volumes (if verbosity &gt;= confirmations).

1668         In <TT>DrawEvent(), DrawEndOfRunModels()</TT>, check if viewer is

1669         <TT>ReadyToDraw()</TT> at begin of method.

1670         Moved some printing outside the loop over models.</LI>

1671     <LI>Limit the number of scene tree items. For complex geometries, the scene

1672         tree can take up a lot of space, and, anyway, not easy to navigate.

1673         Now suppressing the scene tree if the number of touchable exceeds

1674         10000 (equivalent to about <TT>20 MB</TT>).</LI>

1675     <LI>G4VisCommandsViewer: use <TT>GetSceneTree()</TT> rather than

1676         <TT>AccessSceneTree()</TT> when not necessary. Simplified use of view

1677         parameters of a pre-existing viewer; use the parameters of the most

1678         recent viewer whatever its type in <TT>/vis/viewer/create</TT>.

1679         Exclude GlobalMarkerScale from parameters copied from pre-existing

1680         viewer, thus each viewer is allowed to specify its own

1681         GlobalMarkerScale.</LI>

1682     <LI>In G4VisExecutive, trap use of run-time visualisation driver choice,

1683         and (if using run-time choice) insist the UI session is instantiated

1684         *before* G4VisExecutive.

1685         Keep <TT>argc, argv</TT> and user-specified system, if specified, for

1686         delayed use. Moved informational (G4warn) from G4VisManager.

1687         Removed duplicate instantiation of TOOLSSG_OFFSCREEN.

1688         Removed inclusion of QtGlobal header, no longer needed.</LI>

1689     <LI>Delay determination of the run-time-chosen default driver.

1690         The run-time-chosen default driver is not actually used until the first

1691         use of <TT>/vis/open</TT> or <TT>/vis/sceneHandler/create</TT> without

1692         driver parameter, so we delay to this point. This catches the situation

1693         when the user instantiates the UI session *after* instantiating the

1694         vis manager.</LI>

1695     <LI>G4VisManager: make <TT>GetDefaultGraphicsSystemName()</TT> virtual and

1696         non <TT>const</TT>.

1697         The code for choosing a default driver *has to be* in user space, i.e.,

1698         in G4VisExecutive, so that it has access to use flags. Modified the

1699         informational (G4warn) in <TT>PrintAvailableGraphicsSystems()</TT>

1700         to give advice and point to further information to be given after

1701         <TT>/vis/open</TT>.

1702         Protected <TT>Begin/EndOfRun()</TT> against invalid view (includes

1703         check on existence of a scene). Some tidying and streamlining.

1704         Introduced local Booleans <TT>isValidViewForRun</TT> and <TT>isFakeRun</TT>.

1705         Introduced <TT>PrintAvailableVerbosity()</TT>.

1706         In <TT>GetVerbosityValue()</TT>, print verbosity options on unknown

1707         or empty argument. Call <TT>PostProcessingFinished()</TT> for _every_

1708         event in <TT>EndOfEventCleanup()</TT>.

1709         Fixed "accumulate" bug in Serial mode, and other small improvements.

1710         Improved printing of colours in <TT>PrintAvailableColours()</TT> and

1711         advise on use. Rationalised code and tyding.

1712         Protect <TT>KeepForPostProcessing()</TT> mutex lock;

1713         <TT>KeepForPostProcessing()</TT> is called on a worker thread,

1714         <TT>PostProcessingFinished()</TT> is called on the vis sub-thread,

1715         so should be protected.</LI>

1716     <LI>G4VisManager, G4VisCommandsSceneAdd: optimised timing of G4Event for

1717         <TT>KeepForPostProcessing()</TT> and <TT>PostProcessingFinished()</TT>

1718         so that event object that are not requested to be kept are cleanly

1719         deleted at the end of each run. Kept events are deleted at the

1720         beginning of the next run or when the program terminates.

1721         Use <TT>GetNumberOfKeptEvent()</TT> from G4Run to properly display

1722         the number of kept events.</LI>

1723     <LI>G4VisCommandsTouchable: <TT>/vis/touchable/dump</TT> and <TT>findPath</TT>

1724         do not need a scene handler nor a viewer.

1725         Moved them to the beginning of <TT>SetNewValue()</TT> in

1726         G4VisCommandsTouchable, before the check on scene handler and viewer.

1727         This allows the user to <TT>/vis/touchable/dump</TT> even if not yet

1728         opened a viewer.</LI>

1729     <LI>G4VisCommands: in <TT>/vis/list</TT>, added printing of verbosity

1730         options. In <TT>/vis/verbose</TT>, changed default value to empty

1731         string.</LI>

1732     <LI>G4VisCommandsSceneAdd: date and time are updated for every event

1733         displayed. Ensure the logo respects the current requested

1734         number of sides per circle in <TT>/vis/scene/add/logo</TT>.</LI>

1735     <LI>G4VViewer: added virtual <TT>ReadyToDraw()</TT>, helps avoiding a

1736         crash on macOS if doing <TT>/run/beamOn</TT> in vis.mac at startup.</LI>

1737     <LI>G4ViewParameters: minor improvements to messages in output

1738         <TT>operator<<()</TT>.</LI>

1739     <LI>Introduced TOOLS_USE_FREETYPE flag in vis management for <TT>/vis/plot</TT>

1740         UI command. In G4VisCommandsCompound, if TOOLS_USE_FREETYPE is set,

1741         augment <TT>/vis/plot</TT> UI command to take <TT>style</TT> argument.</LI>

1742     <LI>Removed use of G4MULTITHREADED symbol where not required, using

1743         runtime checks as far as possible.</LI>

1744     </UL></LI>

1745 <LI><B>Modeling</B>

1746     <UL>

1747     <LI>G4PhysicalVolumeModel: added data field <TT>TotalTouchables</TT> and

1748         access functions. Code indentation.</LI>

1749     <LI>G4TextModel: use single quote (') to delineate actual text in
1750         description.</LI>
1751     <LI>G4TrajectoryDrawByEncounteredVolume, G4TrajectoryEncounteredVolumeFilter:
1752         replaced check on trajectory type using <TT>dynamic_cast</TT> with a
1753         simple check on the existence on the required G4Att.</LI>
1754     </UL></LI>
1755 <LI><B>OpenGL</B>
1756     <UL>
1757     <LI>In G4OpenGLQtViewer, fixed MT issue of possible dead-lock in case
1758         multiple OGLI or OGLS viewers are enabled and when issuing
1759         <TT>/run/beamOn</TT>. Restored picking feature for Qt6 and implemented
1760         2D draw text in <TT>DrawText()</TT>.
1761         Resolved the timing issues around switching to the vis sub-thread with
1762         the use of G4CONDITIONWAITLAMBDA.</LI>
1763     <LI>G4OpenGLQtViewer: fixed potential compilation error in
1764         <TT>currentTabActivated()</TT>. Addressing problem report
1765         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2633">#2633</A>.</LI>
1766     <LI>In G4OpenGLImmediateQtViewer and G4OpenGLStoredQtViewer, removed usage
1767         of <TT>paintEvent()</TT> for Qt6, <TT>paintGL()</TT> should be
1768         sufficient. For updateQWidget, use <TT>update()</TT> to trigger a
1769         repaint. In <TT>Initialise()</TT> check validity of widget type, to
1770         avoid observed crash at startup on macOS; do the same in
1771         <TT>ClearView()</TT>, <TT>SetView()</TT>.</LI>
1772     <LI>Fix in G4OpenGLImmediateQtViewer for Qt6 for producing animation when
1773         issuing <TT>/vis/viewer/interpolate viewfiles/movie-1</TT>.</LI>
1774     <LI>G4OpenGLStoredQtSceneHandler: in <TT>ClearStore()</TT>, commented out
1775         some code related to the old scene tree.</LI>
1776     <LI>Fixed small memory leak in G4OpenGLQtViewer in <TT>DrawText()</TT>.</LI>
1777     <LI>Fixes for Qt5 and Qt6 to avoid a crash in case of <TT>/run/beamOn</TT>
1778         is called in vis.mac at startup.</LI>
1779     <LI>Use runtime checks for MT mode where possible.</LI>
1780     <LI>Make headers of implementation detail classes private.</LI>
1781     </UL></LI>
1782 <LI><B>OpenInventor</B>
1783     <UL>
1784     <LI>G4OpenInventorQtViewer: in Qt6, reparent G4OpenInventorQtExaminerViewer
1785         in its own QWidget, allowing to restore correct behaviour when opening
1786         multiple viewers. Properly handle viewer destruction.
1787         Have <TT>addInTab</TT> done in <TT>Initialise()</TT> method. Avoid to
1788         do an examiner viewer "move/resize" in <TT>Initialise()</TT> method,
1789         as causing strange widget rendering behaviour.</LI>
1790     <LI>In G4OpenInventorQtExaminerViewer, allow with Qt6 to map a dialog in
1791         case being closed with the mouse. Have the title window reflecting the
1792         name of the viewer. In MT mode, fixed behaviour when issuing multiple
1793         <TT>/run/beamOn</TT> commands within multiple viewers.</LI>
1794     <LI>Make headers of implementation detail classes private.</LI>
1795     </UL></LI>
1796 <LI><B>Qt3D</B>
1797     <UL>
1798     <LI>Added missing call to <TT>fpPhysicalVolumeObjects.clear()</TT> in
1799         <TT>EstablishG4Qt3DQEntities()</TT> in G4Qt3DSceneHandler. Fixes
1800         cases of crash when opening multiple viewers with "/vis/open Qt3D".</LI>
1801     <LI>In G4Qt3DViewer destructor, call <TT>setRootEntity(nullptr)</TT> to
1802         disconnect the scene from a viewer.
1803         Fixed timing issues around switching to the vis sub-thread
1804         with the use of G4CONDITIONWAITLAMBDA.</LI>
1805     <LI>In G4Qt3DSceneHandler destructor, clear the scene tree.</LI>
1806     <LI>In G4Qt3DViewer, implemented <TT>resizeEvent()</TT> method to avoid
1807         a bad aspect ratio at viewer creation. Fixes for Qt5 and Qt6 to avoid
1808         a crash in case of <TT>/run/beamOn</TT> is called in vis.mac at startup.</LI>
1809     </UL></LI>
1810 <LI><B>ToolsSG</B>
1811     <UL>
1812     <LI>Replace TOOLSSG vis driver variables that are just synonyms for more
1813         fundamental config options (e.g. GEANT4_USE_QT) with the underlying
1814         variable.</LI>
1815     <LI>Use runtime checks for MT mode where possible.</LI>
1816     <LI>Make Freetype a private dependency in CMake script.</LI>
1817     </UL></LI>
1818 <LI><B>Vtk</B>
1819     <UL>
1820     <LI>In G4VtxQtViewer, fixed MT issue of possible dead-lock in case multiple
1821         Vtk viewers are enabled and when issuing <TT>/run/beamOn</TT>.
1822         Fixed timing issues around switching to the vis sub-thread
1823         with the use of G4CONDITIONWAITLAMBDA.
1824         In <TT>DoneWithVisSubThread(), SwitchToMasterThread()</TT> protect
1825         against a possible null context; fixing crash in case of doing
1826         <TT>/run/beamOn</TT> in vis.mac at startup.</LI>
1827     </UL></LI>
1828 </UL>
1829 
1830 <A NAME="data-notes">
1831 <H3><I>Data sets</I></H3></A>
1832 <UL>
1833 <LI>Updated photon evaporation data set version, <B>G4PhotonEvaporation-6.1</B>:
1834     <UL>
1835     <LI>New database compliant with ENSDF version of March 5th 2024.</LI>
1836     </UL></LI>
1837 <LI>Updated radioactive decay data set version, <B>G4RadioactiveDecay-6.1.2</B>:
1838     <UL>
1839     <LI>New database compliant with ENSDF version of March 5th 2024.</LI>
1840     <LI>Corrected and checked files for neutron, proton and sp. fission.
1841         Restored some files from 5.7 set, that were already corrected in the
1842         past following user comments or from DDEP data.</LI>
1843     <LI>Fixed z2.a5 and z3.a5 elements and updated README.</LI>
1844     </UL></LI>
1845 <LI>Updated aata set of nuclides state properties version, <B>G4ENSDFSTATE-3.0</B>:
1846     <UL>
1847     <LI>New database compliant with ENSDF version of March 5th 2024.</LI>
1848     </UL></LI>
1849 <LI>Updated version of data set for neutron energies, <B>G4PARTICLEXS-4.1</B>:
1850     <UL>
1851     <LI>Updated data for all isotopes, for neutron, proton and light ion
1852         cross-sections. Fixed cross-sections for Argon, Promethium, Astatine,
1853         Radon, Francium. Fixed low-energy cross-section; low-energy limits of
1854         cross-sections per target are verified and updated based on neutron
1855         data.</LI>
1856     </UL></LI>
1857 <LI>New data set for the simulation of channeling trajectories,
1858     <B>G4CHANNELINGDATA-1.0</B>:
1859     <UL>
1860     <LI>New data set for the simulation of channeling trajectories. Includes
1861         the properties of the crystal lattice of a certain material and in a
1862         certain crystallographic direction (along either crystal planes or axes). 
1863         References:
1864         A. A. Samarskii and A. V. Gulin, Numerical Methods (Nauka, Moscow, 1989).
1865         G. I. Marchuk, Methods of Numerical Mathematics (Springer-Verlag, 1975).
1866         V. N. Baier, V. M. Katkov, and V. M. Strakhovenko, Electromagnetic
1867         Processes at High Energies in Oriented Single Crystals (W.Scientific, 1998).</LI>
1868     </UL></LI>
1869 <LI>New optional data set for NuDEX hadronic model, <B>G4NUDEXLIB-1.0</B>:
1870     <UL>
1871     <LI>New [optional] dataset required to enable the NuDEX hadronic model
1872         (E. Mendoza et al., NIMA 1047, 167894 (2023)
1873         <A https://doi.org/10.1016/j.nima.2022.167894>https://doi.org/10.1016/j.nima.2022.167894</A>).
1874         Including: data file with general parameters used by NuDEX; data tables
1875         to get internal conversion factors, obtained from BrICC; nuclear level
1876         schemes and densities downloaded from the RIPL-3 data library; files
1877         containing primary capture gamma rays, obtained from ENSDF; photon
1878         strength function parameters, obtained from RIPL-3 and from the IAEA
1879         Photon Strength Function Database; folder to change the default
1880         parameters for the decay of specific nuclei.</LI>
1881     </UL></LI>
1882 <LI>New optional data set for the treatment of low-energy neutrons, <B>G4URRPT-1.1</B>:
1883     <UL>
1884     <LI>New [optional] Probability Table dataset, used for the treatment of
1885         low-energy neutrons in the Unresolved Resonance Region (URR), at
1886         temperature of <TT>293.15 K</TT>, processed with both NJOY and CALENDF.
1887         As described in: M. Zmeskal et al., Comp.Phys. arXiv:2404.16389.</LI>
1888     </UL></LI>
1889 </UL></LI>
1890 
1891 <A NAME="ex-notes">
1892 <H3><I>Examples</I></H3></A>
1893 <UL>
1894 <LI>Updated reference outputs, macros, READMEs and scripts.</LI>
1895 <LI>Fixes for Doxygen documentation and coding guidelines.</LI>
1896 <LI>Updated URL for schema validation in all GDML files to valid short address.</LI>
1897 <LI>Applied clang-format to basic and extended examples.</LI>
1898 <LI><B><U>advanced</U></B>
1899     <UL>
1900     <LI>Created a new <TT>dna</TT> category for DNA advanced examples.
1901         Moved <TT>moleculardna</TT> example from extended to advanced.</LI>
1902     <LI><B>dna/cellularPhantom</B>
1903         <UL>
1904         <LI>New application showing how to simulate the irradiation of a 3D
1905             voxel phantom containing biological cells, created from a confocal
1906             microscopy 24-bit RGB image.
1907             Reference: P. Barberet et al., "Monte-Carlo dosimetry on a realistic

1908             cell monolayer geometry exposed to alpha-particle", Phys. Med. Biol.
1909             57 (2012) 2189-2207.</LI>
1910         </UL></LI>
1911     <LI><B>dna/dsbandrepair</B>
1912         <UL>
1913         <LI>Use EmParameters to control chemistry time step model.</LI>
1914         <LI>Modified the molecule names of OH, HO2, O in MoleculeDefinition.
1915             Each molecule configuration has a molecule definition.</LI>
1916         <LI>General code cleanup; merged classes that have the same
1917             functionality in PhysStage and ChemStage.</LI>
1918         </UL></LI>
1919     <LI><B>dna/moleculardna</B>:
1920         <UL>
1921         <LI>Modified the molecule names of OH, HO2, O in MoleculeDefinition.
1922             Each molecule configuration has a molecule definition.</LI>
1923         <LI>Added plasmid geometry.</LI>
1924         <LI>Added missing plasmid analysis root macro file.</LI>
1925         <LI>Added chromosomal geometry related files.</LI>
1926         <LI>Updated <TT>/dnageom/interactionDirectRange</TT> to
1927             <TT>2.0 angstrom</TT>.</LI>
1928         <LI>Modification of TimeStepModel interface.</LI>
1929         <LI>Use the physico-chemistry builder.</LI>
1930         <LI>Fixed bug in DNAGeometryMessenger.</LI>
1931         </UL></LI>
1932     <LI><B>eFLASH_radiotherapy</B>
1933         <UL>
1934         <LI>Added FlashPhysicsListMessenger class to allow changing the physics
1935             list by macro commands (opt3, opt4, Penelope and Livermore).</LI>
1936         <LI>Removed unused includes of analysis headers from FlashRunAction.</LI>
1937         <LI>Added a new geometry in DetectorConstruction; added an array of
1938             multiple small size silicon carbide detectors within the water
1939             phantom for dose distribution computation.</LI>
1940         <LI>Added sensitive detector class for the silicon carbide array.</LI>
1941         <LI>Updated macro files.</LI>
1942         </UL></LI>
1943     <LI><B>eRosita</B>
1944         <UL>
1945         <LI>Avoid deleting anything after deletion of run-manager in
1946             <TT>main()</TT>.</LI>
1947         </UL></LI>
1948     <LI><B>exp_microdosimetry</B>
1949         <UL>
1950         <LI>Added SiC microdosimeter geometry in DetectorConstruction.</LI>
1951         </UL></LI>
1952     <LI><B>fastAerosol</B>
1953         <UL>
1954         <LI>Updated for changes in accumulables: use new <TT>Register()</TT>
1955             method with shorter name.</LI>
1956         </UL></LI>
1957     <LI><B>hadrontherapy</B>
1958         <UL>
1959         <LI>Updated <TT>main()</TT>, input macros, physics list, run action
1960             and passive proton beamline: general code cleanup, bug fixing and
1961             readability improvements.</LI>
1962         <LI>Updated for changes in accumulables: use new <TT>Register()</TT>
1963             method with shorter name.</LI>
1964         </UL></LI>
1965     <LI><B>STCyclotron</B>
1966         <UL>
1967         <LI>Removed unused includes of analysis headers from STCyclotronRunAction.</LI>
1968         </UL></LI>
1969     <LI><B>xray_telescope</B>
1970         <UL>
1971         <LI>Removed unnecessary use of G4VisManager and some UI commands
1972             fixing stability problems.</LI>
1973         </UL></LI>
1974     </UL></LI>
1975 <LI><B><U>basic</U></B>
1976     <UL>
1977     <LI>Simplified and modernized CMake scripts for all basic examples.</LI>
1978     <LI><B>B1</B>
1979         <UL>
1980         <LI>Updated for changes in accumulables: use new <TT>Register()</TT>
1981             method with shorter name.</LI>
1982         </UL></LI>
1983     <LI><B>B3</B>
1984         <UL>
1985         <LI>Looping over G4THitsMap via range for loop instead of iterators.</LI>
1986         <LI>Updated for changes in accumulables: use new <TT>Register()</TT>
1987             method with shorter name.</LI>
1988         </UL></LI>
1989     </UL></LI>
1990 <LI><B><U>extended</U></B>
1991     <UL>
1992     <LI><B>biasing</B>
1993         <UL>
1994         <LI><B>GB06</B>
1995             <UL>
1996             <LI>Avoid call to static volumes store in DetectorConstruction class.</LI>
1997             </UL></LI>
1998         </UL></LI>
1999     <LI><B>electromagnetic</B>
2000         <UL>
2001         <LI><B>TestEm0</B>
2002             <UL>
2003             <LI>DetectorConstruction: introduced Xenon gas.</LI>
2004             <LI>Added new macro xenonGas.mac.</LI>
2005             </UL></LI>
2006         <LI><B>TestEm1</B>
2007             <UL>
2008             <LI>Run, EventAction, TrackingAction, HistoManager: compute and
2009                 plot energy leakage.</LI>
2010             </UL></LI>
2011         <LI><B>TestEm4</B>
2012             <UL>
2013             <LI>PhysicsLists: fixed annoying warnings on decay table;
2014                 removed obsolete methods.</LI>
2015             <LI>Run: code cleanup; removed Tabs.</LI>
2016             </UL></LI>
2017         <LI><B>TestEm5</B>
2018             <UL>
2019             <LI>TrackingAction: added protection against wrong argument of
2020                 <TT>std::acos()</TT>, rarely happening for very high energy
2021                 projectile particles.
2022             <LI>Removed macro subcut.mac.</LI>
2023             </UL></LI>
2024         <LI><B>TestEm7</B>
2025             <UL>
2026             <LI>RunAction: added protection to histogram binning for very
2027                 low step limit.</LI>
2028             </UL></LI>
2029         <LI><B>TestEm11</B>
2030             <UL>
2031             <LI>TrackingAction: in energy leakage, added special treatment
2032                 for positron.</LI>
2033             </UL></LI>
2034         <LI><B>TestEm12</B>
2035             <UL>
2036             <LI>Added comments to dna.mac input macro.</LI>
2037             </UL></LI>
2038         <LI><B>TestEm15</B>
2039             <UL>
2040             <LI>SteppingAction: code cleanup; removed Tabs.</LI>
2041             </UL></LI>
2042         </UL></LI>
2043     <LI><B>eventgenerator</B>
2044         <UL>
2045         <LI><B>exgps</B>
2046             <UL>
2047             <LI>Updated build script for CTests definitions.</LI>
2048             </UL></LI>
2049         <LI><B>pythia/py8decayer</B>
2050             <UL>
2051             <LI>Updated to Pythia8.3.10 for testing.</LI>
2052             <LI>Added Py8DecayerEngine to override Pythia8 native engine with
2053                 the default one from Geant4 (CLHEP), to properly run in the
2054                 MT/Tasking mode.</LI>
2055             <LI>Updated <TT>main()</TT> to use MT mode; some code cleanup.</LI>
2056             </UL></LI>
2057         <LI><B>HepMC/HepMCEx01</B>
2058             <UL>
2059             <LI>Avoid deleting anything after deletion of run-manager in
2060                 <TT>main()</TT>.</LI>
2061             </UL></LI>
2062         </UL></LI>
2063     <LI><B>exoticphysics</B>
2064         <UL>
2065         <LI>Introduced 'channeling' examples category, created 'ch0' example
2066             out of original example and added 'ch1', ch2' and 'ch3' examples.</LI>

2067         <LI><B>channeling</B>

2068             <UL>

2069             <LI><B>ch1</B>

2070                 <UL>

2071                 <LI>An easy demonstration of the minimum requirements necessary

2072                     to integrate the G4ChannelingFastSimModel and the

2073                     G4BaierKatkov model into a project in order to simulate the

2074                     physics of channeling and channeling radiation/coherent 

2075                     bremsstrahlung.</LI>

2076                 </UL></LI>

2077             <LI><B>ch2</B>

2078                 <UL>

2079                 <LI>An enhanced version of ch1, providing the user with the

2080                     full functionality of both demonstrated models, with

2081                     parameters set up via a macro.</LI>

2082                 </UL></LI>

2083             <LI><B>ch3</B>

2084                 <UL>

2085                 <LI>New example demonstrating the minimum requirements necessary

2086                     to integrate the G4CoherentPairProduction process into a

2087                     project, along with the demonstrated models, to simulate

2088                     the physics of electromagnetic showers in an oriented

2089                     crystal.</LI>

2090                 </UL></LI>

2091             </UL></LI>

2092         <LI><B>phonon</B>

2093             <UL>

2094             <LI>Updated build script for CTests definitions.</LI>

2095             </UL></LI>

2096         </UL></LI>

2097     <LI><B>field</B>

2098         <UL>

2099         <LI>Replaced FieldSetup and FieldMessenger classes with usage of new

2100             field builder class G4FieldBuilder.</LI>

2101         <LI>Moved setting field value (ThreeVector) from FieldSetup (now

2102             removed) in DetectorConstruction and its messenger and removed

2103             setting of Z-value only.</LI>

2104         <LI><B>field01</B>

2105             <UL>

2106             <LI>Use default Tasking run-manager from G4RunManagerFactory.</LI>

2107             <LI>Use default random number generator.</LI>

2108             <LI>Use <TT>GeometryHasBeenModified()</TT> in place of

2109                 <TT>ReinitializeGeometry()</TT> in DetectorCostruction

2110                 UI commands implementation, for thread safety.</LI>

2111             </UL></LI>

2112         <LI><B>field02</B>

2113             <UL>

2114             <LI>Migrated to use G4RunManagerFactory.</LI>

2115             <LI>Use default random number generator.</LI>

2116             <LI>Use <TT>GeometryHasBeenModified()</TT> in place of

2117                 <TT>ReinitializeGeometry()</TT> in DetectorCostruction

2118                 UI commands implementation, for thread safety.</LI>

2119             </UL></LI>

2120         <LI><B>field03</B>

2121             <UL>

2122             <LI>Migrated to use G4RunManagerFactory.</LI>

2123             <LI>Use default random number generator.</LI>

2124             <LI>Simplified F03DetectorConstruction() constructor.</LI>

2125             <LI>Use <TT>GeometryHasBeenModified()</TT> in place of

2126                 <TT>ReinitializeGeometry()</TT> in DetectorCostruction

2127                 UI commands implementation, for thread safety.</LI>

2128             </UL></LI>

2129         <LI><B>field04</B>

2130             <UL>

2131             <LI>Migrated to use G4RunManagerFactory.</LI>

2132             <LI>Use default random number generator.</LI>

2133             <LI>Avoid use of G4AutoDelete for G4StepMax, as clashing with

2134                 thread-local singletons deletion operated by G4TaskingRunManager.</LI>

2135             <LI>Use <TT>GeometryHasBeenModified()</TT> in place of

2136                 <TT>ReinitializeGeometry()</TT> in DetectorCostruction

2137                 UI commands implementation, for thread safety.</LI>

2138             </UL></LI>

2139         <LI><B>field05</B>

2140             <UL>

2141             <LI>Migrated to use G4RunManagerFactory.</LI>

2142             <LI>Use default random number generator.</LI>

2143             </UL></LI>

2144         <LI><B>field06</B>

2145             <UL>

2146             <LI>Use default random number generator.</LI>

2147             </UL></LI>

2148         </UL></LI>

2149     <LI><B>hadronic</B>

2150         <UL>

2151         <LI><B>FlukaCern</B>

2152             <UL>

2153             <LI>Fixed leakeage issue in fluka_interface; should not propagate

2154                 the track/projectile's direction from Geant4 to the event
2155                 generator, as the transformation of the final state is already
2156                 performed in Geant4. The Fluka event generator shall hence
2157                 work in Geant4 local frame, while Geant4 is in charge of
2158                 transforming the final state back to the lab.</LI>
2159             <LI>Fixed headers re-rodering by clang-format.</LI>
2160             </UL></LI>
2161         <LI><B>Hadr01</B>
2162             <UL>
2163             <LI>Enable usage of the NUDEX library for QGSP_BERT_HP physics
2164                 in <TT>main()</TT>.</LI>
2165             </UL></LI>
2166         <LI><B>Hadr03</B>
2167             <UL>
2168             <LI>PrimaryGeneratorAction: added tiny shift of position of the
2169                 particle gun from the world volume boundary; fixing a warning
2170                 now detecting this.</LI>
2171             <LI>PhysicsList: removed G4RadioactiveDecayPhysics.</LI>
2172             <LI>Updated fusion.mac input macro.</LI>
2173             </UL></LI>
2174         <LI><B>Hadr05</B>
2175             <UL>
2176             <LI>PrimaryGeneratorAction: added tiny shift of position of the
2177                 particle gun from the world volume boundary; fixing a warning
2178                 now detecting this.</LI>
2179             <LI>RadioactiveDecayPhysics: added Triton.</LI>
2180             <LI>Applied coding rules.</LI>
2181             </UL></LI>
2182         <LI><B>Hadr07</B>
2183             <UL>
2184             <LI>RadioactiveDecayPhysics: added Triton.</LI>
2185             <LI>Applied coding rules.</LI>
2186             </UL></LI>
2187         <LI><B>NeutronSource</B>
2188             <UL>
2189             <LI>PhysicsList: added G4HadronElasticPhysicsXS.</LI>
2190             <LI>RadioactiveDecayPhysics: added Triton.</LI>
2191             <LI>GammaNuclearPhysics, GammaNuclearPhysicsLEND: applied coding
2192                 rules.</LI>
2193             </UL></LI>
2194         </UL></LI>
2195     <LI><B>medical/dna</B>
2196         <UL>
2197         <LI>Moved 'moleculardna' example from extended to advanced examples
2198             module.</LI>
2199         <LI><B>chem1</B>:
2200             <UL>
2201             <LI>Changed world volume colour to make it different
2202                 from the white background.</LI>
2203             </UL></LI>
2204         <LI><B>chem3</B>:
2205             <UL>
2206             <LI>Updated TimeStepAction and added function to show how to get
2207                 a specific species ID, positions at each time step.</LI>
2208             </UL></LI>
2209         <LI><B>chem4</B>:
2210             <UL>
2211             <LI>Corrected molecule name in macro file.</LI>
2212             </UL></LI>
2213         <LI><B>chem6</B>:
2214             <UL>
2215             <LI>Use EmParameters to control chemistry models.</LI>
2216             <LI>Added <TT>/process/chem/TimeStepModel IRT</TT> UI command
2217                 in macro file beam_HCP.in.</LI>
2218             <LI>Corrected molecule name in macro file.</LI>
2219             </UL></LI>
2220         <LI><B>dnadamage1</B>:
2221             <UL>
2222             <LI>Fixed compilation errors on macOS/clang with C++23 enabled.</LI>
2223             </UL></LI>
2224         <LI><B>dnadamage2</B>:
2225             <UL>
2226             <LI>Modified molecule names of OH, HO2, O in MoleculeDefinition.
2227                 Each molecule configuration has a molecule definition.</LI>
2228             <LI>Use G4ChemDissociationChannels_option1 builder to avoid
2229                 duplication.</LI>
2230             </UL></LI>
2231         <LI><B>dnaphysics</B>:
2232             <UL>
2233             <LI>PhysicsList: switched to DNA physics constructors i/o model
2234                 activator.</LI>
2235             <LI>Updated DetectorConstructor and DetectorMessenger files with
2236                 given values of material density and World size.</LI>
2237             <LI>Added messenger for World size change.</LI>
2238             <LI>Added messenger for material density change.</LI>
2239             <LI>Added new n-tuple to collect track information.</LI>
2240             <LI>Added plotDeexcitation.C analysis and deexcitation.in macro.</LI>
2241             <LI>Updated comments in headers.</LI>
2242             </UL></LI>
2243         <LI><B>mfp</B>:
2244             <UL>
2245             <LI>Added auto to plot.C. Code cleanup.</LI>
2246             </UL></LI>
2247         <LI><B>microdosimetry</B>:
2248             <UL>
2249             <LI>Removed original content of the example; replaced by dnaphysics
2250                 example.</LI>
2251             <LI>Code simplification to demonstrate the usage of
2252                 G4DNAPhysicsActivator.</LI>
2253             </UL></LI>
2254         <LI><B>microprox</B>:
2255             <UL>
2256             <LI>Code cleanup.</LI>
2257             </UL></LI>
2258         <LI><B>microyz</B>:
2259             <UL>
2260             <LI>Code cleanup.</LI>
2261             </UL></LI>
2262         <LI><B>range</B>:
2263             <UL>
2264             <LI>Added auto to plot.C. Code cleanup.</LI>
2265             </UL></LI>
2266         <LI><B>scavenger</B>:
2267             <UL>
2268             <LI>Modified the molecule names of OH, HO2, O in MoleculeDefinition.
2269                 Each molecule configuration has a molecule definition.</LI>
2270             </UL></LI>
2271         <LI><B>slowing</B>:
2272             <UL>
2273             <LI>Added auto to plot.C. Code cleanup.</LI>
2274             </UL></LI>
2275         <LI><B>spower</B>:
2276             <UL>
2277             <LI>SteppingAction: extended use for ions heavier than helium.
2278             <LI>In spower.in input macro, added extra commands to show how
2279                 to shoot ions heavier than helium.</LI>
2280             <LI>Code cleanup.</LI>
2281             </UL></LI>
2282         <LI><B>svalue</B>:
2283             <UL>
2284             <LI>Added auto to plot.C. Code cleanup.</LI>
2285             </UL></LI>
2286         <LI><B>UHDR</B>:
2287             <UL>
2288             <LI>Updated bounce off condition based on:
2289                 Karamitros M. et al.2020,arXiv:2006.14225 (2020).</LI>
2290             <LI>Implemented PBC based on
2291                 <A TARGET="ext" HREF="https://github.com/amentumspace/g4pbc">https://github.com/amentumspace/g4pbc</A>
2292                 to calculate microdosimetry.</LI>
2293             <LI>Modified the molecule names of OH, HO2, O in MoleculeDefinition.
2294                 Each molecule configuration has a molecule definition.</LI>
2295             <LI>Added a maximum dose (2 times of cut-off dose) to abort the
2296                 event.</LI>
2297             <LI>Updated visualization mode for physical stage.</LI>
2298             <LI>Fixed compilation errors on macOS/clang with C++23 enabled, for
2299                 incomplete types of smart-pointers through defaulted destructors.</LI>
2300             </UL></LI>
2301         <LI><B>wvalue</B>:
2302             <UL>
2303             <LI>Added auto to plot.C. Code cleanup.</LI>
2304             </UL></LI>
2305         </UL></LI>
2306     <LI><B>medical/fanoCavity</B>
2307         <UL>
2308         <LI>Make PhysicsLists of the example coherent with physics_list library.
2309             Fixed annoying warnings on decay table.</LI>
2310         </UL></LI>
2311     <LI><B>medical/fanoCavity2</B>
2312         <UL>
2313         <LI>Make PhysicsLists of the example coherent with physics_list library.</LI>
2314         </UL></LI>
2315     <LI><B>medical/radiobiology</B>
2316         <UL>
2317         <LI>Updated for changes in accumulables: use new <TT>Register()</TT>
2318             method with shorter name.</LI>
2319         </UL></LI>
2320     <LI><B>parallel</B>
2321         <UL>
2322         <LI>Removed obsolete TopC example.</LI>
2323         <LI><B>MPI</B>
2324            <UL>
2325            <LI>Updated build script for CTests definitions.</LI>
2326            </UL></LI>
2327         <LI><B>ThreadsafeScorers</B>
2328            <UL>
2329            <LI>Removed use of no longer supported TiMemory.</LI>
2330            </UL></LI>
2331         </UL></LI>
2332     <LI><B>parameterisations</B>
2333         <UL>
2334         <LI><B>gflash/gflasha</B>
2335            <UL>
2336            <LI>ExGflashHistoManager: fixed initialisation of <TT>fVerbose</TT>.</LI>
2337            <LI>Bigger calo length, radial histos in fraction of radius Moliere;
2338                fixed index range.</LI>
2339            <LI>Restored <TT>setMat()</TT> functionality; added geometry
2340                commands.</LI>
2341            <LI>Moved event generator defaults from vis.mac to PrimaryGenerator
2342                class.</LI>
2343            <LI>Updated macro files and code cleanup.</LI>
2344            </UL></LI>
2345         <LI><B>Par04</B>
2346            <UL>
2347            <LI>Bump tensorflow version, as suggested in
2348                <A HREF="https://github.com/Geant4/geant4/pull/75">GitHub Dependabot PR#75</A>.</LI>
2349            </UL></LI>
2350         </UL></LI>
2351     <LI><B>polarisation/Pol01</B>
2352         <UL>
2353         <LI>Updated for changes in accumulables.</LI>
2354         </UL></LI>
2355     <LI><B>radioactivedecay</B>
2356         <UL>
2357         <LI><B>Activation</B>
2358             <UL>
2359             <LI>PhysicsList: added G4HadronElasticPhysicsXS.</LI>
2360             <LI>RadioactiveDecayPhysics: added Triton.</LI>
2361             <LI>GammaNuclearPhysics, GammaNuclearPhysicsLEND: applied
2362                 coding rules.</LI>
2363             </UL></LI>
2364         <LI><B>rdecay01</B>
2365             <UL>
2366             <LI>PhysicsList: set <TT>MeanLifeThreshold</TT> to <TT>1 nanosecond</TT>.</LI>
2367             <LI>Added time windowed biasing to rdecay01.in macro.</LI>
2368             <LI>In timeWindowBiased.mac and rdecay01.in, removed
2369                 <TT>/process/had/rdm/BRbias</TT>.</LI>
2370             </UL></LI>
2371         </UL></LI>
2372     <LI><B>runAndEvent</B>
2373         <UL>
2374         <LI><B>RE03</B>
2375            <UL>
2376            <LI>Adding ability to run in sub-event parallel mode.</LI>
2377            </UL></LI>
2378         <LI><B>RE05</B>
2379            <UL>
2380            <LI>Avoid deleting anything after deletion of run-manager in
2381                <TT>main()</TT>.</LI>
2382            <LI>Modified exampleRE05.in macro to temporarily disable use
2383                of the HEPEvt interface, pending event data update.</LI>
2384            </UL></LI>
2385         <LI><B>RE07</B>
2386            <UL>
2387            <LI>Fixed compilation warnings for potentially initialised local
2388                variable in EmStandardPhysicsTrackingManager in
2389                <TT>PostStepDoIt()</TT>.</LI>
2390            <LI>Fixed compilation warning on clang-19.</LI>
2391            </UL></LI>
2392         </UL></LI>
2393     </UL>
2394     <LI><B>vidualization</B>
2395         <UL>
2396         <LI><B>standalone</B>
2397            <UL>
2398            <LI>A smarter way of getting extent of geometry that ignores
2399                invisible volumes. Thus, if the world is marked invisible,
2400                it ignores it.</LI>
2401            <LI>In DrawGeometryVisAction: use G4PhysicalVolumeModel to
2402                determine extent.</LI>
2403            <LI>In vis.mac, added some commands from B1 vis.mac macro,
2404                to get a nice view.</LI>
2405            </UL></LI>
2406         <LI><B>userVisAction</B>
2407            <UL>
2408            <LI>Removed run1.mac and run2.mac macros, as not useful in this
2409                example context.</LI>
2410            </UL></LI>
2411         <LI><B>vtk</B>
2412            <UL>
2413            <LI>Updated for changes in accumulables: use new <TT>Register()</TT>
2414                method with shorter name.</LI>
2415            <LI>Removed unused macro vtkExample.in.</LI>
2416            </UL></LI>
2417         </UL></LI>
2418     </UL>
2419 </UL>
2420 
2421 <HR>
2422 
2423 </BODY>
2424 </HTML>