Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:16:07

0001 <HTML>
0002 <HEAD>
0003 <TITLE>Geant4 11.2 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.2 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 8<SUP>th</SUP>, 2023</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="http://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="http://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-11.3.1.<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 14.1.1 Sonoma with Apple LLVM/Clang-15.<BR>
0070     Tested on 64 bit architectures (Intel or Apple Silicon).</LI>
0071 <LI>Windows-10 with Visual C++ 14.36 (Visual Studio 2022).</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-14/16/17</LI>
0077 <LI>Linux, Intel-icx 2022.2</LI>
0078 <LI>macOS 13.6 Ventura with Apple LLVM/clang-15</LI>
0079 <LI>macOS 12.7 Monterey with Apple LLVM/clang-14</LI>
0080 <LI>Windows/10 with Visual C++ 14.29 (Visual Studio 2019)</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="http://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 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-rc2</B> or <B>1.2.6</B> have been tested when using
0100 such configuration.<BR>
0101 PTL version <B>2.3.3</B> is required for external installation of the
0102 <A 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>Added support for declaring headers of a source code module private.
0123     Headers declared private are not installed. Partial refactoring of
0124     modules.</LI>
0125 <LI>Removed deprecated GNUmake scripts for libraries build.</LI>
0126 </UL>
0127 
0128 <P> </P>
0129 <B>Geometry, Fields and Transportation</B>
0130 <P> </P>
0131 <UL>
0132 <LI>The inheritance level for G4TouchableHistory has been removed, simplifying
0133     touchables handling. G4VTouchable is now a simple typedef of
0134     G4TouchableHistory, therefore forward declarations of G4VTouchable
0135     in the code will have to be promoted to concrete inclusion of the
0136     related header file.</LI>
0137 <LI>Unused concrete touchable types G4GRSSolid and G4GRSVolume have been
0138     retired and are no longer available.</LI>
0139 </UL>
0140 
0141 <P> </P>
0142 <B>Electromagnetic and optical physics</B>
0143 <P> </P>
0144 <UL>
0145 <LI>G4NeutrinoPhysics constructor is now added.</LI>
0146 <LI>New dataset G4EMLOW-8.5 is required and should be used.</LI>
0147 </UL>
0148 
0149 <P> </P>
0150 <B>Hadronic physics</B>
0151 <P> </P>
0152 <UL>
0153 <LI>The default value of the time threshold for radioactive decays of ions -
0154     above which these decays are ignored - has been changed, from
0155     <TT>10^27 ns</TT> (i.e. about twice the age of the universe) to
0156     <TT>1 year</TT>. For applications where radioactive decays of ions do
0157     play an important role, it is recommended to increase the default time
0158     threshold of these decays to a very high value, e.g. <TT>1.0e+60 years</TT>.
0159     This can be done in either one of the following three ways:
0160     <OL>
0161     <LI>Via UI command, e.g.
0162         <TT>/process/had/rdm/thresholdForVeryLongDecayTime 1.0e+60 year</TT>,
0163         (command to be used after <TT>/run/initialization</TT>);</LI>
0164    <LI>Via C++ interface, e.g.
0165        <TT>G4HadronicParameters::Instance()->SetTimeThresholdForRadioactiveDecay( 1.0e+60*CLHEP::year )</TT>
0166        (to be placed in the main program before run initialization);</LI>
0167    <LI>Via the second parameter of the constructor of the class
0168        G4RadioactiveDecay (for analogue mode only) or G4Radioactivation
0169        (for both analogue or biased mode),  e.g.
0170        <TT>G4RadioactiveDecay( "RadioactiveDecay", 1.0e+60*CLHEP::year )</TT>
0171        or <TT>G4Radioactivation( "Radioactivation", 1.0e+60*CLHEP::year )</TT>
0172       (this is for custom physics lists, before run initialization).</LI>
0173    </OL>
0174    In the examples, the first method is adopted.</LI>
0175 <LI>Renamed classes for capture from G4ParticleHPCapture to G4NeutronHPCapture.
0176     Removed unused G4NeutronHP*.hh headers for elastic and inelastic.</LI>
0177 </UL>
0178 
0179 <P> </P>
0180 <B>Persistency</B>
0181 <UL>
0182 <LI>The build of the persistency library, G4Persistency, has been split into
0183     G4mctruth, G4geomtext and (optional) G4gdml libraries.</LI>
0184 </UL>
0185 
0186 <P> </P>
0187 <B>Visualization and Modeling</B>
0188 <P> </P>
0189 <UL>
0190 <LI>In order to allow support of Qt6, OGL is temporarily diverted to TSG by default.
0191     If VTK is requested, due to compatibility issues, all other drivers that use OpenGL
0192     - GLES "toolssg" drivers and all OpenGL drivers - are not registered automatically
0193     by G4VisExecutive.</LI>
0194 </UL>
0195 
0196 <P> </P>
0197 <B>Data Sets</B>
0198 <P> </P>
0199 <UL>
0200 <LI>This release introduces new data set versions.
0201     Please see the corresponding details in
0202     <A href="#data-notes">Section 9</A> of this document.
0203     <UL>
0204     <LI>New data set versions: <TT>G4EMLOW-8.5, G4ABLA-3.3,
0205         G4INCL-1.2</TT>.</LI>
0206     <LI>In order to use <TT>ParticleHP</TT> for charged particles
0207         (protons, deuterons, tritons, He3 and alphas), an optional data
0208         set <TT>G4TENDL-1.4</TT> is required, and can be optionally
0209         downloaded in addition.</LI>
0210     </UL></LI>
0211 </UL>
0212 
0213 <A NAME="4."></A>
0214 <HR>
0215 
0216 <!-- ============================================== -->
0217 
0218 <H2>4. New Developments and Capabilities </H2>
0219 
0220 <B>General</B>
0221 <UL>
0222 <LI>First implementation of G4SubEvent and related mechanism for registration
0223     and merging in a run.</LI>
0224 <LI>Reviewed/simplified stream buffer and I/O classes.</LI>
0225 </UL>
0226 
0227 <B>Analysis</B>
0228 <UL>
0229 <LI>Added new G4AnalysisManager functions for deleting selected histograms,
0230     profiles and n-tuples, with related UI commands.</LI>
0231 <LI>G4AnalysisManager functions <TT>GetNof[Hn|Pn|Ntuple]s()</TT> can be called
0232     with a new, optional, Boolean argument <TT>onlyIfExist</TT>.</LI>
0233 <LI>Added UI commands for creating n-tuple.</LI>
0234 </UL>
0235 
0236 <B>Geometry & Field</B>

0237 <UL>

0238 <LI>New Quantum State Simulation (QSS) integration method, an alternative

0239     method of integration offering built-in interpolation capability and

0240     enabling faster finding of the intersection of the trajectory with

0241     surfaces.</LI>

0242 <LI>Added new G4VNavigation common navigation interface class and streamlined

0243     code in navigation classes to use the new common interface.</LI>

