File indexing completed on 2025-10-13 08:24:37
0001 <HTML>
0002 <HEAD>
0003 <TITLE>Geant4 11.3 Release Notes</TITLE>
0004 </HEAD>
0005 <BODY BGCOLOR='F0F0F0'>
0006
0007 <P> </P>
0008 <BR>
0009 <P> </P>
0010
0011 <P ALIGN="Center">
0012 <FONT SIZE="+4" COLOR="#238E23">
0013 <B>Geant4 11.3 Release Notes</B>
0014 </FONT>
0015
0016 <TABLE WIDTH="100%">
0017 <TR><TD ALIGN="Right">
0018 <FONT SIZE="-1" COLOR="#5C3317">
0019 <B><I>December 6<SUP>th</SUP>, 2024</I></B>
0020 </FONT>
0021 </TD></TR>
0022 </TABLE>
0023
0024 <BR><BR>
0025 <HR ALIGN="Center" SIZE="7%">
0026 <P>
0027 The code and binary libraries for the supported systems are available
0028 through our <A TARGET="ext" HREF="https://cern.ch/geant4/support/download">Source
0029 Code Web page</A>.
0030 </P>
0031 <P>
0032 <I>We are grateful for the efforts of Geant4 users who have provided
0033 detailed feedback or comprehensive reports of issues.
0034 We thank in particular those who have contributed corrections,
0035 improvements or developments included in this release.</I>
0036 </P>
0037 <P>
0038 Please refer to the
0039 <A TARGET="ext" HREF="https://cern.ch/geant4/support/user_documentation">Geant4
0040 User Documentation</A> for further information about using Geant4.
0041 </P>
0042
0043 <H2><I>Contents</I></H2>
0044 <OL>
0045 <LI><A HREF="#1.">Supported and Tested Platforms</A></LI>
0046 <LI><A HREF="#2.">Supported CLHEP, VecGeom and PTL versions</A></LI>
0047 <LI><A HREF="#3.">Items for migration of the user code</A></LI>
0048 <LI><A HREF="#4.">New Developments and Capabilities</A></LI>
0049 <LI><A HREF="#5.">Expected effects on physics and performance</A></LI>
0050 <LI><A HREF="#6.">Known Run-Time Problems and Limitations</A></LI>
0051 <LI><A HREF="#7.">Compilation Warnings</A></LI>
0052 <LI><A HREF="#8.">Geant4 Software License</A></LI>
0053 <LI><A HREF="#9.">Detailed list of changes and fixes</A></LI>
0054 </OL>
0055
0056 <P> </P>
0057 <A NAME="1."></a>
0058 <HR>
0059
0060
0061
0062 <H2>1. Supported and Tested Platforms</H2>
0063
0064 Platforms:
0065 <UL>
0066 <LI>Linux, gcc-14.2.0.<BR>
0067 Tested on 64 bit architectures (Intel or AMD) with
0068 Alma Linux 9 (based on RedHat Linux Enterprise 9).</LI>
0069 <LI>macOS 15.1 Sequoia with Apple LLVM/Clang-16.<BR>
0070 Tested on 64 bit architectures (Intel or Apple Silicon).</LI>
0071 <LI>Windows-11 with Visual C++ 14.4 (Visual Studio 2022), 64 bits.</LI>
0072 </UL>
0073
0074 More verified and tested configurations (64 bits):
0075 <UL>
0076 <LI>Linux, gcc-9.4/10.3/11.3/12.1/13.2, clang-16/17/19</LI>
0077 <LI>Linux, Intel-icx 2024.2</LI>
0078 <LI>macOS 13.6 Ventura with Apple LLVM/clang-15</LI>
0079 <LI>macOS 14.7 Sonoma with Apple LLVM/clang-15</LI>
0080 <LI>Windows/10 with Visual C++ 14.36 (Visual Studio 2022)</LI>
0081 </UL>
0082
0083 <P> </P>
0084 <A NAME="2."></A>
0085 <HR>
0086
0087
0088
0089 <H2>2. Supported CLHEP, VecGeom and PTL versions</H2>
0090
0091 This release of Geant4 has been verified with
0092 <A TARGET="ext" HREF="https://cern.ch/clhep/">CLHEP</A>, release <B>2.4.7.1</B>.
0093 Use of a different CLHEP version may cause incorrect simulation results.<BR>
0094 NOTE: an internal module of the relevant CLHEP classes is provided and can be
0095 used as alternative to an external CLHEP library installation.<BR>
0096 A configuration option allows a Geant4 installation to use the
0097 <A TARGET="ext" HREF="https://gitlab.cern.ch/VecGeom/VecGeom/">VecGeom Library</A>
0098 primitives, to replace the original Geant4 solids.<BR>
0099 VecGeom version <B>2.0.0-rc3</B> or <B>1.2.10</B> can be adopted when using
0100 such configuration.<BR>
0101 PTL version <B>3.0.1</B> or later is required for external installation of the
0102 <A TARGET="ext" HREF="https://github.com/jrmadsen/PTL">PTL tasking library</A>.<BR>
0103 CMake <B>3.16</B> is the minimum version required to build Geant4.
0104
0105 <P> </P>
0106 <A NAME="3."></A>
0107 <HR>
0108
0109
0110
0111 <H2>3. Items for migration of the user code</H2>
0112
0113 Listed here is some relevant information on developments included in this
0114 release.
0115 Note that for all users a full re-installation of libraries (or a full
0116 re-compilation) and a re-compilation of user applications is required.
0117
0118 <P> </P>
0119 <B>General</B>
0120 <P> </P>
0121 <UL>
0122 <LI>Fixed spurious compilation warnings on gcc when LTO settings are enabled.</LI>
0123 <LI>Set default for GEANT4_INSTALL_PACKAGE_CACHE to be OFF.
0124 This file is highly unstable on macOS and Spack installs, causing
0125 problems for most users. Retain the ability to install this file if
0126 really wanted, but change the default to NOT install it; in
0127 general this will not change anything for users provided they have a
0128 reproducible build environment setup.</LI>
0129 <LI>Removed configuration/setup of no longer supported TiMemory profiling.</LI>
0130 </UL>
0131
0132 <P> </P>
0133 <B>Analysis</B>
0134 <UL>
0135 <LI>The G4Accumulable class was renamed in G4AccValue including the related
0136 functions in G4AccumulableManager; the old class name is still available
0137 via using.</LI>
0138 <LI>The following G4AccumulableManager functions are deprecated (a warning
0139 will be issued in compilation if present in user code):
0140 <UL>
0141 <LI><TT>CreateAccumulable<T>()</TT> [new name: <TT>CreateAccValue<T>()</TT>]</LI>
0142 <LI><TT>GetAccumulable<T>()</TT> [new name: <TT>GetAccValue<T>()</TT>]</LI>
0143 <LI><TT>RegisterAccumulable<T>()</TT> [new name: <TT>Register<T>()</TT>]</LI>
0144 </UL></LI>
0145 <LI>Newly added function <TT>Print(G4PrintOption)</TT> in the accumulable base
0146 class G4VAccumulable requires to adapt user classes which implement the
0147 <TT>Print()</TT> function without or with different arguments.</LI>
0148 </UL>
0149
0150 <P> </P>
0151 <B>Electromagnetic and optical physics</B>
0152 <P> </P>
0153 <UL>
0154 <LI>New dataset G4EMLOW8.6.1 is required and should be used.</LI>
0155 </UL>
0156
0157 <P> </P>
0158 <B>Hadronic physics</B>
0159 <P> </P>
0160 <UL>
0161 <LI>New hadronic datasets <TT>G4ENSDFSTATE-3.0, G4PhotonEvaporation-6.1,
0162 G4RadioactiveDecay-6.1.2, G4PARTICLEXS-4.1</TT> are required and should be
0163 used.</LI>
0164 <LI>Since Geant4 version 11.2, the physics list QGSP_BERT_HP has a treatment
0165 of low energy (< <TT>20 MeV</TT>) neutrons which is not the same as for
0166 the other HP-based reference physics list (FTFP_BERT_HP, QGSP_BIC_HP,
0167 Shielding, etc.).
0168 QGSP_BERT_HP is still under validation, therefore it is not recommended for
0169 physics studies, but users are welcome to try out and provide feedback.</LI>
0170 <LI>Renamed G4RadioactiveDecay to G4VRadioactiveDecay and G4Radioactivation
0171 to G4RadioactiveDecay. The header for G4Radioactivation is preserved to
0172 provide backwards compatibility.</LI>
0173 </UL>
0174
0175 <P> </P>
0176 <B>Run</B>
0177 <UL>
0178 <LI>G4TaskRunManager now organises workers so that each divides its events
0179 evenly across N tasks, rather than one task that processes all events for
0180 the worker. This should have no observable effect, though applications
0181 using the TBB backend to share it with non-Geant4 tasks may see different
0182 overall task numbers and ordering. Event order and reproducibility are not
0183 affected.</LI>
0184 <LI>Tuned verbose levels to reduce printouts during event loop.</LI>
0185 <LI>Added protection in <TT>G4VPrimaryGenerator::SetParticlePosition()</TT> to
0186 avoid and warn for attempts to place vertex position outside or on surface
0187 of the world volume.</LI>
0188 <LI>Cleanly delete G4Event objects at the end of each run as long as the
0189 events are not requested to be kept for redrawing during the following
0190 <TT>Idle</TT> state. The kept events are deleted at the beginning of next
0191 run or at program termination.
0192 </UL>
0193
0194 <P> </P>
0195 <B>Visualization and Modeling</B>
0196 <P> </P>
0197 <UL>
0198 <LI>Restored OpenGL as default backend for Qt6. Fixed open issues when using
0199 Qt6 with supported drivers. Qt6 is now fully supported.</LI>
0200 </UL>
0201
0202 <P> </P>
0203 <B>Data Sets</B>
0204 <P> </P>
0205 <UL>
0206 <LI>This release introduces new data set versions.
0207 Please see the corresponding details in
0208 <A href="#data-notes">Section 9</A> of this document.
0209 <UL>
0210 <LI>New data set versions: <TT>G4ENSDFSTATE-3.0, G4PhotonEvaporation-6.1,
0211 G4RadioactiveDecay-6.1.2, G4CHANNELINGDATA-1.0, G4EMLOW-8.6.1,
0212 G4PARTICLEXS-4.1</TT>.</LI>
0213 <LI>New optional data sets: <TT>G4NUDEXLIB-1.0, G4URRPT-1.1</TT>.</LI>
0214 <LI>In order to use <TT>ParticleHP</TT> for charged particles
0215 (protons, deuterons, tritons, He3 and alphas), an optional data
0216 set <TT>G4TENDL-1.4</TT> is required, and can be optionally
0217 downloaded in addition.</LI>
0218 </UL></LI>
0219 </UL>
0220
0221 <A NAME="4."></A>
0222 <HR>
0223
0224
0225
0226 <H2>4. New Developments and Capabilities </H2>
0227
0228 <B>General</B>
0229 <UL>
0230 <LI>First full implementation of sub-event parallelism, with creation and
0231 processing of sub-events in workers, and merging of results back into
0232 events on the main thread. Added sub-event parallel mode as an option
0233 in G4RunManagerFactory and new UI command for allowing trajectory merging.</LI>
0234 </UL>
0235
0236 <B>Analysis</B>
0237 <UL>
0238 <LI>Added support for accumulable collections in analysis module.</LI>
0239 </UL>
0240
0241 <B>Geometry & Field</B>
0242 <UL>
0243 <LI>Added option for performing the geometry initialisation phase,
0244 i.e. creating the 'optimisation' voxels for navigation, in parallel mode.
0245 The user can enable this option by calling the method
0246 <TT>RequestParallelOptimisation(optimise, verbose)</TT> of
0247 G4GeometryManager.</LI>
0248 <LI>New revised and optimised implementation of G4GenericTrap shape.</LI>
0249 <LI>Improved/optimised implementation of <TT>GetCubicVolume()</TT> in Boolean
0250 solids.</LI>
0251 <LI>Added new G4FieldBuilder class to construct what is needed (to carry out
0252 the propagation) for a user-specified type (class) of a magnetic or
0253 electromagnetic field; added also new classes to hold the accuracy
0254 parameters for the propagation tracks in magnetic or EM fields.
0255 Instantiating G4FieldBuilder also creates a set of UI commands in the
0256 <TT>/field</TT> directory, for changing the default field integrator,
0257 equation of motion and the accuracy parameters.
0258 Note: the field class can be either user-defined or an existing type
0259 from the toolkit, such as G4QuadrupleMagField or G4UniformElectricField.</LI>
0260 </UL>
0261
0262 <B>Materials</B>
0263 <UL>
0264 <LI>Extended diagnostics and output from material scanner.</LI>
0265 </UL>
0266
0267 <B>Electromagnetic physics</B>
0268 <UL>
0269 <LI>New processes G4DynamicParticleIonisation, G4DynamicParticleMSC and
0270 G4DynamicParticleFluctuation, which perform computations on the fly using
0271 only G4DynamicParticle data.</LI>
0272 <LI>Optimised step limitation algorithm in G4UrbanMscModel.</LI>
0273 <LI>G4eeToTwoGammaModel: fixed precision lost in sampling of final state
0274 for very high energies.</LI>
0275 <LI>New class G4EmDataRegistry, to keep EM data tables.</LI>
0276 <LI>New 5D model for e+e- pair production by muons; classes
0277 G4RiGeMuPairProductionModel and G4RiGeAngularGenerator.</LI>
0278 <LI>New G4OrePowellAtRestModel and G4PolarizedOrePowellAtRestModel classes,
0279 for Orel & Powell orto positronium decay model at rest, also polarized.</LI>
0280 <LI>Implemented new model of ionization losses for e+- ionization for
0281 channeling using the new channeling dataset.</LI>
0282 <LI>New process G4CoherentPairProduction for the simulation of coherent
0283 pair production by high energy gamma in an oriented crystal.</LI>
0284 <LI>Simplified computation of cross-section maximum for discrete processes
0285 in G4EmUtility.</LI>
0286 <LI>Introduced new classes G4UnknownParticle and G4ChargedUnknownParticle,
0287 part of ATLAS and LHCb request to assign automatically ionisation and
0288 multiple scattering processes to charged primary particles with valid PDG
0289 code but not known to Geant4.</LI>
0290 <LI>Implemented production and decay of omega(780) and f2(1270) for pion
0291 projectile and implemented decay of unstable isomers of recoil nucleus
0292 if not a natural isotope.</LI>
0293 <LI>New class G4XTRGaussRadModel, providing improved account on the origin
0294 of XTR photons.</LI>
0295 <LI>Updated adjoint simulation classes to allow running adjoint simulation
0296 in MT mode.</LI>
0297 <LI><U>Geant4-DNA</U>
0298 <UL>
0299 <LI>New classes implementing general models for ions heavier than Helium:
0300 G4GeneralIonIonisationModel, G4DNAIonChargeIncreaseModel and
0301 G4DNAIonChargeDecreaseModel.</LI>
0302 <LI>New class focusing on generating multiple-ionised water ions and
0303 calculating scale parameters to compute cross-sections of each
0304 multiple-ionisation process: G4DNAMultipleIonisationManager.</LI>
0305 <LI>New process classes for multiple-ionisation: G4DNADoubleIonisation,
0306 G4DNATripleIonisation and G4DNAQuadrupleIonisation.</LI>
0307 <LI>New model classes related to multiple-ionisation:
0308 G4DNADoubleIonisationModel, G4DNATripleIonisationModel and
0309 G4DNAQuadrupleIonisationModel.</LI>
0310 <LI>In G4EmDNAPhysics, defining default maximum kinetic energy
0311 <TT>600 MeV</TT> instead of <TT>300 MeV</TT> in order to have standard
0312 ionisation and multiple scattering always defined for DNA physics
0313 configurations.</LI>
0314 </UL></LI>
0315 </UL>
0316
0317 <B>Hadronic physics</B>
0318 <UL>
0319 <LI>The angular emission for 4-body and higher-body generation in the Bertini-like
0320 intranuclear cascade model BERT has been improved.
0321 This has a visible impact on the simulation of hadronic showers for most of the
0322 reference physics lists, including FTFP_BERT and QGSP_BERT.</li>
0323 <LI>First implementation of the optional NuDEX nuclear de-excitation hadronic model,
0324 which provides a detailed emission of gammas and internal conversion electrons
0325 from the de-excitation of nuclei.
0326 This model relies on the new, optional dataset G4NUDEXLIB-1.0, accessed through
0327 the G4NUDEXLIBDATA environmental variable.
0328 For the time being, NuDEX can be utilised only for neutron capture in the
0329 physics list QGSP_BERT_HP. To enable it, one needs to include the following
0330 C++ code line <TT>G4HadronicParameters::Instance()->SetEnableNUDEX(true);</TT>
0331 in the main program, before instantiating the physics list.</li>
0332 <LI>For low-energy (< <TT>20 MeV</TT>) neutrons, introduced the optional
0333 treatment of the Unresolved Resonance Region (URR) via Probability
0334 Table (PT), relevant for precise simulations of nuclear reactor criticality
0335 and shielding applications.
0336 This special treatment can be activated on top of any reference physics list
0337 based on HP or HPT by using the new physics list constructor class
0338 G4URRNeutrons. There are two possible types of probability tables - NJOY and
0339 CALENDF - and the choice between them can be done via the C++ code line, e.g.
0340 <TT>G4HadronicParameters::Instance()->SetTypeTablePT("njoy")</TT>
0341 in the main program, before instantiating the physics list.
0342 This treatment, when activated, needs the new, optional dataset G4URRPT-1.1,
0343 accessed through the G4URRPTDATA environmental variable.</LI>
0344 <LI>New class G4InterfaceToXS, to compute inverse cross-section using
0345 G4PARTICLEXS cross-sections for neutrons and light ions.</LI>
0346 <LI>Optimised G4ChargeExchangeXS, switching computations from level of
0347 isotopes to level of elements and making the code running faster
0348 without loss of accuracy.</LI>
0349 <LI>Added "HPT" extension to support adding G4ThermalNeutrons to extensible
0350 physlist factory.</LI>
0351 <LI>In de-excitation hadronic model, improved algorithm for handling of broken
0352 levels in G4LevelReader.</LI>
0353 <LI>Updates to cross-section classes to rationalise initialisation of data
0354 in MT mode.</LI>
0355 </UL>
0356
0357 <B>Physics Lists</B>
0358 <UL>
0359 <LI>New physics list constructor class G4ChargedUnknownPhysics, to be used
0360 on top on any reference physics list, to assign ionisation and multiple
0361 scattering (as well as transportation) processes to exotic charged particles,
0362 i.e. primary charged particles with valid PDG code but not known to Geant4.</LI>
0363 <LI>Added three new variants of <TT>Shielding</TT> physics list in
0364 G4PhysListFactory: <TT>ShieldingLIQMD</TT>, <TT>ShieldingLIQMD_HP</TT> and
0365 <TT>ShieldingLIQMD_HPT</TT>. These variants use the model G4LightIonQMDReaction.
0366 Note that <TT>ShieldingLIQMD</TT> and <TT>ShieldingLIQMD_HP</TT> are the same:
0367 the latter is introduced for consistency.</LI>
0368 </UL>
0369
0370 <B>Visualization and Interfaces</B>
0371 <UL>
0372 <LI>Improved plotting with <TT>/vis/plot</TT> if TOOLS_USE_FREETYPE flag is set.
0373 Set GEANT4_USE_FREETYPE=ON in CMake.</LI>
0374 <LI>Improved identification of scene tree models in visualisation.
0375 Now suppressing the scene tree if the number of touchables exceeds
0376 10000 (equivalent to about 20 MB).</LI>
0377 </UL>
0378
0379 <B>Examples</B>
0380 <UL>
0381 <LI>Extended example RE03 in 'extended/runAndEvent', demonstrating the ability
0382 to run in sub-event parallel mode.</LI>
0383 <LI>Introduced 'exoticphysics/channeling' examples category, created 'ch0'
0384 example out of the original example and added 'ch1', 'ch2' and 'ch3'
0385 examples. ch1: an easy demonstration of the minimum requirements necessary
0386 to integrate the G4ChannelingFastSimModel and the G4BaierKatkov model into
0387 a project in order to simulate the physics of channeling and channeling
0388 radiation/coherent bremsstrahlung; ch2: an enhanced version of ch1,
0389 providing the user with the full functionality of both demonstrated models,
0390 with parameters set up via a macro; ch3: demonstrating the minimum
0391 requirements necessary to integrate the G4CoherentPairProduction process
0392 into a project, along with the demonstrated models, to simulate the physics
0393 of electromagnetic showers in an oriented crystal.</LI>
0394 <LI>Created a new dna category for Geant4-DNA advanced examples, including
0395 <TT>moleculardna</TT> example, moved from extended category and new
0396 <TT>cellularPhantom</TT> application, showing how to simulate the
0397 irradiation of a 3D voxel phantom containing biological cells, created
0398 from a confocal microscopy 24-bit RGB image. Reference:
0399 P. Barberet et al., "Monte-Carlo dosimetry on a realistic cell monolayer
0400 geometry exposed to alpha-particle", Phys. Med. Biol. 57 (2012) 2189-2207.</LI>
0401 <LI>The Periodic Boundary Condition is implemented in the UHDR extended example
0402 for Geant4-DNA microdosimetry simulations, based on
0403 <A TARGET="ext" HREF="https://github.com/amentumspace/g4pbc">https://github.com/amentumspace/g4pbc</A>.
0404 The effective box model is also implemented in the UHDR example based
0405 on M. Karamitros et al., arXiv:2006.14225 (2020).</LI>
0406 </UL>
0407
0408 <A NAME="5."></A>
0409 <HR>
0410
0411
0412
0413 <H2>5. Expected effects on physics and computing performance</H2>
0414
0415 <B>Electromagnetic physics</B>
0416 <UL>
0417 <LI>Electromagnetic shower shapes will be affected on level of per mille
0418 if 3-gamma annihilation is enabled. For low energy positively charged
0419 particles the agreement of simulation versus data will be improved.</LI>
0420 </UL>
0421
0422 <B>Hadronic physics</B>
0423 <UL>
0424 <LI>Due to the improvement in the angular emission of >= 4 particles in the
0425 final-state of the BERT model, the hadronic showers for most of the reference
0426 physics lists, including FTFP_BERT and QGSP_BERT, have few per-cent higher
0427 energy response and narrower lateral shower shapes with respect to the
0428 previous version, Geant4 11.2.
0429 In other words, the hadronic string models (FTF and QGS) and the intranuclear
0430 cascade model BERT become closer to each other in this Geant4 release.</LI>
0431 <LI>The new hadronic dataset G4PhotonEvaporation-6.1 produces some visible differences
0432 in the final-state of the photo-evaporation model in Tungsten, with respect to
0433 the previous version.
0434 This has an impact, at the per-cent level, on hadronic showers in Tungsten
0435 calorimeters only for the physics lists QGSP_BIC and QGSP_INCLXX (whereas
0436 those that are based on BERT model, e.g. FTFP_BERT and QGSP_BERT, are not
0437 affected because BERT has its own internal nuclear de-excitation model that
0438 does not use the G4PhotonEvaporation-6.1 dataset).</LI>
0439 </UL>
0440
0441 <P> </P>
0442 <A NAME="6."></A>
0443 <HR>
0444
0445
0446
0447 <H2>6. Known Run-Time Problems and Limitations</H2>
0448 For a complete list of outstanding run-time problems and to submit any
0449 problem you may find while running this version of Geant4, please refer
0450 to the
0451 <A TARGET="ext" HREF="https://bugzilla-geant4.kek.jp/">Geant4 Problem
0452 Reporting System</A>.
0453
0454 <P> </P>
0455 <A NAME="7."></A>
0456 <HR>
0457
0458
0459
0460 <H2>7. Compilation Warnings</H2>
0461
0462 There may be a few compilation warnings on some platforms.
0463 We do not believe that any of these lead to incorrect run-time behaviour.
0464
0465 <P> </P>
0466 <A NAME="8."></A>
0467 <HR>
0468
0469
0470
0471 <H2>8. Geant4 Software License</H2>
0472
0473 A Software License applies to the Geant4 code.
0474 Users must accept this license in order to use it.<BR>
0475 The details and the list of copyright holders is available at
0476 <A href="https://cern.ch/geant4/license">https://cern.ch/geant4/license</A>
0477 and also in the text file <TT>LICENSE</TT> distributed with the source code.
0478
0479 <P> </P>
0480 <A NAME="9."></A>
0481 <HR>
0482
0483
0484
0485 <H2>9. Detailed list of changes and fixes</H2>
0486
0487 These are the main new features/fixes included in this release since the
0488 last patched public release (for more detailed lists of fixes/additions,
0489 please refer to the corresponding History files provided in most packages):
0490
0491 <P> </P>
0492
0493 <A NAME="conf-notes">
0494 <H3><I>Configuration</I></H3></A>
0495 <UL>
0496 <LI><U>CMake</U>
0497 <UL>
0498 <LI>Support running example build-and-run tests in XCode on macOS.</LI>
0499 <LI>Added support for use of sanitizers with XCode; ensure sanitizer flags
0500 are forwarded to the linker when using Xcode, and all linker flags are
0501 forwarded to builds of tests.</LI>
0502 <LI>Added compiler flags for GCC only to help detect/debug LTO-related
0503 problems when building with CMAKE_INTERPROCEDURAL_OPTIMIZATION.</LI>
0504 <LI>Provide CMake function to assist in linking unit tests to final
0505 libraries given required source code modules.</LI>
0506 <LI>Removed configuration/setup of no longer supported TiMemory profiling.
0507 <LI>Introduced new <TT>FullRelWithDebInfo</TT> build mode, <TT>-O3 -g</TT>,
0508 so maximum optimisation with debugging symbols.</LI>
0509 <LI>Simplifications to Geant4Config.cmake: removed obsolete and never run
0510 "whole archive" linking of G4physics_lists; replaced TOOLSSG
0511 visualisation driver variables that are just synonyms for more
0512 fundamental config options (e.g. GEANT4_USE_QT) with the underlying
0513 variable.</LI>
0514 <LI>Simplified CMake/CTest functions and settings: moved <TT>geant4_add_test</TT>
0515 function to dedicated module, retiring <TT>UseGeant4_internal</TT> file;
0516 reduced oversetting of <TT>Geant4_DIR</TT> variable for use by tests.</LI>
0517 <LI>Set default for GEANT4_INSTALL_PACKAGE_CACHE to be OFF.
0518 This file is highly unstable on macOS and Spack installs, causing
0519 problems for most users. Retain the ability to install this file if
0520 really wanted, but change the default to NOT install it; in
0521 general this will not change anything for users provided they have a
0522 reproducible build environment setup.</LI>
0523 <LI>Added optional install of new NuDEXLib and URRPT datasets.</LI>
0524 <LI>Bump minimum VecGeom version to 1.2.9.</LI>
0525 <LI>New data sets <TT>G4ENSDFSTATE-3.0</TT>, <TT>G4PhotonEvaporation-6.1</TT>,
0526 <TT>G4RadioactiveDecay-6.1.2</TT>, <TT>G4CHANNELINGDATA-1.0</TT>,
0527 <TT>G4EMLOW-8.6.1</TT>, <TT>G4PARTICLEXS-4.1</TT>,
0528 <TT>G4NUDEXLIB-1.0</TT>, <TT>G4URRPT-1.1</TT>.</LI>
0529 <LI>Updated tag-IDs for 11.3.</LI>
0530 </UL></LI>
0531 </UL>
0532
0533 <A NAME="ana-notes">
0534 <H3><I>Analysis</I></H3></A>
0535 <UL>
0536 <LI>Added support for accumulable collections.
0537 New classes: G4AccArray, G4AccMap, G4AccUnorderedMap, G4AccVector.</LI>
0538 <LI>Added G4AccType enumeration for available accumulable types.</LI>
0539 <LI>Added functions for printing with G4PrintOption argument to all accumulable
0540 types and G4AccumulableManager (Note - this will require to update user
0541 classes which implement the Print() function without or with different
0542 arguments).</LI>
0543 <LI>Added <TT>VerboseLevel</TT> in G4Accumulables and its setter/getter
0544 in G4AccumulableManager.</LI>
0545 <LI><U>Internal changes</U>:
0546 <UL>
0547 <LI>Renamed class G4Accumulable<T> in G4AccValue<T>, and added a using for
0548 the old name for backward compatibility.</LI>
0549 <LI>In G4AccumulableManager, replaced <TT>RegisterAccumulable()</TT> with
0550 <TT>Register()</TT> and deprecated the function with the old name.</LI>
0551 </UL></LI>
0552 <LI><U>Fixes</U>:
0553 <UL>
0554 <LI>Fixed setting of file compression level in G4GenericFileManager:
0555 propagate setting to all registered file managers.
0556 Addressing problem report
0557 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2625">#2625</A>.</LI>
0558 <LI>Applyed clang-tidy checks to code (use of override, redundant data
0559 initialisation, use of <TT>emplace-back</TT>).</LI>
0560 <LI>Fixed reported Coverity defects (use <TT>std::move()</TT> and
0561 <TT>const auto&</TT>, to avoid copying).</LI>
0562 </UL></LI>
0563 </UL>
0564
0565 <A NAME="digits-notes">
0566 <H3><I>Digitization & Hits</I></H3></A>
0567 <UL>
0568 <LI>Fixed reported Coverity defects, use consistently <TT>const G4String&</TT>
0569 to avoid implicit copy.</LI>
0570 <LI>Fixed class description in headers. Use G4 types.</LI>
0571 </UL>
0572
0573 <A NAME="emstd-notes">
0574 <H3><I>Electromagnetic Processes</I></H3></A>
0575 <UL>
0576 <LI><B>Adjoint</B>
0577 <UL>
0578 <LI>Updates to allow running adjoint simulation in MT mode.</LI>
0579 <LI>Fixed reported Coverity defects for use of <TT>const G4String&</TT>
0580 and <TT>std::move()</TT>.</LI>
0581 <LI>Minor code cleanup (use of default destructor, <TT>std::size_t</TT>,
0582 G4 types, ...).</LI>
0583 </UL></LI>
0584 <LI><B>DNA</B>:
0585 <UL>
0586 <LI>Modified the molecule names of OH, HO2, O in MoleculeDefinition.
0587 Each molecule configuration has a molecule definition.</LI>
0588 <LI>Optimised IRT-syn at <TT>1 ps</TT> for high LET applications.</LI>
0589 <LI>G4DNARuddIonisationExtendedModel: updated model to not use autolock but
0590 rather upload data in the class constructor once in all threads; use
0591 effective charge approach for all ions with <TT>Z > 2</TT> (in order to
0592 have more correct computation of stopping power and ranges); precompute
0593 internal variables before sampling; optimised algorithm of sampling
0594 (at <TT>10 MeV</TT> it becomes considerably faster); updated initialisation
0595 to allow be called from the general model; removed unused parameters.</LI>
0596 <LI>G4GeneralIonIonisationModel, G4DNAIonChargeIncreaseModel and
0597 G4DNAIonChargeDecreaseModel: new classes implementing general models
0598 for ions heavier than Helium.</LI>
0599 <LI>Fixed missing value in DNA PTB Ionization Structure.</LI>
0600 <LI>Fixed missing <TT>GetMaterial()</TT> in DNA PTB Excitation and Elastic
0601 models as suggested in
0602 <A HREF="https://github.com/Geant4/geant4/pull/78">GitHub PR#78</A>.</LI>
0603 <LI>G4DNAChargeDecrease, G4DNAChargeIncrease: removed obsolete definition
0604 of min/max model energy inside processes class; some code clean-up.</LI>
0605 <LI>G4DNAElectronHoleRecombination: changed branch condition in
0606 <TT>FindReactant()</TT> to select only <TT>H2O+</TT> ions involved in
0607 electron-hole recombination.</LI>
0608 <LI>G4DNAWaterDissociationDisplacer: added dissociative decay channels for
0609 multiple-ionised water ions.</LI>
0610 <LI>G4DNAMultipleIonisationManager: new class focusing on generation of
0611 multiple-ionised water ions and calculation of scale parameter to
0612 compute cross-section of each multiple-ionisation process.</LI>
0613 <LI>G4DNADoubleIonisation, G4DNATripleIonisation and
0614 G4DNAQuadrupleIonisation: new process classes for multiple-ionisation.</LI>
0615 <LI>G4DNADoubleIonisationModel, G4DNATripleIonisationModel and
0616 G4DNAQuadrupleIonisationModel: new model classes related to
0617 multiple-ionisation.</LI>
0618 <LI>G4DNAELSEPAElasticModel: modified to be compatible with density
0619 scaling.</LI>
0620 <LI>Fixed condition for node insertion in G4KDTree.</LI>
0621 <LI>Deleted DelayLists at the end of chemistry stage.</LI>
0622 <LI>Delete unused enum, as now adopting EmParameters to control chemistry
0623 models in G4EmDNAChemistry_option3.</LI>
0624 <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT>,
0625 <TT>const auto&</TT> and const iterators.</LI>
0626 <LI>Fixed reported Coverity defects in G4LEPTSElossDistr and
0627 G4LEPTSDistribution for explicit null dereferenced pointer and
0628 out-of-bounds reads; minor code cleanup.</LI>
0629 <LI>Cleaned G4Scheduler and cleanup in CMake scripts.</LI>
0630 </UL></LI>
0631 <LI><B>High Energy</B>
0632 <UL>
0633 <LI>Added new processes G4DynamicParticleIonisation, G4DynamicParticleMSC
0634 and G4DynamicParticleFluctuation, which perform computations on the fly
0635 using only G4DynamicParticle data (G4ParticleDefinition is not used).</LI>
0636 </UL></LI>
0637 <LI><B>Low Energy</B>
0638 <UL>
0639 <LI>G4MicroElecCapture: fixed Coverity warning about division by zero via
0640 modification of the formula to compute MFP and added an upper limit
0641 <TT>500 eV</TT> for this process.</LI>
0642 <LI>Fix in G4PenelopeBremsstrahlungAngular, for a crash observed when the
0643 angular generator is used with a Bremsstrahlung model other than
0644 G4PenelopeBremsstrahungModel.</LI>
0645 <LI>In G4UAtomicDeexcitation, reset vector <TT>vacancyArray</TT> in
0646 <TT>GenerateParticles()</TT>, to avoid rare case of event
0647 non-reproducibility, observed when using EM Opt4 (EMZ) physics-list.</LI>
0648 <LI>G4FluoData, G4hIonEffChargeSquare, G4MicroElecInelasticModel_new:
0649 fixed reported Coverity defects.</LI>
0650 <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT>.</LI>
0651 <LI>G4MicroElecLOPhononModel: minor code cleanup.</LI>
0652 </UL></LI>
0653 <LI><B>Muons</B>
0654 <UL>
0655 <LI>G4RiGeMuPairProductionModel, G4RiGeAngularGenerator: a new 5D model
0656 for e+e- pair production by muons.</LI>
0657 <LI>Fixed declaration of virtual destructors in several header files.</LI>
0658 <LI>G4MuPairProductionModel: minor cleanup for better code readability.</LI>
0659 </UL></LI>
0660 <LI><B>Standard</B>
0661 <UL>
0662 <LI>New G4OrePowellAtRestModel class, Orel & Powell orto positronium decay
0663 model AtRest. New class G4PolarizedOrePowellAtRestModel for polarized
0664 Orel & Powell orto positronium decay model at rest.</LI>
0665 <LI>G4IonICRU73Data: fix for the case when target material has an element
0666 with <TT>Z>92</TT>; improved debug printouts. In the Lindhard-Sorensen
0667 model to compute dEdx the first try is to take it from ICRU73 or ICRU90
0668 data, if this class returns zero, then dEdx is computed from
0669 G4GenericIon and effective charge. Addressing problem report
0670 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2586">#2586</A>.</LI>
0671 <LI>G4eeToTwoGammaModel: fixed precision lost in sampling of final state
0672 for the very high energy (ATLAS report).</LI>
0673 <LI>G4UrbanMscModel: optimised DistanceToBoundary step limitation
0674 algorithm currently used only in Opt3 EM physics.</LI>
0675 <LI>G4SimplePositronAtRestModel, G4AllisonAtRestModel: new classes to
0676 sample positron annihilation.</LI>
0677 <LI>Renamed G4eplusTo2GammaOKVIModel to G4eplusTo2or3GammaModel.
0678 Removed sampling at rest.</LI>
0679 <LI>G4WentzelOKandVIxSection: fixed rejection factor for sampling of single
0680 scattering with nuclear form-factor. Addressing problem report
0681 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2627">#2627</A>.</LI>
0682 <LI>G4BraggModel: fixed issue observed with <TT>4.12 MeV</TT> mu+ range,
0683 reported in Users Forum.</LI>
0684 <LI>Static initialization improvement for G4eBremsstrahlungRelModel.
0685 Use <TT>std::shared_ptr</TT> for LPMFuncs and ElementData.</LI>
0686 <LI>G4ionIonisation: use G4BraggIonModel only for alpha and G4BraggModel
0687 for other ions in the default EM physics.</LI>
0688 <LI>G4eplusAnnihilation: added selection of AtRest model; implemented
0689 <TT>ApplyCuts()</TT> for AtRest; implemented choice of positron
0690 annihilation model at rest. Use more const class members; changed
0691 model ID definition for produced tracks. Updated configuration of
0692 models AtRest, the choice of 2-gamma, 3-gamma final states is
0693 implemented in one place. Use orto positronium fraction from material
0694 property and not from EM parameters.</LI>
0695 <LI>G4BetheBlochModel: set flags <TT>isIon</TT> and <TT>isAlpha</TT> at
0696 initialisation and not at run time.</LI>
0697 <LI>G4BetheHeitlerModel: include optional possibility to use EPICS2017
0698 cross-section.</LI>
0699 <LI>G4BetheHeitler5DModel: added extra protection against division by zero.</LI>
0700 <LI>Fixed reported Coverity defects in several classes.</LI>
0701 </UL></LI>
0702 <LI><B>Utils</B>
0703 <UL>
0704 <LI>G4EmElementXS: new helper class to cross-section data.</LI>
0705 <LI>G4EmParameters: increased low-limit on 'maxKinEnergy' parameter from
0706 <TT>10 MeV</TT> to <TT>600 MeV</TT> in order to have standard ionisation
0707 and multiple scattering always defined for DNA physics configurations.
0708 Added protection to fix segmentation fault when data is unavailable.
0709 Added flag to enable/disable the new Ricardo-Gerardo model of e+e-
0710 pair production.</LI>
0711 <LI>G4EmParameters, G4EmParametersMessenger: added enumerator and a new
0712 flag G4PositronAtRestModel, which allows selection and configuration of
0713 the model of positron annihilation at rest. Added orto positronium
0714 fraction flag. Added Ore-Powell models to the list of models for
0715 positron annihilation at rest. Added Boolean flag <TT>UseEPICS2017</TT>.
0716 Removed parameter defining fraction of orto positronium for all
0717 materials. Added flag to enable/disable 3 gamma annihilation on fly.</LI>
0718 <LI>G4EmConfigurator: handle G4TransportationWithMsc process name.</LI>
0719 <LI>G4TransportationWithMsc: set TRANSPORTATION_WITH_MSC process sub-type.</LI>
0720 <LI>G4LowEnergyEmProcessSubType: added <TT>fLowEnergyTripleIonisation</TT>
0721 and <TT>fLowEnergyQuadrupleIonisation</TT> for implementing
0722 multiple-ionisation processes in Geant4-DNA.</LI>
0723 <LI>G4VPositronAtRestModel: new virtual interface.</LI>
0724 <LI>G4EmDataRegistry: new class to keep EM data tables.</LI>
0725 <LI>G4VEmProcess: extended info printout for e+ annihilation at rest.</LI>
0726 <LI>G4VEmProcess, G4VEnergyLossProcess: improved identification of model ID
0727 for atomic de-excitation (fluorescence, Auger e-, PIXE).</LI>
0728 <LI>G4EmParameters, G4EmLowEParameters, G4EmLowEParametersMessenger: added
0729 DNA chemistry time step model.</LI>
0730 <LI>G4EmDataHandler: extended functionality.</LI>
0731 <LI>G4LossTableManager: identify master thread using <TT>std</TT> method.</LI>
0732 <LI>G4LossTableBuilder: more accurate use of static members and methods.</LI>
0733 <LI>G4VEmModel, G4VEmProcess, G4VEnergyLossProcess, G4EmTableUtil: updated
0734 according to change in the data.</LI>
0735 <LI>G4VMscModel: moved initialisation of tables for model to G4EmTableUtil.</LI>
0736 <LI>G4EmBiasingManager: minor cosmetic change.</LI>
0737 <LI>G4EmProcessSubType: added sub-types for dynamic EM processes
0738 (G4ParticleDefinition is not used, all computations on the fly).
0739 Added coherent channeling pair production process type.</LI>
0740 <LI>Fixed reported Coverity defects.</LI>
0741 </UL></LI>
0742 <LI><B>Xrays</B>
0743 <UL>
0744 <LI>G4XTRGaussRadModel: new class providing improved account on the origin
0745 of XTR photons.</LI>
0746 <LI>G4VTRModel: added empty implementation to <TT>GenerateSecondaries()</TT>
0747 method to resolve linker error on clang compiler.</LI>
0748 <LI>Fixed reported Coverity defect in G4VXTRenergyLoss.</LI>
0749 </UL></LI>
0750 </UL>
0751
0752 <A NAME="error-propagation">
0753 <H3><I>Error Propagation</I></H3></A>
0754 <UL>
0755 <LI>Fixed reported Coverity defect in G4ErrorFreeTrajState for use of
0756 <TT>const G4String&</TT> and <TT>std::move()</TT>.</LI>
0757 </UL>
0758
0759 <A NAME="event-notes">
0760 <H3><I>Event</I></H3></A>
0761 <UL>
0762 <LI>Implementated new feature for creation and processing of sub-events.</LI>
0763 <LI>Added protection in G4VPrimaryGenerator in <TT>SetParticlePosition()</TT>
0764 to avoid and warn for attempts to place vertex position outside or on
0765 surface of the world volume.</LI>
0766 <LI>In G4Event, changed data member <TT>keepTheEvent</TT> to <TT>mutable</TT>
0767 so that <TT>KeepTheEvent()</TT> method can be invoked forconst G4Event
0768 object.</LI>
0769 <LI>G4PrimaryTransformer: adding sanity check of 4-momentum.</LI>
0770 <LI>Added UI command to switch on/off the vertex position check (default: on).</LI>
0771 <LI>Updated <TT>/gun/position</TT> UI command guidance in G4ParticleGunMessenger.
0772 Removed unnecessary setting of gun position to <TT>(0, 0, 0)</TT>.</LI>
0773 <LI>Improved use of Mutex lock in G4EventManager for sub-event level parallelism.</LI>
0774 <LI>G4PrimaryTransformer: adapted and extended after introduction of the new
0775 class G4ChargedUnknownParticle (part of ATLAS and LHCb request to assign
0776 automatically ionisation and multiple scattering processes to charged
0777 primary particles with valid PDG code but not known to Geant4).</LI>
0778 <LI>Fixed reported Coverity defects: in G4GeneralParticleSourceMessenger for
0779 use of <TT>const auto&</TT> and use of <TT>const G4String&</TT>; in
0780 G4StackManager for copy/paste error in printout.</LI>
0781 <LI>Removed use of no longer supported TiMemory.</LI>
0782 </UL>
0783
0784 <A NAME="externals-notes">
0785 <H3><I>Externals</I></H3></A>
0786 <UL>
0787 <LI><U>G4tools</U>:
0788 <UL>
0789 <LI>Updated to version 6.3.3</LI>
0790 <LI>Fixed reported Coverity defects for use of <TT>const</TT> references
0791 and <TT>std::move()</TT>. Fixed cases of potential divide by zero.</LI>
0792 <LI>In <TT>wroot/file</TT>, fixed buffer size in function
0793 <TT>compress_buffer()</TT>. In <TT>wroot/basket</TT>, suppressed test
0794 in <TT>write_on_file()</TT>. Addressing problem report
0795 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2625">#2625</A>.</LI>
0796 <LI>Fixed typo in <TT>columns</TT> class member name; issue picked up by
0797 clang-19 compiler on Linux.</LI>
0798 </UL></LI>
0799 <LI><U>PTL</U>:
0800 <UL>
0801 <LI>Synchronised with version PTL-3.0.1. Retaining patches for Geant4
0802 source layout in configuration.</LI>
0803 <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT> and
0804 removal of structurally dead code.</LI>
0805 <LI>Added max CMake version in PTLConfig.cmake.in to suppress warnings in
0806 latest CMake versions about support for 3.10 being dropped.</LI>
0807 </UL></LI>
0808 </UL>
0809
0810 <A NAME="gen-notes">
0811 <H3><I>General Processes</I></H3></A>
0812 <UL>
0813 <LI><B>Biasing</B>
0814 <UL>
0815 <LI>Fixed reported Coverity defects, to use <TT>const G4String&</TT> for
0816 avoiding implicit copies.</LI>
0817 </UL></LI>
0818 <LI><B>Management</B>
0819 <UL>
0820 <LI>G4ParticleTypes: added G4ChargedUnknownParticle class; part of ATLAS
0821 and LHCb request to assign automatically ionisation and multiple
0822 scattering processes to charged primary particles with valid PDG code
0823 but not known to Geant4.</LI>
0824 </UL></LI>
0825 <LI><B>Optical</B>
0826 <UL>
0827 <LI>G4OpWLS2: change <TT>SetProcessSubType()</TT> from fOpWLS to fOpWLS2.</LI>
0828 </UL></LI>
0829 <LI><B>Scoring</B>
0830 <UL>
0831 <LI>Added safeguard for zero energy deposited in G4EnergySplitter.
0832 Addressing problem report
0833 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2629">#2629</A>.</LI>
0834 </UL></LI>
0835 <LI><B>Solid State</B>
0836 <UL>
0837 <LI>Fixed reported Coverity defects in G4ChannelingOptrChangeCrossSection
0838 and G4ChannelingOptrMultiParticleChangeCrossSection.</LI>
0839 </UL></LI>
0840 <LI><B>Transportation</B>
0841 <UL>
0842 <LI>Introduced TRANSPORTATION_WITH_MSC process sub-type in
0843 G4TransportationProcessType.</LI>
0844 </UL></LI>
0845 </UL>
0846
0847 <A NAME="geo-notes">
0848 <H3><I>Geometry</I></H3></A>
0849 <UL>
0850 <LI><B>Biasing</B>
0851 <UL>
0852 <LI>Fixed reported Coverity defect in G4WeightWindowStore, to use
0853 <TT>std::move()</TT> for avoiding implicit copy.</LI>
0854 </UL></LI>
0855 <LI><B>Divisions</B>
0856 <UL>
0857 <LI>Applied trivial clang-tidy fixes to classes, i.e. use of default
0858 constructor/destructor.</LI>
0859 </UL></LI>
0860 <LI><B>Magnetic Field</B>
0861 <UL>
0862 <LI>Added new classes for automatic field construction from parameters:
0863 G4FieldBuilder[Messenger], G4FieldParameters[Messenger] and
0864 G4FieldSetup.</LI>
0865 <LI>Improved stability of static initialisation for <TT>StepperType()</TT>
0866 and <TT>StepperDescription()</TT> in G4DormandPrince745.</LI>
0867 <LI>Applied trivial clang-tidy fixes to classes, i.e. use of default
0868 constructor/destructor, auto and using statements.</LI>
0869 <LI>Minor cleanup in QSS classes.</LI>
0870 <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT>
0871 and <TT>const auto&</TT>, to avoid copying.</LI>
0872 </UL></LI>
0873 <LI><B>Management</B>
0874 <UL>
0875 <LI>Added new capability to run voxel optimisation in threads in MT mode.
0876 Parallelises only over volumes. The user can call the method
0877 <TT>RequestParallelOptimisation(optimise, verbose)</TT> from
0878 G4GeometryManager to turn it on/off (default is off).
0879 Set <TT>verbose=true</TT> to obtain statistics on the
0880 volumes with biggest contribution to memory size and CPU time for
0881 voxelisation.
0882 New method <TT>BuildOptimisationsParallel()</TT> can be called by
0883 G4WorkerRunManager to initialise. New method <TT>ReportVoxelInfo()</TT>
0884 to write out for verification. Checked with simple and complex/large
0885 geometries.</LI>
0886 <LI>Added new methods <TT>GetNumOfConstituents()</TT> and <TT>IsFaceted()</TT>
0887 to G4VSolid.</LI>
0888 <LI>Access G4GeometryManager singleton through its <TT>GetInstance()</TT>
0889 in stores.</LI>
0890 <LI>Applied trivial clang-tidy fixes to classes, i.e. use of default
0891 constructor/destructor.</LI>
0892 </UL></LI>
0893 <LI><B>Navigation</B>
0894 <UL>
0895 <LI>G4TransportationManager now notifies G4FieldManager about the global
0896 field via its new function <TT>SetGlobalFieldManager()</TT>.
0897 This provides the ability to access/revise the global field manager
0898 directly from G4FieldManager without dependency on the navigation
0899 module.</LI>
0900 <LI>In G4MultiLevelLocator, in <TT>EstimateIntersectionPoint()</TT>,
0901 moved repeated assertion on invalid intersection within G4DEBUG_FIELD,
0902 to avoid excess of warning printouts in rare cases of failed
0903 convergence, as reported by CMS.</LI>
0904 <LI>Applied trivial clang-tidy fixes to classes, i.e. use of <TT>override</TT>
0905 and removal of <TT>virtual</TT> keywords; use of default
0906 constructor/destructor.</LI>
0907 </UL></LI>
0908 <LI><B>Solids (Boolean)</B>
0909 <UL>
0910 <LI>In G4BooleanSolid, propagate parameter to all constituents in
0911 <TT>SetCubVolStatistics()</TT> and <TT>SetCubVolEpsilon()</TT>.</LI>
0912 <LI>In G4UnionSolid and G4SubtractionSolid, limit calculations with
0913 construction of temporary G4IntersectionSolid by 10 constituents for
0914 <TT>GetCubicVolume()</TT>.</LI>
0915 <LI>Implemented new methods <TT>GetNumOfConstituents()</TT> and
0916 <TT>IsFaceted()</TT>.</LI>
0917 <LI>G4MultiUnion: in <TT>GetCubicVolume()</TT>, use
0918 <TT>EstimateCubicVolume()</TT>.</LI>
0919 <LI>G4BooleanSolid: in <TT>SetCubVolStatistics()</TT> and
0920 <TT>SetCubVolEpsilon()</TT>, added check for G4MultiUnion to avoid
0921 memory corruption.</LI>
0922 <LI>Added extra method to process solid and not perform external operations
0923 via G4Polyhedron. Successive Boolean mesh operations with floating point
0924 are invariably going to be unstable. Providing a method which takes a
0925 solid and returns the G4Polyhedron allows the external processor to use
0926 significantly more precise types and strategies to avoid ambiguity and
0927 then finally convert to double at the very last step.</LI>
0928 </UL></LI>
0929 <LI><B>Solids (CSG)</B>
0930 <UL>
0931 <LI>Implemented new methods <TT>GetNumOfConstituents()</TT> and
0932 <TT>IsFaceted()</TT>.</LI>
0933 <LI>Applied trivial clang-tidy fixes to G4CSGSolid, i.e. use of
0934 <TT>override</TT>.</LI>
0935 </UL></LI>
0936 <LI><B>Solids (Specific)</B>
0937 <UL>
0938 <LI>Completely revised and optimised implementation of G4GenericTrap.
0939 Addressing problem report
0940 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2547">#2547</A>.</LI>
0941 <LI>Implemented new methods <TT>GetNumOfConstituents()</TT> and
0942 <TT>IsFaceted()</TT>.</LI>
0943 <LI>Removed internal cached state of G4TwistedTubs and G4VTwistedFaceted.
0944 Addressing problem report
0945 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2619">#2619</A>.</LI>
0946 <LI>G4ExtrudedSolid: fixed defects reported by Coverity.</LI>
0947 <LI>Fixed reported Coverity defects in G4Voxelizer; use <TT>std::move()</TT>
0948 instead of plain vector copy in several methods.</LI>
0949 <LI>Applied trivial clang-tidy fixes to classes, i.e. use of <TT>override</TT>
0950 and <TT>default</TT> keywords.</LI>
0951 </UL></LI>
0952 <LI><B>Volumes</B>
0953 <UL>
0954 <LI>Access G4GeometryManager singleton through its <TT>GetInstance()</TT>
0955 in G4AssemblyStore.</LI>
0956 <LI>Applied trivial clang-tidy fixes to G4AssemblyStore, i.e. removed
0957 unnecessary <TT>if</TT> check for null pointer in <TT>Clean()</TT>
0958 method.</LI>
0959 <LI>Fixed reported Coverity defect in G4ReflectionFactory, to not pass
0960 the same G4VisAttributes object to the reflected logical volume.</LI>
0961 </UL></LI>
0962 </UL>
0963
0964 <A NAME="glob-notes">
0965 <H3><I>Global</I></H3></A>
0966 <UL>
0967 <LI>Moved flushing of G4cout to G4iosFinalization, resolving a problem of
0968 possible static destruction issue reported by ATLAS.</LI>
0969 <LI>Improved stability of static initialisation in G4ios; ensure unique
0970 initialisation and finalisation.</LI>
0971 <LI>Added method <TT>Report()</TT> to G4AllocatorList, for monitoring
0972 G4Allocator objects.</LI>
0973 <LI>G4StateManager, G4VStateDependent: added notifying methods when an event
0974 or a run is deleted to avoid a state-dependent class from accessing to an
0975 obsolete event/run object.</LI>
0976 <LI>G4PhysicsModelCatalog: added ID for the NuDEX nuclear de-excitation model;
0977 removed unnecessary ID (24110) for internal conversion.</LI>
0978 <LI>G4PhysicsTable: avoid crash in printout for the case when a vector in the
0979 table is not yet created (useful for debugging).</LI>
0980 <LI>Updated G4TBBTaskGroup for changes to underlying PTL-3.0.0 API.</LI>
0981 <LI>Added protection in G4ConvergenceTester in <TT>calStat()</TT> in case of
0982 zero histories.</LI>
0983 <LI>Addressed Coverity reported defects for use of <TT>std:move()</TT> to
0984 avoid copies in HEPNumerics; fixed potential division-by-zero in
0985 G4SimplexDownhill.</LI>
0986 <LI>Applied fixes from clang-tidy.</LI>
0987 <LI>Removed use of no longer supported TiMemory.</LI>
0988 <LI>Updated date of release for 11.3.</LI>
0989 </UL>
0990
0991 <A NAME="greps-notes">
0992 <H3><I>Graphical Representations</I></H3></A>
0993 <UL>
0994 <LI>G4SceneTreeItem: added G4String field <TT>FurtherInfo</TT> and access
0995 functions.</LI>
0996 <LI>G4Colour: clarify usage; added <TT>GetColor()</TT> (US spelling);
0997 added G4Exception.</LI>
0998 <LI>G4VVisManager: added <TT>EventReadyForVis()</TT>, used by
0999 G4SubEvtRunManager.</LI>
1000 <LI>In G4VVisManager, provide all base class interfaces in Sequential and MT
1001 modes, with an empty implementation modelling the Sequential case.</LI>
1002 <LI>In G4AttDef, deprecated output <TT>operator<<()</TT> that uses pointer.</LI>
1003 <LI>Minor improvements to messages in output <TT>operator<<()</TT> in G4VMarker
1004 and G4Visible.</LI>
1005 <LI>Fixed reported Coverity defects in BooleanProcessor and in
1006 HepPolyhedronProcessor.</LI>
1007 </UL>
1008
1009 <A NAME="had-notes">
1010 <H3><I>Hadronic Processes</I></H3></A>
1011 <UL>
1012 <LI><B>Cross Sections</B>
1013 <UL>
1014 <LI>New class G4InterfaceToXS, to compute inverse cross-section using
1015 G4PARTICLEXS cross-sections for neutrons and light ions.</LI>
1016 <LI>G4ChargeExchangeXS: switch computations from level of isotopes to
1017 level of elements; code becomes several times faster and accuracy is
1018 not lost. Added protections against negative components of cross-section
1019 and potential division by zero, which may be only possible at extreme
1020 high energy. Fixed problem in pion cross-sections according to
1021 prescription in the original paper. Handle special case of positive
1022 meson scattering off Hydrogen, the cross-section is propotional to the
1023 percent of deuterons.</LI>
1024 <LI>G4NeutronCapture: lowest energy limit is set to <TT>10^-5 eV</TT>;
1025 below this energy no computations are done, to avoid numerical problems.
1026 Improved comments to the code.</LI>
1027 <LI>G4NeutronInelastic: implemented 1/v cross-section dependence below
1028 low-energy limit of the cross-section vector, if the cross-section
1029 does not start from null.</LI>
1030 <LI>Moved G4IsotopeList header to 'util' module.</LI>
1031 <LI>G4HadronXSDataTable: make class a singleton for registration and
1032 destruction of static objects with cross-section data; data are deleted
1033 only at the end of run. Use const pointers; fixed data structure;
1034 perform proper deletion of objects at exit.</LI>
1035 <LI>G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS,
1036 G4BGGPionInelasticXS, G4ComponentBarNucleonNucleusXsc,
1037 G4HadronNucleonXsc, G4UPiNuclearCrossSection and
1038 G4CrossSectionDataSetRegistry: code clean-up; removed <TT>isMaster</TT>
1039 checks, removed mutex locks, removed unused variables and applied code
1040 formatting.</LI>
1041 <LI>G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4NeutronInelasticXS,
1042 G4ComponentBarNucleonNucleusXsc, G4ComponentGGNuclNuclXsc, G4PiData and
1043 G4NucleonNuclearCrossSection: general clean-up of proton and neutron
1044 cross-sections; removed unused methods, removed not needed mutex locks,
1045 improved printouts, cross-sections outside data tables are equal to
1046 low or high edge of the table (not zero).</LI>
1047 <LI>G4BGGPionElasticXS, G4BGGNucleonInelasticXS, G4BGGNucleonElasticXS:
1048 added check of G4VERBOSE compilation flag.</LI>
1049 <LI>In G4NeutronInelasticXS, in <TT>SelectIsotope()</TT>, fixed compilation
1050 warnings for implicit type conversions detected with macOS/XCode.</LI>
1051 <LI>G4ComponentGGNuclNuclXsc: removed debug printout, added check of
1052 G4VERBOSE.</LI>
1053 <LI>G4ParticleInelasticXS: perform initialisation of data only for given
1054 ion, not for all 5 ions.</LI>
1055 <LI>G4ParticleInelasticXS, G4NeutronElasticXS: access to G4PARTICLEXSDATA
1056 in class constructor; optimized usage of mutex lock; do not use
1057 <TT>isInitializer</TT> flag anymore.</LI>
1058 <LI>G4GammaNuclearXS: Use CHIPS parameterisation for Zr and W at all
1059 energies, for Cr and Y above <TT>25 MeV</TT> and for Sn and Gd above
1060 <TT>16 MeV</TT>. The default transition energy <TT>130-150 MeV</TT>
1061 remains for all other targets. Addressing problem report
1062 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2609">#2609</A>.</LI>
1063 <LI>G4GammaNuclearXS, G4PhotoNuclearCrossSection, G4ParticleInelasticXS,
1064 G4NeutronInelasticXS: allow to reuse static data when several instances
1065 of cross-section classes are used.</LI>
1066 <LI>Fixed reported Coverity defect in G4ParticleInelasticXS,
1067 G4NeutronInelasticXS, G4EMDissociationCrossSection and in
1068 CHIPS inelastic cross-sections. Some code cleanup.</LI>
1069 </UL></LI>
1070 <LI><B>Management</B>
1071 <UL>
1072 <LI>G4HadronicProcessStore: fixed handling of rare processes, printout,
1073 cross-section maximum search, and deletion at the end of run.
1074 Fixed minor memory leak at exit by addition of G4ThreadLocalSingleton
1075 pattern and removed deletion of extra processes to avoid double
1076 deletion at exit.</LI>
1077 <LI>Fixed use of <TT>std::move()</TT> in G4ProcessTableMessenger,
1078 reported by Coverity.</LI>
1079 </UL></LI>
1080 <LI><B>Utilities</B>
1081 <UL>
1082 <LI>G4HadronicParameters: introduced Get/Set methods for flag controlling
1083 the NuDEX gamma de-excitation module.</LI>
1084 <LI>Moved G4IsotopeList header with static data in this module, from
1085 'cross_sections'.</LI>
1086 <LI>G4IsotopeList: added table with low-energy threshold energies per
1087 atomic number.</LI>
1088 <LI>G4NucleaRadii: added two static functions to describe threshold shape
1089 by the old parameterisations derived from GHEISHA.</LI>
1090 <LI>G4HadronicParameters: introduced Getter/Setter for selecting the PT
1091 table type (a choice between <TT>calendf</TT> and <TT>njoy</TT>) for
1092 the URR treatment of low-energy neutrons; the choice must be done at
1093 initialization time, therefore it cannot be made via UI command in
1094 ParticleHP.</LI>
1095 <LI>G4LegendrePolynomial: optimized implementation as suggested in
1096 <A HREF="https://github.com/Geant4/geant4/pull/70">GitHub PR#70</A>.</LI>
1097 <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT> and
1098 <TT>const G4String&</TT>; in G4HadronicDeveloperParameters use
1099 <TT>const G4String&</TT> and <TT>const_iterator</TT>.</LI>
1100 </UL></LI>
1101 <LI><B>Abla</B>
1102 <UL>
1103 <LI>Added array extension for super-heavy nuclei.</LI>
1104 <LI>Added the dissipation parameter for heavy hypernuclei.</LI>
1105 <LI>General code cleanup; removed unused data structures; consistently use
1106 G4 types; added pragma once for compilation.</LI>
1107 <LI>Fixed reported Coverity defects for uninitialised data in G4VarNtp
1108 and G4Abla.</LI>
1109 </UL></LI>
1110 <LI><B>Bertini Cascade</B>
1111 <UL>
1112 <LI>Use <TT>G4UniformRand()</TT> instead of <TT>inuclRndm()</TT> wrapper
1113 which was defined and now removed in G4InuclSpecialFunctions class.</LI>
1114 <LI>In G4CascadeFinalStateAlgorithm, in <TT>GenerateCosTheta()</TT>, for
1115 4-body and higher-body generation of <TT>cosTheta</TT>, use direct
1116 sampling of <TT>exp(1-cosTheta)</TT> instead of previously used
1117 rejection method on <TT>sinTheta*exp(-sinTheta)</TT>. This removes the
1118 reflection about <TT>cosTheta=0</TT> that caused a symmetric double
1119 bump in the Feynman-x distribution.</LI>
1120 <LI>Fixed reported Coverity defect in G4NucleiModel for use of
1121 <TT>std::move()</TT> and unitialised data.</LI>
1122 </UL></LI>
1123 <LI><B>Binary Cascade</B>
1124 <UL>
1125 <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT> in
1126 G4BinaryCascade. Minor code optimisation (use of <TT>nullptr</TT>,
1127 use of const iterators and pre-increment).</LI>
1128 </UL></LI>
1129 <LI><B>De-excitation</B>
1130 <UL>
1131 <LI>G4Evaporation, G4EvaporationProbability, G4CompetitiveFission:
1132 provide initialisation of G4InterfaceToXS class also in the case of unit
1133 tests, when general initialisation is not performed; minor code
1134 clean-up. Results are not changed for the default configuration.</LI>
1135 <LI>G4DeexPrecoParameters, G4DeexParametersMessenger: added UI command to
1136 define inverse cross-section type.</LI>
1137 <LI>G4EvaporationProbability, G4VEmissionProbability: added use of
1138 G4InterfaceToXS as an alternative option.</LI>
1139 <LI>G4CameronGilbertPairingCorrections, G4CameronGilbertShellCorrections,
1140 G4NuclearLevelData, G4PairingCorrection: simplified computation of
1141 corrections; computations are now done in one place only, not spread
1142 among classes.</LI>
1143 <LI>G4EvaporationChannel, G4EvaporationProbability: fixed usage of pairing
1144 corrections; agreement with test data is improved.
1145 Improved implementation of methods <TT>ComputeInverseXSection(..)</TT>
1146 and <TT>ComputeProbability(..)</TT>.</LI>
1147 <LI>G4EvaporationChannel: fixed computation of minimal kinetic energy of a
1148 fragment for odd-even residual nucleus.</LI>
1149 <LI>G4EvaporationProbability, G4EvaporationChannel, G4VEmissionProbability:
1150 do not apply Coulomb barrier for computation of minimum energy of
1151 emitted fragments if <TT>OPTxs=1</TT> - use isotope cross-section
1152 instead; fixed minor memory leak at exit; define <TT>OPTxs</TT>
1153 parameter only in class constructor.</LI>
1154 <LI>G4DeexPrecoParameters: moved definition of int and bool parameters to
1155 source; improved comments; added default width of nuclear level needed
1156 for selection of final excitation in a decay of an excited state.
1157 Enable read and use of electron conversion data by default.
1158 For pre-compound model, use XS option 1 instead of 3.</LI>
1159 <LI>G4LevelReader: added two new protections to handle broken files with
1160 gamma level data: next level energy below previous one is ignored;
1161 transition from given level to itself with zero transition energy is
1162 ignored. Added two counters for limitation of warning printouts.
1163 Changed algorithm for handling of broken levels: do not change number
1164 of levels and number of transitions, broken levels or transitions are
1165 not deleted but protected. For the case that the energy of the next level
1166 is below the previous energy, its energy is set to <tt>Eprevious+2 eV</tt>.
1167 For the case of a transition to itself, the probability of such a
1168 transition is set to zero. Reduced printouts on problems in nuclear
1169 level data. Code clean-up and improved comments to code.</LI>
1170 <LI>G4PolarizationTransition: use optimized G4LegendrePolynomial.</LI>
1171 <LI>G4PhotonEvaporation: use <TT>std::abs()</TT> in all computations
1172 for 'JP', as it can be negative due to parity. Addressing problem report
1173 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2587">#2587</A>.</LI>
1174 <LI>G4VEmissionProbability: renamed local variable to avoid possible
1175 shadowing. Use the new width parameter.</LI>
1176 <LI>G4ExcitationHandler: improved debug printout.</LI>
1177 <LI>G4ExcitationHandle, G4NeutronRadCapture: corrected model ID for IC
1178 electrons.</LI>
1179 <LI>G4GEMChannelVI, G4GEMProbabilityVI: updated interfaces and simplified
1180 algorithm of computation of probability.</LI>
1181 <LI>G4VCoulombBarrier, G4CoulombBarrier, G4GEMCoulombBarrier,
1182 G4FermiBreakUpUtil: code cleanup; removed unused headers and variables.</LI>
1183 <LI>G4CompetitiveFission: added normalisation factor if G4InterfaceToXS
1184 is used.</LI>
1185 <LI>G4CoulombBarrier: changed <TT>theRho</TT> parameter from 0.6 to 0.4.</LI>
1186 <LI>Fixed reported Coverity defects in G4VEmissionProbability, G4StatMF
1187 and G4PolarizationTransition.</LI>
1188 <LI>G4ShellCorrection, G4CookShellCorrections: code clean-up.</LI>
1189 </UL></LI>
1190 <LI><B>Elastic scattering</B>
1191 <UL>
1192 <LI>In G4ChargeExchange, do not allow unphysical final state; implemented
1193 production and decay of omega(780) and f2(1270) for pion projectile;
1194 implemented decay of unstable isomers of recoil nucleus if not a
1195 natural isotope. Addressing problem report
1196 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2618">#2618</A>.</LI>
1197 <LI>In G4ChargeExchange, fixed problem of the Hydrogen target; change event
1198 weight if cross-section biasing factor is applied.
1199 Added warning in G4ChargeExchangeProcess.</LI>
1200 </UL></LI>
1201 <LI><B>Fission</B>
1202 <UL>
1203 <LI>G4FissLib: fixed compilation warning on gcc when LTO settings are
1204 enabled.</LI>
1205 <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT>.</LI>
1206 </UL></LI>
1207 <LI><B>im_r_matrix</B>
1208 <UL>
1209 <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT>.</LI>
1210 </UL></LI>
1211 <LI><B>INCLXX</B>
1212 <UL>
1213 <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT>.</LI>
1214 </UL></LI>
1215 <LI><B>Lend</B>
1216 <UL>
1217 <LI>Fixed reported Coverity defects for pointless expression condition
1218 in <TT>ptwXY_div_ptwXY()</TT> operator, and dead code statement in
1219 <TT>MCGIDI_angularEnergy_parsePointwiseFromTOM()</TT> and
1220 in <TT>MCGIDI_energyAngular_linear_parseFromTOM()</TT>.</LI>
1221 </UL></LI>
1222 <LI><B>Lepto-nuclear</B>
1223 <UL>
1224 <LI>Fixed Coverity warning on unused variable in neutrino models.</LI>
1225 </UL></LI>
1226 <LI><B>Nudex</B>
1227 <UL>
1228 <LI>New alternative and more sophisticated nuclear de-excitation model
1229 (NuDEX) as far as the emission of gammas and internal conversion
1230 electrons are concerned. The model relies on the dataset
1231 G4NUDEXLIB-1.0, which is pointed by the environment variable
1232 G4NUDEXLIBDATA. When NuDEX is not applicable - e.g. because the
1233 corresponding nucleus is not present in the dataset - the
1234 G4PhotonEvaporation class is utilised instead. Currently, the model
1235 will be used only for the neutron capture process, when ParticleHP is
1236 utilised; in the future it can be used more generally as one of the
1237 possible "evaporation" models. This, at the beginning, will only be
1238 possible for the physics list QGSP_BERT_HP.</LI>
1239 </UL></LI>
1240 <LI><B>Particle High Precision</B>
1241 <UL>
1242 <LI>Introduced neutron treatment of the Unresolved Resonance Region (URR)
1243 via Probability Table (PT); relevant for precise simulations of nuclear
1244 reactor criticality and shielding applications.
1245 Reading probability table files in compressed format from the new
1246 G4URRPT-1.1 dataset pointed by the G4URRPTDATA environment variable.</LI>
1247 <LI>G4ParticleHPManager, G4ParticleHPProbabilityTablesStore,
1248 G4ParticleHPInelasticDataPT and G4ParticleHPInelasticURR: updated
1249 to use G4HadronicParameters for selecting the type of PT table for
1250 the URR treatment.</LI>
1251 <LI>Fixed cross-section computation with Doppler broading effect due to
1252 media temperature in G4CrossSectionXP.</LI>
1253 <LI>G4ParticleHPMessenger: removed recently introduced UI command for
1254 selecting the type of PT table (choice between <TT>calendf</TT> and
1255 <TT>njoy</TT>) for the URR treatment; replaced with a C++ interface in
1256 G4HadronicParameters that allows the selection to be made at
1257 initialization time.</LI>
1258 <LI>G4ParticleHPInelastic: fixed missed call to
1259 <TT>RegisterInelasticFinalStates()</TT> of G4ParticleHPManager in
1260 method <TT>BuildPhysicsTable()</TT> of G4ParticleHPInelastic.</LI>
1261 <LI>In G4ParticleHPElasticData, G4ParticleHPInelasticData,
1262 G4ParticleHPCaptureData, G4ParticleHPFissionData,
1263 G4ParticleHPThermalScatteringData and G4ParticleHPThermalScattering,
1264 use const pointer of G4ElementTable; removed unnecessary thread-local
1265 variables, dead code and commented code.</LI>
1266 <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT> and
1267 <TT>const G4String&</TT>. Use <TT>const</TT> qualifier for methods
1268 where possible.</LI>
1269 </UL></LI>
1270 <LI><B>Parton-String</B>
1271 <UL>
1272 <LI>G4FTFParameters: fixed typo, renamed method <TT>SetElastis()</TT> as
1273 <TT>SetElastic()</TT>.</LI>
1274 <LI>G4ExcitedStringDecay: fixed minor memory leak suggested by Coverity.</LI>
1275 <LI>Fixed reported Coverity defect in G4NucleiModel for redundant assignment
1276 in G4LundStringFragmentation in <TT>Sample4Momentum()</TT>.
1277 </UL></LI>
1278 <LI><B>Pre-equilibrium</B>
1279 <UL>
1280 <LI>G4PreCompoundFragment: completed implementation of usage of XS
1281 cross-sections.</LI>
1282 <LI>G4VPreCompoundFragment, G4PreCompoundFragment: added a new option
1283 to use G4InterfaceToXS cross-section class.</LI>
1284 <LI>G4PreCompoundFragment, G4VPreCompoundFragment: removed shadowing and
1285 minor memory leak at exit; moved initialisation to constructors;
1286 define <TT>OPTxs</TT> parameter only in class constructor.
1287 Use G4InterfaceToXS class</LI>
1288 </UL></LI>
1289 <LI><B>QMD</B>
1290 <UL>
1291 <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT> and
1292 <TT>const std::string&</TT>.</LI>
1293 </UL></LI>
1294 <LI><B>Radioactive Decay</B>
1295 <UL>
1296 <LI>Renamed G4RadioactiveDecay to G4VRadioactiveDecay and G4Radioactivation
1297 to G4RadioactiveDecay. The header for G4Radioactivation is preserved to
1298 provide backwards compatibility.</LI>
1299 <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT>.</LI>
1300 </UL></LI>
1301 </UL>
1302
1303 <A NAME="interc-notes">
1304 <H3><I>Intercoms</I></H3></A>
1305 <UL>
1306 <LI>Unify range checking implementation in G4UIparameter/command; pure
1307 refactor to remove code duplication and complexity of user-facing
1308 classes.</LI>
1309 <LI>G4UImanager: in <TT>ApplyCommand()</TT>, fix to replace <TT>isMaster()</TT>
1310 with <TT>IsMasterThread()</TT> from G4Threading, to properly control
1311 highlighting of echoed commands in the Qt GUI in Serial mode.</LI>
1312 <LI>Fixed reported Coverity defects, use consistently <TT>const G4String&</TT>
1313 to avoid implicit copy.</LI>
1314 <LI>Removed use of no longer supported TiMemory.</LI>
1315 </UL>
1316
1317 <A NAME="interf-notes">
1318 <H3><I>Interfaces</I></H3></A>
1319 <UL>
1320 <LI>Improved identification of scene tree models: use full description,
1321 including embedded blanks.</LI>
1322 <LI>In G4UIQt, now all models are treated alike. Load tooltip with "further
1323 information", if any; inform user if scene tree is suppressed because
1324 of too many touchable. Fixed crash and bad rendering behaviour when
1325 using QOpenGLWidget with Qt6.
1326 Allow larger integers in widget response in function
1327 <TT>NewSceneTreeItemTreeWidget::ActWithAnInteger()</TT>.
1328 Fixed case of <TT>opacity==0</TT> for touchables.</LI>
1329 <LI>fixed case of compilation error in FilterOutput() in G4UIQt, with Qt-6.8.0
1330 version. Addressing problem report
1331 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2633">#2633</A>.</LI>
1332 <LI>In G4UIWin32, fix in <TT>ConvertNewLines()</TT> to fix treatment of first
1333 character in G4cout output.</LI>
1334 <LI>Fixed reported Coverity defects, use consistently <TT>const G4String&</TT>
1335 to avoid implicit copy.</LI>
1336 <LI>Removed use of no longer supported TiMemory.</LI>
1337 </UL>
1338
1339 <A NAME="materials-notes">
1340 <H3><I>Materials</I></H3></A>
1341 <UL>
1342 <LI>G4IonisParamMat: added parameter for fraction of Orto positronium at rest.</LI>
1343 <LI>G4NistMessenger: added extra UI command for Orto positronium fraction;
1344 updated all commands for multi-threading.</LI>
1345 <LI>G4NistManager, G4NistElementBuilder, G4Material, G4Element, G4Isotope:
1346 general code clean-up; use <TT>std::size_t</TT>; simplified expressions;
1347 avoid use of static methods in class destructors.</LI>
1348 <LI>Improved stability of static initialisation: simplified G4NistManager
1349 singleton initialisation; migrated Isotopes, Materials, Elements's table
1350 to function static; delete the element of table at the same time as the
1351 table itself.</LI>
1352 <LI>Fixed reported Coverity defects in G4Material, G4NistElementBuilder,
1353 G4IonisParamMat and G4LatticePhysical.</LI>
1354 </UL>
1355
1356 <A NAME="parameterisations-notes">
1357 <H3><I>Parameterisations</I></H3></A>
1358 <UL>
1359 <LI>Channeling:
1360 <UL>
1361 <LI>Implemented new model of ionization losses for e+/- ionization
1362 G4VChannelingFastSimCrystalData with some updates in
1363 G4ChannelingFastSimModel and G4ChannelingFastSimCrystalData;
1364 fixed some bugs concerning particles of higher charges.</LI>
1365 <LI>Updated G4ChannelingFastSimCrystalData to be compatible with the new
1366 channeling dataset accessed through G4CHANNELINGDATA environment
1367 variable. Added option to use a custom input file.</LI>
1368 <LI>Added new process G4CoherentPairProduction for the simulation of
1369 coherent pair production by high energy gamma in an oriented crystal.
1370 It works as a G4VDiscreteProcess, not as a parameterisation and uses
1371 G4ChannelingFastSimCrystalData.</LI>
1372 <LI>Added some new accessor methods.</LI>
1373 <LI>Corrected semantic errors in G4BaierKatkov in <TT>RadIntegral()</TT> and
1374 in G4VChannelingFastSimCrystalData in <TT>CoulombElectronScattering()</TT>.</LI>
1375 <LI>Fixed reported Coverity defect in G4VChannelingFastSimCrystalData.</LI>
1376 </UL></LI>
1377 <LI>GFLASH:
1378 <UL>
1379 <LI>Added <TT>GetEffDensity()</TT> function in
1380 GFlashSamplingShowerParameterisation.</LI>
1381 <LI>Applied correction of <TT>Es</TT> and sampling resolution function.</LI>
1382 <LI>Added Rossi approximation for <TT>Ec</TT> as comment.</LI>
1383 <LI>Applied clang-format to code.</LI>
1384 </UL></LI>
1385 </UL>
1386
1387 <A NAME="part-notes">
1388 <H3><I>Particles</I></H3></A>
1389 <UL>
1390 <LI>Added new class, G4ChargedUnknownParticle, similar to G4UnknownParticle for
1391 charged unknown particles. Part of ATLAS and LHCb request to assign
1392 automatically ionisation and multiple scattering processes to charged
1393 primary particles with valid PDG code but not known to Geant4.</LI>
1394 <LI>Applied correction suggested in
1395 <A HREF="https://github.com/Geant4/geant4/pull/74">GitHub PR#74</A>,
1396 fixing G4ParticleMessenger never updating the currently selected particle.
1397 Simplified logic in patch to remove local static.</LI>
1398 </UL>
1399
1400 <A NAME="pers-notes">
1401 <H3><I>Persistency</I></H3></A>
1402 <UL>
1403 <LI>ASCII:
1404 <UL>
1405 <LI>Fixed reported Coverity defects for use of <TT>const G4String&</TT>
1406 and <TT>std::move()</TT>.</LI>
1407 </UL></LI>
1408 <LI>GDML:
1409 <UL>
1410 <LI>Added possibility to define G4GDML_DEFAULT_SCHEMALOCATION string as
1411 environment variable, to point to local path for the schema.
1412 Defined new flag G4GDML_DEFAULT_WRITE_SCHEMALOCATION for schema
1413 location in writing.</LI>
1414 </UL></LI>
1415 <LI>mctruth:
1416 <UL>
1417 <LI>Use G4String type consistently throughout the code, fixing reported
1418 Coverity defects.</LI>
1419 </UL></LI>
1420 </UL>
1421
1422 <A NAME="lst-notes">
1423 <H3><I>Physics lists</I></H3></A>
1424 <UL>
1425 <LI><B>Constructors</B>:
1426 <UL>
1427 <LI><U>electromagnetic</U>:
1428 <UL>
1429 <LI>New constructor G4ChargedUnknownParticle, to be used on top on any
1430 reference physics list, to assign ionisation and multiple scattering
1431 (as well as transportation) processes to charged primary particles
1432 with valid PDG code but not known to Geant4.</LI>
1433 <LI>G4ChargedUnknownPhysics: replaced G4hIonisation and
1434 G4hMultipleScattering (which use G4ParticleDefinition) with the
1435 corresponding new classes G4DynamicParticleIonisation and
1436 G4DynamicParticleMSC (which use only G4DynamicParticle),
1437 respectively.</LI>
1438 <LI>G4EmStandardPhysicsWVI: return back ATIMA model for ionisation and
1439 fluctuations of ions in order to make comparisons with other
1440 models.</LI>
1441 <LI>G4EmStandardPhysics_option3: return back step limit type to
1442 <TT>fUseDistanceToBoundary</TT> and the default RangeFactor from
1443 <TT>0.03</TT> to <TT>0.04</TT>. This will allow to restore more
1444 accurate distributions for several medical benchmark tests.</LI>
1445 <LI>G4EmStandardPhysics_option3, G4EmStandardPhysics_option4,
1446 G4EmLivermorePhysics, G4EmLivermorePhysics, G4EmDNAPhysics: use
1447 fAllisonPositronium type of model for sampling of positron
1448 annihilation at rest (as in release 11.2).</LI>
1449 <LI>G4EmStandardPhysics_option4: use alternative model for positron
1450 annihilation on fly with 3-gamma annihilation channel enabled.</LI>
1451 <LI>G4EmStandardPhysics_option4, G4EmLivermorePhysics,
1452 G4EmStandardPhysics, G4EmStandardPhysicsWVI: added possibility to
1453 enable/disable 3 gamma annihilation on fly; take into account
1454 rename of the model G4eplusTo2GammaOKVIModel to G4eplusTo2or3GammaModel.
1455 By default it is enabled in G4EmStandardPhysics_option4 only.
1456 This option is not added to G4EmPenelopePhysics as here the
1457 original Penelope model for annihilation is used instead.</LI>
1458 <LI>G4GammaGeneralProcess: updated according to change in EM data
1459 tables.</LI>
1460 <LI>G4EmDNAPhysics: define default maximum kinetic energy <TT>600 MeV</TT>
1461 instead of <TT>300 MeV</TT> in order to have standard ionisation
1462 and multiple scattering always defined for DNA physics
1463 configurations.
1464 This allows to avoid situations when low-energy ions pass through
1465 DNA regions without interaction.</LI>
1466 <LI>G4EmDNAPhysics, G4EmDNAPhysicsActivator, G4EmDNAPhysics_option2,
1467 G4EmDNAPhysics_option4, G4EmDNAPhysics_option6 and
1468 G4EmDNAPhysics_option8: changed upper limit for DNA physics of
1469 Helium ions from <TT>300 MeV</TT> to <TT>400 MeV</TT>.</LI>
1470 <LI>G4EmDNABuilder: added nuclear stopping process for G4GenericIon
1471 below <TT>1 MeV/u</TT>.</LI>
1472 <LI>Use EmParameters to control chemistry models in
1473 G4EmDNAChemistry_option3.</LI>
1474 <LI>Modified the molecule names of OH, HO2, O in MoleculeDefinition.
1475 Each molecule configuration has a molecule definition.</LI>
1476 </UL></LI>
1477 <LI><U>decay</U>:
1478 <UL>
1479 <LI>G4UnknownDecayPhysics: extended to newly introduced
1480 G4ChargedUnknownParticle.</LI>
1481 </UL></LI>
1482 <LI><U>factory</U>:
1483 <UL>
1484 <LI>G4PhysicsConstructorRegistry: fixed memory leak at exit, adopting
1485 G4ThreadLocalSingleton pattern.</LI>
1486 <LI>Minor code cleanup in G4PhysicsConstructorRegistry source.</LI>
1487 </UL></LI>
1488 <LI><U>gamma_lepto_nuclear</U>:
1489 <UL>
1490 <LI>Added new G4CoherentPairProductionPhysics class, related to the
1491 process G4CoherentPairProduction of coherent pair production by
1492 high energy gamma in an oriented crystal.</LI>
1493 </UL></LI>
1494 <LI><U>hadron_elastic</U>:
1495 <UL>
1496 <LI>Added self registration of G4ThermalNeutrons with the constructor
1497 factory.</LI>
1498 </UL></LI>
1499 <LI><U>hadron_inelastic</U>:
1500 <UL>
1501 <LI>G4HadronPhysicsQGSP_BERT_HP: use alternative NuDEX model of
1502 gamma de-excitation.</LI>
1503 <LI>Introduced new class G4URRNeutrons to enable the special treatment
1504 of the Unresolved Resonance Region (URR) via Probability Tables (PT)
1505 for low-energy neutrons. It can be used on top of any _HP or _HPT
1506 physics list. Updated internal README.</LI>
1507 </UL></LI>
1508 <LI><U>ions</U>:
1509 <UL>
1510 <LI>Updated description in G4LightIonQMDPhysics and internal README.</LI>
1511 </UL></LI>
1512 <LI><U>limiters</U>:
1513 <UL>
1514 <LI>Fixed reported Coverity defect in G4FastSimulationPhysics and in
1515 G4GenericBiasingPhysics, to use <TT>const G4String&</TT> and
1516 <TT>std::move()</TT>.</LI>
1517 </UL></LI>
1518 </UL></LI>
1519 <LI><B>Lists</B>:
1520 <UL>
1521 <LI>Added <TT>HPT</TT> extension to support adding G4ThermalNeutrons to
1522 extensible physlist factory.</LI>
1523 <LI>Changed how base phylist matching is done in G4PhysListRegistry in
1524 order to support <TT>_HP</TT> lists and new <TT>_HPT</TT> extension;
1525 requires match to be exact or the remaining part start with <TT>_</TT>
1526 or <TT>+</TT>.</LI>
1527 <LI>G4PhysListRegistry: fixed compilation on XCode for implicit type
1528 conversion. Minor code cleanup (use of <TT>nullptr</TT>, G4bool,
1529 <TT>std::size_t</TT>, singleton instance initialisation). Initialise
1530 the instance only the first time it gets created.</LI>
1531 <LI>G4PhysListFactory: use <TT>std::size_t</TT>.</LI>
1532 </UL></LI>
1533 <LI><B>Util</B>:
1534 <UL>
1535 <LI>Static initialisation improvement for G4HadParticles.</LI>
1536 </UL></LI>
1537 </UL>
1538
1539 <A NAME="readout-notes">
1540 <H3><I>Readout</I></H3></A>
1541 <UL>
1542 <LI>Fixed reported Coverity defects, use consistently <TT>const G4String&</TT>
1543 to avoid implicit copy.</LI>
1544 </UL>
1545
1546 <A NAME="run-notes">
1547 <H3><I>Run</I></H3></A>
1548 <UL>
1549 <LI>Tuned verbose levels to reduce printouts during event loop.</LI>
1550 <LI>First full implementation of of sub-event parallelism, adding the
1551 creation and processing of sub-events in workers, plus the merging
1552 of results back into events on the main thread.
1553 No impact of the core changes needed to support sub-event parallelism in
1554 any other mode (Seq, MT, Tasking) other than some counting aspects with
1555 retained events.</LI>
1556 <LI>Set number of random numbers generated as the seeds of workers for
1557 sub-event level parallelism.</LI>
1558 <LI>Defined UI alias representing the run mode [sequential, eventParallel,
1559 subEventParallel]. This alias can be used in macro file.</LI>
1560 <LI>G4RunManagerFactory: added sub-event parallel mode as an option.</LI>
1561 <LI>G4RunMessenger: added a command for trajectory merging in sub-event
1562 parallel mode.</LI>
1563 <LI>G4SubEvtRunManager, G4WorkerRunManager, G4WorkerSubEvtRunManager: added an
1564 option to merge trajectories created by worker threads in sub-event parallel
1565 mode.</LI>
1566 <LI>Fix in G4WorkerTaskRunManager and G4TaskRunManager, to process only
1567 <TT>NumberOfEventsPerTask</TT>. Before this change, each thread would
1568 process all its events in a single task since
1569 <TT>GetNumberOfEventsToBeProcessed()</TT> returns the number of all events
1570 in the run. All other tasks would immediately return because no work is
1571 left.</LI>
1572 <LI>Fixed static memory leak of process and tracking managers in worker threads.</LI>
1573 <LI>Provide static initialization for <TT>masterWorlds</TT> in G4MTRunManager.
1574 Adapted G4SubEvtRunManager and G4TaskRunManager accordingly.</LI>
1575 <LI>G4RunManagerKernel, G4RunManager, G4SubEvtRunManager: cleanly delete G4Event
1576 objects at the end of each run as long as these events are not requested to
1577 be kept for redrawing during the following <TT>Idle</TT> state.
1578 The kept events are deleted at the beginning of next run or at program
1579 termination.</LI>
1580 <LI>G4Run: added <TT>GetNumberOfKeptEvents()</TT> method.</LI>
1581 <LI>Extended diagnostics and output from material scanner.</LI>
1582 <LI>Added call in G4WorkerRunManager to use parallel initialisation of
1583 voxels.</LI>
1584 <LI>In G4RunManager, in <TT>ReinitializeGeometry()</TT>, added call to new
1585 function from G4FieldBuilder <TT>Reinitialize()</TT>.</LI>
1586 <LI>G4RunManagerKernel: removed call to <TT>ResetNavigator()</TT> during
1587 initialisation. <TT>ResetNavigator()</TT> is now invoked only at the
1588 beginning of <TT>BeamOn()</TT>.</LI>
1589 <LI>G4PhysicsListHelper: added <TT>DNATripleIoni</TT> and
1590 <TT>DNAQuadrupleIoni</TT> for the implementation of multiple-ionisation
1591 processes in Geant4-DNA. Added XrayReflection (<TT>fGammaReflection</TT>).</LI>
1592 <LI>G4RunManager: added <TT>SetDefaultClassification()</TT> methods to enable
1593 setting the classification for tracks newly arriving to a stack.</LI>
1594 <LI>Access G4GeometryManager singleton through its <TT>GetInstance()</TT> call
1595 in G4RunManagerKernel and G4WorkerRunManager.</LI>
1596 <LI>Updated G4AdjointSimManager and G4AdjointSimMessenger to allow running
1597 adjoint simulation in MT mode.</LI>
1598 <LI>Removed use of no longer supported TiMemory.</LI>
1599 <LI>Fixed compilation warnings for implicit type conversions on macOS/XCode
1600 on G4MSSteppingAction. Use consistently G4 types.</LI>
1601 <LI>Fixed reported Coverity defects: in G4MSSteppingAction for restoring
1602 original stream format state; in G4RunManager and others, for use of
1603 <TT>std::move()</TT> and restructured conditionals. Also fixes in
1604 G4Task/SubEvtRunManager.</LI>
1605 <LI>Updated G4TaskRunManager for changes to underlying PTL-3.0.0 API.
1606 No changes to behaviour expected.</LI>
1607 </UL>
1608
1609 <A NAME="track-notes">
1610 <H3><I>Track & Tracking</I></H3></A>
1611 <UL>
1612 <LI>Added optional copy of touchable when copy constructing a G4Track, to
1613 support sub-event level parallelism.</LI>
1614 <LI>G4Trajectory and G4TrajectoryPoint: added <TT>CloneForMaster()</TT> method
1615 for merging trajectories created by worker thread in sub-event parallel
1616 mode. Refined by introducing G4ClonedTrajectory
1617 and G4ClonedTrajectoryPoint classes for clean and safe use of G4Allocator.
1618 Also added G4ClonedSmoothTrajectory and G4ClonedSmoothTrajectoryPoint.</LI>
1619 <LI>G4RichTrajectory and G4RichTrajectoryPoint are modified to directly
1620 inherit G4VTrajectory and G4VTrajectoryPoint abstract base-classes to
1621 avoid double use of G4Allocator. Added G4ClonedRichTrajectory and
1622 G4ClonedRichTrajectoryPoint classes.</LI>
1623 <LI>Some code cleanup, providing more easy reading of class headers; expected
1624 tiny CPU speedup; identical results.</LI>
1625 <LI>G4Track, G4Step, G4StepPoint: some code cleanup; improved comments.</LI>
1626 <LI>G4Step: move methods to compute delta energy and momentum to inline
1627 removing G4Exception but improving comments to these methods; removed
1628 G4ThreadLocal variable.</LI>
1629 <LI>G4VParticleChange: improved layout of variables.</LI>
1630 <LI>G4ParticleChangeForGamma, G4ParticleChangeForLoss: reserve vector of
1631 secondaries.</LI>
1632 <LI>Fixed reported Coverity defects for use of <TT>std::move()</TT> in
1633 G4AdjointCrossSurfChecker.</LI>
1634 <LI>Removed use of no longer supported TiMemory.</LI>
1635 </UL>
1636
1637 <A NAME="vis-notes">
1638 <H3><I>Visualization</I></H3></A>
1639 <UL>
1640 <LI><B>General</B>
1641 <UL>
1642 <LI>Fixed reported Coverity defects.</LI>
1643 </UL></LI>
1644 <LI><B>Management</B>
1645 <UL>
1646 <LI>Rationalisation, simplification and code tidying.
1647 <LI>Updated visualisation manager to correctly merge/handle asynchronous
1648 event merging (also resolving long standing issues with post
1649 processing). Implemented <TT>EventReadyForVis()</TT>, used by
1650 G4SubEvtRunManager; restructured EndOfEvent functions to accommodate
1651 this and avoid code duplication; this involved introducing:
1652 <TT>Relinquishable</TT>, <TT>EndOfEventKernel</TT> and
1653 <TT>EndOfEventCleanup</TT>.</LI>
1654 <LI>Corrected the use of <TT>KeepForPostProcessing/PostProcessingFinished</TT>.</LI>
1655 <LI>G4VisExecutive: restored OpenGL as default backend for Qt6.</LI>
1656 <LI>Improved identification of scene tree models: use full description,
1657 including embedded blanks.</LI>
1658 <LI>G4VViewer: check validity of arguments in SceneTreeScene constructor.
1659 Pre-calculate quantities in SceneTreeScene constructor; pre-calculate
1660 the number of touchable; if more than 10000, suppress them in the
1661 scene tree and add some information about it to the model item so that
1662 it pops up as a tooltip in the GUI.
1663 More logical order of some functions.</LI>
1664 <LI>G4VSceneHandler: specify the G4PhysicalVolumeModel for construction
1665 of scene tree. Simplified loop over models, added some printing.
1666 Print number of touchable by depth (if verbosity >= confirmations).
1667 Print problematic volumes (if verbosity >= confirmations).
1668 In <TT>DrawEvent(), DrawEndOfRunModels()</TT>, check if viewer is
1669 <TT>ReadyToDraw()</TT> at begin of method.
1670 Moved some printing outside the loop over models.</LI>
1671 <LI>Limit the number of scene tree items. For complex geometries, the scene
1672 tree can take up a lot of space, and, anyway, not easy to navigate.
1673 Now suppressing the scene tree if the number of touchable exceeds
1674 10000 (equivalent to about <TT>20 MB</TT>).</LI>
1675 <LI>G4VisCommandsViewer: use <TT>GetSceneTree()</TT> rather than
1676 <TT>AccessSceneTree()</TT> when not necessary. Simplified use of view
1677 parameters of a pre-existing viewer; use the parameters of the most
1678 recent viewer whatever its type in <TT>/vis/viewer/create</TT>.
1679 Exclude GlobalMarkerScale from parameters copied from pre-existing
1680 viewer, thus each viewer is allowed to specify its own
1681 GlobalMarkerScale.</LI>
1682 <LI>In G4VisExecutive, trap use of run-time visualisation driver choice,
1683 and (if using run-time choice) insist the UI session is instantiated
1684 *before* G4VisExecutive.
1685 Keep <TT>argc, argv</TT> and user-specified system, if specified, for
1686 delayed use. Moved informational (G4warn) from G4VisManager.
1687 Removed duplicate instantiation of TOOLSSG_OFFSCREEN.
1688 Removed inclusion of QtGlobal header, no longer needed.</LI>
1689 <LI>Delay determination of the run-time-chosen default driver.
1690 The run-time-chosen default driver is not actually used until the first
1691 use of <TT>/vis/open</TT> or <TT>/vis/sceneHandler/create</TT> without
1692 driver parameter, so we delay to this point. This catches the situation
1693 when the user instantiates the UI session *after* instantiating the
1694 vis manager.</LI>
1695 <LI>G4VisManager: make <TT>GetDefaultGraphicsSystemName()</TT> virtual and
1696 non <TT>const</TT>.
1697 The code for choosing a default driver *has to be* in user space, i.e.,
1698 in G4VisExecutive, so that it has access to use flags. Modified the
1699 informational (G4warn) in <TT>PrintAvailableGraphicsSystems()</TT>
1700 to give advice and point to further information to be given after
1701 <TT>/vis/open</TT>.
1702 Protected <TT>Begin/EndOfRun()</TT> against invalid view (includes
1703 check on existence of a scene). Some tidying and streamlining.
1704 Introduced local Booleans <TT>isValidViewForRun</TT> and <TT>isFakeRun</TT>.
1705 Introduced <TT>PrintAvailableVerbosity()</TT>.
1706 In <TT>GetVerbosityValue()</TT>, print verbosity options on unknown
1707 or empty argument. Call <TT>PostProcessingFinished()</TT> for _every_
1708 event in <TT>EndOfEventCleanup()</TT>.
1709 Fixed "accumulate" bug in Serial mode, and other small improvements.
1710 Improved printing of colours in <TT>PrintAvailableColours()</TT> and
1711 advise on use. Rationalised code and tyding.
1712 Protect <TT>KeepForPostProcessing()</TT> mutex lock;
1713 <TT>KeepForPostProcessing()</TT> is called on a worker thread,
1714 <TT>PostProcessingFinished()</TT> is called on the vis sub-thread,
1715 so should be protected.</LI>
1716 <LI>G4VisManager, G4VisCommandsSceneAdd: optimised timing of G4Event for
1717 <TT>KeepForPostProcessing()</TT> and <TT>PostProcessingFinished()</TT>
1718 so that event object that are not requested to be kept are cleanly
1719 deleted at the end of each run. Kept events are deleted at the
1720 beginning of the next run or when the program terminates.
1721 Use <TT>GetNumberOfKeptEvent()</TT> from G4Run to properly display
1722 the number of kept events.</LI>
1723 <LI>G4VisCommandsTouchable: <TT>/vis/touchable/dump</TT> and <TT>findPath</TT>
1724 do not need a scene handler nor a viewer.
1725 Moved them to the beginning of <TT>SetNewValue()</TT> in
1726 G4VisCommandsTouchable, before the check on scene handler and viewer.
1727 This allows the user to <TT>/vis/touchable/dump</TT> even if not yet
1728 opened a viewer.</LI>
1729 <LI>G4VisCommands: in <TT>/vis/list</TT>, added printing of verbosity
1730 options. In <TT>/vis/verbose</TT>, changed default value to empty
1731 string.</LI>
1732 <LI>G4VisCommandsSceneAdd: date and time are updated for every event
1733 displayed. Ensure the logo respects the current requested
1734 number of sides per circle in <TT>/vis/scene/add/logo</TT>.</LI>
1735 <LI>G4VViewer: added virtual <TT>ReadyToDraw()</TT>, helps avoiding a
1736 crash on macOS if doing <TT>/run/beamOn</TT> in vis.mac at startup.</LI>
1737 <LI>G4ViewParameters: minor improvements to messages in output
1738 <TT>operator<<()</TT>.</LI>
1739 <LI>Introduced TOOLS_USE_FREETYPE flag in vis management for <TT>/vis/plot</TT>
1740 UI command. In G4VisCommandsCompound, if TOOLS_USE_FREETYPE is set,
1741 augment <TT>/vis/plot</TT> UI command to take <TT>style</TT> argument.</LI>
1742 <LI>Removed use of G4MULTITHREADED symbol where not required, using
1743 runtime checks as far as possible.</LI>
1744 </UL></LI>
1745 <LI><B>Modeling</B>
1746 <UL>
1747 <LI>G4PhysicalVolumeModel: added data field <TT>TotalTouchables</TT> and
1748 access functions. Code indentation.</LI>
1749 <LI>G4TextModel: use single quote (') to delineate actual text in
1750 description.</LI>
1751 <LI>G4TrajectoryDrawByEncounteredVolume, G4TrajectoryEncounteredVolumeFilter:
1752 replaced check on trajectory type using <TT>dynamic_cast</TT> with a
1753 simple check on the existence on the required G4Att.</LI>
1754 </UL></LI>
1755 <LI><B>OpenGL</B>
1756 <UL>
1757 <LI>In G4OpenGLQtViewer, fixed MT issue of possible dead-lock in case
1758 multiple OGLI or OGLS viewers are enabled and when issuing
1759 <TT>/run/beamOn</TT>. Restored picking feature for Qt6 and implemented
1760 2D draw text in <TT>DrawText()</TT>.
1761 Resolved the timing issues around switching to the vis sub-thread with
1762 the use of G4CONDITIONWAITLAMBDA.</LI>
1763 <LI>G4OpenGLQtViewer: fixed potential compilation error in
1764 <TT>currentTabActivated()</TT>. Addressing problem report
1765 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2633">#2633</A>.</LI>
1766 <LI>In G4OpenGLImmediateQtViewer and G4OpenGLStoredQtViewer, removed usage
1767 of <TT>paintEvent()</TT> for Qt6, <TT>paintGL()</TT> should be
1768 sufficient. For updateQWidget, use <TT>update()</TT> to trigger a
1769 repaint. In <TT>Initialise()</TT> check validity of widget type, to
1770 avoid observed crash at startup on macOS; do the same in
1771 <TT>ClearView()</TT>, <TT>SetView()</TT>.</LI>
1772 <LI>Fix in G4OpenGLImmediateQtViewer for Qt6 for producing animation when
1773 issuing <TT>/vis/viewer/interpolate viewfiles/movie-1</TT>.</LI>
1774 <LI>G4OpenGLStoredQtSceneHandler: in <TT>ClearStore()</TT>, commented out
1775 some code related to the old scene tree.</LI>
1776 <LI>Fixed small memory leak in G4OpenGLQtViewer in <TT>DrawText()</TT>.</LI>
1777 <LI>Fixes for Qt5 and Qt6 to avoid a crash in case of <TT>/run/beamOn</TT>
1778 is called in vis.mac at startup.</LI>
1779 <LI>Use runtime checks for MT mode where possible.</LI>
1780 <LI>Make headers of implementation detail classes private.</LI>
1781 </UL></LI>
1782 <LI><B>OpenInventor</B>
1783 <UL>
1784 <LI>G4OpenInventorQtViewer: in Qt6, reparent G4OpenInventorQtExaminerViewer
1785 in its own QWidget, allowing to restore correct behaviour when opening
1786 multiple viewers. Properly handle viewer destruction.
1787 Have <TT>addInTab</TT> done in <TT>Initialise()</TT> method. Avoid to
1788 do an examiner viewer "move/resize" in <TT>Initialise()</TT> method,
1789 as causing strange widget rendering behaviour.</LI>
1790 <LI>In G4OpenInventorQtExaminerViewer, allow with Qt6 to map a dialog in
1791 case being closed with the mouse. Have the title window reflecting the
1792 name of the viewer. In MT mode, fixed behaviour when issuing multiple
1793 <TT>/run/beamOn</TT> commands within multiple viewers.</LI>
1794 <LI>Make headers of implementation detail classes private.</LI>
1795 </UL></LI>
1796 <LI><B>Qt3D</B>
1797 <UL>
1798 <LI>Added missing call to <TT>fpPhysicalVolumeObjects.clear()</TT> in
1799 <TT>EstablishG4Qt3DQEntities()</TT> in G4Qt3DSceneHandler. Fixes
1800 cases of crash when opening multiple viewers with "/vis/open Qt3D".</LI>
1801 <LI>In G4Qt3DViewer destructor, call <TT>setRootEntity(nullptr)</TT> to
1802 disconnect the scene from a viewer.
1803 Fixed timing issues around switching to the vis sub-thread
1804 with the use of G4CONDITIONWAITLAMBDA.</LI>
1805 <LI>In G4Qt3DSceneHandler destructor, clear the scene tree.</LI>
1806 <LI>In G4Qt3DViewer, implemented <TT>resizeEvent()</TT> method to avoid
1807 a bad aspect ratio at viewer creation. Fixes for Qt5 and Qt6 to avoid
1808 a crash in case of <TT>/run/beamOn</TT> is called in vis.mac at startup.</LI>
1809 </UL></LI>
1810 <LI><B>ToolsSG</B>
1811 <UL>
1812 <LI>Replace TOOLSSG vis driver variables that are just synonyms for more
1813 fundamental config options (e.g. GEANT4_USE_QT) with the underlying
1814 variable.</LI>
1815 <LI>Use runtime checks for MT mode where possible.</LI>
1816 <LI>Make Freetype a private dependency in CMake script.</LI>
1817 </UL></LI>
1818 <LI><B>Vtk</B>
1819 <UL>
1820 <LI>In G4VtxQtViewer, fixed MT issue of possible dead-lock in case multiple
1821 Vtk viewers are enabled and when issuing <TT>/run/beamOn</TT>.
1822 Fixed timing issues around switching to the vis sub-thread
1823 with the use of G4CONDITIONWAITLAMBDA.
1824 In <TT>DoneWithVisSubThread(), SwitchToMasterThread()</TT> protect
1825 against a possible null context; fixing crash in case of doing
1826 <TT>/run/beamOn</TT> in vis.mac at startup.</LI>
1827 </UL></LI>
1828 </UL>
1829
1830 <A NAME="data-notes">
1831 <H3><I>Data sets</I></H3></A>
1832 <UL>
1833 <LI>Updated photon evaporation data set version, <B>G4PhotonEvaporation-6.1</B>:
1834 <UL>
1835 <LI>New database compliant with ENSDF version of March 5th 2024.</LI>
1836 </UL></LI>
1837 <LI>Updated radioactive decay data set version, <B>G4RadioactiveDecay-6.1.2</B>:
1838 <UL>
1839 <LI>New database compliant with ENSDF version of March 5th 2024.</LI>
1840 <LI>Corrected and checked files for neutron, proton and sp. fission.
1841 Restored some files from 5.7 set, that were already corrected in the
1842 past following user comments or from DDEP data.</LI>
1843 <LI>Fixed z2.a5 and z3.a5 elements and updated README.</LI>
1844 </UL></LI>
1845 <LI>Updated aata set of nuclides state properties version, <B>G4ENSDFSTATE-3.0</B>:
1846 <UL>
1847 <LI>New database compliant with ENSDF version of March 5th 2024.</LI>
1848 </UL></LI>
1849 <LI>Updated version of data set for neutron energies, <B>G4PARTICLEXS-4.1</B>:
1850 <UL>
1851 <LI>Updated data for all isotopes, for neutron, proton and light ion
1852 cross-sections. Fixed cross-sections for Argon, Promethium, Astatine,
1853 Radon, Francium. Fixed low-energy cross-section; low-energy limits of
1854 cross-sections per target are verified and updated based on neutron
1855 data.</LI>
1856 </UL></LI>
1857 <LI>New data set for the simulation of channeling trajectories,
1858 <B>G4CHANNELINGDATA-1.0</B>:
1859 <UL>
1860 <LI>New data set for the simulation of channeling trajectories. Includes
1861 the properties of the crystal lattice of a certain material and in a
1862 certain crystallographic direction (along either crystal planes or axes).
1863 References:
1864 A. A. Samarskii and A. V. Gulin, Numerical Methods (Nauka, Moscow, 1989).
1865 G. I. Marchuk, Methods of Numerical Mathematics (Springer-Verlag, 1975).
1866 V. N. Baier, V. M. Katkov, and V. M. Strakhovenko, Electromagnetic
1867 Processes at High Energies in Oriented Single Crystals (W.Scientific, 1998).</LI>
1868 </UL></LI>
1869 <LI>New optional data set for NuDEX hadronic model, <B>G4NUDEXLIB-1.0</B>:
1870 <UL>
1871 <LI>New [optional] dataset required to enable the NuDEX hadronic model
1872 (E. Mendoza et al., NIMA 1047, 167894 (2023)
1873 <A https://doi.org/10.1016/j.nima.2022.167894>https://doi.org/10.1016/j.nima.2022.167894</A>).
1874 Including: data file with general parameters used by NuDEX; data tables
1875 to get internal conversion factors, obtained from BrICC; nuclear level
1876 schemes and densities downloaded from the RIPL-3 data library; files
1877 containing primary capture gamma rays, obtained from ENSDF; photon
1878 strength function parameters, obtained from RIPL-3 and from the IAEA
1879 Photon Strength Function Database; folder to change the default
1880 parameters for the decay of specific nuclei.</LI>
1881 </UL></LI>
1882 <LI>New optional data set for the treatment of low-energy neutrons, <B>G4URRPT-1.1</B>:
1883 <UL>
1884 <LI>New [optional] Probability Table dataset, used for the treatment of
1885 low-energy neutrons in the Unresolved Resonance Region (URR), at
1886 temperature of <TT>293.15 K</TT>, processed with both NJOY and CALENDF.
1887 As described in: M. Zmeskal et al., Comp.Phys. arXiv:2404.16389.</LI>
1888 </UL></LI>
1889 </UL></LI>
1890
1891 <A NAME="ex-notes">
1892 <H3><I>Examples</I></H3></A>
1893 <UL>
1894 <LI>Updated reference outputs, macros, READMEs and scripts.</LI>
1895 <LI>Fixes for Doxygen documentation and coding guidelines.</LI>
1896 <LI>Updated URL for schema validation in all GDML files to valid short address.</LI>
1897 <LI>Applied clang-format to basic and extended examples.</LI>
1898 <LI><B><U>advanced</U></B>
1899 <UL>
1900 <LI>Created a new <TT>dna</TT> category for DNA advanced examples.
1901 Moved <TT>moleculardna</TT> example from extended to advanced.</LI>
1902 <LI><B>dna/cellularPhantom</B>
1903 <UL>
1904 <LI>New application showing how to simulate the irradiation of a 3D
1905 voxel phantom containing biological cells, created from a confocal
1906 microscopy 24-bit RGB image.
1907 Reference: P. Barberet et al., "Monte-Carlo dosimetry on a realistic
1908 cell monolayer geometry exposed to alpha-particle", Phys. Med. Biol.
1909 57 (2012) 2189-2207.</LI>
1910 </UL></LI>
1911 <LI><B>dna/dsbandrepair</B>
1912 <UL>
1913 <LI>Use EmParameters to control chemistry time step model.</LI>
1914 <LI>Modified the molecule names of OH, HO2, O in MoleculeDefinition.
1915 Each molecule configuration has a molecule definition.</LI>
1916 <LI>General code cleanup; merged classes that have the same
1917 functionality in PhysStage and ChemStage.</LI>
1918 </UL></LI>
1919 <LI><B>dna/moleculardna</B>:
1920 <UL>
1921 <LI>Modified the molecule names of OH, HO2, O in MoleculeDefinition.
1922 Each molecule configuration has a molecule definition.</LI>
1923 <LI>Added plasmid geometry.</LI>
1924 <LI>Added missing plasmid analysis root macro file.</LI>
1925 <LI>Added chromosomal geometry related files.</LI>
1926 <LI>Updated <TT>/dnageom/interactionDirectRange</TT> to
1927 <TT>2.0 angstrom</TT>.</LI>
1928 <LI>Modification of TimeStepModel interface.</LI>
1929 <LI>Use the physico-chemistry builder.</LI>
1930 <LI>Fixed bug in DNAGeometryMessenger.</LI>
1931 </UL></LI>
1932 <LI><B>eFLASH_radiotherapy</B>
1933 <UL>
1934 <LI>Added FlashPhysicsListMessenger class to allow changing the physics
1935 list by macro commands (opt3, opt4, Penelope and Livermore).</LI>
1936 <LI>Removed unused includes of analysis headers from FlashRunAction.</LI>
1937 <LI>Added a new geometry in DetectorConstruction; added an array of
1938 multiple small size silicon carbide detectors within the water
1939 phantom for dose distribution computation.</LI>
1940 <LI>Added sensitive detector class for the silicon carbide array.</LI>
1941 <LI>Updated macro files.</LI>
1942 </UL></LI>
1943 <LI><B>eRosita</B>
1944 <UL>
1945 <LI>Avoid deleting anything after deletion of run-manager in
1946 <TT>main()</TT>.</LI>
1947 </UL></LI>
1948 <LI><B>exp_microdosimetry</B>
1949 <UL>
1950 <LI>Added SiC microdosimeter geometry in DetectorConstruction.</LI>
1951 </UL></LI>
1952 <LI><B>fastAerosol</B>
1953 <UL>
1954 <LI>Updated for changes in accumulables: use new <TT>Register()</TT>
1955 method with shorter name.</LI>
1956 </UL></LI>
1957 <LI><B>hadrontherapy</B>
1958 <UL>
1959 <LI>Updated <TT>main()</TT>, input macros, physics list, run action
1960 and passive proton beamline: general code cleanup, bug fixing and
1961 readability improvements.</LI>
1962 <LI>Updated for changes in accumulables: use new <TT>Register()</TT>
1963 method with shorter name.</LI>
1964 </UL></LI>
1965 <LI><B>STCyclotron</B>
1966 <UL>
1967 <LI>Removed unused includes of analysis headers from STCyclotronRunAction.</LI>
1968 </UL></LI>
1969 <LI><B>xray_telescope</B>
1970 <UL>
1971 <LI>Removed unnecessary use of G4VisManager and some UI commands
1972 fixing stability problems.</LI>
1973 </UL></LI>
1974 </UL></LI>
1975 <LI><B><U>basic</U></B>
1976 <UL>
1977 <LI>Simplified and modernized CMake scripts for all basic examples.</LI>
1978 <LI><B>B1</B>
1979 <UL>
1980 <LI>Updated for changes in accumulables: use new <TT>Register()</TT>
1981 method with shorter name.</LI>
1982 </UL></LI>
1983 <LI><B>B3</B>
1984 <UL>
1985 <LI>Looping over G4THitsMap via range for loop instead of iterators.</LI>
1986 <LI>Updated for changes in accumulables: use new <TT>Register()</TT>
1987 method with shorter name.</LI>
1988 </UL></LI>
1989 </UL></LI>
1990 <LI><B><U>extended</U></B>
1991 <UL>
1992 <LI><B>biasing</B>
1993 <UL>
1994 <LI><B>GB06</B>
1995 <UL>
1996 <LI>Avoid call to static volumes store in DetectorConstruction class.</LI>
1997 </UL></LI>
1998 </UL></LI>
1999 <LI><B>electromagnetic</B>
2000 <UL>
2001 <LI><B>TestEm0</B>
2002 <UL>
2003 <LI>DetectorConstruction: introduced Xenon gas.</LI>
2004 <LI>Added new macro xenonGas.mac.</LI>
2005 </UL></LI>
2006 <LI><B>TestEm1</B>
2007 <UL>
2008 <LI>Run, EventAction, TrackingAction, HistoManager: compute and
2009 plot energy leakage.</LI>
2010 </UL></LI>
2011 <LI><B>TestEm4</B>
2012 <UL>
2013 <LI>PhysicsLists: fixed annoying warnings on decay table;
2014 removed obsolete methods.</LI>
2015 <LI>Run: code cleanup; removed Tabs.</LI>
2016 </UL></LI>
2017 <LI><B>TestEm5</B>
2018 <UL>
2019 <LI>TrackingAction: added protection against wrong argument of
2020 <TT>std::acos()</TT>, rarely happening for very high energy
2021 projectile particles.
2022 <LI>Removed macro subcut.mac.</LI>
2023 </UL></LI>
2024 <LI><B>TestEm7</B>
2025 <UL>
2026 <LI>RunAction: added protection to histogram binning for very
2027 low step limit.</LI>
2028 </UL></LI>
2029 <LI><B>TestEm11</B>
2030 <UL>
2031 <LI>TrackingAction: in energy leakage, added special treatment
2032 for positron.</LI>
2033 </UL></LI>
2034 <LI><B>TestEm12</B>
2035 <UL>
2036 <LI>Added comments to dna.mac input macro.</LI>
2037 </UL></LI>
2038 <LI><B>TestEm15</B>
2039 <UL>
2040 <LI>SteppingAction: code cleanup; removed Tabs.</LI>
2041 </UL></LI>
2042 </UL></LI>
2043 <LI><B>eventgenerator</B>
2044 <UL>
2045 <LI><B>exgps</B>
2046 <UL>
2047 <LI>Updated build script for CTests definitions.</LI>
2048 </UL></LI>
2049 <LI><B>pythia/py8decayer</B>
2050 <UL>
2051 <LI>Updated to Pythia8.3.10 for testing.</LI>
2052 <LI>Added Py8DecayerEngine to override Pythia8 native engine with
2053 the default one from Geant4 (CLHEP), to properly run in the
2054 MT/Tasking mode.</LI>
2055 <LI>Updated <TT>main()</TT> to use MT mode; some code cleanup.</LI>
2056 </UL></LI>
2057 <LI><B>HepMC/HepMCEx01</B>
2058 <UL>
2059 <LI>Avoid deleting anything after deletion of run-manager in
2060 <TT>main()</TT>.</LI>
2061 </UL></LI>
2062 </UL></LI>
2063 <LI><B>exoticphysics</B>
2064 <UL>
2065 <LI>Introduced 'channeling' examples category, created 'ch0' example
2066 out of original example and added 'ch1', ch2' and 'ch3' examples.</LI>
2067 <LI><B>channeling</B>
2068 <UL>
2069 <LI><B>ch1</B>
2070 <UL>
2071 <LI>An easy demonstration of the minimum requirements necessary
2072 to integrate the G4ChannelingFastSimModel and the
2073 G4BaierKatkov model into a project in order to simulate the
2074 physics of channeling and channeling radiation/coherent
2075 bremsstrahlung.</LI>
2076 </UL></LI>
2077 <LI><B>ch2</B>
2078 <UL>
2079 <LI>An enhanced version of ch1, providing the user with the
2080 full functionality of both demonstrated models, with
2081 parameters set up via a macro.</LI>
2082 </UL></LI>
2083 <LI><B>ch3</B>
2084 <UL>
2085 <LI>New example demonstrating the minimum requirements necessary
2086 to integrate the G4CoherentPairProduction process into a
2087 project, along with the demonstrated models, to simulate
2088 the physics of electromagnetic showers in an oriented
2089 crystal.</LI>
2090 </UL></LI>
2091 </UL></LI>
2092 <LI><B>phonon</B>
2093 <UL>
2094 <LI>Updated build script for CTests definitions.</LI>
2095 </UL></LI>
2096 </UL></LI>
2097 <LI><B>field</B>
2098 <UL>
2099 <LI>Replaced FieldSetup and FieldMessenger classes with usage of new
2100 field builder class G4FieldBuilder.</LI>
2101 <LI>Moved setting field value (ThreeVector) from FieldSetup (now
2102 removed) in DetectorConstruction and its messenger and removed
2103 setting of Z-value only.</LI>
2104 <LI><B>field01</B>
2105 <UL>
2106 <LI>Use default Tasking run-manager from G4RunManagerFactory.</LI>
2107 <LI>Use default random number generator.</LI>
2108 <LI>Use <TT>GeometryHasBeenModified()</TT> in place of
2109 <TT>ReinitializeGeometry()</TT> in DetectorCostruction
2110 UI commands implementation, for thread safety.</LI>
2111 </UL></LI>
2112 <LI><B>field02</B>
2113 <UL>
2114 <LI>Migrated to use G4RunManagerFactory.</LI>
2115 <LI>Use default random number generator.</LI>
2116 <LI>Use <TT>GeometryHasBeenModified()</TT> in place of
2117 <TT>ReinitializeGeometry()</TT> in DetectorCostruction
2118 UI commands implementation, for thread safety.</LI>
2119 </UL></LI>
2120 <LI><B>field03</B>
2121 <UL>
2122 <LI>Migrated to use G4RunManagerFactory.</LI>
2123 <LI>Use default random number generator.</LI>
2124 <LI>Simplified F03DetectorConstruction() constructor.</LI>
2125 <LI>Use <TT>GeometryHasBeenModified()</TT> in place of
2126 <TT>ReinitializeGeometry()</TT> in DetectorCostruction
2127 UI commands implementation, for thread safety.</LI>
2128 </UL></LI>
2129 <LI><B>field04</B>
2130 <UL>
2131 <LI>Migrated to use G4RunManagerFactory.</LI>
2132 <LI>Use default random number generator.</LI>
2133 <LI>Avoid use of G4AutoDelete for G4StepMax, as clashing with
2134 thread-local singletons deletion operated by G4TaskingRunManager.</LI>
2135 <LI>Use <TT>GeometryHasBeenModified()</TT> in place of
2136 <TT>ReinitializeGeometry()</TT> in DetectorCostruction
2137 UI commands implementation, for thread safety.</LI>
2138 </UL></LI>
2139 <LI><B>field05</B>
2140 <UL>
2141 <LI>Migrated to use G4RunManagerFactory.</LI>
2142 <LI>Use default random number generator.</LI>
2143 </UL></LI>
2144 <LI><B>field06</B>
2145 <UL>
2146 <LI>Use default random number generator.</LI>
2147 </UL></LI>
2148 </UL></LI>
2149 <LI><B>hadronic</B>
2150 <UL>
2151 <LI><B>FlukaCern</B>
2152 <UL>
2153 <LI>Fixed leakeage issue in fluka_interface; should not propagate
2154 the track/projectile's direction from Geant4 to the event
2155 generator, as the transformation of the final state is already
2156 performed in Geant4. The Fluka event generator shall hence
2157 work in Geant4 local frame, while Geant4 is in charge of
2158 transforming the final state back to the lab.</LI>
2159 <LI>Fixed headers re-rodering by clang-format.</LI>
2160 </UL></LI>
2161 <LI><B>Hadr01</B>
2162 <UL>
2163 <LI>Enable usage of the NUDEX library for QGSP_BERT_HP physics
2164 in <TT>main()</TT>.</LI>
2165 </UL></LI>
2166 <LI><B>Hadr03</B>
2167 <UL>
2168 <LI>PrimaryGeneratorAction: added tiny shift of position of the
2169 particle gun from the world volume boundary; fixing a warning
2170 now detecting this.</LI>
2171 <LI>PhysicsList: removed G4RadioactiveDecayPhysics.</LI>
2172 <LI>Updated fusion.mac input macro.</LI>
2173 </UL></LI>
2174 <LI><B>Hadr05</B>
2175 <UL>
2176 <LI>PrimaryGeneratorAction: added tiny shift of position of the
2177 particle gun from the world volume boundary; fixing a warning
2178 now detecting this.</LI>
2179 <LI>RadioactiveDecayPhysics: added Triton.</LI>
2180 <LI>Applied coding rules.</LI>
2181 </UL></LI>
2182 <LI><B>Hadr07</B>
2183 <UL>
2184 <LI>RadioactiveDecayPhysics: added Triton.</LI>
2185 <LI>Applied coding rules.</LI>
2186 </UL></LI>
2187 <LI><B>NeutronSource</B>
2188 <UL>
2189 <LI>PhysicsList: added G4HadronElasticPhysicsXS.</LI>
2190 <LI>RadioactiveDecayPhysics: added Triton.</LI>
2191 <LI>GammaNuclearPhysics, GammaNuclearPhysicsLEND: applied coding
2192 rules.</LI>
2193 </UL></LI>
2194 </UL></LI>
2195 <LI><B>medical/dna</B>
2196 <UL>
2197 <LI>Moved 'moleculardna' example from extended to advanced examples
2198 module.</LI>
2199 <LI><B>chem1</B>:
2200 <UL>
2201 <LI>Changed world volume colour to make it different
2202 from the white background.</LI>
2203 </UL></LI>
2204 <LI><B>chem3</B>:
2205 <UL>
2206 <LI>Updated TimeStepAction and added function to show how to get
2207 a specific species ID, positions at each time step.</LI>
2208 </UL></LI>
2209 <LI><B>chem4</B>:
2210 <UL>
2211 <LI>Corrected molecule name in macro file.</LI>
2212 </UL></LI>
2213 <LI><B>chem6</B>:
2214 <UL>
2215 <LI>Use EmParameters to control chemistry models.</LI>
2216 <LI>Added <TT>/process/chem/TimeStepModel IRT</TT> UI command
2217 in macro file beam_HCP.in.</LI>
2218 <LI>Corrected molecule name in macro file.</LI>
2219 </UL></LI>
2220 <LI><B>dnadamage1</B>:
2221 <UL>
2222 <LI>Fixed compilation errors on macOS/clang with C++23 enabled.</LI>
2223 </UL></LI>
2224 <LI><B>dnadamage2</B>:
2225 <UL>
2226 <LI>Modified molecule names of OH, HO2, O in MoleculeDefinition.
2227 Each molecule configuration has a molecule definition.</LI>
2228 <LI>Use G4ChemDissociationChannels_option1 builder to avoid
2229 duplication.</LI>
2230 </UL></LI>
2231 <LI><B>dnaphysics</B>:
2232 <UL>
2233 <LI>PhysicsList: switched to DNA physics constructors i/o model
2234 activator.</LI>
2235 <LI>Updated DetectorConstructor and DetectorMessenger files with
2236 given values of material density and World size.</LI>
2237 <LI>Added messenger for World size change.</LI>
2238 <LI>Added messenger for material density change.</LI>
2239 <LI>Added new n-tuple to collect track information.</LI>
2240 <LI>Added plotDeexcitation.C analysis and deexcitation.in macro.</LI>
2241 <LI>Updated comments in headers.</LI>
2242 </UL></LI>
2243 <LI><B>mfp</B>:
2244 <UL>
2245 <LI>Added auto to plot.C. Code cleanup.</LI>
2246 </UL></LI>
2247 <LI><B>microdosimetry</B>:
2248 <UL>
2249 <LI>Removed original content of the example; replaced by dnaphysics
2250 example.</LI>
2251 <LI>Code simplification to demonstrate the usage of
2252 G4DNAPhysicsActivator.</LI>
2253 </UL></LI>
2254 <LI><B>microprox</B>:
2255 <UL>
2256 <LI>Code cleanup.</LI>
2257 </UL></LI>
2258 <LI><B>microyz</B>:
2259 <UL>
2260 <LI>Code cleanup.</LI>
2261 </UL></LI>
2262 <LI><B>range</B>:
2263 <UL>
2264 <LI>Added auto to plot.C. Code cleanup.</LI>
2265 </UL></LI>
2266 <LI><B>scavenger</B>:
2267 <UL>
2268 <LI>Modified the molecule names of OH, HO2, O in MoleculeDefinition.
2269 Each molecule configuration has a molecule definition.</LI>
2270 </UL></LI>
2271 <LI><B>slowing</B>:
2272 <UL>
2273 <LI>Added auto to plot.C. Code cleanup.</LI>
2274 </UL></LI>
2275 <LI><B>spower</B>:
2276 <UL>
2277 <LI>SteppingAction: extended use for ions heavier than helium.
2278 <LI>In spower.in input macro, added extra commands to show how
2279 to shoot ions heavier than helium.</LI>
2280 <LI>Code cleanup.</LI>
2281 </UL></LI>
2282 <LI><B>svalue</B>:
2283 <UL>
2284 <LI>Added auto to plot.C. Code cleanup.</LI>
2285 </UL></LI>
2286 <LI><B>UHDR</B>:
2287 <UL>
2288 <LI>Updated bounce off condition based on:
2289 Karamitros M. et al.2020,arXiv:2006.14225 (2020).</LI>
2290 <LI>Implemented PBC based on
2291 <A TARGET="ext" HREF="https://github.com/amentumspace/g4pbc">https://github.com/amentumspace/g4pbc</A>
2292 to calculate microdosimetry.</LI>
2293 <LI>Modified the molecule names of OH, HO2, O in MoleculeDefinition.
2294 Each molecule configuration has a molecule definition.</LI>
2295 <LI>Added a maximum dose (2 times of cut-off dose) to abort the
2296 event.</LI>
2297 <LI>Updated visualization mode for physical stage.</LI>
2298 <LI>Fixed compilation errors on macOS/clang with C++23 enabled, for
2299 incomplete types of smart-pointers through defaulted destructors.</LI>
2300 </UL></LI>
2301 <LI><B>wvalue</B>:
2302 <UL>
2303 <LI>Added auto to plot.C. Code cleanup.</LI>
2304 </UL></LI>
2305 </UL></LI>
2306 <LI><B>medical/fanoCavity</B>
2307 <UL>
2308 <LI>Make PhysicsLists of the example coherent with physics_list library.
2309 Fixed annoying warnings on decay table.</LI>
2310 </UL></LI>
2311 <LI><B>medical/fanoCavity2</B>
2312 <UL>
2313 <LI>Make PhysicsLists of the example coherent with physics_list library.</LI>
2314 </UL></LI>
2315 <LI><B>medical/radiobiology</B>
2316 <UL>
2317 <LI>Updated for changes in accumulables: use new <TT>Register()</TT>
2318 method with shorter name.</LI>
2319 </UL></LI>
2320 <LI><B>parallel</B>
2321 <UL>
2322 <LI>Removed obsolete TopC example.</LI>
2323 <LI><B>MPI</B>
2324 <UL>
2325 <LI>Updated build script for CTests definitions.</LI>
2326 </UL></LI>
2327 <LI><B>ThreadsafeScorers</B>
2328 <UL>
2329 <LI>Removed use of no longer supported TiMemory.</LI>
2330 </UL></LI>
2331 </UL></LI>
2332 <LI><B>parameterisations</B>
2333 <UL>
2334 <LI><B>gflash/gflasha</B>
2335 <UL>
2336 <LI>ExGflashHistoManager: fixed initialisation of <TT>fVerbose</TT>.</LI>
2337 <LI>Bigger calo length, radial histos in fraction of radius Moliere;
2338 fixed index range.</LI>
2339 <LI>Restored <TT>setMat()</TT> functionality; added geometry
2340 commands.</LI>
2341 <LI>Moved event generator defaults from vis.mac to PrimaryGenerator
2342 class.</LI>
2343 <LI>Updated macro files and code cleanup.</LI>
2344 </UL></LI>
2345 <LI><B>Par04</B>
2346 <UL>
2347 <LI>Bump tensorflow version, as suggested in
2348 <A HREF="https://github.com/Geant4/geant4/pull/75">GitHub Dependabot PR#75</A>.</LI>
2349 </UL></LI>
2350 </UL></LI>
2351 <LI><B>polarisation/Pol01</B>
2352 <UL>
2353 <LI>Updated for changes in accumulables.</LI>
2354 </UL></LI>
2355 <LI><B>radioactivedecay</B>
2356 <UL>
2357 <LI><B>Activation</B>
2358 <UL>
2359 <LI>PhysicsList: added G4HadronElasticPhysicsXS.</LI>
2360 <LI>RadioactiveDecayPhysics: added Triton.</LI>
2361 <LI>GammaNuclearPhysics, GammaNuclearPhysicsLEND: applied
2362 coding rules.</LI>
2363 </UL></LI>
2364 <LI><B>rdecay01</B>
2365 <UL>
2366 <LI>PhysicsList: set <TT>MeanLifeThreshold</TT> to <TT>1 nanosecond</TT>.</LI>
2367 <LI>Added time windowed biasing to rdecay01.in macro.</LI>
2368 <LI>In timeWindowBiased.mac and rdecay01.in, removed
2369 <TT>/process/had/rdm/BRbias</TT>.</LI>
2370 </UL></LI>
2371 </UL></LI>
2372 <LI><B>runAndEvent</B>
2373 <UL>
2374 <LI><B>RE03</B>
2375 <UL>
2376 <LI>Adding ability to run in sub-event parallel mode.</LI>
2377 </UL></LI>
2378 <LI><B>RE05</B>
2379 <UL>
2380 <LI>Avoid deleting anything after deletion of run-manager in
2381 <TT>main()</TT>.</LI>
2382 <LI>Modified exampleRE05.in macro to temporarily disable use
2383 of the HEPEvt interface, pending event data update.</LI>
2384 </UL></LI>
2385 <LI><B>RE07</B>
2386 <UL>
2387 <LI>Fixed compilation warnings for potentially initialised local
2388 variable in EmStandardPhysicsTrackingManager in
2389 <TT>PostStepDoIt()</TT>.</LI>
2390 <LI>Fixed compilation warning on clang-19.</LI>
2391 </UL></LI>
2392 </UL></LI>
2393 </UL>
2394 <LI><B>vidualization</B>
2395 <UL>
2396 <LI><B>standalone</B>
2397 <UL>
2398 <LI>A smarter way of getting extent of geometry that ignores
2399 invisible volumes. Thus, if the world is marked invisible,
2400 it ignores it.</LI>
2401 <LI>In DrawGeometryVisAction: use G4PhysicalVolumeModel to
2402 determine extent.</LI>
2403 <LI>In vis.mac, added some commands from B1 vis.mac macro,
2404 to get a nice view.</LI>
2405 </UL></LI>
2406 <LI><B>userVisAction</B>
2407 <UL>
2408 <LI>Removed run1.mac and run2.mac macros, as not useful in this
2409 example context.</LI>
2410 </UL></LI>
2411 <LI><B>vtk</B>
2412 <UL>
2413 <LI>Updated for changes in accumulables: use new <TT>Register()</TT>
2414 method with shorter name.</LI>
2415 <LI>Removed unused macro vtkExample.in.</LI>
2416 </UL></LI>
2417 </UL></LI>
2418 </UL>
2419 </UL>
2420
2421 <HR>
2422
2423 </BODY>
2424 </HTML>