0244 <LI>Added new G4SafetyCalculator class, auxiliary to G4Navigator; used in
0245     G4Navigator in <TT>ComputeSafety()</TT> to avoid saving/restoring
0246     state.</LI>
0247 </UL>
0248 
0249 <B>Materials</B>
0250 <UL>
0251 <LI>New G4ElementDataRegistry management class for shared data per element in
0252     materials.</LI>
0253 <LI>In G4MaterialPropertiesTable, improved building of vectors of material
0254     property names.</LI>
0255 <LI>In G4NistMaterialBuilder, all liquid materials are marked as
0256     <TT>kLiquid</TT>.</LI>
0257 </UL>
0258 
0259 <B>Electromagnetic physics</B>
0260 <UL>
0261 <LI>Fixed single scattering per region, active inside the region
0262     and disabled outside.</LI>
0263 <LI>Removed most calls to environment variables in electromagnetic physics
0264     classes</LI>
0265 <LI>In G4UrbanMscModel, reduced number of re-computations of safety.</LI>
0266 <LI>Reviewed initialisation of static data in G4SeltzerBergerModel and
0267     G4eBremsstrahlungRelModel classes.</LI>
0268 <LI>In G4LivermorePhotoElectricModel, updated initialisation of static tables
0269     for thread safety and setting of shell cross-sections.</LI>
0270 <LI>New process G4XrayReflection to describe X-ray surface scattering based
0271     on data provided in <TT>G4EMLOW-8.5</TT>.</LI>
0272 <LI>New class G4MicroElecCapture for better estimation of the non ionizing
0273     energy deposition.</LI>
0274 <LI>Rewritten G4DNARuddIonisationExtendedModel G4DNA model, applicable for
0275     scaled energy interval from <TT>100 eV</TT> to <TT>100 MeV</TT>.</LI>
0276 </UL>
0277 
0278 <B>Hadronic physics</B>
0279 <UL>
0280 <LI>Introduced a new, alternative set of parameters for the Fritiof (FTF) string 
0281     model, meant to overcome the problem of too optimistic (i.e. narrow) pion 
0282     shower energy resolutions in ATLAS calorimeters with respect to test-beam
0283     data. This new FTF tune is enabled only in the reference physics list 
0284     FTFP_BERT_ATL.</LI>
0285 <LI>In G4RadioactiveDecay, changed default threshold for the time beyond
0286     which radioactive decays are ignored, from twice the age of the
0287     Universe to one year. The code has also been reviewed to use only one
0288     table of radioactive decay channels and streamlined code for thread
0289     safety.</LI>
0290 <LI>Major extension of the INCLXX model to handle antiproton annihilation
0291     at rest and in-flight. All INCLXX-based physics lists now use INCLXX for
0292     the antiproton annihilation at rest.
0293     Note that, for the time being, for in-flight antiproton annihilation, FTFP
0294     is still used in all physics lists.</LI>
0295 <LI>Implemented an accurate modeling of elastic resonant scattering in heavy
0296     nuclei by the use of the Doppler Broadening Rejection Correction (DBRC)
0297     algorithm. By default, this treatment is not activated; it can be switched
0298     on via the UI command: <TT>/process/had/particle_hp/use_DBRC true</TT>.</LI>
0299 <LI>Implemented interface allowing the coupling between Binary Cascade (BIC)
0300     and ABLA, i.e. using BIC for the cascade and then ABLA for the nuclear
0301     de-excitation.</LI>
0302 <LI>Extended Bertini model to allow the use of ABLA as alternative post-cascade
0303     nuclear de-excitation (the default de-excitation remains unchanged).</LI>
0304 <LI>New cross-section class G4ChargeExchangeXS for charge exchange process.</LI>
0305 <LI>Reviewed and updated the fermi_breakup model.</LI>
0306 <LI>Safer initialisation of static data in hadronic cross-section classes.
0307     Added new HP cross-section classes.</LI>
0308 <LI>Added classes for QMD model optimised for light ions, recommended
0309     for medical applications.</LI>
0310 </UL>
0311 
0312 <B>Particles</B>
0313 <UL>
0314 <LI>Particle properties have been updated according to PDG-2023.</LI>
0315 </UL>
0316 
0317 <B>Persistency</B>
0318 <UL>
0319 <LI>Added possibility to set alternative grammar for schema validation
0320     while reading a GDML file.</LI>
0321 </UL>
0322 
0323 <B>Physics Lists</B>
0324 <UL>
0325 <LI>New physics list QGSP_BIC_HPT, similar to QGSP_BIC_HP, but with
0326     special treatment of elastic scattering of thermal neutrons activated.</LI>
0327 <LI>Added new physics lists to the physics factory, for <TT>HPT</TT> variants
0328     (i.e. with special treatment of elastic scattering of thermal neutrons)
0329     of physics lists with <TT>HP</TT> already present (FTFP_BERT_HPT,
0330     QGSP_BERT_HPT, QGSP_BIC_HPT, QGSP_BIC_AllHPT, FTFP_INCLXX_HPT, 
0331     QGSP_INCLXX_HPT, Shielding_HPT, and ShieldingM_HPT).</LI>
0332 <LI>Introduced new physics list names to the physics factory, Shielding_HP and
0333     ShieldingM_HP, as alias of, respectively, Shielding and ShieldingM.</LI>
0334 <LI>Used in the FTFP_BERT_ATL physics list a new, specific, FTF tune meant to 
0335     overcome the problem of too optimistic (i.e. narrow) pion shower energy
0336     resolutions in ATLAS calorimeters with respect to test-beam data.
0337     Note: for all other reference physics lists (e.g. FTFP_BERT), the default
0338     set of FTF parameters is applied; in order to enable the new tune in these
0339     physics lists, one can use, before initialization, either the UI command:
0340     <TT>/process/had/models/ftf/selectTuneByName energy-resolution-tune2023-v0</TT>
0341     or through C++ interface:
0342     <TT>G4FTFTunings::Instance()->SetTuneApplicabilityState(4, 1)</TT>.</LI>
0343 <LI>In INCLXX-based reference physics lists (e.g. FTFP_INCLXX, QGSP_INCLXX, etc.),
0344     INCLXX is used for antiproton annihilation at rest (instead of FTFP as
0345     before).
0346     Note: in order to use INCLXX for antiproton annihilation at rest in other
0347     physics lists, one need to modify the source code of the physics list by
0348     replacing the class G4StoppingPhysics with G4StoppingPhysicsWithINCLXX.</LI>
0349 <LI>Added new physics constructor for neutrino physics, G4NeutrinoPhysics, 
0350     and its messenger. New constructors G4ChargeExchangePhysics and
0351     G4NeutrinoPhysics may be added on top of any modular Physics List.
0352     Both constructors have messengers with UI commands allowing to configure
0353     these new physics processes.</LI>
0354 <LI>Added a Boolean parameter to the Shielding physics list constructor
0355     which allows to use the new G4LightIonQMD model instead of the default
0356     QMD model.
0357     Note: the new model G4LightIonQMD provides more precise modelling than
0358     QMD for medical applications; for other applications, e.g. shielding,
0359     physics validation is needed to compare the two models.</LI>
0360 <LI>New physics list QBBC_ABLA, behaving as QBBC, but using the ABLA model
0361     for nuclear de-excitation, instead of precompound/de-excitation,
0362     for charged pions and nucleons projectiles.
0363     This is for testing, not yet recommended for physics studies.</LI>
0364 </UL>
0365 
0366 <B>Processes - General</B>
0367 <UL>
0368 <LI>New submodule <I>channeling</I>, implementing fast-simulation channeling
0369     model in oriented crystals with Baier Katkov method for the calculation of
0370     radiation probability, radiation point and parameters of photon production
0371     as well as spectrum accumulation.</LI>
0372 </UL>
0373 
0374 <B>Visualization and Interfaces</B>
0375 <UL>
0376 <LI>First version of the TSG_[QT,X11,XT,WINDOWS]_ZB sub drivers, allowing for
0377     interactive 3D rendering bypassing native graphics systems.</LI>
0378 <LI>TSGQt driver temporarily enabled by default with OGL driver choice,
0379     to allow support of Qt6.</LI>
0380 <LI>Updated and extended Vtk visualization driver with new features and
0381     fixes.</LI>
0382 <LI>Supporting first implementation of a no-frills GUI-side scene tree
0383     in the Qt GUI.</LI>
0384 <LI>Implemented a more flexible way of choosing a graphics system for
0385     visualisation, preserving the existing behaviour in all aspects.</LI>
0386 <LI>Implemented <I>generic cutaways</I> in visualization. Clips, sections and
0387     cutaways will now be available to *all* viewers (OpenGL still uses
0388     OpenGL clip planes. Use another driver, e.g., TSG, to get "generic

0389     cutaways").</LI>
0390 <LI>Enabled first-level support for Qt6.
0391     Fixed minimum supported version for Qt5 to be 5.9.</LI>
0392 <LI>In G4UIQt, implemented right-click pop-up menu for touchables in new
0393     scene tree.</LI>
0394 </UL>
0395 
0396 <B>Examples</B>
0397 <UL>
0398 <LI>New Geant4-FLUKA interface and two hadronic examples, providing access to
0399     FLUKA-Cern hadron-nucleus inelastic physics.</LI>
0400 <LI>New advanced example <TT>xray_TESdetector</TT> of the application of Geant4
0401     in a space environment. It represents an x-ray detector derived from the 
0402     X-IFU, the X-ray spectrometer designed and developed by the European Space
0403     Agency (ESA) for use on the ATHENA telescope</LI>
0404 <LI>New advanced example <TT>xray_SiliconPoreOptics</TT>, demonstrating an
0405     application of Geant4 in space environment. The geometry represents a
0406     single reflective pore used to simulate on a smaller scale the effect
0407     of the millions of pores forming the mirror of the ATHENA Silicon Pore
0408     Optics (SPO).</LI>
0409 <LI>New extended example <TT>radiobiology</TT>, realized for dosimetric and
0410     radiobiological applications of  proton and ion beams.</LI>
0411 <LI>New advanced example <TT>dsbandrepair</TT>, a Geant4-DNA application for
0412     evaluating the early radiation-induced DNA damage.</LI>
0413 <LI>New Geant4-DNA example <TT>UHDR</TT> showing how to activate the mesoscopic
0414     model in chemistry. It allows to simulate chemical reactions longtime
0415     (beyond <TT>1 us</TT>) of post-irradiation.</LI>
0416 <LI>New Geant4-DNA example <TT>dnadamage2</TT> providing scoring of plasmid DNA
0417     strand breaks using the IRT method.</LI>
0418 <LI>New extended Vtk specific example demonstrating new features only available
0419     in the VTK viewer.</LI>
0420 </UL>
0421 
0422 <A NAME="5."></A>
0423 <HR>
0424 
0425 <!-- ============================================== -->
0426 
0427 <H2>5. Expected effects on physics and computing performance</H2>
0428 
0429 <B>Electromagnetic physics</B>
0430 <UL>
0431 <LI>Consistent with measurements obtained in Geant4 11.1 series.</LI>
0432 </UL>
0433 
0434 <B>Hadronic physics</B>
0435 <UL>
0436 <LI>The hadronic showers remain the same as in Geant4 11.1 series.</LI>
0437 <LI>Physics results of HP-based physics lists are expected to remain unchanged
0438     (i.e. the same as Geant4 11.1 series), regardless several technical code
0439     improvements; the only exception is when using QGSP_BERT_HP, for which
0440     there might be some changes in the physics results (validation is still
0441     on-going).</LI>
0442 </UL>
0443 
0444 <B>PTL threading library</B>
0445 <UL>
0446 <LI>The <TT>PTL::ThreadPool::execute_thread()</TT> member function is compiled
0447     unoptimised on Intel-based macOS systems to avoid GPFLT errors (see Bugzilla
0448     ticket <A HREF="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2564">#2564</A>).
0449     No significant performance degradation is observed or expected.</LI>
0450 </UL>
0451 
0452 <P> </P>
0453 <A NAME="6."></A>
0454 <HR>
0455 
0456 <!-- ============================================== -->
0457 
0458 <H2>6. Known Run-Time Problems and Limitations</H2>
0459 For a complete list of outstanding run-time problems and to submit any
0460 problem you may find while running this version of Geant4, please refer
0461 to the
0462 <A TARGET="ext" HREF="http://cern.ch/geant4/problemreport">Geant4 Problem
0463 Reporting System</A>.
0464 
0465 <P> </P> 
0466 <A NAME="7."></A>
0467 <HR>
0468 
0469 <!-- ============================================== -->
0470 
0471 <H2>7. Compilation Warnings</H2>
0472 
0473 There may be a few compilation warnings on some platforms.
0474 We do not believe that any of these lead to incorrect run-time behaviour.
0475 
0476 <P> </P>
0477 <A NAME="8."></A>
0478 <HR>
0479 
0480 <!-- ============================================== -->
0481 
0482 <H2>8. Geant4 Software License</H2>
0483 
0484 A Software License applies to the Geant4 code.
0485 Users must accept this license in order to use it.<BR>
0486 The details and the list of copyright holders is available at
0487 <A href="http://cern.ch/geant4/license">http://cern.ch/geant4/license</A>
0488 and also in the text file <TT>LICENSE</TT> distributed with the source code.
0489 
0490 <P> </P>
0491 <A NAME="9."></A>
0492 <HR>
0493 
0494 <!-- ============================================== -->
0495 
0496 <H2>9. Detailed list of changes and fixes</H2>
0497 
0498 These are the main new features/fixes included in this release since the
0499 last patched public release (for more detailed lists of fixes/additions,
0500 please refer to the corresponding History files provided in most packages):
0501 
0502 <P> </P>
0503 
0504 <A NAME="conf-notes">
0505 <H3><I>Configuration</I></H3></A>
0506 <UL>
0507 <LI><U>CMake</U>
0508     <UL>
0509     <LI>Added support for declaring headers of a source code module private.
0510         Headers declared private are not installed; geant4_module_check reports
0511         an inconsistency if a private header is used non-privately.</LI>
0512     <LI>Updated Qt MOC application for G4UI implementation in place of
0513         G4UIbasic/G4UIcommon.</LI>
0514     <LI>Streamlined VTK cmake components.</LI>
0515     <LI>No longer link to QtPrintSupport, which is not used in the
0516         toolkit.</LI>
0517     <LI>Prefix ZLIB/EXPAT variables with "G4" to prevent clash with VTK's

0518         own internal find of these packages.</LI>

0519     <LI>Export QT_VERSION value to GNUmake setup script.</LI>

0520     <LI>Support finding and use of Qt6 on request for beta testing.

0521         Fixed minimum supported version for Qt5; requiring Qt5 >= 5.9 if Qt5

0522         support is selected.

0523         Find and refind Qt6OpenGLWidgets module in Qt6 for use by Qt/OpenGL

0524         consumers. Find and refind Qt6OpenGLWidgets module in Qt6 for use

0525         by Qt/OpenGL consumers.</LI>

0526     <LI>Handling TOOLSSG_[X11,XT,WINDOWS,QT]_ZB vis drivers.</LI>

0527     <LI>Export VTK_DIR and QtX_DIR to package cache to assist in refinding

0528         both.</LI>

0529     <LI>Updated VTK module dependencies for geometry IO and updated module

0530         init.</LI>

0531     <LI>Added new capabilities to geant4_module_check.py script: given a

0532         module, print list of modules that depend on it; print all modules

0533         sorted in descending order of the number of modules using them;

0534         show which headers from linked modules are included by a module in

0535         its usage requirements output.</LI>

0536     <LI>Updated configuration scripts for splitting of G4persistency

0537         library.</LI>

0538     <LI>Removed setting of -D flags in Geant4Config to enable visualisation

0539         drivers. Libraries now export compile definitions for what they

0540         support to move to a <I>use on link</I> model.</LI>

0541     <LI>Removed obsolete and confusing GEANT4_BUILD_TESTS option and

0542         configuration.</LI>

0543     <LI>Make linking a source code module to a final Geant4 library a

0544         cmake-time error.</LI>

0545     <LI>Allow source code modules to have an AUTOMOC property and promote

0546          this to consuming target to remove hardcoding of Qt-using

0547          modules.</LI>

0548     <LI>Use FindPython in place of deprecated FindPythonInterp in

0549         FindStatTest.</LI>

0550     <LI>Print md5sum in coreutils format for compatibility with busybox.</LI>

0551     <LI>Bump minimum VecGeom version to 1.2.6.</LI>

0552     <LI>New data sets <TT>G4EMLOW-8.5</TT>, <TT>G4ABLA-3.3</TT>, and

0553         <TT>G4INCL-1.2</TT>.</LI>

0554     <LI>Updated tag-IDs for 11.2.</LI>

0555     </UL></LI>

0556 <LI><U>GNUMake</U>

0557     <UL>

0558     <LI>Removed deprecated GNUmake scripts for libraries build.</LI>

0559     <LI>Updated UI/interfaces include paths to reflect new organization.</LI>

0560     <LI>Updated system scripts for Qt settings: removed Qt4 and added Qt6.</LI>

0561     <LI>Updated scripts for splitting of the G4persistency library.</LI>

0562     <LI>No longer link to QtPrintSupport, which is not used in the

0563         toolkit.</LI>

0564    </UL></LI>

0565 </UL>

0566 

0567 <A NAME="ana-notes">

0568 <H3><I>Analysis</I></H3></A>

0569 <UL>

0570 <LI>Added new G4AnalysisManager functions for deleting selected

0571     histograms, profiles and n-tuples, with related UI commands:

0572     <TT>/analysis/[hn|pn]/delete id [keepSetting]</TT>.</LI>

0573 <LI>Added <TT>GetNtuple()</TT> functions in G4GenericAnalysisManager,

0574     that in difference from output specific managers, returns n-tuple

0575     booking, that is common to all output types.</LI>

0576 <LI>Added UI commands for creating n-tuple:

0577     <TT>/analysis/ntuple/create name title</TT>,

0578     <TT>/analysis/ntuple/create[I|F|D|S]Column name</TT> and

0579     <TT>/analysis/ntuple/finish</TT>.</LI>

0580 <LI>Added clearing of file data in <TT>DeleteEmptyFiles()</TT>. This

0581     prevents from deleting non-empty files created/filled in previous

0582     runs but not used in new runs.</LI>

0583 <LI><U>Internal changes</U>:

0584     <UL>

0585     <LI>Moved 'CompressionLevel' data/functions members from

0586         G4AnalysisManagerState to G4BaseFileManager to make it available

0587         in helper classes which do not have access to state. Compression

0588         level (default 1) is now used also when writing a Root histogram

0589         in an extra file and writing Hdf5 n-tuples.</LI>

0590     <LI>Postpone creating G4HnMessenger after G4THnMessenger to get better

0591         command ordering in the 'help' tree.</LI>

0592     <LI>Moved <TT>setAxisLog</TT> command from G4THnMessenger to G4HnMessenger

0593         as it applies to function defined in its associated class.</LI>

0594     <LI>Moved <TT>kMaxDim</TT> constant from G4THnMessenger in

0595         G4AnalysisUtilities as needed also at other places.</LI>

0596     <LI>Moved <TT>kDimN</TT> constants from G4VAnalysisManger in

0597         G4AnalysisUtilities and replaced all hard-wired literals '1', '2'

0598         and '3' with these.</LI>

0599     <LI>Moved <TT>Set/GetDefaultFileType()</TT> methods and UI command in

0600         G4VAnalysisManager and G4AnalysisMessenger (from

0601         G4GenericAnalysisManager/Messenger). This allows to support omitting

0602         file extension also when setting file names to

0603         histograms/profiles.</LI>

0604     <LI>Removed G4GenericAnalysisMessenger.</LI>

0605     <LI>Supressed warning from 'CreateTFile' when file is already

0606         existing.</LI>

0607     <LI>Changed verbosity level for "merge" information from 1 to 2.</LI>

0608     <LI>Added warnings about failure in <TT>*HnFileManager::WriteExtra</TT>

0609         where missing.</LI>

0610     <LI>Use forward declarations for templated classes where suitable.</LI>

0611     <LI>Use "G4" prefixed version of EXPAT/ZLIB CMake variables.</TT>

0612     </UL></LI>

0613 <LI><U>Fixes</U>:

0614     <UL>

0615     <LI>Do not create <TT>setAxis*</TT> commands for <TT>idim = 4</TT>.</LI>

0616     <LI>Fixed implementation of set commands per dimension:

0617         <TT>/analysis/hn|pn/setX|Y|Z</TT>. Addressing issue

0618         reported in Geant4 forum.</LI>

0619     </UL></LI>

0620 </UL>

0621 

0622 <A NAME="digits-notes">

0623 <H3><I>Digitization &amp; Hits</I></H3></A>

0624 <UL>

0625 <LI>Applied clang-tidy corrections and general code modernization.</LI>

0626 <LI>Moved docstrings prior to function declarations for doxygen/IDE

0627     compatibility.</LI>

0628 </UL>

0629 

0630 <A NAME="emstd-notes">

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

0632 <UL>

0633 <LI><B>DNA</B>:

0634     <UL>

0635     <LI>Reorganised multiple material model of PTB. G4VDNAModel plays like a

0636         data layer for multiple material models. The concrete models are

0637         independent of G4DNAModelInterface.</LI>

0638     <LI>G4DNARuddIonisationExtendedModel: rewrite of the model, applicable for

0639         scaled energy interval from 100 eV to 100 MeV. If for an ion data is

0640         not available, proton cross-section and effective charge are used,

0641         sampling of delta-electron is done using the two regions regression

0642         method. Sharing data between threads.</LI>

0643     <LI>Improved equilibrium processes, introduced G4ChemEquilibrium.</LI>

0644     <LI>Corrected scavenger counter for oxygen.</LI>

0645     <LI>Introduced G4DNAMaterialManager to handle available DNA materials

0646         and keep DNA cross-section data shared across threads.</LI>

0647     <LI>Replaced string to material index and some code cleanup in PTB

0648         models.</LI>

0649     <LI>Added material pointer members for each concrete PTB models.</LI>

0650     <LI>Code cleanup in G4DNAModelInterface for the model combination of

0651         different materials.</LI>

0652     <LI>Added PTB model data to G4DNAMaterialManager singleton.

0653         Updated RegisterModel() function with new structure.</LI>

0654     <LI>Added DNA cross-section to dna_option6.</LI>

0655     <LI>Use analytical method for DNA material in option6, water is unchanged.

0656         Minor correction for DNA material in option6.</LI>

0657     <LI>Added time structure (pulsed beam) to water radiolysis

0658         (G4VUserPulseInfo).</LI>

0659     <LI>Corrected initial values of G4DNAEventScheduler.</LI>

0660     <LI>Corrected 'fastercode' section for dna opt6.</LI>

0661     <LI>Use analytical method for DNA material in option6, water is unchanged.

0662         Minor correction for DNA material in option6.</LI>

0663     <LI>Modified DNA cross-section file name, according to new data set.</LI>

0664     <LI>In navigation classes, removed references to G4TouchableHistoryHandle,

0665         which is now deprecated. Removed references to unused G4GRSSolid and

0666         G4GRSVolume.</LI>

0667     <LI>Applied core clang-tidy fixes, constructor/destructor modernization,

0668         readability and logic for conditionals/Booleans.</LI>

0669     <LI>Fixed Coverity defects for uninitialised scalar variables.</LI>

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

0671         conversions.</LI>

0672     <LI>Use G4FindDataDir to access data libraries in place of raw

0673         <TT>getenv()</TT>.</LI>

0674     </UL></LI>

0675 <LI><B>High Energy</B>

0676     <UL>

0677     <LI>G4GammaConversionToMuons, G4AnnihiToMuPair: removed

0678         <TT>using namespace std</TT> and applied cling-tidy base fixes.</LI>

0679     </UL></LI>

0680 <LI><B>Low Energy</B>

0681     <UL>

0682     <LI>In G4LivermorePhotoElectricModel and G4LivermoreRayleighModel removed

0683         calls to environment variables and use G4EmParameters method instead.

0684         Added lock for reading data on the fly; minor code formatting.</LI>

0685     <LI>G4LivermoreGammaConversionModel, G4LivermoreGammaConversion5DModel:

0686         fixed Spline interpolation by calling FillSecondDerivatives().</LI>

0687     <LI>G4LivermorePhotoElectricModel: updated initialisation of static tables

0688         and setting of shell cross-sections. Use logarithmic search of bin for

0689         free vectors, updated use of G4ElementData.

0690         ore accurate check on atomic number Z to fix Coverity reports.</LI>

0691     <LI>In G4LivermoreBremsstrahlungModel, do not setup LPM flag.</LI>

0692     <LI>G4LowEWentzelVIModel: updated according to Coulomb scattering

0693         models.</LI>

0694     <LI>Use access to G4LEDATA via G4EmParameters for G4LivermoreComptonModel,

0695         G4LivermoreGammaConversion5DModel and

0696         G4LivermoreGammaConversionModel.</LI>

0697     <LI>New class G4MicroElecCapture for better estimation of the non ionizing

0698         energy deposition.</LI>

0699     <LI>Simplification of weakly bound electrons treatment in

0700         G4MicroElecInelasticModel_new, handled now similarly to core electrons

0701         with limitEnergy equivalent to binding energy.

0702         Updated <TT>SampleSecondaries()</TT>, and

0703         <TT>RandomizeEjectedElectronEnergyFromCumulatedDcs()</TT>.

0704         Changed implementation of <TT>Interpolate()</TT> method to avoid

0705         division by zero identified by Coverity.

0706         Fixed potential problem at destruction.</LI>

0707     <LI>G4MicroElecMaterialStructure: modification in <TT>GetLimitEnergy()</TT>

0708         function to account for the changes in the treatment of weakly bound

0709         electrons.</LI>

0710     <LI>G4MicroElecSurface: removed repeated checks in <TT>Initilise()</TT>

0711         method, addressing Coverity report.</LI>

0712     <LI>G4MicroElecCapture, G4MicroElecSurface: fixed compilation warnings for

0713         implicit type conversions on XCode. Minor code cleanup (removed tabs,

0714         formatting, use of nullptr...).</TT>

0715     <LI>Fixed trivial reported Coverity defects in G4MicroElecLOPhononModel

0716         and G4MicroElecSurface.</LI>

0717     <LI>Minor code cleanup in G4MicroElecLOPhononModel.</LI>

0718     <LI>Use G4FindDataDir to access data libraries in place of raw

0719         <TT>getenv()</TT>.</LI>

0720     <LI>Applied clang-tidy and clang-format to Livermore code.</LI>

0721     </UL></LI>

0722 <LI><B>Muons</B>

0723     <UL>

0724     <LI>G4MuonToMuonPairProductionModel: updated usage of G4ElementData.</LI>

0725     <LI>G4MuPairProductionModel, G4MuonToMuonPairProductionModel: updated

0726         usage of G4ElementData; do not use <TT>IsMaster()</TT> to fill

0727         sampling table; use only 5 2-D tables for sampling; code clean-up.</LI>

0728     <LI>G4MuBremsstrahlungModel: moved filling of static data to constructor.</LI>

0729     <LI>G4TablesForExtrapolator: define particle type when constructing muon

0730         models. Do not delete intermediate G4VEmModels

0731         created for initialisation.</LI>

0732     </UL></LI>

0733 <LI><B>Pii</B>

0734     <UL>

0735     <LI>Fixed few reported Coverity defects.</LI>

0736     </UL></LI>

0737 <LI><B>Standard</B>

0738     <UL>

0739     <LI>G4UrbanMscModel: check IsLocked() method before definition of lateral

0740         displacement algorithm and positron correction; code optimisations and

0741         formatting. Reduced number of re-computations of safety.

0742         Tuned step limit parameterisation for the case of enabled optional

0743         algorithm of lateral displacement. Default tracking unaffected.

0744         Rewritten optional method <TT>SampleDisplacementNew()</TT>; this

0745         method is not used so far in any EM physics configurations by default

0746         but may be enabled via UI command and/or C++ interface.</LI>

0747     <LI>G4ASTARStopping, G4PSTARStopping, G4IonICRU73Data: use logarithmic

0748         search of bin for free vectors.</LI>

0749     <LI>G4CoulombScattering: added SetCombined() method allowing the user to

0750         configure the process; improved code formatting and initialisation.

0751         Added constructor with changed signature, which uses flag

0752         <TT>isCombined</TT> instead of process name.

0753         Added extra constructor to address all existing cases;

0754         for pure single scattering, integral method type is changed and Spline

0755         interpolation is used. Addressing problem report

0756         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2530">#2530</A>.</LI>

0757     <LI>In G4VEmModel, do not delete G4ElementData; do not define LPM

0758         flag.</LI>

0759     <LI>Code cleanup in G4PAI* classes.</LI>

0760     <LI>Removed use of std::getenv() from model classes, use G4EmParameters

0761         instead.</LI>

0762     <LI>G4eCoulombScatterinModel: improved initialisation and code

0763         formatting.</LI>

0764     <LI>G4BraggIonModel inherits from G4Bragg model; fixed stopping power

0765         of heavy ions at moderate energies.</LI>

0766     <LI>G4BraggModel, G4BraggIonModel: use proton stopping data for for all

0767         ions except alpha; make data-sets pointers static.

0768         Addressing problem report

0769         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2532">#2532</A>.</LI>

0770     <LI>In G4BetheBlochModel, G4BraggIonModel and G4BraggModel, updating

0771         effective charge of an ion at each step of simulation or at each call

0772         to G4EmCalculator.</LI>

0773     <LI>G4LindhardSorensenIonModel: use G4BraggModel for preliminary

0774         computation of DEDX at initialisation for G4GenericIon instead of

0775         G4BraggIonModel, which fixes a problem of low-energy ion tracking

0776         recently introduced.</LI>

0777     <LI>G4BetheHeitlerModel, G4PairProductionRelModel,

0778         G4eBremsstrahlungRelModel, G4SeltzerBergerModel: reorganized

0779         initialisation. Initialisation of static element data is performed

0780         only once for the first object independently on how many objects of

0781         this kind is created in a thread.

0782         Fixes to <TT>Initialise()</TT> method, to have thread safe check if

0783         a model is the first instance of the class; set lock and perform

0784         initilisation of all static data.

0785         Results of simulation are identical. Addressing problem report

0786         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2543">#2543</A>.</LI>

0787     <LI>G4eBremsstrahlung, G4SeltzerBergerModel: avoid changing LPM flag at

0788         initialisation; avoid repeating base class initialisation; improved

0789         comments in code.</LI>

0790     <LI>G4SeltzerBergerModel: use inheritance from G4VEmModel instead of 

0791         G4eBremsstrahlungRelModel; use 'applyOnce' approach to initialise

0792         static data; code formatting.</LI>

0793     <LI>G4eBremsstrahlungRelModel: use LPM flag from G4EmParameters and

0794         improved comments in code. Use 'applyOnce' approach to initialise

0795         static data. Fix for potential division by zero; use G4Pow.</LI>

0796     <LI>G4WaterStopping, G4hIonisation: code clean-up.</LI>

0797     <LI>G4ionIonisation: do not use G4WaterStopping; code clean-up.</LI>

0798     <LI>Updated hadron/ion ionisation models; initialise stopping power data

0799         once: PSTAR and ICRU90 in G4BraggModel, ASTAR in G4BraggIonModel,

0800         ICRU73 and ICRU90 ion (Z>2) data in G4LindHardSorensenIonModel.</LI>

0801     <LI>Use "G4" prefixed version of EXPAT/ZLIB CMake variables.</LI>

0802     <LI>Requires data-set <TT>G4EMLOW-8.5</TT>.</LI>

0803     </UL></LI>

0804 <LI><B>Utils</B>

0805     <UL>

0806     <LI>G4EmParameters: added extra member and access method to

0807         <TT>G4LEDATA</TT> path allowing checking of the environment variable

0808         for the EM data only once. Added Get/Set method for a new integer

0809         number used for logarithmic bin search in free vector.</LI>

0810     <LI>G4EmParametersMessanger: added UI command

0811         <TT>/process/em/nForFreeVector</TT>.

0812         Also fixed UI command </TT>/process/eloss/setFluctModel</TT>, by

0813         changing "eloss" to "eLoss".</LI>

0814     <LI>G4VEnergyLossProcess: make more straightforward computation of ion

0815         effective charge.</LI>

0816     <LI>G4LossTableBuilder, G4VEnergyLossProcess: improved debug printout.</LI>

0817     <LI>G4LossTableBuilder: define logarithmic search method for inverse range

0818         table.</LI>

0819     <LI>G4VEmModel: trigger computation of ion effective charge for

0820         G4EmCalculator. Use LPM flag from G4EmParameters. Added warning

0821         about use of obsolete method <TT>SetLPMFlag()</TT>.

0822         Use <TT>std::size_t</TT> in all places. Fixed memory leak at exit.</LI>

0823     <LI>G4ionEffectiveCharge: minor optimisation.</LI>

0824     <LI>G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering: use flag of

0825         master thread from G4LossTableManager.</LI>

0826     <LI>G4VEnergyLossProcess: added extra protection excluding negative range;

0827         renamed class member; changed condition to stop low-energy ion, use

0828         kinetic energy and not scaled energy.

0829         Added extra protection for the case of negative range of low-energy

0830         particles. Addressing problem report

0831         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2542">#2542</A>.</LI>

0832     <LI>G4LossTableManager: reserve memory for internal vectors; simplified

0833         destructor; move a part of initialisation of class members to

0834         header. Apply modified interface to G4LossTableBuilder.</LI>

0835     <LI>G4EmCorrections: use <TT>const</TT> to variables where possible;

0836         reduced number of <TT>if</TT> statements, replaced <TT>isMaster</TT>

0837         flag with new flag <TT>isInitializer</TT>; use CLHEP prefix.

0838         Code formatting; removed lock of threads, use flag from

0839         G4LossTableManager instead.</LI>

0840     <LI>G4EmSaturation: fixed possible incorrect calculatioon of effective

0841         charge of a material. Addressing problem report

0842         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2572">#2572</A>.</LI>

0843     <LI>Added SingleScattering option to G4TransportationWithMsc.</LI>

0844     <LI>Improved printout in G4EmCalculator.</LI>

0845     <LI>G4OpticalParameters: set default verbosity to 1.

0846         Removed unused scintillation declarations.</LI>

0847     </UL></LI>

0848 <LI><B>Xrays</B>

0849     <UL>

0850     <LI>First implementation of new process G4XrayReflection, using data

0851         from <TT>G4EMLOW-8.5</TT>.</LI>

0852     <LI>G4Scintillation: verbosity of 0 silences run-time warnings.

0853         Allow different decay time constants for different particles, with

0854         particle-dependent scintillation. Improved an error message.</LI>

0855     <LI>G4GaussXTRadiator: fixed issue by renaming virtual function to prevent

0856         clash between base and inherited classes.</LI>

0857     <LI>G4XrayReflectivity: fixed reported Coverity defect.</LI>

0858     </UL></LI>

0859 </UL>

0860 

0861 <A NAME="event-notes">

0862 <H3><I>Event</I></H3></A>

0863 <UL>

0864 <LI>Introducing G4SubEvent and related classes.</LI>

0865 <LI>Addressing to the new track status <TT>fSuspendAndWait</TT>.</LI>

0866 <LI>In G4GeneralParticleSource, fixed <TT>ListSource</TT> command which was

0867     failing to list the correct energy of the sources since they need to be

0868     accessed as a monoenergetic source distribution, rather than the particle

0869     energy.</LI>

0870 <LI>Applied core clang-tidy fixes.</LI>

0871 </UL>

0872 

0873 <A NAME="externals-notes">

0874 <H3><I>Externals</I></H3></A>

0875 <UL>

0876 <LI><U>CLHEP</U>:

0877     <UL>

0878     <LI>Updated to CLHEP version 2.4.7.1.</LI>

0879     <LI>Optimised MixMax engine performance and class structure.

0880         Fixes to resolve reproducibility issues. Removed obsolete and

0881         unused coefficient files.</LI>

0882     <LI>Fixed compilation warnings for implicit type conversions on

0883         macOS/XCode 14.1 in Random and Evaluator code.</LI>

0884     <LI>Fixed cases of C++20 deprecated arithmetics with unnamed enumerations

0885         in Vector classes.</LI>

0886     </UL></LI>

0887 <LI><U>G4tools</U>:

0888     <UL>

0889     <LI>Updated to version 6.3.0</LI>

0890     <LI>Added support for Qt6 in glarea.</LI>

0891     <LI>Enabling Qt, Xt, X11, Windows viewers for the tools/zbuffer

0892         rendering.</LI>

0893     <LI>Fix in tools/wroot/file, in the constructor, for the streaming of

0894         the root directory. Addressing problem report

0895         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2570">#2570</A>.</LI>

0896     </UL></LI>

0897 <LI><U>ZLIB</U>:

0898     <UL>

0899     <LI>Updated to upstream zlib-1.2.13, retaining prior Geant4 patches.</LI>

0900     </UL></LI>

0901 </UL>

0902 

0903 <A NAME="gen-notes">

0904 <H3><I>General Processes</I></H3></A>

0905 <UL>

0906 <LI><B>Biasing</B>

0907     <UL>

0908     <LI>G4ImportanceProcess: added protection against potential null pointer

0909         on world boundary in <TT>PostStepDoIt()</TT>. Addressing problem report

0910         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=1991">#1991</A>.</LI>

0911     <LI>Removed forward declarations to G4VTouchable.</LI>

0912     </UL></LI>

0913 <LI><B>Cuts</B>

0914     <UL>

0915     <LI>G4ProductionCutsTable: added method <TT>SetEnergyCutVector()</TT>

0916         requested by ALICE; added method <TT>CreateCoupleTables()</TT>

0917         separated from <TT>UpdateCoupleTable()</TT>, needed to prepare

0918         class data.</LI>

0919     </UL></LI>

0920 <LI><B>Optical</B>

0921     <UL>

0922     <LI>G4OpBoundaryProcess: verbosity of 0 silences run-time warnings.</LI>

0923     </UL></LI>

0924 <LI><B>Parameterisation</B>

0925     <UL>

0926     <LI>In G4FastTrack, removed references to G4TouchableHistoryHandle,

0927         which is now deprecated.</LI>

0928     <LI>Define G4GlobalFastSimulationManager as a G4ThreadLocalSingleton

0929         to avoid undeleted allocated object at exit.</LI>

0930     <LI>Applied standard and extended clang-tidy fixes.</LI>

0931         Applied standard clang-format-ing.</LI>

0932     <LI>Mark empty/obsolete functions as deprecated.</LI>

0933     <LI>Normal order accessors and docstrings.</LI>

0934     </UL></LI>

0935 <LI><B>Scoring</B>

0936     <UL>

0937     <LI>Make G4EnergySplitter a private implementation detail of the module.

0938         Make dependency to 'intercoms' private.

0939         Fixed Coverity reported defect in <TT>SplitEnergyInVolumes()</TT>.</LI>

0940     <LI>Removed unnecessary forward declarations of G4VTouchable.</LI>

0941     <LI>Applied core clang-tidy/format fixes.</LI>

0942     </UL></LI>

0943 <LI><B>Transportation</B>

0944     <UL>

0945     <LI>In G4TransportationParameters, added a method to set both warning and

0946         important energies; added method to report lock errors.

0947         Improved reporting of inconsistent changes of 'warning' & 'important'

0948         energies (not only enforce <TT>warning_E < important_E</TT> but also

0949         warn about violations).</LI>

0950     </UL></LI>

0951 </UL>

0952 

0953 <A NAME="geo-notes">

0954 <H3><I>Geometry</I></H3></A>

0955 <UL>

0956 <LI>Applied clang-tidy fixes (readability, modernization,

0957     performance, ...).</LI>

0958 <LI><B>Biasing</B>

0959     <UL>

0960     <LI>Use G4AutoLock in G4IStore and G4ImportanceAlgorithm instead of static

0961         mutex data member.</LI>

0962     </UL></LI>

0963 <LI><B>Magnetic Field</B>

0964     <UL>

0965     <LI>Added new Quantum State Simulation (QSS) integration method, an

0966         alternative method of integration which creates approximation functions

0967         for each coordinate (x,p), changing the interpolation polynomials when

0968         the deviation from exact solution is larger than a threshold value.

0969         Offers built-in interpolation capability, enabling faster finding of

0970         the intersection of the trajectory with surfaces.

0971         Currently restricted to using only with a pure magnetic field.</LI>

0972     </UL></LI>

0973 <LI><B>Management</B>

0974     <UL>

0975     <LI>Removed inheritance level for G4TouchableHistory and making

0976         G4VTouchable a simple typdef of G4TouchableHistory, therefore no

0977         longer acting as base class.</LI>

0978     <LI>Imported G4NavigationHistory, G4NavigationHistoryPool,

0979         G4NavigationLevel and G4NavigationLevelRep classes and translation

0980         units from <TT>volumes</TT> module.</LI>

0981     <LI>Made G4TouchableHistoryHandle a typedef of G4TouchableHandle.</LI>

0982     </UL></LI>

0983 <LI><B>Navigation</B>

0984     <UL>

0985     <LI>Added new G4VNavigation common navigation interface class.

0986         Updated existing navigators to make use of the new common

0987         interface.</LI>

0988     <LI>Added <TT>RelocateWithinVolume()</TT> method to G4VoxelNavigation

0989         and to G4ParameterisedNavigation.</LI>

0990     <LI>In G4Navigator, removed references to unused classes G4GRSSolid and

0991         G4GRSVolume; use G4TouchableHandle in place of G4TouchableHistoryHandle

0992         which is now deprecated. Same in G4MultiNavigator, G4DrawVoxels and

0993         G4VIntersectionLocator.

0994         Some code cleanup in G4Navigator and code formatting.</LI>

0995     <LI>Added new G4SafetyCalculator class, auxiliary to G4Navigator; used in

0996         G4Navigator in <TT>ComputeSafety()</TT> to avoid saving/restoring

0997         state.</LI>

0998     <LI>Removed use of forward declarations to G4VTouchable in phantom

0999         parameterisation classes.</LI>

1000     <LI>G4PropagatorInField: added parameters for big steps.

1001         New parameter <TT>fMaxStepSizeMultiplier</TT>, needed to reduce costly

1002         unnecessary integration in QSS; new parameter <TT>fMinBigDistance</TT>

1003         used as minimum distance in case of long steps.

1004         Updated default values:<BR>

1005         <TT>fLargestAcceptableStep = 100*meter</TT> ( from

1006         <TT>1000*meter</TT> );<BR>

1007         <TT>fMaxStepSizeMultiplier = 0.1</TT> ( from <TT>100</TT> ).</LI>

1008     <LI>Fixed <TT>/geometry/test/check_parallel</TT> UI command in

1009         G4GeometryMessenger.</LI>

1010     </UL></LI>

1011 <LI><B>Solids (Boolean)</B>

1012     <UL>

1013     <LI>Added external Boolean processor visualisation interface

1014         G4VBooleanProcessor.</LI>

1015     <LI>Define distinct statistics value in G4BooleanSolid for area and

1016         cubic volume.</LI>

1017     <LI>In G4MultiUnion, fixed problem with downcast in external Boolean

1018         processor, which could result in incorrect <TT>nullptr</TT>.</LI>

1019     <LI>Reduced internal statistics for calculation of cubic volume in

1020         G4UnionSolid and G4SubtractionSolid.</LI>

1021     </UL></LI>

1022 <LI><B>Solids (Specific)</B>

1023     <UL>

1024     <LI>Use <TT>const iterator</TT> in

1025         <TT>G4Voxelizer::GetPointVoxel()</TT>.</LI>

1026     <LI>Fixed use of index in <TT>G4Tet::GetPointOnSurface()</TT>.</LI>

1027     <LI>Fixed bounding box calculation in

1028         <TT>G4VTwistedFaceted::BoundingLimits()</TT>.</LI>

1029     </UL></LI>

1030 <LI><B>Volumes</B>

1031     <UL>

1032     <LI>Moved to <TT>management</TT> the following classes and translation

1033         units: G4NavigationHistory, G4NavigationHistoryPool, G4NavigationLevel

1034         and G4NavigationLevelRep.</LI>

1035     <LI>Removed unused classes G4GRSSolid and G4GRSVolume.</LI>

1036     </UL></LI>

1037 </UL>

1038 

1039 <A NAME="glob-notes">

1040 <H3><I>Global</I></H3></A>

1041 <UL>

1042 <LI>Removed public interface to G4strstreambuf: G4strstreambuf becomes a

1043     private implementation detail of G4ios.

1044     Minimized coupling among G4cout/G4strstreambuf/G4coutDestination.</LI>

1045 <LI>Added G4debug output stream for logging messages at lower priority than

1046     G4cout. If used with the Qt GUI, G4debug output is highlighted.</LI>

1047 <LI>G4PhysicsModelCatalog: added the new INCLXX model of antiproton

1048     annihilation at rest.</LI>

1049 <LI>G4PhysicsVector, G4PhysicsFreeVector, G4PhysicsLogVector and

1050     G4PhysicsLinearVector: added extra method to support optional logarithmic

1051     search for bin in free vector needed for particleHP module update.

1052     Code formatting.</LI>

1053 <LI>Fixed memory leak in <TT>G4StatAnalysis::GetCpuClock()</TT>: do not

1054     allocate local variable on the heap.</LI>

1055 <LI>Fixed memory leak in G4Type[Recursive]Mutex<T> and simplified code by

1056     removing unused function parameter.</LI>

1057 <LI>Added new <TT>IgnoreTheIssue</TT> enum entry in G4ExceptionSeverity.</LI>

1058 <LI>Added G4VERSION_REFERENCE_TAG macro to distinguish release/development

1059     versions and cycle of the latter.</LI>

1060 <LI>Fixed compilation error on macOS Apple Silicon when enabling FPE_DEBUG.

1061     No guarantee on the correctness of signal handling on this platform.

1062     Addressing problem report

1063     <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2571">#2571</A>.</LI>

1064 <LI>Removed obsolete and no longer used G4SIunits header.</LI>

1065 <LI>Updated date of release for 11.2.</LI>

1066 </UL>

1067 

1068 <A NAME="greps-notes">

1069 <H3><I>Graphical Representations</I></H3></A>

1070 <UL>

1071 <LI>Supporting first implementation of a no-frills GUI-side scene tree.

1072     Added G4SceneTreeItem class, an aggregate of data members that represent

1073     properties of objects in the scene (G4Scene). Its data members are

1074     low-level types, so that it can be used across categories, avoiding

1075     coupling.</LI>

1076 <LI>Added centre calculation to HepPolyhedron for use in visualization

1077     systems.</LI>

1078 <LI>G4VisAttributes: trap under-limit requested number of line segments per

1079     circle for polyhedral representation of circular surfaces.

1080     An under-limit request sets number to minimum (3).</LI>

1081 </UL>

1082 

1083 <A NAME="had-notes">

1084 <H3><I>Hadronic Processes</I></H3></A>

1085 <UL>

1086 <LI><B>Cross Sections</B>

1087     <UL>

1088     <LI>Removed calls to environment variable <TT>G4PARTICLEXSDATA</TT>, use

1089         G4HadronicParameters access method instead.</LI>

1090     <LI>In G4CrossSectionDataStore, reduced number of calls to environment

1091         variables, which are done only to print output for documentation.

1092         Removed remaining calls to <TT>getenv()</TT> and use

1093         G4HadronicParameters instead. Fixed printing problem in

1094         <TT>DumpPhysicsTable()</TT>.</LI>

1095     <LI>G4ParticleInelasticXS: make upper energy limit for light ions the

1096         same as in FTFP_BERT.</LI>

1097     <LI>G4ElNeutrinoNucleusTotXsc: uncommented methods for interface with

1098         G4ElNeutrinoNucleusProcess.</LI>

1099     <LI>G4GammaNuclearXS: general code clean-up; instantiate data only once

1100         for all instances of this cross-section class; upload data for all

1101         elements before the first run; simplified computation of isotope

1102         cross-section; added extra public method

1103         <TT>LowEnergyCrossSection()</TT>.

1104         More accurate usage of cache; simplified

1105         <TT>GetIsoCrosssection()</TT> and <TT>SelectIsotope()</TT>

1106         methods.</LI>

1107     <LI>G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS,

1108         G4GammaNuclearXS, G4ParticleInelasticXS: use same approach to fill

1109         static data: do not unlock initialisation inside

1110         <TT>BuildPhycsTable()</TT> method until initialisation is done;

1111         minor code formatting.</LI>

1112     <LI>G4NeutronCaptureXS, G4NeutronInelasticXS, G4ParticleInelasticXS: use 

1113         <TT>GetComponentByID()</TT> instead of <TT>GetComponentByIndex()</TT>,

1114         allowing to reduce memory for isotope data.</LI>

1115     <LI>G4NeutronCaptureXS, G4NeutronInelasticXS, G4GammaNuclearXS and

1116         G4ParticleInelasticXS: use <TT>std::once_flag</TT> and

1117         <TT>std::call_once()</TT> to initialize static data.</LI>

1118     <LI>G4ChargeExchangeXS: new cross-section class for charge exchange

1119         process. Fill out the content of implementing the charge exchange

1120         process. Providing setter method for the factor multiplying the

1121         cross-section (NA64 request). Added parameterisation of cross-section

1122         of eta_prime, omega(982), and f2(1270) mesons; added low energy limit,

1123         below which cross-section is set to zero.</LI>

1124     <LI>G4PhotoNuclearCrossSection: fixed potential memory leaks.</LI>

1125     <LI>G4IsotopeList: extended arrays to be applicable both for

1126         G4PARTICLEXSDATA and G4PARTICLEHPDATA.</LI>

1127     <LI>Fixed compilation warnings for implicit type conversions on

1128         macOS/XCode>=14.1.</LI>

1129     </UL></LI>

1130 <LI><B>Management</B>

1131     <UL>

1132     <LI>G4HadronicProcess: removed usage of "DebugFlag" and "RandomFile".

1133         Replaced access to environment variables with call to

1134         G4HadronicParameters. Reduced the number of warnings concerning

1135         kaon0 and anti_kaon0 (transformed in kaon0S and kaon0L) to maximum

1136         one warning per thread. Added extra G4Exception for the case where a

1137         worker cannot share initialisation with the master thread.

1138         Addressing problem report

1139         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2528">#2528</A>.

1140         Improved diagnostics.

1141     <LI>G4HadronicProcessStore: avoid checking of environment variables, call

1142         G4HadronicParameters instead. Removed extra not needed empty lines

1143         from information printout. Added printouts for neutrino processes.</LI>

1144     <LI>G4HadronicProcess, G4HadronicProcessStore, G4HadXSHelper: fixed

1145         memory leak at exit.</LI>

1146     <LI>G4HadronicProcessType: added new types for neutrino interactions.</LI>

1147     </UL></LI>

1148 <LI><B>Processes</B>

1149     <UL>

1150     <LI>G4NeutronGeneralProcess: added two access methods, an extra set method

1151         and removed possible variable shadowing.</LI>

1152     <LI>G4HadronElasticProcess, G4NeutronGeneralProcess: fixed problems

1153         identified by Coverity.</LI>

1154     <LI>G4ElNeutrinoNucleusProcess, G4MuNeutrinoNucleusProcess, 

1155         G4TauNeutrinoNucleusProcess, G4NeutrinoElectronProcess: update 

1156         neutrino cross-section biasing in selected detector-region.</LI>

1157     <LI>G4ElNeutrinoNucleusProcess: updated process name to be

1158         <TT>el-neutrino-nucleus</TT>.</LI>

1159     <LI>New process G4NuVacOscProcess for 3-flavour neutrino oscillation in

1160         vacuum.</LI>

1161     <LI>G4NuVacOscProcess, G4ElNeutrinoNucleusProcess,

1162         G4MuNeutrinoNucleusProcess, G4TauNeutrinoNucleusProcess,

1163         G4NeutrinoElectronProcess: use sub-types of neutrino interactions;

1164         avoid destruction of internal cross-section;

1165         removed unused class members and methods.</LI>

1166     <LI>G4TauNeutrinoNucleusProcess: cleanup of constructor and destructor to

1167         fix Coverity warning.</LI>

1168     </UL></LI>

1169 <LI><B>Stopping</B>

1170     <UL>

1171     <LI>G4HadronicAbsorptionINCLXX: new class to handle annihilation at rest by

1172         INCLXX; for the time being, only for antiproton.

1173         Reduced maximum energy from <TT>10 GeV</TT> to <TT>200 MeV</TT>.</LI>

1174     </UL></LI>

1175 <LI><B>Utilities</B>

1176     <UL>

1177     <LI>G4HadronicParameters: introduced the neutron kinetic energy threshold

1178         for  applying the SVT (Sampling of the Velocity of the Target)

1179         algorithm. This is needed to have a consistent value in methods

1180         <TT>GetBiasedThermalNucleus()</TT> in G4Nucleus and

1181         G4ParticleHPElasticFS respectively, to avoid circular dependency

1182         with <TT>particle_hp</TT> module.

1183         Removed two obsolete environment variables and access methods; added 

1184         flag for charge exchange.

1185         Added class members defined via environment variable and access methods

1186         for these members, this allows to remove the majority of calls to

1187         <TT>std::getenv()</TT>.

1188         Added two strings and extra methods to access environment variables

1189         used in G4HadronicProcessStore. These variables are not used in

1190         ordinary runs but are checked in each thread and for each particle.

1191         With this update these variables will be checked only once.

1192         Added G4Exception for the case, when environment variable

1193         <TT>G4PARTICLEXSDATA</TT> is not defined.

1194         Added extra Boolean method for accessing debug flag for Binary Cascade,

1195         which may be defined via environment variable

1196         <TT>G4BINARY_CASCADE_DEBUG</TT>.

1197         Introduced methods to get and set the time threshold of radioactive

1198         decays (i.e. radioactive decays that happen later than this value are

1199         ignored), offering a C++ interface to set this parameter.

1200         Added getters and setters of recommended energy limits in physics lists

1201         for the intranuclear cascade model INCLXX, for <TT>pbar</TT>

1202         interactions.</LI>

1203     <LI>G4Nucleus: in the method <TT>GetBiasedThermalNucleus()</TT>, get the

1204         neutron kinetic energy threshold for applying the SVT algorithm from

1205         G4HadronicParameter in method <TT>DoKinematicsOfThermalNucleus()</TT>,

1206         and corrected the way to pass the last parameter, by reference instead

1207         of by value.

1208         Split the method <TT>GetBiasedThermalNucleus()</TT> into two parts, by

1209         introducing a new public method,

1210         <TT>DoKinematicsOfThermalNucleus()</TT>,

1211         which is used also by G4ParticleHPElasticFS to implement the DBRC

1212         algorithm.</LI>

1213     </UL></LI>

1214 <LI><B>Abla</B>

1215     <UL>

1216     <LI>G4AblaInterface: implemented method ApplyYourself() to allow the

1217         coupling between Binary Cascade (BIC) and ABLA, i.e. using BIC for the

1218         cascade and then ABLA for the nuclear de-excitation.</LI>

1219     </UL></LI>

1220 <LI><B>Bertini Cascade</B>

1221     <UL>

1222     <LI>Extended Bertini model to allow the use of ABLA as alternative

1223         post-cascade nuclear de-excitation (the default de-excitation remains

1224         unchanged).

1225         There are two ways to set ABLA as de-excitation for Bertini: via C++

1226         interface, by calling <TT>G4CascadeInterface::useAblaDeexcitation()</TT>,

1227         and via environmental variable, by setting

1228         <TT>G4CASCADE_USE_ABLA=1</TT>.</LI>

1229     <LI>G4AblaDeexcitation: new class that does the nuclear de-excitation,

1230         after the Bertini cascade, by using the ABLA model, and then tranforms

1231         the secondaries in Bertini objects.</LI>

1232     <LI>G4CascadeInterface: added new method <TT>useAblaDeexcitation()</TT>

1233         which sets ABLA as nuclear de-excitation; this method can be called

1234         directly by the user, or automatically in the constructor of the class

1235         when the flag <TT>G4CascadeParameters::useAbla()</TT> is enabled.</LI>

1236     <LI>G4InuclCollider: added new method <TT>useAblaDeexcitation()</TT> which

1237         creates an instance of the new class G4AblaDeexcitation.</LI>

1238     <LI>G4CascadeParameters: added Boolean flag that enables the ABLA

1239         de-dexcitation model in the case that the new environmental variable

1240         <TT>G4CASCADE_USE_ABLA</TT> is set.</LI>

1241     <LI>G4CascadeParamMessenger: fixed memory leak at exit and simplified

1242         the code.</LI>

1243     <LI>Fixed Coverity defect for incorrect integer divide in fission part of 

1244         <TT>G4EquilibriumEvaporator::deExcite()</TT>.</LI>

1245     </UL></LI>

1246 <LI><B>Binary Cascade</B>

1247     <UL>

1248     <LI>G4BinaryCascade, G4BinaryLightIonReaction: avoid calls to

1249         <TT>getenv()</TT>, use G4HadronicParameters instead.</LI>

1250     </UL></LI>

1251 <LI><B>De-excitation</B>

1252     <UL>

1253     <LI>G4LevelReader: allow to add more levels of a given isotope than the

1254         hardcoded limit=635 (max number of levels in <TT>G4LEVELGAMMADATA</TT>).

1255         Addressing problem report

1256         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2534">#2534</A>.

1257         Introduced partial fix for problem reports

1258         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2566">#2566</A>

1259         and <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=1986">#1986</A>

1260         for the case when data on internal conversion (IC) are not available; if

1261         IC is disabled, it is assumed that all IC transitions are performed from

1262         the K-shell, which means that independently on IC flag the probability

1263         of gamma transition is unchanged. For G4PhotonEvaporation, still use

1264         only gamma transitions for the case of nuclear level without information

1265         (as in version 11.2-beta).</LI>

1266     <LI>G4LevelManager: added extra public accessor method allowing users to

1267         check level energies and other parameters. Set life time of stable

1268         levels to DBL_MAX instead of -1; left undefined spin 99 and do not

1269         set it to zero.</LI>

1270     <LI>G4DeexPrecoParameters: moved part of initialisation to header; do not

1271         use autolock, use internal flag instead to allow only one dump of

1272         paramenters; print all pre-compound parameters, separate pre-compound

1273         and de-excitation printouts.</LI>

1274     <LI>G4NuclearLevelData: fixed uploading of data before the run.</LI>

1275     <LI>G4LevelManager, G4PhotonEvaporation: improved method names.</LI>

1276     <LI>G4ExcitationHandler: instantiate FermiBreakUp, MultiFragmentation,

1277         and PhotonEvaporation in constructor. Code formatting.</LI>

1278     <LI>Reviewed and updated the fermi_breakup model, to address problem

1279         report

1280         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2263">#2263</A>.

1281         Removed few obsolete classes. Added G4FermiBreakUpUtil class.</LI>

1282     <LI>G4FermiChannels: fixed memory leak at exit.</LI>

1283     <LI>G4VEvaporation, G4Evaporation, G4VEvaporationFactory,

1284         G4EvaporationFactory, G4EvaporationGEMFactory,

1285         G4EvaporationGEMFactoryVI and G4EvaporationDefaultGEMFactory: more

1286         accurate instantiation/destruction of components. Code formatting.</LI>

1287     <LI>G4KalbachCrossSection: dynamic choice of peak position on inverse

1288         cross-section as a function of A.</LI>

1289     <LI>Technical improvements to G4GEMProbability evaporation class.</LI>

1290     <LI>Fixed compilation warning for implicit type conversion on macOS/XCode

1291         14.1 in <TT>G4FermiFragmentsPoolVI::DumpFragment()</TT>.</LI>

1292     <LI>Clean-up evaporation and utils modules.</LI>

1293     <LI>Removed unused files.</LI>

1294     </UL></LI>

1295 <LI><B>Elastic scattering</B>

1296     <UL>

1297     <LI>In G4ChargeExchange, updated input parameters for the method

1298        <TT>SampleSecondaryType()</TT>. Fixed parameter for <TT>SampleT()</TT>

1299        method. Fixed reported Coverity defect on dead code.

1300        Address interface change in G4ChargeExchangeXS.</LI>

1301     </UL></LI>

1302 <LI><B>INCLXX</B>

1303     <UL>

1304     <LI>Major extension of the INCLXX model to handle antiproton annihilation

1305         at rest and in-flight. Requires new dataset G4INCL-1.2.</LI>

1306     <LI>Few corrections in G4INCLXXInterface.</LI>

1307     <LI>Deleted obsolete class G4INCLNNbarToNNbarChannel.</LI>

1308     <LI>Fixed memory leak in G4INCLInteractionAvatar.</LI>

1309     <LI>Use G4FindDataDir to access data libraries in place of raw

1310         <TT>getenv()</TT>.</LI>

1311     </UL></LI>

1312 <LI><B>Lend</B>

1313     <UL>

1314     <LI>Fixed Coverity defect;

1315         <TT>G4LENDGammaCrossSection::SelectChannel()</TT> may return negative

1316         array index, same in G4LENDGammaCombinedCrossSection;

1317         initialize <TT>iChannel</TT> to a positive number.</LI>

1318     <LI>Use "G4" prefixed version of EXPAT/ZLIB CMake variables.</LI>

1319     </UL></LI>

1320 <LI><B>Lepto-nuclear</B>

1321     <UL>

1322     <LI>G4ElectroVDNuclearModel: updated initialisation of data tables.</LI>

1323     </UL></LI>

1324 <LI><B>Particle High Precision</B>

1325     <UL>

1326     <LI>Accurate modeling of elastic resonant scattering in heavy nuclei by

1327         the use of the Doppler Broadening Rejection Correction (DBRC) algorithm.

1328         In G4ParticleHPManager, added new member variables and corresponding

1329         methods, related to the DBRC algorithm.

1330         In G4ParticleHPMessenger, added new UI commands to enable DBRC (which

1331         is off by default) and to specify its parameters.

1332         In G4ParticleHPVector, added new method <TT>GetMaxY()</TT> to provide

1333         the maximum cross-section in the interval between two kinetic energy

1334         values.

1335         In G4ParticleHPChannel, modified method <TT>ApplyYourself()</TT>,

1336         with an extra argument, for a special treatment of the elastic channel.

1337         In G4ParticleHPElastic, modified

1338         <TT>G4ParticleHPChannel::ApplyYourself()</TT> call, with an extra

1339         parameter.

1340         In G4ParticleHPElasticFS, implemented the DBRC algorithm in the new

1341         method <TT>GetBiasedThermalNucleus()</TT>; modified the method

1342         <TT>ApplyYourself()</TT> to call the new method

1343         </TT>GetBiasedThermalNucleus()</TT>; introduced two more

1344         new methods, <TT>InitializeScatterKernelParameters()</TT> and

1345         <TT>RegisterCrossSection()</TT>, and corresponding new member

1346         variables.</LI>

1347     <LI>Added new cross-section classes G4NeutronHPCaptureXS,

1348         G4NeutronHPElasticXS, G4NeutronHPInelasticXS, G4NeutronHPFissionXS,

1349         G4ParticleHPInelasticXS and G4CrossSectionHP.</LI>

1350     <LI>G4ParticleHPMessenger: when changing the neutron kinetic energy

1351         threshold for applying the SVT (Sampling of the Velocity of the Target)

1352         algorithm, as part of the setting of the DBRC algorithm, update the

1353         corresponding value in G4HadronicParameters.</LI>

1354     <LI>G4ParticleHPManager: removed the neutron kinetic energy threshold for

1355         applying the SVT algorithm, as this parameter is in G4HadronicParameters.

1356         Check all environment variables once; provided new methods to access

1357         path to data. Use G4ParticleHPManager for directory names and various flags.

1358         Added data member and Get/Set methods for maximum energy above which

1359         no Doppler broading is applied.

1360         Set default upper limit on Doppler broadening to <TT>30 keV</TT>. 

1361         Code clean-up.</LI>

1362     <LI>G4ParticleHPElasticFS: get the neutron kinetic energy threshold for

1363         applying the SVT algorithm from G4HadronicParameters; in the method

1364         <TT>GetBiasedThermalNucleus()</TT>, corrected mistake in the interval

1365         where the max neutron cross-section is considered for rejection.</LI>

1366     <LI>G4ParticleHPInelastic: improved info printout.</LI>

1367     <LI>G4ParticleHPInelasticXS: set upper limit of cross-section to

1368         <TT>30 MeV</TT> instead of <TT>20 MeV</TT>. Fixed constructor.</LI>

1369     <LI>G4ParticleHPDeExGammas: removed internal counter; delete only objects

1370         which are created.</LI>

1371     <LI>Removed G4ParticleHPGamma and G4ParticleHPLevel classes.</LI>

1372     <LI>G4ParticleHPEnergyDistribution, G4ParticleHPContAngularPar,

1373         G4ParticleHPEnAngCorrelation: fixed Coverity warnings.</LI>

1374     <LI>G4ParticleHPContAngularPar, G4ParticleHPContEnergyAngular,

1375         G4ParticleHPEnAngCorrelation, G4ParticleHPNames, G4ParticleHPProduct:

1376         use new interfaces to G4ParticleHPManager, moved constructors,

1377         destructors, and some other methods to source; removed unused

1378         commented lines.</LI>

1379     <LI>G4ParticleHPEnAngCorrelation: minor code cleanup.</LI>

1380     <LI>Renamed classes for capture from G4ParticleHP to G4NeutronHP,

1381         as capture process exists only for neutrons; removed old commented

1382         lines in modified files.</LI>

1383     <LI>Removed unused G4NeutronHP*.hh headers for elastic and inelastic.</LI>

1384     <LI>G4NeutronHPInelasticVI, G4NeutronHPElasticVI: new, alternative model

1385         classes.</LI>

1386     <LI>G4NeutronHPCaptureXS, G4NeutronHPElasticXS, G4NeutronHPInelasticXS,

1387         G4NeutronHPFissionXS, G4CrossSectionHP, G4NeutronFissionVI,

1388         G4NeutronRadCaptureHP: updated models and cross-sections which are

1389         included only in the physics list QGSP_BERT_HP.</LI>

1390     <LI>G4NeutronHPCaptureXS, G4NeutronHPElasticXS, G4NeutronHPInelasticXS,

1391         G4NeutronHPFissionXS: improved comments to the code and description

1392         text.</LI>

1393     <LI>Applied clang-format and clang-tidy fixes.</LI>

1394     <LI>In CMake script, use alphabetical order both for headers and for source

1395         files. Use "G4" prefixed version of EXPAT/ZLIB CMake variables.</LI>

1396     </UL></LI>

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

1398     <UL>

1399     <LI>G4FTFTunings: introduced a new FTF tune meant to overcome the problem

1400         of too optimistic (i.e. narrow) pion shower energy resolutions in ATLAS

1401         calorimeters with respect to test-beam data.</LI>

1402     <LI>G4BaryonSplitter, G4MesonSplitter, G4QGSMSplittableHadron, G4SPBaryon:

1403         some code cleanup.</LI>

1404     </UL></LI>

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

1406     <UL>

1407     <LI>Use the default Coulomb barrier computation.

1408         Code cleanup: code formatting; removed unused data and methods.</LI>

1409     </UL></LI>

1410 <LI><B>QMD</B>

1411     <UL>

1412     <LI>Added classes for QMD model opimised for light ions.</LI>

1413     <LI>G4QMDReaction: do not create local G4Evaporation class, only define 

1414         type of evaporation for local G4ExcitationHandler.</LI>

1415     <LI>Fixed Coverity defect for uninitialized variable.</LI>

1416     <LI>Code cleanup in G4QMDMeanField in attempt to fix false positive on

1417         gcc-13.1 diagnostics on alma9. Removed unused map.</LI>

1418     </UL></LI>

1419 <LI><B>Radioactive Decay</B>

1420     <UL>

1421     <LI>Fix in stairstep beta decay spectrum. Addressing problem report

1422         <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2567">#2367</A>.

1423         Created new class G4BetaSpectrumSampler to sample a sloped distribution

1424         instead of a flat one. Changed G4BetaMinusDecay and G4BetaPlusDecay to

1425         use the above sampler. Added protection against very large arguments

1426         in <TT>std::exp()</TT> within

1427         <TT>G4BetaDecayCorrections::ModSquared90</TT>.</LI>

1428     <LI>G4RadioactiveDecay: changed default threshold for the time beyond

1429         which radioactive decays are ignored, from twice the age of the

1430         Universe to one year.

1431         Use only one table of radioactive decay channels;

1432         removed unnecessary MULTITHREADED blocks protections; removed lock from

1433         class constructor; added use only lock in the method

1434         <TT>LoadDecayTable()</TT> after the check if the table is already

1435         downloaded; added explicit unlock in this method; removed counter

1436         of instances of the class.

1437         Made all virtual methods override and moved implementations to source.

1438         <TT>DecayIt()</TT> method is declared virtual; removed unused methods;

1439         use reference instead of by-values in method signatures for complex

1440         objects; added G4ITDecay object local for each thread to perform

1441         sampling of radioactive decays with a possibility to sample

1442         correlated gamma emission. Fixed initialisation printout: corrected

1443         place for triton printout.</LI>

1444     <LI>G4RadioactiveDecay, G4Radioactivation: added an extra parameter in the

1445         constructor, to be able to set the threshold for the time beyond which

1446         radioactive decays are ignored. This is meant for custom physics lists.

1447         Moreover, the constructor of these classes has been modified to offer

1448         also a C++ interface, via the singleton G4HadronicParameters, to set 

1449         the same time threshold for radioactive decays. This is meant for 

1450         reference physics lists. Note that, in the unlikely and weird scenario

1451         that two time thresholds are specified - one via G4HadronicParameters,

1452         and one via the constructor parameter - the larger of the two is

1453         considered, to be conservative. In all cases, an eventual time

1454         threshold specified via UI command prevails on anything else.</LI>

1455     <LI>G4Radioactivation: marked all virtual methods as <TT>override</TT>

1456         and moved implementations to source; marked <TT>DecayIt()</TT> as

1457         <TT>override</TT>; removed methods <TT>GetDecayTable1()</TT>,

1458         <TT>AtRestDoIt()</TT> and <TT>PostStepDoIt()</TT>, use instead base

1459         class methods.</LI>

1460     <LI>G4BetaMinusDecay, G4BetaPlusDecay, G4BetaSpectrumSampler: implemented

1461         thread safe sampling method.</LI>

1462     <LI>G4NuclearDecay: implemented virtual method

1463         <TT>IsOKWithParentMass()</TT> which always return <TT>true</TT>;

1464         made access methods <TT>const</TT> where possible.</LI>

1465     <LI>G4ITDecay: added method <TT>SetupDecay()</TT>, which allows this class

1466         to be used inside local thread.</LI>

1467     <LI>Fixed Coverity defect for uninitialized data in G4BetaSpectrumSampler,

1468         G4RadioactiveDecay and G4BetaSpectrumSampler.</LI>

1469     </UL></LI>

1470 </UL>

1471 

1472 <A NAME="interc-notes">

1473 <H3><I>Intercoms</I></H3></A>

1474 <UL>

1475 <LI>Replaced direct access to G4cout/etc stream buffers with call to

1476     G4coutDestination installer function.</LI>

1477 <LI>Implemented ReceiveG4debug() for G4UIsession et al.</LI>

1478 <LI>Applied clang-tidy and clang-format fixes plus normal ordering of

1479     docstrings/access specifications.</LI>

1480 <LI>Removed unused/pointless operators. Use C++17 type aliases.</LI>

1481     Refactored G4UIaliasList to simplify implementation and in particular

1482     memory management.</LI>

1483 <LI>Simplified G4UImessenger implementation.</LI>

1484     Factor G4UIcommand/parameter range validation functions to reduce code

1485     duplication.</LI>

1486 <LI>Added function GetBaseSession() to G4UImanager, finding the base session

1487     in a hierarchy of sessions.</LI>

1488 <LI>Make range check setup consistent between parameters/commands.</LI>

1489 <LI>Moved clear implementation detail classes to private headers.</LI>

1490 </UL>

1491 

1492 <A NAME="interf-notes">

1493 <H3><I>Interfaces</I></H3></A>

1494 <UL>

1495 <LI>Implemented ReceiveG4debug for concrete sessions. For the Qt GUI

1496     (G4UIQt) HTML code is added in order to highlight G4debug output.</LI>

1497 <LI>First implementation of user-specified output styles:

1498     <TT>/gui/outputStyle</TT>.

1499     Output streams: cout cerr warn error debug (extendible, see

1500     G4VInteractiveSession header). Only used by G4UIQt at present.</LI>

1501 <LI>Support for first implementation of a no-frills GUI-side scene tree.</LI>

1502     Refactored modules into G4UIcore and G4UIimplementation to isolate

1503     core/always on functionality from concrete UIs requiring external

1504     libraries. Both modules are still built into a G4interfaces library,

1505     with no change to user interface for applications. </LI>

1506 <LI>G4UIQt: fixed mutex bug in implementation of G4UIQt::ReceiveG4debug();

1507     This <I>workaround</I> is to make sure all flushed output appears on the

1508     terminal after a crash. Fixed QSplitter issue, necessary for Qt6 support.

1509     Introduced new scene tree; added colour choice.

1510     Introduced widget for 'mouseDoubleClickEvent'. Implemented callbacks

1511     SceneTreeItemExpanded() and SceneTreeItemCollapsed().

1512     Improved command; allow for leading space in path. Code tidying.

1513     Reworked double-click to use QTreeWidget::itemDoubleClicked.

1514     Implemented right-click pop-up menu for touchables in new scene tree.

1515     Choose sub-set of commands suitable for the pop-up menu.

1516     Fixed bug in <TT>SceneTreeItemClicked()</TT> when invoking

1517     <TT>/vis/scene/activateModel</TT>: the description may have spaces;

1518     use substring up to first space.

1519     In <TT>BuildPVQTree()</TT>, reduce tooltip for a touchable to a simple

1520     two-lines; in <TT>NewSceneTreeItemTreeWidget::ActWithoutParameter()</TT>,

1521     added special case for right-click "dump": pop up message window that may

1522     be suppressed and message the first 1000 characters but suggest a full

1523     dump to session output if desired, or close.

1524     In <TT>SceneTreeItemClicked()</TT>, make daughters invisible when volume

1525     checked invisible, pop up a window of explanation; in

1526     <TT>CreateCommandWidget()</TT>, fixed typo: "green" should be "blue".

1527     Workaround changes in QEvent globalPos/globalPosition for Qt5 and 6.</LI>

1528 <LI>In <TT>G4UIQt::SceneTreeItemClicked()</TT>, use physical volume name to

1529     identify the physical volume model in the scene tree; this allows multiple

1530     models in the scene and each to be separately identified.

1531     Avoid setting <TT>daughtersInvisible</TT> flag if there are no daughters.

1532     Use text to identify text models, allowing one to distinguish multiple

1533     text models.</LI>

1534 <LI>Removed header no longer used in Qt5, which is also not present in Qt6.

1535     Removed support for <TT>Qt < 5.9</TT> in CMake script.</LI>

1536 <LI>Export public compile definitions to indicate availablity of specific UIs.

1537     Moves to <I>use on link</I> model.</LI>

1538 <LI>Set AUTOMOC property on module when Qt used.</LI>

1539 <LI>Applied clang-tidy and clang-format fixes, together with

1540     public/protected/private ordering in headers.</LI>

1541 </UL>

1542 

1543 <A NAME="materials-notes">

1544 <H3><I>Materials</I></H3></A>

1545 <UL>

1546 <LI>Added G4ElementDataRegistry, a new management class for shared data.

1547     Modified G4ElementData to make use of G4ElementDataRegistry.</LI>

1548 <LI>G4NistManager: simplified for loops; added MT protection to instance

1549     access method.</LI>

1550 <LI>G4NistMaterialBuilder: changed mean ionisation potential of carbon and

1551     graphite from <TT>78 eV</TT> (ICRU73 recommendation) to <TT>81 eV</TT>

1552     (ICRU90 recommendation); define state as <TT>kStateLiquid</TT> for

1553     several liquids including G4WATER. Addressing problem report

1554     <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2568">#2568</A>.</LI>

1555 <LI>G4ICRU90StoppingData: use <TT>const</TT> where possible;

1556     use <TT>std::size_t</TT>; use arrays of energies as G4float.</LI>

1557 <LI>G4Material: use <TT>std::size_t</TT> and added extra comments to setter

1558     methods. Addressing problem report

1559     <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2568">#2569</A>.</LI>

1560 <LI>In G4IonisParamMat, use <TT>std::size_t</TT>.</LI>

1561 <LI>G4MaterialPropertiesIndex, G4MaterialPropertiesTable: added material

1562     constant properties for G4Scintillation particle-dependent time constants.

1563     In <TT>SetMaterialPropertiesTable()</TT> added <TT>nullptr</TT> check.</LI>

1564 <LI>G4MaterialPropertiesTable: improved Exception messages; improved building

1565     of vectors of material property names; issue a warning for material

1566     properties vector of length 1.</LI>

1567 <LI>G4ElementData: allow index 0 in data structure (before there was a

1568     limitation <TT>Z > 0</TT>), useful for pair production model.

1569     Also, fixed memory leak at exit.</LI>

1570 <LI>G4ElementData: added G4Physics2Dvector component optional structure;

1571     subdivide run time method in two groups: with or without check on input

1572     parameters; use <TT>std::size_t</TT> type.</LI>

1573 <LI>G4MicroElecMaterialStructure: Modified <TT>GetLimitEnergy()</TT>

1574     function to account for the changes in the treatment of weakly bound

1575     electrons of microelec inelastic model.</LI>

1576 <LI>Applied standard and extended clang-tidy fixes, normal order access

1577     specifiers and docstrings; applied clang-format.</LI>

1578 <LI>Use "G4" prefixed version of EXPAT/ZLIB CMake variables.</LI>

1579 <LI>Use G4FindDataDir to access data libraries in place of raw

1580     <TT>getenv()</TT>.</LI>

1581 </UL>

1582 

1583 <A NAME="parameterisations-notes">

1584 <H3><I>Parameterisations</I></H3></A>

1585 <UL>

1586 <LI>New submodule <TT>channeling</TT>, implementing fast-simulation channeling

1587     model in oriented crystals with Baier Katkov method for the calculation of

1588     radiation probability, radiation point and parameters of photon production

1589     as well as spectrum accumulation.</LI>

1590 <LI>Channeling:

1591     <UL>

1592     <LI>Revised version of the Baier-Katkov method with a new features of

1593         increasing of the photon statistics in certain intervals of spectrum.

1594         Updates in defaults and corrected some bugs.</LI>

1595     <LI>Simulated and preliminarly validated the electromagnetic shower in W

1596         with experimental data from Eur. Phys. J. C 82, 699 (2022).</LI>

1597     <LI>Added the Crystalline Undulator (CU) as a periodically bent crystal 

1598         to the internal crystal geometry (to be validated still).</LI>

1599     </UL></LI>

1600 <LI>GFLASH:

1601     <UL>

1602     <LI>Replaced use of deprecated functions with modern equivalents.</LI>

1603     <LI>Fixed reported Coverity defects for uninitialized data members.</LI>

1604     </UL></LI>

1605 </UL>

1606 

1607 <A NAME="part-notes">

1608 <H3><I>Particles</I></H3></A>

1609 <UL>

1610 <LI>Scanned all mesons and baryons, including their resonances, to

1611     compare their particle properties with PDG-2023. Updated mass and

1612     decay width (lifetime) for particles below with relative error above

1613     1% against PDG-2023.</LI>

1614 <LI>G4IonTable: fixed GetIon() method for the case when the ground state level

1615     of an isomer is floating. Removed some code duplication in FindIon() and

1616     GetIon() methods.

1617     Fixed run-time memory leak in <TT>GetIonName()</TT> methods, now returning

1618     G4String instead of a reference to a string; simplified code, with TLS no

1619     longer involved.</LI>

1620 <LI>G4NuclideTable: taken into account the possibility of floating ground state

1621     levels.</LI>

1622 <LI>G4Ion: added protection against unphysical index of floating level.</LI>

1623 <LI>Applied core/recommended clang-tidy fixes.</LI>

1624 <LI>Apply clang-format, excepting tabular data/constructors.</LI>

1625 <LI>Removed unused headers suggested by include-what-you-use tool.</LI>

1626 <LI>Removed extraneous/duplicate comments.</LI>

1627 </UL>

1628 

1629 <A NAME="pers-notes">

1630 <H3><I>Persistency</I></H3></A>

1631 <UL>

1632 <LI>Split build of G4persistency library into G4mctruth, G4geomtext and

1633     (optional) G4gdml libraries.</LI>

1634 <LI>GDML:

1635     <UL>

1636     <LI>Added possibility to set alternative grammar for schema validation

1637         while reading a GDML file. This can be achieved by either calling the

1638         new method SetImportSchema(..) from G4GDMLParser, providing the

1639         absolute path and file name of the XML schema, or by using the new

1640         UI command:

1641         <TT>/persistency/gdml/schema "[absolute_path]/schema_filename"</TT>

1642         before importing the GDML file.

1643         By setting a locally stored alternative grammar, it will instruct the

1644         parser to ignore the default schema specified in the GDML file and

1645         therefore no longer require access to the network for retrieving the

1646         schema.</LI>

1647     <LI>Allow setting of alternative grammar for schema validation via an

1648         environment variable G4GDML_SCHEMA_FILE; it overrides the value set by

1649         SetImportSchema() if both are non-empty strings. Forcing parser to

1650         ignore any schema set in the input GDML file. Checking of grammar and

1651         schema override will fail on missing schema.</LI>

1652     <LI>In G4GDMLWriteStructure::ExportSD(), use GetMasterSensitiveDetector()

1653         from logical volume to retrieve the shadow pointer of the sensitive

1654         detector.</LI>

1655     </UL></LI>

1656 </UL>

1657 

1658 <A NAME="lst-notes">

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

1660 <UL>

1661 <LI><B>Builders</B>:

1662     <UL>

1663     <LI>G4HadronicBuilder: added two methods, <TT>BuildINCLXX()</TT> and

1664         <TT>BuildAntiLightIonsINCLXX()</TT>.</LI>

1665     <LI>Removed no longer used file OrderingParameterTable.</LI>

1666     </UL></LI>

1667 <LI><B>Constructors</B>:

1668     <UL>

1669     <LI><U>electromagnetic</U>:

1670         <UL>

1671         <LI>G4EmBuilder, G4EmModelActivator, G4EmStandardPhysicsSS: fixed issue

1672             in single scattering model definition per region for e+, e-, and

1673             light hadrons. Addressing problem report

1674             <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2530">#2530</A>.</LI>

1675         <LI>G4EmBuilder, G4EmStandardPhysicsSS: use new constructor for the

1676             G4CoulombScattering process.</LI>

1677         <LI>G4EmStandardPhysicsSS: allow to use

1678             G4TransportationWithMscType. Removed unused header inclusions.</LI>

1679         <LI>G4EmModelActivator: use new constructor for the G4CoulombScattering

1680             process; allow adding G4EmStandardPhysicsSS on top of

1681             G4EmStandardPhysics_option3.

1682             Implemented single scattering per region by adding extra single

1683             scattering process, which is active inside the region and not

1684             active outside; multiple scattering and single scattering

1685             processes for a given charged particle are disabled in the region.

1686             Addressing problem report <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2530">#2530</A>.</LI>

1687         <LI>New G4ChemDissociationChannels and

1688             G4ChemDissociationChannels_option1 classes.</LI>

1689         <LI>G4GammaGeneralProcess: added method GetGammaNuclear().</LI>

1690         <LI>G4EmParticleList: added method EmChargedPartNames(), returning a

1691             minimal list of charged EM particles.</LI>

1692         <LI>G4EmDNABuilder: for Opt2, 4, 6 use for protons and ions; 

1693             G4DNARuddIonisationExtendedModel from zero to <TT>100 MeV</TT>;

1694             ion capture limit is set to <TT>0.1 keV</TT>.

1695             For DNA Opt4 and Opt6, restored configuration as of previous

1696             release series for protons, in order to have under control

1697             results of various tests. Correction for proton constructors.

1698             Corrected subtype process of G4LowECapture.</LI>

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

1700             conversion.</LI>

1701         </UL></LI>

1702     <LI><U>factory</U>:

1703         <UL>

1704         <LI>Added G4StoppingPhysicsWithINCLXX in

1705             G4RegisterPhysicsConstructors.</LI>

1706         </UL></LI>

1707     <LI><U>gamma_lepto_nuclear</U>:

1708         <UL>

1709         <LI>G4EmExtraPhysics: activate biasing in processes, not in

1710             cross-sections.</LI>

1711         <LI>G4EmExtraPhysics, G4EmMessenger: removed neutrino physics.

1712             Fixed instantiation of e+- nuclear processes.</LI>

1713         <LI>G4NeutrinoPhysics, G4NeutrinoPhysicsMessenger: added new physics

1714             constructor for neutrino physics and its messenger.</LI>

1715         <LI>Clean-up all classes of sub-library.</LI>

1716         </UL></LI>

1717     <LI><U>hadron_elastic</U>:

1718         <UL>

1719         <LI>New class G4HadronElasticPhysicsHPT, inheriting from

1720             G4HadronElasticPhysicsHP and activating the special treatment of

1721             elastic scattering of thermal neutrons.</LI>

1722         <LI>G4HadronElasticPhysicsHP: changed method ConstructProcess() from

1723             <TT>final</TT> to <TT>override</TT>, to be able to define the

1724             ConstructProcess() method for the derived class

1725             G4HadronElasticPhysicsHPT.</LI>

1726         <LI>G4HadronElasticPhysics, G4HadronElasticPhysicsXS,

1727             G4HadronElasticPhysicsHP, and G4HadronElasticPhysicsPHP: more

1728             accurate instantiation of models, cross-sections and the neutron

1729             general process.</LI>

1730         <LI>G4ChargeExchangePhysics: do not use G4PhysicsListHelper, as the 

1731             charge exchange process is an addition to the main hadron process.

1732             Updated the constructor. Added setter method for the factor

1733             multiplying the cross-section.</LI>

1734         <LI>G4ChargeExchangePhysics, G4ChargeExchangeMessenger: added UI

1735             commands.</LI>

1736         <LI>Added a low energy limit to the cross-section of the charge exchange

1737             process to allow use of it on top of any physics without any

1738             cross-section correction.</LI>

1739         </UL></LI>

1740     <LI><U>hadron_inelastic</U>:

1741         <UL>

1742         <LI>G4HadronInelasticQBBC: more accurate instantiation of the neutron

1743             general process.</LI>

1744         <LI>G4HadrocPhysicsQGSP_BERT_HP: use alternative HP models and

1745             cross-sections.</LI>

1746         <LI>New class G4HadronInelasticQBBC_ABLA, similar to

1747             G4HadronInelasticQBBC_ABLA, except that for the final-state of

1748             nuclear inelastic interactions of charged pions and nucleons

1749             projectiles, the ABLA model is utilized for nuclear de-excitation,

1750             instead of the usual precompound/de-excitation.

1751             Meant for testing purposes. In principle, these couplings with ABLA

1752             nuclear de-excitation can be extended to all types of projectiles

1753             and to other reference physics lists, but, for the time being, it

1754             is restricted to pion+, pion-, proton and neutron, and only for

1755             QBBC.</LI>

1756         <LI>In G4HadronPhysicsINCLXX, call

1757             <TT>G4HadronicBuilder::BuildAntiLightIonsINCLXX()</TT>

1758             to treat antiproton with INCLXX.</LI>

1759         </UL></LI>

1760     <LI><U>ions</U>:

1761         <UL>

1762         <LI>Added a physics constructor, G4LightIonQMDPhsysics for the new QMD

1763             model for light ions.</LI>

1764         </UL></LI>

1765     <LI><U>limiters</U>:

1766         <UL>

1767         <LI>Fixed reported Coverity defects for unreachable code.</LI>

1768         </UL></LI>

1769     <LI><U>stopping</U>:

1770         <UL>

1771         <LI>G4StoppingPhysicsWithINCLXX: new class, similar to

1772             G4StoppingPhysics, with the only difference that the INCLXX model

1773             (instead of FTFP) is utilized for the antiproton annihilation at

1774             rest.</LI>

1775         </UL></LI>

1776     </UL></LI>

1777 <LI><B>Lists</B>:

1778     <UL>

1779     <LI>FTFP_BERT_ATL: use a new, specific FTF tune meant to overcome the problem

1780         of too optimistic (i.e. narrow) pion shower energy resolutions in

1781         ATLAS calorimeters with respect to test-beam data.</LI>

1782     <LI>Use the new class G4StoppingPhysicsWithINCLXX (instead of

1783         G4StoppingPhysics) in INCLXXPhysicsListHelper: this implies that all 

1784         the INCLXX-based physics lists (FTFP_INCLXX, QGSP_INCLXX, etc.) use 

1785         INCLXX for the antiproton annihilation at rest.</LI>

1786     <LI>Introduced the new class QGSP_BIC_HPT, which is similar to QGSP_BIC_HP,

1787         but with special treatment of elastic scattering of thermal neutrons

1788         activated.</LI>

1789     <LI>G4PhysListFactory: added new physics lists, corresponding to

1790         <TT>HPT</TT> variants (i.e. with special treatment of elastic

1791         scattering of thermal neutrons) of physics lists with <TT>HP</TT>

1792         already present (FTFP_BERT_HPT, QGSP_BERT_HPT, FTFP_INCLXX_HPT, 

1793         QGSP_INCLXX_HPT, QGSP_BIC_HPT, QGSP_BIC_AllHPT, Shielding_HPT, and

1794         ShieldingM_HPT).

1795         Of these, only one (QGSP_BIC_HPT) corresponds to a concrete new physics

1796         list, whereas the others are obtained from the <TT>HP</TT> physics 

1797         lists by adding the physics constructor G4ThermalNeutrons.

1798         Introduced new physics list names Shielding_HP and ShieldingM_HP, as

1799         alias of, respectively, Shielding and ShieldingM. These new aliases

1800         allow to have a consistent notation _HPT for all the HP-based physics

1801         lists when the special elastic scattering treatment of thermal neutrons

1802         is enabled.</LI>

1803     <LI>Shielding: added information note that the new physics list names (to

1804         be used with the physics list factory), Shielding_HP and ShieldingM_HP,

1805         are equivalent to, respectively, Shielding and ShieldingM.

1806         Added a option for Shielding to use G4LightIonQMDPhysics, which is

1807         the constructor of light ion QMD.</LI>

1808     <LI>G4PhysListFactoryMessenger: added the new UI command

1809         <TT>/physics_lists/factory/addThermal</TT> to enable the special

1810         treatment of elastic scattering of thermal neutrons for HP-based

1811         physics lists. Added UI commands to enable neutrino and 

1812         charge exchange physics.</LI>

1813     <LI>QGSP_BERT_HP: use alternative HP models and cross-sections.</LI>

1814     <LI>QGSP_BERT_AllHP: use default HP elastic builder.</LI>

1815     <LI>New class QBBC_ABLA, which is similar to QBBC, except that for

1816         hadron inelastic the constructor G4HadronInelasticQBBC_ABLA is used,

1817         instead of G4HadronInelasticQBBC. This means that the physics list

1818         QBBC_ABLA behaves as QBBC, with the only difference that for the

1819         final-state of nuclear inelastic interactions of charged pions and

1820         nucleons projectiles, the ABLA model is being used for nuclear

1821         de-excitation, instead of the usual Precompound/de-excitation.</LI>

1822     </UL></LI>

1823 <LI><B>Util</B>:

1824     <UL>

1825     <LI>G4HadProcesses: more accurate implementation for the neutron general

1826         process.</LI>

1827     </UL></LI>

1828 </UL>

1829 

1830 <A NAME="run-notes">

1831 <H3><I>Run</I></H3></A>

1832 <UL>

1833 <LI>Added handling (registration and merging) of sub-events in G4Run and

1834     G4RunManager.</LI>

1835 <LI>Do not call <TT>WorkerG4ParticleTable()</TT> from G4ParticleTable in

1836     constructor of G4WorkerRunManager, as called already from G4ParticleTable

1837     through <TT>GetParticleTable()</TT>, which is called beforehand by other

1838     Geant4 classes. Duplicate call was causing memory leak at exit.</LI>

1839 <LI>G4PhysicsListHelper: removed the unused code related to reading from the

1840     file OrderingParameterTable (which has been deleted).</LI>

1841 <LI>Refactor random state file copying to use std::filesystem for

1842     portability.</LI>

1843 <LI>Applied core and optional clang-tidy fixes, plus clang-format and tidying:

1844     removed obsolete comments/dead blocks; normal order access specifiers and

1845     make docstrings Doxygen/IDE compatible.</LI>

1846 </UL>

1847 

1848 <A NAME="track-notes">

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

1850 <UL>

1851 <LI>Added new state <TT>fSuspendAndWait</TT> to G4TrackStatus.</LI>

1852 <LI>G4TrackStatus is made mutable in G4Track so it can be modified in

1853     stacking.</LI>

1854 <LI>Applied standard and extended set of clang-tidy/format fixes.</LI>

1855 </UL>

1856 

1857 <A NAME="vis-notes">

1858 <H3><I>Visualization</I></H3></A>

1859 <UL>

1860 <LI><B>General</B>

1861     <UL>

1862     <LI>Updated configuration so that OpenGL and GLES "toolssg" drivers are

1863         not used in the case VTK is used.</LI>

1864     <LI>Isolated private headers and updated dependencies.</LI>

1865     <LI>Link to new G4UIcore/UIimplementation modules in place of former

1866         G4UIbasic/UIcommon.</LI>

1867     <LI>Exporting public compile definitions to indicate availablity of

1868         specific drivers. Moves to "use on link" model.</LI>

1869     <LI>Support compilation against Qt5 and Qt6.</LI>

1870     <LI>Set AUTOMOC property on module when Qt used.</LI>

1871     </UL></LI>

1872 <LI><B>Management</B>

1873     <UL>

1874     <LI>Implemented a more flexible way of choosing a graphics system.

1875         It preserves the existing behaviour in all aspects.

1876         To take advantage of the new ways, <TT>/vis/open</TT> should be

1877         allowed to use default parameters, either by omitting them

1878         altogether or by using '!'. Without any change of code, i.e.,

1879         using the existing constructor, G4VisExecutive will refer to the

1880         environment variable <TT>G4VIS_DEFAULT_DRIVER</TT>, which should

1881         contain the nickname of the chosen graphics system and, optionally,

1882         a window size hint (space separated).

1883         Or on the command line, precede the app invocation,

1884         (e.g: <TT>G4VIS_DEFAULT_DRIVER=Vtk 'application-name'</TT>).

1885         The window-size-hint can optionally be added to all these options,

1886         e.g: <TT>(bash) export G4VIS_DEFAULT_DRIVER="OGLSX 1000x1000-0+0"</TT>.

1887         Otherwise G4VisExecutve will choose a graphics system on the basis of

1888         batch/interactive running, and Geant4 build options (see list

1889         of registered graphics systems printed at the start of job).</LI>

1890     <LI>Further ways are available by using a new constructor,

1891         <TT>G4VisExecutive(argc, argv)</TT>. This follows G4UIExecutive usage.

1892         If a 3rd argument is supplied, this is your chosen system

1893         (e.g.: <TT>G4VisExecutive(argc, argv, "Vtk")</TT>).

1894         Otherwise, it looks at <TT>G4VIS_DEFAULT_DRIVER</TT>, as above.

1895         Otherwise, it inspects <TT>~/.g4session</TT>.<BR>

1896         G4UIExecutive behaviour is preserved.<BR>

1897         Otherwise, as above, it will choose a graphics system on the basis of

1898         batch/interactive running, and Geant4 build options.</LI>

1899     <LI>G4VisExecutive: added new constructor implementing default graphics

1900         system by environment variable <TT>G4_VIS_DEFAULT_DRIVER</TT>.

1901         Simplified default graphics system by run option (batch/interactive).

1902         Exploit new method, <TT>G4UImanager::GetBaseSession()</TT>.

1903         Added code for default graphics system based on batch or build

1904         flags. In <TT>SetDefaultsByBuildFlags()</TT>, added missing default

1905         for TOOLSSG...ZB drivers.

1906         Temporary divert OGL to TSG for allowing support of Qt6.

1907         Declare TOOLSSG_[X11,XT,WINDOWS,QT]_ZB drivers.

1908         Fixed default TSG nickname when Vtk suppresses OpenGL.

1909         Added single line message "VTK: OpenGL-based drivers suppressed".

1910         Protect all G4cout statements with <TT>fVerbosity</TT> at startup.</LI>

1911     <LI>Implemented choice by argument and by <TT>~/.g4session</TT>.</LI>

1912     <LI>G4VisManager: improved messaging in

1913         <TT>PrintAvailableGraphicsSystems()</TT>.

1914         Improved readability of code that ignores deleted histograms, etc.

1915         Improve printing about histograms that can be plotted in the UI

1916         session. Take into account deleting histograms in G4VisManager:

1917         the vector of histograms can contain 'nullptr' elements.</LI>

1918     <LI>Introducing concept of default XGeometryString (aka window size

1919         hint).</LI>

1920     <LI>G4VisCommandsCompound: in <TT>/vis/open</TT>, exploit "current as

1921         default" for all parameters, including the window-size-hint.</LI>

1922     <LI>G4VisCommandsViewer: in <TT>/vis/viewer/create</TT>, exploit

1923         "current as default" for all parameters, including the

1924         window-size-hint.</LI>

1925     <LI>Introducing scene tree in G4VViewer. The scene tree is a tree of

1926         G4SceneTreeItem objects; its root is a data member fSceneTree of all

1927         viewers by virtue of G4VViewer inheritance. The root G4SceneTreeItem

1928         has children that represent the models (G4VModel sub-classes) in the

1929         scene. For a G4PhysicalVolumeModel (detector components), its children

1930         and children's children, etc., imitate the geometry hierarchy of that
1931         model. These descendants are called "touchables". There may be more
1932         than one G4PhysicalVolumeModel, depending how the user creates his/her
1933         scene. The scene tree is reviewed, and updated if necessary, at every
1934         pass of <TT>G4VSceneHandler::ProcessScene()</TT>. This is called a
1935         "kernel visit". A kernel visit is triggered by vis commands (e.g.,
1936         <TT>/vis/viewer/rebuild</TT>) and by a viewer if deemed necessary.
1937         For example, a kernel visit may not be required for a rotation, zoom,
1938         etc., but required for a change from surface to wireframe. The idea
1939         is that the scene tree can be passed to a GUI, the GUI can create a
1940         tree widget, and interactions with it raise UI commands such as
1941         <TT>/vis/scene/activateModel</TT>, <TT>/vis/set/touchable</TT> and
1942         <TT>/vis/touchable/set/</TT>...
1943         The viewer decides if this requires a kernel visit, otherwise it must
1944         update <TT>fSceneTree</TT> itself (utilities are provided).
1945         Limit the depth of expansion of the scene tree touchables; this is to
1946         prevent the trees of complex detector running off the page; all
1947         touchables are entered but could be in a collapsed item, viewable by
1948         expanding the mother with a left click.
1949         Added scene tree and related functionality.
1950         Improved <TT>G4VViewer::SceneTreeScene::FindOrInsertTouchable()</TT>.
1951         Simplified ghost-touchable transition.
1952         Added "utility" function <TT>UpdateGUISceneTree()</TT>.
1953         Applied clang-format.</LI>
1954     <LI>New scene tree: implementing expand and collapse of touchables.
1955         Expand only to depth 2, thereafter sub-trees are collapsed.
1956         When the scene tree is expanded or collapsed it is remembered in
1957         the viewer-side scene tree and may be propagated to other viewers.</LI>
1958     <LI>First implementation of a no-frills GUI-side interactive scene tree.
1959         Works with touchables; can change the visibility of a touchable.
1960         A view can be prepared with a graphical driver, such as OGL, TSG, OI
1961         or Vtk, and transferred it to Ray Tracer, TOOLSSG_OFFSCREEN, etc.,
1962         simply with <TT>/vis/open RayTracer</TT>, etc.</LI>
1963     <LI>Default special mesh rendering for viewers which can render all
1964         objects.</LI>
1965     <LI>Implemented "generic cutaways". It relies on the Boolean Processor
1966         which handles the Boolean operations on polyhedral representations of
1967         solids. Clips, sections and cutaways will now be available to *all*
1968         viewers (OGL viewers still use OpenGL clip planes).</LI>
1969     <LI>G4VSceneHandler: protect material pointer used to name G4Mesh item.
1970         If null, use name of container. It avoids cases of crash when a G4Mesh
1971         is in a parallel world. In <TT>RequestPrimitives()</TT>, improved test
1972         for invalid Boolean solid.
1973         In <TT>CreateSectionSolid()</TT> and <TT>CreateCutawaySolid()</TT>,
1974         improved algorithms.</LI>
1975     <LI>G4VVisCommand: added static G4SceneTreeItem
1976         <TT>fExistingSceneTree</TT>, used for remembering scene tree of
1977         previous viewer.</LI>
1978     <LI>G4VisCommandsSceneHandler: if there is an existing viewer, store scene
1979         tree.</LI>
1980     <LI>G4VisCommandsViewer: if there is an existing viewer, store scene tree.
1981         Copy existing scene tree to the new viewer.</LI>
1982     <LI>G4ViewParameters: initialise <TT>fSpecialMeshRenderingOption</TT>
1983         as <TT>meshAsDefault</TT>.</LI>
1984     <LI>G4VisCommandsTouchableSet: with <TT>/vis/touchable/set/visibility</TT>,
1985         added one-time warning about circumstances in which the command may
1986         appear not to work.</LI>
1987     <LI>G4VisCommandsSceneAdd, G4VisCommandSceneAddText2D: improved guidance and
1988         description.</LI>
1989     <LI>In G4VisCommandsTouchable, introduced UI command
1990         <TT>/vis/touchable/twinkle</TT>.</LI>
1991     <LI>Removed obsolete attempt at flying (interpolation with splines).
1992         Functionality now delegated to G4ViewParameters.</LI>
1993     <LI>Fized problem of local axes not appearing, by adding
1994         <TT>/vis/viewer/refresh</TT> after
1995         <TT>/vis/touchable/localAxes</TT>.</LI>
1996     <LI>Code cleanup in G4VUserVisAction: made protected <TT>Draw()</TT>
1997         virtual method; improved comments.</LI>
1998     <LI>Fixed compilation warning for implicit type conversion on
1999         macOS/XCode>=14.1.</LI>
2000     </UL></LI>
2001 <LI><B>Modeling</B>
2002     <UL>
2003     <LI>G4VModel: removed unnecessary reference to G4PhysicalVolumeModel.</LI>
2004     <LI>G4PseudoScene: added G4VisAttributes (this was always available, but
2005         never previously made onward available to sub-classes).</LI>
2006     <LI>Added static utility
2007         <TT>G4PhysicalVolumeModel::GetPVNamePathString()</TT>.</LI>
2008     <LI>Updates to implement "generic cutaways".</LI>
2009     <LI>G4PhysicalVolumeModel: introducing touchable count. A new function
2010         <TT>GetNumberOfTouchables()</TT> returns a map with the number of
2011         touchables by depth of the geometry tree. Used in G4VViewer when
2012         deciding whether to expand the scene tree.
2013         In <TT>DescribeSolid()</TT>, improved tests for invalid Boolean
2014         solid in code for section and cutaway.</LI>
2015     </UL></LI>
2016 <LI><B>OpenGL</B>
2017     <UL>
2018     <LI>Removed obsolete G4OPENGL_VERSION_2 symbol and
2019         G4OpenGLVboDrawer class.</LI>
2020     <LI>Make <TT>modeling</TT> module a private dependency, unless Qt
2021         is active, when it must be public.</LI>
2022     <LI>First implementation of a no-frills GUI-side scene tree.</LI>
2023     <LI>G4OpenGLQtViewer: disabled "old" scene tree.</LI>
2024     <LI>No longer link to QtPrintSupport, which is not used in the
2025         toolkit.</LI>
2026     <LI>Removed support for Qt less than version 5.9. Clarify remaining
2027         version checks using QT_VERSION_CHECK instead of raw hex.</LI>
2028     <LI>G4OpenGLQt, G4OpenGLXm: simplified <TT>IsUISessionCompatible()</TT>.
2029         Exploit new method, <TT>G4UImanager::GetBaseSession()</TT>.</LI>  
2030     <LI>Fixed precision-loss warning.</LI>
2031     </UL></LI>
2032 <LI><B>OpenInventor</B>
2033     <UL>
2034     <LI>First implementation of a no-frills GUI-side scene tree.</LI>
2035     <LI>No longer link to QtPrintSupport, which is not used in the
2036         toolkit.</LI>
2037     <LI>G4OpenInventor: simplified <TT>IsUISessionCompatible()</TT>.
2038         Exploit new method, <TT>G4UImanager::GetBaseSession()</TT>.
2039         Implemented fix as an OI driver is not appropriate for a batch
2040         session.</LI>
2041     <LI>Fixed reported Coverity defects.</LI>
2042     </UL></LI>
2043 <LI><B>Qt3D</B>
2044     <UL>
2045     <LI>G4Qt3DSceneHandler: added dummy normal line attributes, as Qt6 seems
2046         to require that; fixes wireframe drawing; does not seem to fix
2047         trajectory line drawing, though.
2048         Establish the top physical volume Qt3D entities from the scene.</LI>
2049     <LI>G4Qt3D: simplified <TT>IsUISessionCompatible()</TT>.
2050         Exploit new method, <TT>G4UImanager::GetBaseSession()</TT>.</LI>
2051     <LI>Fixed precision-loss warning.</LI>
2052     </UL></LI>
2053 <LI><B>ToolsSG</B>
2054     <UL>
2055     <LI>First version of the TSG_[QT,X11,XT,WINDOWS]_ZB sub drivers, allowing
2056         the rendering with g4tools/zbuffer (the same used by TSG_OFFSCREEN).
2057         They allow interactive 3D rendering bypassing native graphics
2058         systems. It is fully standalone over the standard C/C++ libs and the
2059         standard pixmap logic of X11, Xt, Qt, Windows, running only the CPU.
2060         Tested with Qt5 and Qt6.</LI>
2061     <LI>First implementation of a no-frills GUI-side scene tree.</LI>
2062     <LI>No longer link to QtPrintSupport, which is not used in the
2063         toolkit.</LI>
2064     <LI>Link to Qt6OpenGLWidgets library when using Qt6 to access
2065         QOpenGLWidget.</LI>
2066     <LI>G4ToolsSGViewer: protected null scene pointer, in case user forgets
2067         to create a scene.</LI>
2068     <LI>G4ToolsSGQtViewer renamed to G4ToolsSGQtGLESViewer for consistency
2069         with the file naming pattern applied in other sub-drivers.</LI>
2070     <LI>G4ToolsSGQtGLES, G4ToolsSGQtZB: simplified
2071         <TT>IsUISessionCompatible()</TT>.
2072         Exploit new method, <TT>G4UImanager::GetBaseSession()</TT>.</LI>
2073     <LI>Fixed Coverity warnings.</LI>
2074     </UL></LI>
2075 <LI><B>Vtk</B>
2076     <UL>
2077     <LI>Refactor of VTK viewer with pipelines, geometry stores; improved 2D
2078         rendering, streamlined VTK cmake components. Added off screen
2079         rendering; fixed bug which locked UI interaction with VtkNative
2080         viewer; many 3D output formats working including GLTF, PLY, OBJ,
2081         VRML; removed cuboid offset present in rectilinear scoring meshes
2082         (caused an explosion of draw calls); fixed spherical marker size.</LI>
2083     <LI>G4VtkSceneHandler: text justification to given coordinate.</LI>
2084     <LI>Separated pipelines into source and include files.</LI>
2085     <LI>Use class inheritance for pipelines G4VVtkPipeline and added ability
2086         to chain pipelines.</LI>
2087     <LI>Separated interactive cutters, clippers.</LI>
2088     <LI>2D transparent image overlay.</LI>
2089     <LI>Improved geant4 commands (/vis/vtk/..).</LI>
2090     <LI>Added vtkUnstructuredGridPipeline for special mesh rendering.</LI>
2091     <LI>G4VtkQt: simplified <TT>IsUISessionCompatible()</TT>.
2092         Exploit new method, <TT>G4UImanager::GetBaseSession()</TT>.</LI>
2093     <LI>Fixed missing circles in rendering.</LI>
2094     <LI>Removed files no longer being built.</LI>
2095     <LI>Applied clang-tidy and clang-format fixes.</LI>
2096     <LI>Removed dead code and no-ops.</LI>
2097     <LI>Fixed compilation warnings for implicit type conversions on
2098         macOS/XCode>=14.1.</LI>
2099     </UL></LI>
2100 </UL>
2101 
2102 <A NAME="data-notes">
2103 <H3><I>Data sets</I></H3></A>
2104 <UL>
2105 <LI>New low-energy data set version, <B>G4EMLOW-8.5</B>:
2106     <UL>
2107     <LI>Updated microelec data for electrons.</LI>
2108     <LI>Updated DNA data.</LI>
2109     <LI>Added new data subdirectory for XRayReflection.</LI>
2110     <LI>Updated MicroElec data inside Inelastic and Structure
2111         subdirectories.</LI>
2112     <LI>Added README to all subdirectories.</LI>
2113     </UL></LI>
2114 <LI>New nuclear shell effects data set version, <B>G4ABLA-3.3</B>:
2115     <UL>
2116     <LI>New file named <TT>mass2016.dat</TT> with experimental atomic
2117         mass evaluation from 2016.</LI>
2118     <LI>New file <TT>mass2020.dat</TT> with the binding energies from
2119         the atomic mass evaluation AME2020.</LI>
2120     </UL></LI>
2121 <LI>New data set version for proton and neutron density profiles,
2122     <B>G4INCL-1.2</B>:
2123     <UL>
2124     <LI>Addec new files for antiproton annihilation at rest of INCL.</LI>
2125     <LI>Added new data files for in-flight antiprotons (Channel
2126         probabilities).</LI>
2127     </UL></LI>
2128 </UL></LI>
2129 
2130 <A NAME="ex-notes">
2131 <H3><I>Examples</I></H3></A>
2132 <UL>
2133 <LI>Updated reference outputs, macros, READMEs and scripts.</LI>
2134 <LI>Fixes for Doxygen documentation and coding guidelines.</LI>
2135 <LI>Updated vis*.mac macros in most examples, changed <TT>/vis/open</TT>
2136     command for interactive visualization to allow for run-time choices
2137     and simplified comments.
2138     Removed defunct command <TT>/vis/ogl/set/displayListLimit</TT>.</LI>
2139 <LI>In several input macro files, introduced the UI command
2140     <TT>/process/had/rdm/thresholdForVeryLongDecayTime 1.0e+60 year</TT>
2141     to allow all radioactive decays (including the very long ones).</LI>
2142 <LI><B><U>advanced</U></B>
2143     <UL>
2144     <LI><B>air_shower</B>
2145         <UL>
2146         <LI>Fixed warning message regarding the size of the material
2147             property vector.</LI>
2148         </UL></LI>
2149     <LI><B>dsbandrepair</B>
2150         <UL>
2151         <LI>New Geant4-DNA application for evaluating the early radiation-induced
2152             DNA damage. The first development of the simulation chain was carried
2153             out by Meylan et al. in 2017 (Sci. Rep. 2017 7:11923).
2154             Supports all types of DNA geometries constructed with DNAFabric
2155             (Comput. Phys. Comm. 2016 204:159-169). Geometries for human cell
2156             nuclei (fibroblast, endothelium) and yeast are also provided.</LI>
2157         </UL></LI>
2158     <LI><B>eFLASH_radiotherapy</B>
2159         <UL>
2160         <LI>Removed visualization in batch mode.</LI>
2161         </UL></LI>
2162     <LI><B>exp_microdosimetry</B>
2163         <UL>
2164         <LI>Renamed from <TT>radioprotection</TT> example.</LI>
2165         </UL></LI>
2166     <LI><B>fastAerosol</B>
2167         <UL>
2168         <LI>General code cleanup, including clang-tidy.</LI>
2169         </UL></LI>
2170     <LI><B>ICRP110_HumanPhantoms</B>
2171         <UL>
2172         <LI>Now building two executables: ICRP110phantoms and
2173             ICRP110standalone. ICRP110standalone allows allows visualisation
2174             of the phantom without the overhead of the run manager and
2175             initialising of all the physics tables (i.e. cannot visualise
2176             trajectories).</LI>
2177         <LI>standalone.mac: disable auto refresh *before* creating scene.
2178             For auto-refresh viewers, without this change the viewer attempts
2179             to draw the detector with the default view parameters, and in the
2180             case of this phantom, it overwhelms the graphics system.</LI>
2181         <LI>This phantom should be displayed with special mesh rendering.</LI>
2182         <LI>ICRP110PhantomNestedParameterisation: fixed assignment of material
2183             pointer in <TT>ComputeMaterial()</TT>, affecting MT runs.</LI>
2184         <LI>Removed forward declaration of G4VTouchable.</LI>
2185         </UL></LI>
2186     <LI><B>ICRP145_HumanPhantoms</B>
2187         <UL>
2188         <LI>Introduce ICRP145standalone. Building two executables:
2189             ICRP145phantoms and ICRP145standalone. ICRP145standalone allows
2190             visualisation of the phantom without the overhead of the run
2191             manager and physics tables and geometry initialisation.
2192             Of course, you cannot run or visualise trajectories.
2193             Disabled auto refresh *before* creating scene.</LI>
2194         </UL></LI>
2195     <LI><B>medical_linac</B>
2196         <UL>
2197         <LI>Use default MixMax random engine.</LI>
2198         </UL></LI>
2199     <LI><B>STCyclotron</B>
2200         <UL>
2201         <LI>Correction in PrimaryGeneratorAction. Addressing problem report
2202             <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2538">#2538</A>.</LI>
2203         <LI>Corrected warning in <TT>vacuum_density</TT>.</LI>
2204         </UL></LI>
2205     <LI><B>stim_pixe_tomography</B>
2206         <UL>
2207         <LI>New application for simulating three-dimensional STIM or PIXE
2208             tomography experiments. References:
2209             NIM Phys.Res. B (536) 2023: 38-44; 
2210             Phys. Med. (94) 2022: 85-93; Phys. Med. (65) 2019: 172-180.</LI>
2211         </UL></LI>
2212     <LI><B>underground_physics</B>
2213         <UL>
2214         <LI>Updated analysis and ambe_spectrum.mac. Addressing problem report
2215             <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2338">#2338</A>.</LI>
2216         <LI>Addressed problem report
2217             <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2503">#2503</A>
2218             and related to
2219             <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2338">#2338</A>;
2220             also removed redundant alpha_low.mac macro.</LI>
2221         <LI>Moved EM model setters in DMXPhysicsList to G4EmParameters.</LI>
2222         </UL></LI>
2223     <LI><B>xray_SiliconPoreOptics</B>
2224         <UL>
2225         <LI>New example demonstrating an application of Geant4 in space
2226             environment. The geometry used in this example represents a
2227             single reflective pore used to simulate on a smaller scale the
2228             effect of the millions of pores forming the mirror of the ATHENA
2229             Silicon Pore Optics (SPO), as described in:
2230             V.Fioretti et al., STI: Ultraviolet to Gamma Ray. Vol.10699,
2231             SPIE, 2018.
2232             The main purpose of the simulation is the estimation of the induced
2233             residual background at the pore exit caused by proton scattering at
2234             grazing angles.</LI>
2235         </UL></LI>
2236     <LI><B>xray_TESdetector</B>
2237         <UL>
2238         <LI>New example of the application of Geant4 in a space environment.
2239             It represents an x-ray detector derived from the X-IFU, the X-ray
2240             spectrometer designed and developed by the European Space Agency
2241             (ESA) for use on the ATHENA telescope. The main purpose of the
2242             simulation is the estimation of the particle radiation background
2243             impacting on the detector.</LI>
2244         </UL></LI>
2245     </UL></LI>
2246 <LI><B><U>basic</U></B>
2247     <UL>
2248     <LI>Applied clang-tidy checks and use <TT>auto</TT> in <TT>main()</TT>
2249         where suitable and not done by clang-tidy.</LI>
2250     <LI>Fixed and improved setting of G4VisAttribute: do not create vis
2251         attributes with new (causing memory leak); use Geant4 predefined
2252         colours (for clarity).</LI>
2253     <LI><B>B1</B>
2254         <UL>
2255         <LI>In <TT>main()</TT>, use constructor with arguments
2256             <TT>G4VisExecutive(argc, argv)</TT>.</LI>
2257         <LI>Moved tsg_offscreen.mac to example B5.</LI>
2258         </UL></LI>
2259     <LI><B>B2</B>
2260         <UL>
2261         <LI>Removed unsused and unimplemented method declaration
2262             <TT>PrimaryGeneratorAction::SetRandomFlag()</TT>.</LI>
2263         </UL></LI>
2264     <LI><B>B4</B>
2265         <UL>
2266         <LI>Removed unsused and unimplemented method declaration
2267             <TT>PrimaryGeneratorAction::SetRandomFlag()</TT>.</LI>
2268         <LI>In PrimaryGeneratorAction, default <TT>e-, 300 MeV</TT>.</LI>
2269         <LI>RunAction: adjusted binning of histograms.</LI>
2270         <LI>Updated run1.mac and run2.mac macros.</LI>
2271         </UL></LI>
2272     <LI><B>B5</B>
2273         <UL>
2274         <LI>DetectorConstruction: added initialization of <TT>fMessenger</TT>.</LI>
2275         <LI>Added tsg_offscreen.mac (moved from example B1).</LI>
2276         <LI>Removed unused init.mac macro.</LI>
2277         </UL></LI>
2278     </UL></LI>
2279 <LI><B><U>extended</U></B>
2280     <UL>
2281     <LI><B>analysis</B>
2282         <UL>
2283         <LI>Moved default declaration of destructor in header.</LI>
2284         <LI><B>AnaEx03</B>
2285             <UL>
2286             <LI>Updated to demonstrate new analysis manager commands
2287                 for deleting selected histograms</LI>
2288             <LI>Added UI command <TT>/AnaEx03/runAction/printStatistic</TT>
2289                 to call <TT>PrintStatistics()</TT>. This allows to call this
2290                 function at the end of run before resetting histograms and
2291                 avoids printing empty statistics in MT mode.</LI>
2292             <LI>Added plotter.mac macro.</LI>
2293             </UL></LI>
2294         <LI><B>B1Con</B>
2295             <UL>
2296             <LI>Synchronised with changes in example B1.</LI>
2297             <LI>Added accumulable class for a vector of Edep per event.</LI>
2298             <LI>Removed unused files: init.mac, B1Run.hh, B1ConRun.hh</LI>
2299             <LI>Fixes for Doxygen.</LI>
2300             </UL></LI>
2301         </UL></LI>
2302     <LI><B>biasing</B>
2303         <UL>
2304         <LI><B>GB06</B>
2305             <UL>
2306             <LI>Replaced use of deprecated G4TouchableHistoryHandle with
2307                 G4TouchableHandle.</LI>
2308             </UL></LI>
2309         <LI><B>GB07</B>
2310             <UL>
2311             <LI>Coding guidelines: removed tabulations in <TT>main()</TT>.</LI>
2312             </UL></LI>
2313         <LI><B>ReverseMC01</B>
2314             <UL>
2315             <LI>Removed inclusion of unneeded and now obsolete
2316                 G4strstreambuf header.</LI>
2317             </UL></LI>
2318         </UL></LI>
2319     <LI><B>common</B>
2320         <UL>
2321         <LI>Fixes for Doxygen.</LI>
2322         </UL></LI>
2323     <LI><B>electromagnetic</B>
2324         <UL>
2325         <LI>Code revision of all headers.</LI>
2326         <LI><B>TestEm0</B>
2327             <UL>
2328             <LI>New input macro ion.mac.</LI>
2329             <LI>RunAction: restore output format.</LI>
2330             </UL></LI>
2331         <LI><B>TestEm1</B>
2332             <UL>
2333             <LI>New input macro etaDecay.mac.</LI>
2334             <LI><TT>PhysicsList::AddRadioactiveDecay()</TT>:
2335                 set ARM false.</LI>
2336             </UL></LI>
2337         <LI><B>TestEm3</B>
2338             <UL>
2339             <LI>Compute and plot energy leakage and total energy.</LI>
2340             <LI>Run: fixed division by zero for the case if energy
2341                 deposition in a layer is zero.</LI>
2342              </UL></LI>
2343         <LI><B>TestEm4</B>
2344             <UL>
2345             <LI>RunAction: print run conditions and histograms statistics.</LI>
2346             </UL></LI>
2347         <LI><B>TestEm6</B>
2348             <UL>
2349             <LI>Coding guidelines: removed tabulations from RunAction.</LI>
2350             <LI>Removed useless macro TestEm6_xs.in.</LI>
2351             <LI>Fixed warning in plotHisto macro.</LI>
2352             </UL></LI>
2353         <LI><B>TestEm7</B>
2354             <UL>
2355             <LI>Added extra macro for test muon dEdx and Range.</LI>
2356             </UL></LI>
2357         <LI><B>TestEm8</B>
2358             <UL>
2359             <LI>Applied clang-format.</LI>
2360             </UL></LI>
2361         <LI><B>TestEm11</B>
2362             <UL>
2363             <LI>Compute and plot energy leakage and total energy.</LI>
2364             <LI>In <TT>PhysicsList::RadioactiveDecay()</TT>:
2365                 <TT>setARM = false</TT>.</LI>
2366             </UL></LI>
2367         <LI><B>TestEm16</B>
2368             <UL>
2369             <LI>Use XRayReflection_data from G4EMLOW-8.5.</LI>
2370             <LI>Minor update of SteppingAction.</LI>
2371             </UL></LI>
2372         <LI><B>TestEm18</B>
2373             <UL>
2374             <LI>Fix in destructor of StakingAction.</LI>
2375             </UL></LI>
2376         </UL></LI>
2377     <LI><B>eventgenerator</B>
2378         <UL>
2379         <LI><B>particleGun</B>
2380             <UL>
2381             <LI>Code revision of all headers.</LI>
2382             </UL></LI>
2383         <LI><B>pythia/decayer6</B>
2384             <UL>
2385             <LI>Fixes for Doxygen: moved class description comments after 
2386                 namespace.</LI>
2387             <LI>Updated common directory.</LI>
2388             </UL></LI>
2389         <LI><B>userPrimaryGenerator</B>
2390             <UL>
2391             <LI>Code revision of all headers.</LI>
2392             </UL></LI>
2393         </UL></LI>
2394     <LI><B>field</B>
2395         <UL>
2396         <LI>Applied clang-tidy and new coding guidelines.</LI>
2397         <LI><B>field01</B>
2398             <UL>
2399             <LI>Coding guidelines: split long lines.</LI>
2400             </UL></LI>
2401         <LI><B>field04</B>
2402             <UL>
2403             <LI>Replaced use of deprecated G4TouchableHistoryHandle with
2404                 G4TouchableHandle.</LI>
2405             </UL></LI>
2406         </UL></LI>
2407     <LI><B>g3tog4</B>
2408         <UL>
2409         <LI>Fixes for Doxygen: moved class description comments after
2410             namespace.</LI>
2411         </UL></LI>
2412     <LI><B>geometry</B>
2413         <UL>
2414         <LI><B>transforms</B>
2415             <UL>
2416             <LI>Applied clang-tidy and new coding guidelines.</LI>
2417             </UL></LI>
2418         <LI><B>vecGeomNavigation</B>
2419             <UL>
2420             <LI>Coding guidelines: split long lines, added separators in
2421                 VG01ActionInitialization.</LI>
2422             <LI>Removed duplicate macro run-ntst.mac.</LI>
2423             </UL></LI>
2424         </UL></LI>
2425     <LI><B>hadronic</B>
2426         <UL>
2427         <LI>Code revision of all headers.</LI>
2428         <LI><B>FlukaCern</B>
2429             <UL>
2430             <LI>New Geant4-FLUKA interface and two hadronic examples,
2431                 providing access to FLUKA-Cern hadron-nucleus inelastic
2432                 physics:
2433                 <UL>
2434                 <LI>ProcessLevel/CrossSection: allows the study of Geant4
2435                     cross-sections, and FLUKA-Cern hadron-nucleus reaction
2436                     cross-sections.</LI>
2437                 <LI>ProcessLevel/FinalState: shows how to simulate inelastic
2438                     hadron-nucleus interactions, using Geant4 or FLUKA-Cern
2439                     models.</LI>
2440                 </UL></LI>
2441             </UL></LI>
2442         <LI><B>Hadr01</B>
2443             <UL>
2444             <LI>Added UI commands to enable neutron general process and
2445                 extra macro file.</LI>
2446             <LI>In <TT>main()</TT>, added possibility to change transition
2447                 energy cascade/string in the command line; added possibility
2448                 to enable charge exchange physics in the command line.
2449                 Prepare PhysicsList for neutrino and charge exchange physics.</LI>
2450             <LI>HistoManager: added option key to print internal Bertini
2451                 cross-section. Added protection agains secondary zero-energy
2452                 particles. Improved verbose printout.</LI>
2453             <LI>Fixed bug in profile histogram; removed methods not needed;
2454                 replaced virtual keywords with override; use default and
2455                 deleted constructor in modified classes.</LI>
2456             <LI>In hadr01.in, added integration test of neutrino and charge
2457                 exchange physics.</LI>
2458             </UL></LI>
2459         <LI><B>Hadr03</B>
2460             <UL>
2461             <LI>In <TT>main()</TT>, set <TT>ProduceFissionFragments</TT> to
2462                 <TT>true</TT>.</LI>
2463             <LI>PhysicsList: return to use QGSP_BIC_HP.</LI>
2464             <LI>SteppingAction: added protection against secondaries.</LI>
2465             <LI><TT>Run::EndOfRun()</TT>: format adjustement.</LI>
2466             </UL></LI>
2467         <LI><B>Hadr04</B>
2468             <UL>
2469             <LI>PhysicsList: removed definition of <TT>meV</TT>.</LI>
2470             </UL></LI>
2471         <LI><B>Hadr05</B>
2472             <UL>
2473             <LI>Compute and plot Edep, Eleak, Etotal=Edep+Eleak.</LI>
2474             </UL></LI>
2475         <LI><B>Hadr06</B>
2476             <UL>
2477             <LI>Compute and plot total energy released.</LI>
2478             </UL></LI>
2479         <LI><B>Hadr07</B>
2480             <UL>
2481             <LI>Compute and plot Edep, Eleak, Etotal=Edep+Eleak.</LI>
2482             <LI>Added neutron.mac macro.</LI>
2483             </UL></LI>
2484         <LI><B>Hadr08</B>
2485             <UL>
2486             <LI>Fix in <TT>BiasingOperation::ApplyFinalStateBiasing()</TT>:
2487                 added calls to biased processes
2488                 <TT>CrossSectionDataStore::ComputeCrossSection()</TT>.
2489                 This fixes a break observed in the ALICE simulation, that
2490                 could be reproduced in this example by changing "G4_Si"
2491                 with "G4_SILICON_DIOXIDE".</LI>
2492             </UL></LI>
2493         <LI><B>Hadr10</B>
2494             <UL>
2495             <LI>In SteppingAction, protecting the argument of <TT>acos()</TT>
2496                 to be within range.</LI>
2497             </UL></LI>
2498         <LI><B>ParticleFluence</B>
2499             <UL>
2500             <LI>Run, TrackingAction: replaced G4int with G4long for keeping
2501                 the information on the multiplicity of particle production.
2502                 This avoids rare cases of negative multiplicities due to
2503                 integer overflow, seen for runs with at least 4000 events,
2504                 in particular with heavy materials, such as Tungsten and
2505                 Lead.</LI>
2506             <LI>Renamed macro files from *.g4 to *.in</LI>
2507             </UL></LI>
2508         </UL></LI>
2509     <LI><B>medical/DICOM</B>
2510         <UL>
2511         <LI>DicomNestedPhantomParameterisation: fixed assignment of material
2512             pointer in <TT>ComputeMaterial()</TT>, affecting MT runs.</LI>
2513         <LI>Removed forward declaration for G4VTouchable.</LI>
2514         <LI>Fixes in DicomDetectorConstruction: added correct replica depths
2515             for <TT>x,y,z</TT> of G4PSDoseDeposit3D for nested parameterisation
2516             and corrected voxel ordering according to the fixed formula within
2517             G4PSDoseDeposit3D; added environment variable to switch to standard
2518             G4PSDoseDeposit in the case of regular navigation (default).</LI>
2519         </UL></LI>
2520     <LI><B>medical/dna</B>
2521         <UL>
2522         <LI><B>dnadamage1</B>:
2523             <UL>
2524             <LI>Changes in analysis macros: fixed bug where Boolean 
2525                 <TT>Primaryflag</TT> was not updated for new primary;
2526                 count direct and indirect SB (strand break); introduced
2527                 clustering algorithm to extract SSB, DSB (simple, complex);
2528                 renamed plot.C to scandamages.C.</LI>
2529             </UL></LI>
2530         <LI><B>dnadamage2</B>:
2531             <UL>
2532             <LI>New example providing scoring of plasmid DNA strand breaks
2533                 using the IRT method (J. Ramos-Mendez, et al., Medical
2534                 Physics, 2020, 47(11), 5919-5930).
2535                 Extends the chem6 example by adding DNA molecule information
2536                 and the scoring of Strand Breaks. Experimental conditions are
2537                 considered such as oxygen and DMSO molar concentrations.</LI>
2538             </UL></LI>
2539         <LI><B>dnaphysics</B>:
2540             <UL>
2541             <LI>Update SteppingAction with units and addition of gamma
2542                 processes.</LI>
2543             <LI>PhysicsList: more clear implementation of two cases: usage
2544                 of a DNA physics constructor or standard physics constructor
2545                 plus DNA model activator.</LI>
2546             <LI>Updated dnaphysics.in macro and TrackingCut for heavy ions.</LI>
2547             </UL></LI>
2548         <LI><B>icsd</B>:
2549             <UL>
2550             <LI>PhysicsList: deleted unused models; apdated
2551                 <TT>RegisterModel()</TT> function with new structure.
2552                 Deleted G4DNAVacuumModel.</LI>
2553             </UL></LI>
2554         <LI><B>moleculardna</B>:
2555             <UL>
2556             <LI>Migrated data download to CERN EOS area for examples.</LI>
2557             <LI>Added ability to read particles from a space phase file
2558                 (csv).</LI>
2559             <LI>Updated ecoli.mac file.</LI>
2560             <LI>Removed unused public data member <TT>nLineCounter</TT> in
2561                 PrimaryGeneratorSourceGRASCSV.</LI>
2562             <LI>Overall code revision with clang-tidy.</LI>
2563             </UL></LI>
2564         <LI><B>range</B>:
2565             <UL>
2566             <LI>Added DNA materials.</LI>
2567             <LI>Simplified PhysicsList.</LI>
2568             <LI>Use G4RunManagerFactory in <TT>main()</TT>.</LI>
2569             </UL></LI>
2570         <LI><B>scavenger</B>:
2571             <UL>
2572             <LI>Fixes for Doxygen</LI>
2573             </UL></LI>
2574         <LI><B>splitting</B>:
2575             <UL>
2576             <LI>Fixes in usage of analysis: close analysis file in 
2577                 EndOfRunAction, instead of destructor; do not delete
2578                 analysis manager.</LI>
2579             <LI>Fixed the Root file name in plot.C.</LI>
2580             </UL></LI>
2581         <LI><B>spower</B>:
2582             <UL>
2583             <LI>Added DNA materials.</LI>
2584             <LI>Simplified PhysicsList.</LI>
2585             <LI>Added extra macro <TT>alpha.in</TT>.</LI>
2586             <LI>Code cleanup in <TT>main()</TT>.</LI>
2587             </UL></LI>
2588         <LI><B>UHDR</B>:
2589             <UL>
2590             <LI>New example showing how to activate the mesoscopic model
2591                 in chemistry and combine with SBS model (Tran et al.,
2592                 Int. J. Mol. Sci. 22 (2021) 6023).
2593                 It allows to simulate chemical reactions longtime
2594                 (beyond 1 us) of post-irradiation.</LI>
2595             </UL></LI>
2596         </UL></LI>
2597     <LI><B>medical/radiobiology</B>
2598         <UL>
2599         <LI>New application realized for dosimetric and radiobiological
2600             applications of proton and ion beams. Specific tools were built
2601             to evaluate primaries and secondary energy spectra and a set of
2602             classes, dedicated to the computation of biological, as LET
2603             (Linear Energy Transfer), RBE (Relative Biological Effectiveness),
2604             Survival Fraction, and physical (as dose and fluence) quantities
2605             are implemented.</LI>
2606         </UL></LI>
2607     <LI><B>optical</B>
2608         <UL>
2609         <LI>Applied clang-tidy fixes to code.</LI>
2610         <LI><B>OpNovice</B>
2611             <UL>
2612             <LI>Applied coding guidelines, especially use of override and
2613                 variable initialization.</LI>
2614             </UL></LI>
2615         <LI><B>OpNovice2</B>
2616             <UL>
2617             <LI>Added command to kill photons on reaching second surface;
2618                 provides a way to visualize boundary scattering.</LI>
2619             <LI>In scint_by_particle.mac, use normal verbosity (1).
2620                 Use particle-specific time constants.</LI>
2621             <LI>Applied coding guidelines, especially use of override and
2622                 variable initialization.</LI>
2623             </UL></LI>
2624         <LI><B>wls</B>
2625             <UL>
2626             <LI>Applied coding guidelines, especially use of override and
2627                 variable initialization.</LI>
2628             </UL></LI>
2629         </UL></LI>
2630     <LI><B>parallel</B>
2631         <UL>
2632         <LI><B>MPI</B>
2633            <UL>
2634            <LI>Fixed typo in <TT>exMPI04</TT> for mistyping of G4Filesystem
2635                in RunActionMaster.</LI>
2636            <LI>Added two new functions in G4MPIrunmanager to access number
2637                of events in master / slave.</LI>
2638            <LI>Updated analysis classes and exMPI04 for changes in analysis.</LI>
2639            <LI>Promoted struct G4RootMpiPNtupleDescription to class.</LI>
2640            <LI>Renamed v.mac in vis.mac.</LI>
2641            </UL></LI>
2642         </UL></LI>
2643     <LI><B>parameterisations</B>
2644         <UL>
2645         <LI>Applied clang-tidy fixes.</LI>
2646         <LI><B>gflash</B>
2647            <UL>
2648            <LI>gflasha: use G4PhysListFactory for physics list
2649                initialization.</LI>
2650            <LI>gflash2: removed unused statics from DetectorConstruction
2651                class.</LI>
2652            <LI>Some code cleanup in gflash1,2,3,a.</LI>
2653            </UL></LI>
2654         <LI><B>Par03</B>
2655            <UL>
2656            <LI>Replaced use of deprecated functions with modern
2657                equivalents.</LI>
2658            </UL></LI>
2659         <LI><B>Par04</B>
2660            <UL>
2661            <LI>Introduce physical readout structure in parallel world.</LI>
2662            <LI>Set run manager type from command line.</LI>
2663            <LI>ONNX version upgrade; verified on 1.14.</LI>
2664            <LI>Added CUDA execution provider to run the inference on
2665                GPU with ONNXruntime.</LI>
2666            </UL></LI>
2667         </UL></LI>
2668     <LI><B>persistency</B>
2669         <UL>
2670         <LI><B>gdml/G01</B>
2671            <UL>
2672            <LI>Added comment in <TT>main()</TT> to demonstrate how to set
2673                alternative schema file for validation while parsing a GDML
2674                document.</LI>
2675            </UL></LI>
2676         <LI><B>P03</B>
2677            <UL>
2678            <LI>Removed visualization settings from batch macros.</LI>
2679            </UL></LI>
2680         </UL></LI>
2681     <LI><B>physicslists</B>
2682         <UL>
2683         <LI>Removed <TT>shared</TT> module  as now redundant.</LI>
2684         </UL></LI>
2685     <LI><B>polarisation/Pol01</B>
2686         <UL>
2687         <LI>Ported example to run in MT mode.
2688         <LI>Make DetectorConstruction use <TT>GeometryHasBeenModified()</TT>
2689             and not recreate the geometry in material definition.</LI>
2690         <LI>Removed broken histo.mac macro.</LI>
2691         <LI>Removed annoining printout for the default macro.</LI>
2692         <LI>Converted classes to user defined accumulables.</LI>
2693         <LI>Added analysis macro plotResults.C.</LI>
2694         </UL></LI>
2695     <LI><B>radioactivedecay</B>
2696         <UL>
2697         <LI>Code revision of all headers.</LI>
2698         <LI><B>Activation</B>
2699             <UL>
2700             <LI>Added run.mac macro.</LI>
2701             </UL></LI>
2702         <LI><B>rdecay02</B>
2703             <UL>
2704             <LI>Added run.mac macro.</LI>
2705             </UL></LI>
2706         </UL></LI>
2707     <LI><B>runAndEvent</B>
2708         <UL>
2709         <LI><B>RE02</B>
2710            <UL>
2711            <LI>Removed forward declaration of G4VTouchable.</LI>
2712            </UL></LI>
2713         <LI><B>RE07</B>
2714            <UL>
2715            <LI>Added separators in EmStandardPhysicsTrackingManager.</LI>
2716            </UL></LI>
2717         </UL></LI>
2718     </UL>
2719     <LI><B>vidualization</B>
2720         <UL>
2721         <LI><B>perspective</B>
2722            <UL>
2723            <LI>PerspectiveVisAction: fixed missing include for G4Transform3D
2724                header.</LI>
2725            <LI>In PerspectiveVisAction header, removed unnecessary forward
2726                class declarations. Applied clang-format.</LI>
2727            </UL></LI>
2728         <LI><B>standalone</B>
2729            <UL>
2730            <LI>Included an example of DrawGeometry. DrawGeometryVisAction
2731                shows how to visualise the geometry alone, i.e., without run
2732                manager and physics.</LI>
2733            </UL></LI>
2734         <LI><B>vtk</B>
2735            <UL>
2736            <LI>New Vtk specific example demonstrating new features only
2737                available in the VTK viewer.</LI>
2738            </UL></LI>
2739         </UL></LI>
2740     </UL>
2741 </UL>
2742 
2743 <HR>
2744 
2745 </BODY>
2746 </HTML>