File indexing completed on 2025-01-18 09:16:07
0001 <HTML>
0002 <HEAD>
0003 <TITLE>Geant4 11.2 Release Notes</TITLE>
0004 </HEAD>
0005 <BODY BGCOLOR='F0F0F0'>
0006
0007 <P> </P>
0008 <BR>
0009 <P> </P>
0010
0011 <P ALIGN="Center">
0012 <FONT SIZE="+4" COLOR="#238E23">
0013 <B>Geant4 11.2 Release Notes</B>
0014 </FONT>
0015
0016 <TABLE WIDTH="100%">
0017 <TR><TD ALIGN="Right">
0018 <FONT SIZE="-1" COLOR="#5C3317">
0019 <B><I>December 8<SUP>th</SUP>, 2023</I></B>
0020 </FONT>
0021 </TD></TR>
0022 </TABLE>
0023
0024 <BR><BR>
0025 <HR ALIGN="Center" SIZE="7%">
0026 <P>
0027 The code and binary libraries for the supported systems are available
0028 through our <A TARGET="ext" HREF="http://cern.ch/geant4/support/download">Source
0029 Code Web page</A>.
0030 </P>
0031 <P>
0032 <I>We are grateful for the efforts of Geant4 users who have provided
0033 detailed feedback or comprehensive reports of issues.
0034 We thank in particular those who have contributed corrections,
0035 improvements or developments included in this release. </I>
0036 </P>
0037 <P>
0038 Please refer to the
0039 <A TARGET="ext" HREF="http://cern.ch/geant4/support/user_documentation">Geant4
0040 User Documentation</A> for further information about using Geant4.
0041 </P>
0042
0043 <H2><I>Contents</I></H2>
0044 <OL>
0045 <LI><A HREF="#1.">Supported and Tested Platforms</A></LI>
0046 <LI><A HREF="#2.">Supported CLHEP, VecGeom and PTL versions</A></LI>
0047 <LI><A HREF="#3.">Items for migration of the user code</A></LI>
0048 <LI><A HREF="#4.">New Developments and Capabilities</A></LI>
0049 <LI><A HREF="#5.">Expected effects on physics and performance</A></LI>
0050 <LI><A HREF="#6.">Known Run-Time Problems and Limitations</A></LI>
0051 <LI><A HREF="#7.">Compilation Warnings</A></LI>
0052 <LI><A HREF="#8.">Geant4 Software License</A></LI>
0053 <LI><A HREF="#9.">Detailed list of changes and fixes</A></LI>
0054 </OL>
0055
0056 <P> </P>
0057 <A NAME="1."></a>
0058 <HR>
0059
0060
0061
0062 <H2>1. Supported and Tested Platforms</H2>
0063
0064 Platforms:
0065 <UL>
0066 <LI>Linux, gcc-11.3.1.<BR>
0067 Tested on 64 bit architectures (Intel or AMD) with
0068 Alma Linux 9 (based on RedHat Linux Enterprise 9).</LI>
0069 <LI>macOS 14.1.1 Sonoma with Apple LLVM/Clang-15.<BR>
0070 Tested on 64 bit architectures (Intel or Apple Silicon).</LI>
0071 <LI>Windows-10 with Visual C++ 14.36 (Visual Studio 2022).</LI>
0072 </UL>
0073
0074 More verified and tested configurations (64 bits):
0075 <UL>
0076 <LI>Linux, gcc-9.4/10.3/11.3/12.1/13.2, clang-14/16/17</LI>
0077 <LI>Linux, Intel-icx 2022.2</LI>
0078 <LI>macOS 13.6 Ventura with Apple LLVM/clang-15</LI>
0079 <LI>macOS 12.7 Monterey with Apple LLVM/clang-14</LI>
0080 <LI>Windows/10 with Visual C++ 14.29 (Visual Studio 2019)</LI>
0081 </UL>
0082
0083 <P> </P>
0084 <A NAME="2."></A>
0085 <HR>
0086
0087
0088
0089 <H2>2. Supported CLHEP, VecGeom and PTL versions</H2>
0090
0091 This release of Geant4 has been verified with
0092 <A TARGET="ext" HREF="http://cern.ch/clhep/">CLHEP</A>, release <B>2.4.7.1</B>.
0093 Use of a different CLHEP version may cause incorrect simulation results.<BR>
0094 NOTE: an internal module of the relevant CLHEP classes is provided and can be
0095 used as alternative to an external CLHEP library installation.<BR>
0096 A configuration option allows a Geant4 installation to use the
0097 <A HREF="https://gitlab.cern.ch/VecGeom/VecGeom/">VecGeom Library</A>
0098 primitives, to replace the original Geant4 solids.<BR>
0099 VecGeom version <B>2.0.0-rc2</B> or <B>1.2.6</B> have been tested when using
0100 such configuration.<BR>
0101 PTL version <B>2.3.3</B> is required for external installation of the
0102 <A HREF="https://github.com/jrmadsen/PTL">PTL tasking library</A>.<BR>
0103 CMake <B>3.16</B> is the minimum version required to build Geant4.
0104
0105 <P> </P>
0106 <A NAME="3."></A>
0107 <HR>
0108
0109
0110
0111 <H2>3. Items for migration of the user code</H2>
0112
0113 Listed here is some relevant information on developments included in this
0114 release.
0115 Note that for all users a full re-installation of libraries (or a full
0116 re-compilation) and a re-compilation of user applications is required.
0117
0118 <P> </P>
0119 <B>General</B>
0120 <P> </P>
0121 <UL>
0122 <LI>Added support for declaring headers of a source code module private.
0123 Headers declared private are not installed. Partial refactoring of
0124 modules.</LI>
0125 <LI>Removed deprecated GNUmake scripts for libraries build.</LI>
0126 </UL>
0127
0128 <P> </P>
0129 <B>Geometry, Fields and Transportation</B>
0130 <P> </P>
0131 <UL>
0132 <LI>The inheritance level for G4TouchableHistory has been removed, simplifying
0133 touchables handling. G4VTouchable is now a simple typedef of
0134 G4TouchableHistory, therefore forward declarations of G4VTouchable
0135 in the code will have to be promoted to concrete inclusion of the
0136 related header file.</LI>
0137 <LI>Unused concrete touchable types G4GRSSolid and G4GRSVolume have been
0138 retired and are no longer available.</LI>
0139 </UL>
0140
0141 <P> </P>
0142 <B>Electromagnetic and optical physics</B>
0143 <P> </P>
0144 <UL>
0145 <LI>G4NeutrinoPhysics constructor is now added.</LI>
0146 <LI>New dataset G4EMLOW-8.5 is required and should be used.</LI>
0147 </UL>
0148
0149 <P> </P>
0150 <B>Hadronic physics</B>
0151 <P> </P>
0152 <UL>
0153 <LI>The default value of the time threshold for radioactive decays of ions -
0154 above which these decays are ignored - has been changed, from
0155 <TT>10^27 ns</TT> (i.e. about twice the age of the universe) to
0156 <TT>1 year</TT>. For applications where radioactive decays of ions do
0157 play an important role, it is recommended to increase the default time
0158 threshold of these decays to a very high value, e.g. <TT>1.0e+60 years</TT>.
0159 This can be done in either one of the following three ways:
0160 <OL>
0161 <LI>Via UI command, e.g.
0162 <TT>/process/had/rdm/thresholdForVeryLongDecayTime 1.0e+60 year</TT>,
0163 (command to be used after <TT>/run/initialization</TT>);</LI>
0164 <LI>Via C++ interface, e.g.
0165 <TT>G4HadronicParameters::Instance()->SetTimeThresholdForRadioactiveDecay( 1.0e+60*CLHEP::year )</TT>
0166 (to be placed in the main program before run initialization);</LI>
0167 <LI>Via the second parameter of the constructor of the class
0168 G4RadioactiveDecay (for analogue mode only) or G4Radioactivation
0169 (for both analogue or biased mode), e.g.
0170 <TT>G4RadioactiveDecay( "RadioactiveDecay", 1.0e+60*CLHEP::year )</TT>
0171 or <TT>G4Radioactivation( "Radioactivation", 1.0e+60*CLHEP::year )</TT>
0172 (this is for custom physics lists, before run initialization).</LI>
0173 </OL>
0174 In the examples, the first method is adopted.</LI>
0175 <LI>Renamed classes for capture from G4ParticleHPCapture to G4NeutronHPCapture.
0176 Removed unused G4NeutronHP*.hh headers for elastic and inelastic.</LI>
0177 </UL>
0178
0179 <P> </P>
0180 <B>Persistency</B>
0181 <UL>
0182 <LI>The build of the persistency library, G4Persistency, has been split into
0183 G4mctruth, G4geomtext and (optional) G4gdml libraries.</LI>
0184 </UL>
0185
0186 <P> </P>
0187 <B>Visualization and Modeling</B>
0188 <P> </P>
0189 <UL>
0190 <LI>In order to allow support of Qt6, OGL is temporarily diverted to TSG by default.
0191 If VTK is requested, due to compatibility issues, all other drivers that use OpenGL
0192 - GLES "toolssg" drivers and all OpenGL drivers - are not registered automatically
0193 by G4VisExecutive.</LI>
0194 </UL>
0195
0196 <P> </P>
0197 <B>Data Sets</B>
0198 <P> </P>
0199 <UL>
0200 <LI>This release introduces new data set versions.
0201 Please see the corresponding details in
0202 <A href="#data-notes">Section 9</A> of this document.
0203 <UL>
0204 <LI>New data set versions: <TT>G4EMLOW-8.5, G4ABLA-3.3,
0205 G4INCL-1.2</TT>.</LI>
0206 <LI>In order to use <TT>ParticleHP</TT> for charged particles
0207 (protons, deuterons, tritons, He3 and alphas), an optional data
0208 set <TT>G4TENDL-1.4</TT> is required, and can be optionally
0209 downloaded in addition.</LI>
0210 </UL></LI>
0211 </UL>
0212
0213 <A NAME="4."></A>
0214 <HR>
0215
0216
0217
0218 <H2>4. New Developments and Capabilities </H2>
0219
0220 <B>General</B>
0221 <UL>
0222 <LI>First implementation of G4SubEvent and related mechanism for registration
0223 and merging in a run.</LI>
0224 <LI>Reviewed/simplified stream buffer and I/O classes.</LI>
0225 </UL>
0226
0227 <B>Analysis</B>
0228 <UL>
0229 <LI>Added new G4AnalysisManager functions for deleting selected histograms,
0230 profiles and n-tuples, with related UI commands.</LI>
0231 <LI>G4AnalysisManager functions <TT>GetNof[Hn|Pn|Ntuple]s()</TT> can be called
0232 with a new, optional, Boolean argument <TT>onlyIfExist</TT>.</LI>
0233 <LI>Added UI commands for creating n-tuple.</LI>
0234 </UL>
0235
0236 <B>Geometry & Field</B>
0237 <UL>
0238 <LI>New Quantum State Simulation (QSS) integration method, an alternative
0239 method of integration offering built-in interpolation capability and
0240 enabling faster finding of the intersection of the trajectory with
0241 surfaces.</LI>
0242 <LI>Added new G4VNavigation common navigation interface class and streamlined
0243 code in navigation classes to use the new common interface.</LI>
0244 <LI>Added new G4SafetyCalculator class, auxiliary to G4Navigator; used in
0245 G4Navigator in <TT>ComputeSafety()</TT> to avoid saving/restoring
0246 state.</LI>
0247 </UL>
0248
0249 <B>Materials</B>
0250 <UL>
0251 <LI>New G4ElementDataRegistry management class for shared data per element in
0252 materials.</LI>
0253 <LI>In G4MaterialPropertiesTable, improved building of vectors of material
0254 property names.</LI>
0255 <LI>In G4NistMaterialBuilder, all liquid materials are marked as
0256 <TT>kLiquid</TT>.</LI>
0257 </UL>
0258
0259 <B>Electromagnetic physics</B>
0260 <UL>
0261 <LI>Fixed single scattering per region, active inside the region
0262 and disabled outside.</LI>
0263 <LI>Removed most calls to environment variables in electromagnetic physics
0264 classes</LI>
0265 <LI>In G4UrbanMscModel, reduced number of re-computations of safety.</LI>
0266 <LI>Reviewed initialisation of static data in G4SeltzerBergerModel and
0267 G4eBremsstrahlungRelModel classes.</LI>
0268 <LI>In G4LivermorePhotoElectricModel, updated initialisation of static tables
0269 for thread safety and setting of shell cross-sections.</LI>
0270 <LI>New process G4XrayReflection to describe X-ray surface scattering based
0271 on data provided in <TT>G4EMLOW-8.5</TT>.</LI>
0272 <LI>New class G4MicroElecCapture for better estimation of the non ionizing
0273 energy deposition.</LI>
0274 <LI>Rewritten G4DNARuddIonisationExtendedModel G4DNA model, applicable for
0275 scaled energy interval from <TT>100 eV</TT> to <TT>100 MeV</TT>.</LI>
0276 </UL>
0277
0278 <B>Hadronic physics</B>
0279 <UL>
0280 <LI>Introduced a new, alternative set of parameters for the Fritiof (FTF) string
0281 model, meant to overcome the problem of too optimistic (i.e. narrow) pion
0282 shower energy resolutions in ATLAS calorimeters with respect to test-beam
0283 data. This new FTF tune is enabled only in the reference physics list
0284 FTFP_BERT_ATL.</LI>
0285 <LI>In G4RadioactiveDecay, changed default threshold for the time beyond
0286 which radioactive decays are ignored, from twice the age of the
0287 Universe to one year. The code has also been reviewed to use only one
0288 table of radioactive decay channels and streamlined code for thread
0289 safety.</LI>
0290 <LI>Major extension of the INCLXX model to handle antiproton annihilation
0291 at rest and in-flight. All INCLXX-based physics lists now use INCLXX for
0292 the antiproton annihilation at rest.
0293 Note that, for the time being, for in-flight antiproton annihilation, FTFP
0294 is still used in all physics lists.</LI>
0295 <LI>Implemented an accurate modeling of elastic resonant scattering in heavy
0296 nuclei by the use of the Doppler Broadening Rejection Correction (DBRC)
0297 algorithm. By default, this treatment is not activated; it can be switched
0298 on via the UI command: <TT>/process/had/particle_hp/use_DBRC true</TT>.</LI>
0299 <LI>Implemented interface allowing the coupling between Binary Cascade (BIC)
0300 and ABLA, i.e. using BIC for the cascade and then ABLA for the nuclear
0301 de-excitation.</LI>
0302 <LI>Extended Bertini model to allow the use of ABLA as alternative post-cascade
0303 nuclear de-excitation (the default de-excitation remains unchanged).</LI>
0304 <LI>New cross-section class G4ChargeExchangeXS for charge exchange process.</LI>
0305 <LI>Reviewed and updated the fermi_breakup model.</LI>
0306 <LI>Safer initialisation of static data in hadronic cross-section classes.
0307 Added new HP cross-section classes.</LI>
0308 <LI>Added classes for QMD model optimised for light ions, recommended
0309 for medical applications.</LI>
0310 </UL>
0311
0312 <B>Particles</B>
0313 <UL>
0314 <LI>Particle properties have been updated according to PDG-2023.</LI>
0315 </UL>
0316
0317 <B>Persistency</B>
0318 <UL>
0319 <LI>Added possibility to set alternative grammar for schema validation
0320 while reading a GDML file.</LI>
0321 </UL>
0322
0323 <B>Physics Lists</B>
0324 <UL>
0325 <LI>New physics list QGSP_BIC_HPT, similar to QGSP_BIC_HP, but with
0326 special treatment of elastic scattering of thermal neutrons activated.</LI>
0327 <LI>Added new physics lists to the physics factory, for <TT>HPT</TT> variants
0328 (i.e. with special treatment of elastic scattering of thermal neutrons)
0329 of physics lists with <TT>HP</TT> already present (FTFP_BERT_HPT,
0330 QGSP_BERT_HPT, QGSP_BIC_HPT, QGSP_BIC_AllHPT, FTFP_INCLXX_HPT,
0331 QGSP_INCLXX_HPT, Shielding_HPT, and ShieldingM_HPT).</LI>
0332 <LI>Introduced new physics list names to the physics factory, Shielding_HP and
0333 ShieldingM_HP, as alias of, respectively, Shielding and ShieldingM.</LI>
0334 <LI>Used in the FTFP_BERT_ATL physics list a new, specific, FTF tune meant to
0335 overcome the problem of too optimistic (i.e. narrow) pion shower energy
0336 resolutions in ATLAS calorimeters with respect to test-beam data.
0337 Note: for all other reference physics lists (e.g. FTFP_BERT), the default
0338 set of FTF parameters is applied; in order to enable the new tune in these
0339 physics lists, one can use, before initialization, either the UI command:
0340 <TT>/process/had/models/ftf/selectTuneByName energy-resolution-tune2023-v0</TT>
0341 or through C++ interface:
0342 <TT>G4FTFTunings::Instance()->SetTuneApplicabilityState(4, 1)</TT>.</LI>
0343 <LI>In INCLXX-based reference physics lists (e.g. FTFP_INCLXX, QGSP_INCLXX, etc.),
0344 INCLXX is used for antiproton annihilation at rest (instead of FTFP as
0345 before).
0346 Note: in order to use INCLXX for antiproton annihilation at rest in other
0347 physics lists, one need to modify the source code of the physics list by
0348 replacing the class G4StoppingPhysics with G4StoppingPhysicsWithINCLXX.</LI>
0349 <LI>Added new physics constructor for neutrino physics, G4NeutrinoPhysics,
0350 and its messenger. New constructors G4ChargeExchangePhysics and
0351 G4NeutrinoPhysics may be added on top of any modular Physics List.
0352 Both constructors have messengers with UI commands allowing to configure
0353 these new physics processes.</LI>
0354 <LI>Added a Boolean parameter to the Shielding physics list constructor
0355 which allows to use the new G4LightIonQMD model instead of the default
0356 QMD model.
0357 Note: the new model G4LightIonQMD provides more precise modelling than
0358 QMD for medical applications; for other applications, e.g. shielding,
0359 physics validation is needed to compare the two models.</LI>
0360 <LI>New physics list QBBC_ABLA, behaving as QBBC, but using the ABLA model
0361 for nuclear de-excitation, instead of precompound/de-excitation,
0362 for charged pions and nucleons projectiles.
0363 This is for testing, not yet recommended for physics studies.</LI>
0364 </UL>
0365
0366 <B>Processes - General</B>
0367 <UL>
0368 <LI>New submodule <I>channeling</I>, implementing fast-simulation channeling
0369 model in oriented crystals with Baier Katkov method for the calculation of
0370 radiation probability, radiation point and parameters of photon production
0371 as well as spectrum accumulation.</LI>
0372 </UL>
0373
0374 <B>Visualization and Interfaces</B>
0375 <UL>
0376 <LI>First version of the TSG_[QT,X11,XT,WINDOWS]_ZB sub drivers, allowing for
0377 interactive 3D rendering bypassing native graphics systems.</LI>
0378 <LI>TSGQt driver temporarily enabled by default with OGL driver choice,
0379 to allow support of Qt6.</LI>
0380 <LI>Updated and extended Vtk visualization driver with new features and
0381 fixes.</LI>
0382 <LI>Supporting first implementation of a no-frills GUI-side scene tree
0383 in the Qt GUI.</LI>
0384 <LI>Implemented a more flexible way of choosing a graphics system for
0385 visualisation, preserving the existing behaviour in all aspects.</LI>
0386 <LI>Implemented <I>generic cutaways</I> in visualization. Clips, sections and
0387 cutaways will now be available to *all* viewers (OpenGL still uses
0388 OpenGL clip planes. Use another driver, e.g., TSG, to get "generic
0389 cutaways").</LI>
0390 <LI>Enabled first-level support for Qt6.
0391 Fixed minimum supported version for Qt5 to be 5.9.</LI>
0392 <LI>In G4UIQt, implemented right-click pop-up menu for touchables in new
0393 scene tree.</LI>
0394 </UL>
0395
0396 <B>Examples</B>
0397 <UL>
0398 <LI>New Geant4-FLUKA interface and two hadronic examples, providing access to
0399 FLUKA-Cern hadron-nucleus inelastic physics.</LI>
0400 <LI>New advanced example <TT>xray_TESdetector</TT> of the application of Geant4
0401 in a space environment. It represents an x-ray detector derived from the
0402 X-IFU, the X-ray spectrometer designed and developed by the European Space
0403 Agency (ESA) for use on the ATHENA telescope</LI>
0404 <LI>New advanced example <TT>xray_SiliconPoreOptics</TT>, demonstrating an
0405 application of Geant4 in space environment. The geometry represents a
0406 single reflective pore used to simulate on a smaller scale the effect
0407 of the millions of pores forming the mirror of the ATHENA Silicon Pore
0408 Optics (SPO).</LI>
0409 <LI>New extended example <TT>radiobiology</TT>, realized for dosimetric and
0410 radiobiological applications of proton and ion beams.</LI>
0411 <LI>New advanced example <TT>dsbandrepair</TT>, a Geant4-DNA application for
0412 evaluating the early radiation-induced DNA damage.</LI>
0413 <LI>New Geant4-DNA example <TT>UHDR</TT> showing how to activate the mesoscopic
0414 model in chemistry. It allows to simulate chemical reactions longtime
0415 (beyond <TT>1 us</TT>) of post-irradiation.</LI>
0416 <LI>New Geant4-DNA example <TT>dnadamage2</TT> providing scoring of plasmid DNA
0417 strand breaks using the IRT method.</LI>
0418 <LI>New extended Vtk specific example demonstrating new features only available
0419 in the VTK viewer.</LI>
0420 </UL>
0421
0422 <A NAME="5."></A>
0423 <HR>
0424
0425
0426
0427 <H2>5. Expected effects on physics and computing performance</H2>
0428
0429 <B>Electromagnetic physics</B>
0430 <UL>
0431 <LI>Consistent with measurements obtained in Geant4 11.1 series.</LI>
0432 </UL>
0433
0434 <B>Hadronic physics</B>
0435 <UL>
0436 <LI>The hadronic showers remain the same as in Geant4 11.1 series.</LI>
0437 <LI>Physics results of HP-based physics lists are expected to remain unchanged
0438 (i.e. the same as Geant4 11.1 series), regardless several technical code
0439 improvements; the only exception is when using QGSP_BERT_HP, for which
0440 there might be some changes in the physics results (validation is still
0441 on-going).</LI>
0442 </UL>
0443
0444 <B>PTL threading library</B>
0445 <UL>
0446 <LI>The <TT>PTL::ThreadPool::execute_thread()</TT> member function is compiled
0447 unoptimised on Intel-based macOS systems to avoid GPFLT errors (see Bugzilla
0448 ticket <A HREF="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2564">#2564</A>).
0449 No significant performance degradation is observed or expected.</LI>
0450 </UL>
0451
0452 <P> </P>
0453 <A NAME="6."></A>
0454 <HR>
0455
0456
0457
0458 <H2>6. Known Run-Time Problems and Limitations</H2>
0459 For a complete list of outstanding run-time problems and to submit any
0460 problem you may find while running this version of Geant4, please refer
0461 to the
0462 <A TARGET="ext" HREF="http://cern.ch/geant4/problemreport">Geant4 Problem
0463 Reporting System</A>.
0464
0465 <P> </P>
0466 <A NAME="7."></A>
0467 <HR>
0468
0469
0470
0471 <H2>7. Compilation Warnings</H2>
0472
0473 There may be a few compilation warnings on some platforms.
0474 We do not believe that any of these lead to incorrect run-time behaviour.
0475
0476 <P> </P>
0477 <A NAME="8."></A>
0478 <HR>
0479
0480
0481
0482 <H2>8. Geant4 Software License</H2>
0483
0484 A Software License applies to the Geant4 code.
0485 Users must accept this license in order to use it.<BR>
0486 The details and the list of copyright holders is available at
0487 <A href="http://cern.ch/geant4/license">http://cern.ch/geant4/license</A>
0488 and also in the text file <TT>LICENSE</TT> distributed with the source code.
0489
0490 <P> </P>
0491 <A NAME="9."></A>
0492 <HR>
0493
0494
0495
0496 <H2>9. Detailed list of changes and fixes</H2>
0497
0498 These are the main new features/fixes included in this release since the
0499 last patched public release (for more detailed lists of fixes/additions,
0500 please refer to the corresponding History files provided in most packages):
0501
0502 <P> </P>
0503
0504 <A NAME="conf-notes">
0505 <H3><I>Configuration</I></H3></A>
0506 <UL>
0507 <LI><U>CMake</U>
0508 <UL>
0509 <LI>Added support for declaring headers of a source code module private.
0510 Headers declared private are not installed; geant4_module_check reports
0511 an inconsistency if a private header is used non-privately.</LI>
0512 <LI>Updated Qt MOC application for G4UI implementation in place of
0513 G4UIbasic/G4UIcommon.</LI>
0514 <LI>Streamlined VTK cmake components.</LI>
0515 <LI>No longer link to QtPrintSupport, which is not used in the
0516 toolkit.</LI>
0517 <LI>Prefix ZLIB/EXPAT variables with "G4" to prevent clash with VTK's
0518 own internal find of these packages.</LI>
0519 <LI>Export QT_VERSION value to GNUmake setup script.</LI>
0520 <LI>Support finding and use of Qt6 on request for beta testing.
0521 Fixed minimum supported version for Qt5; requiring Qt5 >= 5.9 if Qt5
0522 support is selected.
0523 Find and refind Qt6OpenGLWidgets module in Qt6 for use by Qt/OpenGL
0524 consumers. Find and refind Qt6OpenGLWidgets module in Qt6 for use
0525 by Qt/OpenGL consumers.</LI>
0526 <LI>Handling TOOLSSG_[X11,XT,WINDOWS,QT]_ZB vis drivers.</LI>
0527 <LI>Export VTK_DIR and QtX_DIR to package cache to assist in refinding
0528 both.</LI>
0529 <LI>Updated VTK module dependencies for geometry IO and updated module
0530 init.</LI>
0531 <LI>Added new capabilities to geant4_module_check.py script: given a
0532 module, print list of modules that depend on it; print all modules
0533 sorted in descending order of the number of modules using them;
0534 show which headers from linked modules are included by a module in
0535 its usage requirements output.</LI>
0536 <LI>Updated configuration scripts for splitting of G4persistency
0537 library.</LI>
0538 <LI>Removed setting of -D flags in Geant4Config to enable visualisation
0539 drivers. Libraries now export compile definitions for what they
0540 support to move to a <I>use on link</I> model.</LI>
0541 <LI>Removed obsolete and confusing GEANT4_BUILD_TESTS option and
0542 configuration.</LI>
0543 <LI>Make linking a source code module to a final Geant4 library a
0544 cmake-time error.</LI>
0545 <LI>Allow source code modules to have an AUTOMOC property and promote
0546 this to consuming target to remove hardcoding of Qt-using
0547 modules.</LI>
0548 <LI>Use FindPython in place of deprecated FindPythonInterp in
0549 FindStatTest.</LI>
0550 <LI>Print md5sum in coreutils format for compatibility with busybox.</LI>
0551 <LI>Bump minimum VecGeom version to 1.2.6.</LI>
0552 <LI>New data sets <TT>G4EMLOW-8.5</TT>, <TT>G4ABLA-3.3</TT>, and
0553 <TT>G4INCL-1.2</TT>.</LI>
0554 <LI>Updated tag-IDs for 11.2.</LI>
0555 </UL></LI>
0556 <LI><U>GNUMake</U>
0557 <UL>
0558 <LI>Removed deprecated GNUmake scripts for libraries build.</LI>
0559 <LI>Updated UI/interfaces include paths to reflect new organization.</LI>
0560 <LI>Updated system scripts for Qt settings: removed Qt4 and added Qt6.</LI>
0561 <LI>Updated scripts for splitting of the G4persistency library.</LI>
0562 <LI>No longer link to QtPrintSupport, which is not used in the
0563 toolkit.</LI>
0564 </UL></LI>
0565 </UL>
0566
0567 <A NAME="ana-notes">
0568 <H3><I>Analysis</I></H3></A>
0569 <UL>
0570 <LI>Added new G4AnalysisManager functions for deleting selected
0571 histograms, profiles and n-tuples, with related UI commands:
0572 <TT>/analysis/[hn|pn]/delete id [keepSetting]</TT>.</LI>
0573 <LI>Added <TT>GetNtuple()</TT> functions in G4GenericAnalysisManager,
0574 that in difference from output specific managers, returns n-tuple
0575 booking, that is common to all output types.</LI>
0576 <LI>Added UI commands for creating n-tuple:
0577 <TT>/analysis/ntuple/create name title</TT>,
0578 <TT>/analysis/ntuple/create[I|F|D|S]Column name</TT> and
0579 <TT>/analysis/ntuple/finish</TT>.</LI>
0580 <LI>Added clearing of file data in <TT>DeleteEmptyFiles()</TT>. This
0581 prevents from deleting non-empty files created/filled in previous
0582 runs but not used in new runs.</LI>
0583 <LI><U>Internal changes</U>:
0584 <UL>
0585 <LI>Moved 'CompressionLevel' data/functions members from
0586 G4AnalysisManagerState to G4BaseFileManager to make it available
0587 in helper classes which do not have access to state. Compression
0588 level (default 1) is now used also when writing a Root histogram
0589 in an extra file and writing Hdf5 n-tuples.</LI>
0590 <LI>Postpone creating G4HnMessenger after G4THnMessenger to get better
0591 command ordering in the 'help' tree.</LI>
0592 <LI>Moved <TT>setAxisLog</TT> command from G4THnMessenger to G4HnMessenger
0593 as it applies to function defined in its associated class.</LI>
0594 <LI>Moved <TT>kMaxDim</TT> constant from G4THnMessenger in
0595 G4AnalysisUtilities as needed also at other places.</LI>
0596 <LI>Moved <TT>kDimN</TT> constants from G4VAnalysisManger in
0597 G4AnalysisUtilities and replaced all hard-wired literals '1', '2'
0598 and '3' with these.</LI>
0599 <LI>Moved <TT>Set/GetDefaultFileType()</TT> methods and UI command in
0600 G4VAnalysisManager and G4AnalysisMessenger (from
0601 G4GenericAnalysisManager/Messenger). This allows to support omitting
0602 file extension also when setting file names to
0603 histograms/profiles.</LI>
0604 <LI>Removed G4GenericAnalysisMessenger.</LI>
0605 <LI>Supressed warning from 'CreateTFile' when file is already
0606 existing.</LI>
0607 <LI>Changed verbosity level for "merge" information from 1 to 2.</LI>
0608 <LI>Added warnings about failure in <TT>*HnFileManager::WriteExtra</TT>
0609 where missing.</LI>
0610 <LI>Use forward declarations for templated classes where suitable.</LI>
0611 <LI>Use "G4" prefixed version of EXPAT/ZLIB CMake variables.</TT>
0612 </UL></LI>
0613 <LI><U>Fixes</U>:
0614 <UL>
0615 <LI>Do not create <TT>setAxis*</TT> commands for <TT>idim = 4</TT>.</LI>
0616 <LI>Fixed implementation of set commands per dimension:
0617 <TT>/analysis/hn|pn/setX|Y|Z</TT>. Addressing issue
0618 reported in Geant4 forum.</LI>
0619 </UL></LI>
0620 </UL>
0621
0622 <A NAME="digits-notes">
0623 <H3><I>Digitization & Hits</I></H3></A>
0624 <UL>
0625 <LI>Applied clang-tidy corrections and general code modernization.</LI>
0626 <LI>Moved docstrings prior to function declarations for doxygen/IDE
0627 compatibility.</LI>
0628 </UL>
0629
0630 <A NAME="emstd-notes">
0631 <H3><I>Electromagnetic Processes</I></H3></A>
0632 <UL>
0633 <LI><B>DNA</B>:
0634 <UL>
0635 <LI>Reorganised multiple material model of PTB. G4VDNAModel plays like a
0636 data layer for multiple material models. The concrete models are
0637 independent of G4DNAModelInterface.</LI>
0638 <LI>G4DNARuddIonisationExtendedModel: rewrite of the model, applicable for
0639 scaled energy interval from 100 eV to 100 MeV. If for an ion data is
0640 not available, proton cross-section and effective charge are used,
0641 sampling of delta-electron is done using the two regions regression
0642 method. Sharing data between threads.</LI>
0643 <LI>Improved equilibrium processes, introduced G4ChemEquilibrium.</LI>
0644 <LI>Corrected scavenger counter for oxygen.</LI>
0645 <LI>Introduced G4DNAMaterialManager to handle available DNA materials
0646 and keep DNA cross-section data shared across threads.</LI>
0647 <LI>Replaced string to material index and some code cleanup in PTB
0648 models.</LI>
0649 <LI>Added material pointer members for each concrete PTB models.</LI>
0650 <LI>Code cleanup in G4DNAModelInterface for the model combination of
0651 different materials.</LI>
0652 <LI>Added PTB model data to G4DNAMaterialManager singleton.
0653 Updated RegisterModel() function with new structure.</LI>
0654 <LI>Added DNA cross-section to dna_option6.</LI>
0655 <LI>Use analytical method for DNA material in option6, water is unchanged.
0656 Minor correction for DNA material in option6.</LI>
0657 <LI>Added time structure (pulsed beam) to water radiolysis
0658 (G4VUserPulseInfo).</LI>
0659 <LI>Corrected initial values of G4DNAEventScheduler.</LI>
0660 <LI>Corrected 'fastercode' section for dna opt6.</LI>
0661 <LI>Use analytical method for DNA material in option6, water is unchanged.
0662 Minor correction for DNA material in option6.</LI>
0663 <LI>Modified DNA cross-section file name, according to new data set.</LI>
0664 <LI>In navigation classes, removed references to G4TouchableHistoryHandle,
0665 which is now deprecated. Removed references to unused G4GRSSolid and
0666 G4GRSVolume.</LI>
0667 <LI>Applied core clang-tidy fixes, constructor/destructor modernization,
0668 readability and logic for conditionals/Booleans.</LI>
0669 <LI>Fixed Coverity defects for uninitialised scalar variables.</LI>
0670 <LI>Fixed compilation warnings on macOS/XCode for implicit type
0671 conversions.</LI>
0672 <LI>Use G4FindDataDir to access data libraries in place of raw
0673 <TT>getenv()</TT>.</LI>
0674 </UL></LI>
0675 <LI><B>High Energy</B>
0676 <UL>
0677 <LI>G4GammaConversionToMuons, G4AnnihiToMuPair: removed
0678 <TT>using namespace std</TT> and applied cling-tidy base fixes.</LI>
0679 </UL></LI>
0680 <LI><B>Low Energy</B>
0681 <UL>
0682 <LI>In G4LivermorePhotoElectricModel and G4LivermoreRayleighModel removed
0683 calls to environment variables and use G4EmParameters method instead.
0684 Added lock for reading data on the fly; minor code formatting.</LI>
0685 <LI>G4LivermoreGammaConversionModel, G4LivermoreGammaConversion5DModel:
0686 fixed Spline interpolation by calling FillSecondDerivatives().</LI>
0687 <LI>G4LivermorePhotoElectricModel: updated initialisation of static tables
0688 and setting of shell cross-sections. Use logarithmic search of bin for
0689 free vectors, updated use of G4ElementData.
0690 ore accurate check on atomic number Z to fix Coverity reports.</LI>
0691 <LI>In G4LivermoreBremsstrahlungModel, do not setup LPM flag.</LI>
0692 <LI>G4LowEWentzelVIModel: updated according to Coulomb scattering
0693 models.</LI>
0694 <LI>Use access to G4LEDATA via G4EmParameters for G4LivermoreComptonModel,
0695 G4LivermoreGammaConversion5DModel and
0696 G4LivermoreGammaConversionModel.</LI>
0697 <LI>New class G4MicroElecCapture for better estimation of the non ionizing
0698 energy deposition.</LI>
0699 <LI>Simplification of weakly bound electrons treatment in
0700 G4MicroElecInelasticModel_new, handled now similarly to core electrons
0701 with limitEnergy equivalent to binding energy.
0702 Updated <TT>SampleSecondaries()</TT>, and
0703 <TT>RandomizeEjectedElectronEnergyFromCumulatedDcs()</TT>.
0704 Changed implementation of <TT>Interpolate()</TT> method to avoid
0705 division by zero identified by Coverity.
0706 Fixed potential problem at destruction.</LI>
0707 <LI>G4MicroElecMaterialStructure: modification in <TT>GetLimitEnergy()</TT>
0708 function to account for the changes in the treatment of weakly bound
0709 electrons.</LI>
0710 <LI>G4MicroElecSurface: removed repeated checks in <TT>Initilise()</TT>
0711 method, addressing Coverity report.</LI>
0712 <LI>G4MicroElecCapture, G4MicroElecSurface: fixed compilation warnings for
0713 implicit type conversions on XCode. Minor code cleanup (removed tabs,
0714 formatting, use of nullptr...).</TT>
0715 <LI>Fixed trivial reported Coverity defects in G4MicroElecLOPhononModel
0716 and G4MicroElecSurface.</LI>
0717 <LI>Minor code cleanup in G4MicroElecLOPhononModel.</LI>
0718 <LI>Use G4FindDataDir to access data libraries in place of raw
0719 <TT>getenv()</TT>.</LI>
0720 <LI>Applied clang-tidy and clang-format to Livermore code.</LI>
0721 </UL></LI>
0722 <LI><B>Muons</B>
0723 <UL>
0724 <LI>G4MuonToMuonPairProductionModel: updated usage of G4ElementData.</LI>
0725 <LI>G4MuPairProductionModel, G4MuonToMuonPairProductionModel: updated
0726 usage of G4ElementData; do not use <TT>IsMaster()</TT> to fill
0727 sampling table; use only 5 2-D tables for sampling; code clean-up.</LI>
0728 <LI>G4MuBremsstrahlungModel: moved filling of static data to constructor.</LI>
0729 <LI>G4TablesForExtrapolator: define particle type when constructing muon
0730 models. Do not delete intermediate G4VEmModels
0731 created for initialisation.</LI>
0732 </UL></LI>
0733 <LI><B>Pii</B>
0734 <UL>
0735 <LI>Fixed few reported Coverity defects.</LI>
0736 </UL></LI>
0737 <LI><B>Standard</B>
0738 <UL>
0739 <LI>G4UrbanMscModel: check IsLocked() method before definition of lateral
0740 displacement algorithm and positron correction; code optimisations and
0741 formatting. Reduced number of re-computations of safety.
0742 Tuned step limit parameterisation for the case of enabled optional
0743 algorithm of lateral displacement. Default tracking unaffected.
0744 Rewritten optional method <TT>SampleDisplacementNew()</TT>; this
0745 method is not used so far in any EM physics configurations by default
0746 but may be enabled via UI command and/or C++ interface.</LI>
0747 <LI>G4ASTARStopping, G4PSTARStopping, G4IonICRU73Data: use logarithmic
0748 search of bin for free vectors.</LI>
0749 <LI>G4CoulombScattering: added SetCombined() method allowing the user to
0750 configure the process; improved code formatting and initialisation.
0751 Added constructor with changed signature, which uses flag
0752 <TT>isCombined</TT> instead of process name.
0753 Added extra constructor to address all existing cases;
0754 for pure single scattering, integral method type is changed and Spline
0755 interpolation is used. Addressing problem report
0756 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2530">#2530</A>.</LI>
0757 <LI>In G4VEmModel, do not delete G4ElementData; do not define LPM
0758 flag.</LI>
0759 <LI>Code cleanup in G4PAI* classes.</LI>
0760 <LI>Removed use of std::getenv() from model classes, use G4EmParameters
0761 instead.</LI>
0762 <LI>G4eCoulombScatterinModel: improved initialisation and code
0763 formatting.</LI>
0764 <LI>G4BraggIonModel inherits from G4Bragg model; fixed stopping power
0765 of heavy ions at moderate energies.</LI>
0766 <LI>G4BraggModel, G4BraggIonModel: use proton stopping data for for all
0767 ions except alpha; make data-sets pointers static.
0768 Addressing problem report
0769 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2532">#2532</A>.</LI>
0770 <LI>In G4BetheBlochModel, G4BraggIonModel and G4BraggModel, updating
0771 effective charge of an ion at each step of simulation or at each call
0772 to G4EmCalculator.</LI>
0773 <LI>G4LindhardSorensenIonModel: use G4BraggModel for preliminary
0774 computation of DEDX at initialisation for G4GenericIon instead of
0775 G4BraggIonModel, which fixes a problem of low-energy ion tracking
0776 recently introduced.</LI>
0777 <LI>G4BetheHeitlerModel, G4PairProductionRelModel,
0778 G4eBremsstrahlungRelModel, G4SeltzerBergerModel: reorganized
0779 initialisation. Initialisation of static element data is performed
0780 only once for the first object independently on how many objects of
0781 this kind is created in a thread.
0782 Fixes to <TT>Initialise()</TT> method, to have thread safe check if
0783 a model is the first instance of the class; set lock and perform
0784 initilisation of all static data.
0785 Results of simulation are identical. Addressing problem report
0786 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2543">#2543</A>.</LI>
0787 <LI>G4eBremsstrahlung, G4SeltzerBergerModel: avoid changing LPM flag at
0788 initialisation; avoid repeating base class initialisation; improved
0789 comments in code.</LI>
0790 <LI>G4SeltzerBergerModel: use inheritance from G4VEmModel instead of
0791 G4eBremsstrahlungRelModel; use 'applyOnce' approach to initialise
0792 static data; code formatting.</LI>
0793 <LI>G4eBremsstrahlungRelModel: use LPM flag from G4EmParameters and
0794 improved comments in code. Use 'applyOnce' approach to initialise
0795 static data. Fix for potential division by zero; use G4Pow.</LI>
0796 <LI>G4WaterStopping, G4hIonisation: code clean-up.</LI>
0797 <LI>G4ionIonisation: do not use G4WaterStopping; code clean-up.</LI>
0798 <LI>Updated hadron/ion ionisation models; initialise stopping power data
0799 once: PSTAR and ICRU90 in G4BraggModel, ASTAR in G4BraggIonModel,
0800 ICRU73 and ICRU90 ion (Z>2) data in G4LindHardSorensenIonModel.</LI>
0801 <LI>Use "G4" prefixed version of EXPAT/ZLIB CMake variables.</LI>
0802 <LI>Requires data-set <TT>G4EMLOW-8.5</TT>.</LI>
0803 </UL></LI>
0804 <LI><B>Utils</B>
0805 <UL>
0806 <LI>G4EmParameters: added extra member and access method to
0807 <TT>G4LEDATA</TT> path allowing checking of the environment variable
0808 for the EM data only once. Added Get/Set method for a new integer
0809 number used for logarithmic bin search in free vector.</LI>
0810 <LI>G4EmParametersMessanger: added UI command
0811 <TT>/process/em/nForFreeVector</TT>.
0812 Also fixed UI command </TT>/process/eloss/setFluctModel</TT>, by
0813 changing "eloss" to "eLoss".</LI>
0814 <LI>G4VEnergyLossProcess: make more straightforward computation of ion
0815 effective charge.</LI>
0816 <LI>G4LossTableBuilder, G4VEnergyLossProcess: improved debug printout.</LI>
0817 <LI>G4LossTableBuilder: define logarithmic search method for inverse range
0818 table.</LI>
0819 <LI>G4VEmModel: trigger computation of ion effective charge for
0820 G4EmCalculator. Use LPM flag from G4EmParameters. Added warning
0821 about use of obsolete method <TT>SetLPMFlag()</TT>.
0822 Use <TT>std::size_t</TT> in all places. Fixed memory leak at exit.</LI>
0823 <LI>G4ionEffectiveCharge: minor optimisation.</LI>
0824 <LI>G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering: use flag of
0825 master thread from G4LossTableManager.</LI>
0826 <LI>G4VEnergyLossProcess: added extra protection excluding negative range;
0827 renamed class member; changed condition to stop low-energy ion, use
0828 kinetic energy and not scaled energy.
0829 Added extra protection for the case of negative range of low-energy
0830 particles. Addressing problem report
0831 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2542">#2542</A>.</LI>
0832 <LI>G4LossTableManager: reserve memory for internal vectors; simplified
0833 destructor; move a part of initialisation of class members to
0834 header. Apply modified interface to G4LossTableBuilder.</LI>
0835 <LI>G4EmCorrections: use <TT>const</TT> to variables where possible;
0836 reduced number of <TT>if</TT> statements, replaced <TT>isMaster</TT>
0837 flag with new flag <TT>isInitializer</TT>; use CLHEP prefix.
0838 Code formatting; removed lock of threads, use flag from
0839 G4LossTableManager instead.</LI>
0840 <LI>G4EmSaturation: fixed possible incorrect calculatioon of effective
0841 charge of a material. Addressing problem report
0842 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2572">#2572</A>.</LI>
0843 <LI>Added SingleScattering option to G4TransportationWithMsc.</LI>
0844 <LI>Improved printout in G4EmCalculator.</LI>
0845 <LI>G4OpticalParameters: set default verbosity to 1.
0846 Removed unused scintillation declarations.</LI>
0847 </UL></LI>
0848 <LI><B>Xrays</B>
0849 <UL>
0850 <LI>First implementation of new process G4XrayReflection, using data
0851 from <TT>G4EMLOW-8.5</TT>.</LI>
0852 <LI>G4Scintillation: verbosity of 0 silences run-time warnings.
0853 Allow different decay time constants for different particles, with
0854 particle-dependent scintillation. Improved an error message.</LI>
0855 <LI>G4GaussXTRadiator: fixed issue by renaming virtual function to prevent
0856 clash between base and inherited classes.</LI>
0857 <LI>G4XrayReflectivity: fixed reported Coverity defect.</LI>
0858 </UL></LI>
0859 </UL>
0860
0861 <A NAME="event-notes">
0862 <H3><I>Event</I></H3></A>
0863 <UL>
0864 <LI>Introducing G4SubEvent and related classes.</LI>
0865 <LI>Addressing to the new track status <TT>fSuspendAndWait</TT>.</LI>
0866 <LI>In G4GeneralParticleSource, fixed <TT>ListSource</TT> command which was
0867 failing to list the correct energy of the sources since they need to be
0868 accessed as a monoenergetic source distribution, rather than the particle
0869 energy.</LI>
0870 <LI>Applied core clang-tidy fixes.</LI>
0871 </UL>
0872
0873 <A NAME="externals-notes">
0874 <H3><I>Externals</I></H3></A>
0875 <UL>
0876 <LI><U>CLHEP</U>:
0877 <UL>
0878 <LI>Updated to CLHEP version 2.4.7.1.</LI>
0879 <LI>Optimised MixMax engine performance and class structure.
0880 Fixes to resolve reproducibility issues. Removed obsolete and
0881 unused coefficient files.</LI>
0882 <LI>Fixed compilation warnings for implicit type conversions on
0883 macOS/XCode 14.1 in Random and Evaluator code.</LI>
0884 <LI>Fixed cases of C++20 deprecated arithmetics with unnamed enumerations
0885 in Vector classes.</LI>
0886 </UL></LI>
0887 <LI><U>G4tools</U>:
0888 <UL>
0889 <LI>Updated to version 6.3.0</LI>
0890 <LI>Added support for Qt6 in glarea.</LI>
0891 <LI>Enabling Qt, Xt, X11, Windows viewers for the tools/zbuffer
0892 rendering.</LI>
0893 <LI>Fix in tools/wroot/file, in the constructor, for the streaming of
0894 the root directory. Addressing problem report
0895 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2570">#2570</A>.</LI>
0896 </UL></LI>
0897 <LI><U>ZLIB</U>:
0898 <UL>
0899 <LI>Updated to upstream zlib-1.2.13, retaining prior Geant4 patches.</LI>
0900 </UL></LI>
0901 </UL>
0902
0903 <A NAME="gen-notes">
0904 <H3><I>General Processes</I></H3></A>
0905 <UL>
0906 <LI><B>Biasing</B>
0907 <UL>
0908 <LI>G4ImportanceProcess: added protection against potential null pointer
0909 on world boundary in <TT>PostStepDoIt()</TT>. Addressing problem report
0910 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=1991">#1991</A>.</LI>
0911 <LI>Removed forward declarations to G4VTouchable.</LI>
0912 </UL></LI>
0913 <LI><B>Cuts</B>
0914 <UL>
0915 <LI>G4ProductionCutsTable: added method <TT>SetEnergyCutVector()</TT>
0916 requested by ALICE; added method <TT>CreateCoupleTables()</TT>
0917 separated from <TT>UpdateCoupleTable()</TT>, needed to prepare
0918 class data.</LI>
0919 </UL></LI>
0920 <LI><B>Optical</B>
0921 <UL>
0922 <LI>G4OpBoundaryProcess: verbosity of 0 silences run-time warnings.</LI>
0923 </UL></LI>
0924 <LI><B>Parameterisation</B>
0925 <UL>
0926 <LI>In G4FastTrack, removed references to G4TouchableHistoryHandle,
0927 which is now deprecated.</LI>
0928 <LI>Define G4GlobalFastSimulationManager as a G4ThreadLocalSingleton
0929 to avoid undeleted allocated object at exit.</LI>
0930 <LI>Applied standard and extended clang-tidy fixes.</LI>
0931 Applied standard clang-format-ing.</LI>
0932 <LI>Mark empty/obsolete functions as deprecated.</LI>
0933 <LI>Normal order accessors and docstrings.</LI>
0934 </UL></LI>
0935 <LI><B>Scoring</B>
0936 <UL>
0937 <LI>Make G4EnergySplitter a private implementation detail of the module.
0938 Make dependency to 'intercoms' private.
0939 Fixed Coverity reported defect in <TT>SplitEnergyInVolumes()</TT>.</LI>
0940 <LI>Removed unnecessary forward declarations of G4VTouchable.</LI>
0941 <LI>Applied core clang-tidy/format fixes.</LI>
0942 </UL></LI>
0943 <LI><B>Transportation</B>
0944 <UL>
0945 <LI>In G4TransportationParameters, added a method to set both warning and
0946 important energies; added method to report lock errors.
0947 Improved reporting of inconsistent changes of 'warning' & 'important'
0948 energies (not only enforce <TT>warning_E < important_E</TT> but also
0949 warn about violations).</LI>
0950 </UL></LI>
0951 </UL>
0952
0953 <A NAME="geo-notes">
0954 <H3><I>Geometry</I></H3></A>
0955 <UL>
0956 <LI>Applied clang-tidy fixes (readability, modernization,
0957 performance, ...).</LI>
0958 <LI><B>Biasing</B>
0959 <UL>
0960 <LI>Use G4AutoLock in G4IStore and G4ImportanceAlgorithm instead of static
0961 mutex data member.</LI>
0962 </UL></LI>
0963 <LI><B>Magnetic Field</B>
0964 <UL>
0965 <LI>Added new Quantum State Simulation (QSS) integration method, an
0966 alternative method of integration which creates approximation functions
0967 for each coordinate (x,p), changing the interpolation polynomials when
0968 the deviation from exact solution is larger than a threshold value.
0969 Offers built-in interpolation capability, enabling faster finding of
0970 the intersection of the trajectory with surfaces.
0971 Currently restricted to using only with a pure magnetic field.</LI>
0972 </UL></LI>
0973 <LI><B>Management</B>
0974 <UL>
0975 <LI>Removed inheritance level for G4TouchableHistory and making
0976 G4VTouchable a simple typdef of G4TouchableHistory, therefore no
0977 longer acting as base class.</LI>
0978 <LI>Imported G4NavigationHistory, G4NavigationHistoryPool,
0979 G4NavigationLevel and G4NavigationLevelRep classes and translation
0980 units from <TT>volumes</TT> module.</LI>
0981 <LI>Made G4TouchableHistoryHandle a typedef of G4TouchableHandle.</LI>
0982 </UL></LI>
0983 <LI><B>Navigation</B>
0984 <UL>
0985 <LI>Added new G4VNavigation common navigation interface class.
0986 Updated existing navigators to make use of the new common
0987 interface.</LI>
0988 <LI>Added <TT>RelocateWithinVolume()</TT> method to G4VoxelNavigation
0989 and to G4ParameterisedNavigation.</LI>
0990 <LI>In G4Navigator, removed references to unused classes G4GRSSolid and
0991 G4GRSVolume; use G4TouchableHandle in place of G4TouchableHistoryHandle
0992 which is now deprecated. Same in G4MultiNavigator, G4DrawVoxels and
0993 G4VIntersectionLocator.
0994 Some code cleanup in G4Navigator and code formatting.</LI>
0995 <LI>Added new G4SafetyCalculator class, auxiliary to G4Navigator; used in
0996 G4Navigator in <TT>ComputeSafety()</TT> to avoid saving/restoring
0997 state.</LI>
0998 <LI>Removed use of forward declarations to G4VTouchable in phantom
0999 parameterisation classes.</LI>
1000 <LI>G4PropagatorInField: added parameters for big steps.
1001 New parameter <TT>fMaxStepSizeMultiplier</TT>, needed to reduce costly
1002 unnecessary integration in QSS; new parameter <TT>fMinBigDistance</TT>
1003 used as minimum distance in case of long steps.
1004 Updated default values:<BR>
1005 <TT>fLargestAcceptableStep = 100*meter</TT> ( from
1006 <TT>1000*meter</TT> );<BR>
1007 <TT>fMaxStepSizeMultiplier = 0.1</TT> ( from <TT>100</TT> ).</LI>
1008 <LI>Fixed <TT>/geometry/test/check_parallel</TT> UI command in
1009 G4GeometryMessenger.</LI>
1010 </UL></LI>
1011 <LI><B>Solids (Boolean)</B>
1012 <UL>
1013 <LI>Added external Boolean processor visualisation interface
1014 G4VBooleanProcessor.</LI>
1015 <LI>Define distinct statistics value in G4BooleanSolid for area and
1016 cubic volume.</LI>
1017 <LI>In G4MultiUnion, fixed problem with downcast in external Boolean
1018 processor, which could result in incorrect <TT>nullptr</TT>.</LI>
1019 <LI>Reduced internal statistics for calculation of cubic volume in
1020 G4UnionSolid and G4SubtractionSolid.</LI>
1021 </UL></LI>
1022 <LI><B>Solids (Specific)</B>
1023 <UL>
1024 <LI>Use <TT>const iterator</TT> in
1025 <TT>G4Voxelizer::GetPointVoxel()</TT>.</LI>
1026 <LI>Fixed use of index in <TT>G4Tet::GetPointOnSurface()</TT>.</LI>
1027 <LI>Fixed bounding box calculation in
1028 <TT>G4VTwistedFaceted::BoundingLimits()</TT>.</LI>
1029 </UL></LI>
1030 <LI><B>Volumes</B>
1031 <UL>
1032 <LI>Moved to <TT>management</TT> the following classes and translation
1033 units: G4NavigationHistory, G4NavigationHistoryPool, G4NavigationLevel
1034 and G4NavigationLevelRep.</LI>
1035 <LI>Removed unused classes G4GRSSolid and G4GRSVolume.</LI>
1036 </UL></LI>
1037 </UL>
1038
1039 <A NAME="glob-notes">
1040 <H3><I>Global</I></H3></A>
1041 <UL>
1042 <LI>Removed public interface to G4strstreambuf: G4strstreambuf becomes a
1043 private implementation detail of G4ios.
1044 Minimized coupling among G4cout/G4strstreambuf/G4coutDestination.</LI>
1045 <LI>Added G4debug output stream for logging messages at lower priority than
1046 G4cout. If used with the Qt GUI, G4debug output is highlighted.</LI>
1047 <LI>G4PhysicsModelCatalog: added the new INCLXX model of antiproton
1048 annihilation at rest.</LI>
1049 <LI>G4PhysicsVector, G4PhysicsFreeVector, G4PhysicsLogVector and
1050 G4PhysicsLinearVector: added extra method to support optional logarithmic
1051 search for bin in free vector needed for particleHP module update.
1052 Code formatting.</LI>
1053 <LI>Fixed memory leak in <TT>G4StatAnalysis::GetCpuClock()</TT>: do not
1054 allocate local variable on the heap.</LI>
1055 <LI>Fixed memory leak in G4Type[Recursive]Mutex<T> and simplified code by
1056 removing unused function parameter.</LI>
1057 <LI>Added new <TT>IgnoreTheIssue</TT> enum entry in G4ExceptionSeverity.</LI>
1058 <LI>Added G4VERSION_REFERENCE_TAG macro to distinguish release/development
1059 versions and cycle of the latter.</LI>
1060 <LI>Fixed compilation error on macOS Apple Silicon when enabling FPE_DEBUG.
1061 No guarantee on the correctness of signal handling on this platform.
1062 Addressing problem report
1063 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2571">#2571</A>.</LI>
1064 <LI>Removed obsolete and no longer used G4SIunits header.</LI>
1065 <LI>Updated date of release for 11.2.</LI>
1066 </UL>
1067
1068 <A NAME="greps-notes">
1069 <H3><I>Graphical Representations</I></H3></A>
1070 <UL>
1071 <LI>Supporting first implementation of a no-frills GUI-side scene tree.
1072 Added G4SceneTreeItem class, an aggregate of data members that represent
1073 properties of objects in the scene (G4Scene). Its data members are
1074 low-level types, so that it can be used across categories, avoiding
1075 coupling.</LI>
1076 <LI>Added centre calculation to HepPolyhedron for use in visualization
1077 systems.</LI>
1078 <LI>G4VisAttributes: trap under-limit requested number of line segments per
1079 circle for polyhedral representation of circular surfaces.
1080 An under-limit request sets number to minimum (3).</LI>
1081 </UL>
1082
1083 <A NAME="had-notes">
1084 <H3><I>Hadronic Processes</I></H3></A>
1085 <UL>
1086 <LI><B>Cross Sections</B>
1087 <UL>
1088 <LI>Removed calls to environment variable <TT>G4PARTICLEXSDATA</TT>, use
1089 G4HadronicParameters access method instead.</LI>
1090 <LI>In G4CrossSectionDataStore, reduced number of calls to environment
1091 variables, which are done only to print output for documentation.
1092 Removed remaining calls to <TT>getenv()</TT> and use
1093 G4HadronicParameters instead. Fixed printing problem in
1094 <TT>DumpPhysicsTable()</TT>.</LI>
1095 <LI>G4ParticleInelasticXS: make upper energy limit for light ions the
1096 same as in FTFP_BERT.</LI>
1097 <LI>G4ElNeutrinoNucleusTotXsc: uncommented methods for interface with
1098 G4ElNeutrinoNucleusProcess.</LI>
1099 <LI>G4GammaNuclearXS: general code clean-up; instantiate data only once
1100 for all instances of this cross-section class; upload data for all
1101 elements before the first run; simplified computation of isotope
1102 cross-section; added extra public method
1103 <TT>LowEnergyCrossSection()</TT>.
1104 More accurate usage of cache; simplified
1105 <TT>GetIsoCrosssection()</TT> and <TT>SelectIsotope()</TT>
1106 methods.</LI>
1107 <LI>G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS,
1108 G4GammaNuclearXS, G4ParticleInelasticXS: use same approach to fill
1109 static data: do not unlock initialisation inside
1110 <TT>BuildPhycsTable()</TT> method until initialisation is done;
1111 minor code formatting.</LI>
1112 <LI>G4NeutronCaptureXS, G4NeutronInelasticXS, G4ParticleInelasticXS: use
1113 <TT>GetComponentByID()</TT> instead of <TT>GetComponentByIndex()</TT>,
1114 allowing to reduce memory for isotope data.</LI>
1115 <LI>G4NeutronCaptureXS, G4NeutronInelasticXS, G4GammaNuclearXS and
1116 G4ParticleInelasticXS: use <TT>std::once_flag</TT> and
1117 <TT>std::call_once()</TT> to initialize static data.</LI>
1118 <LI>G4ChargeExchangeXS: new cross-section class for charge exchange
1119 process. Fill out the content of implementing the charge exchange
1120 process. Providing setter method for the factor multiplying the
1121 cross-section (NA64 request). Added parameterisation of cross-section
1122 of eta_prime, omega(982), and f2(1270) mesons; added low energy limit,
1123 below which cross-section is set to zero.</LI>
1124 <LI>G4PhotoNuclearCrossSection: fixed potential memory leaks.</LI>
1125 <LI>G4IsotopeList: extended arrays to be applicable both for
1126 G4PARTICLEXSDATA and G4PARTICLEHPDATA.</LI>
1127 <LI>Fixed compilation warnings for implicit type conversions on
1128 macOS/XCode>=14.1.</LI>
1129 </UL></LI>
1130 <LI><B>Management</B>
1131 <UL>
1132 <LI>G4HadronicProcess: removed usage of "DebugFlag" and "RandomFile".
1133 Replaced access to environment variables with call to
1134 G4HadronicParameters. Reduced the number of warnings concerning
1135 kaon0 and anti_kaon0 (transformed in kaon0S and kaon0L) to maximum
1136 one warning per thread. Added extra G4Exception for the case where a
1137 worker cannot share initialisation with the master thread.
1138 Addressing problem report
1139 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2528">#2528</A>.
1140 Improved diagnostics.
1141 <LI>G4HadronicProcessStore: avoid checking of environment variables, call
1142 G4HadronicParameters instead. Removed extra not needed empty lines
1143 from information printout. Added printouts for neutrino processes.</LI>
1144 <LI>G4HadronicProcess, G4HadronicProcessStore, G4HadXSHelper: fixed
1145 memory leak at exit.</LI>
1146 <LI>G4HadronicProcessType: added new types for neutrino interactions.</LI>
1147 </UL></LI>
1148 <LI><B>Processes</B>
1149 <UL>
1150 <LI>G4NeutronGeneralProcess: added two access methods, an extra set method
1151 and removed possible variable shadowing.</LI>
1152 <LI>G4HadronElasticProcess, G4NeutronGeneralProcess: fixed problems
1153 identified by Coverity.</LI>
1154 <LI>G4ElNeutrinoNucleusProcess, G4MuNeutrinoNucleusProcess,
1155 G4TauNeutrinoNucleusProcess, G4NeutrinoElectronProcess: update
1156 neutrino cross-section biasing in selected detector-region.</LI>
1157 <LI>G4ElNeutrinoNucleusProcess: updated process name to be
1158 <TT>el-neutrino-nucleus</TT>.</LI>
1159 <LI>New process G4NuVacOscProcess for 3-flavour neutrino oscillation in
1160 vacuum.</LI>
1161 <LI>G4NuVacOscProcess, G4ElNeutrinoNucleusProcess,
1162 G4MuNeutrinoNucleusProcess, G4TauNeutrinoNucleusProcess,
1163 G4NeutrinoElectronProcess: use sub-types of neutrino interactions;
1164 avoid destruction of internal cross-section;
1165 removed unused class members and methods.</LI>
1166 <LI>G4TauNeutrinoNucleusProcess: cleanup of constructor and destructor to
1167 fix Coverity warning.</LI>
1168 </UL></LI>
1169 <LI><B>Stopping</B>
1170 <UL>
1171 <LI>G4HadronicAbsorptionINCLXX: new class to handle annihilation at rest by
1172 INCLXX; for the time being, only for antiproton.
1173 Reduced maximum energy from <TT>10 GeV</TT> to <TT>200 MeV</TT>.</LI>
1174 </UL></LI>
1175 <LI><B>Utilities</B>
1176 <UL>
1177 <LI>G4HadronicParameters: introduced the neutron kinetic energy threshold
1178 for applying the SVT (Sampling of the Velocity of the Target)
1179 algorithm. This is needed to have a consistent value in methods
1180 <TT>GetBiasedThermalNucleus()</TT> in G4Nucleus and
1181 G4ParticleHPElasticFS respectively, to avoid circular dependency
1182 with <TT>particle_hp</TT> module.
1183 Removed two obsolete environment variables and access methods; added
1184 flag for charge exchange.
1185 Added class members defined via environment variable and access methods
1186 for these members, this allows to remove the majority of calls to
1187 <TT>std::getenv()</TT>.
1188 Added two strings and extra methods to access environment variables
1189 used in G4HadronicProcessStore. These variables are not used in
1190 ordinary runs but are checked in each thread and for each particle.
1191 With this update these variables will be checked only once.
1192 Added G4Exception for the case, when environment variable
1193 <TT>G4PARTICLEXSDATA</TT> is not defined.
1194 Added extra Boolean method for accessing debug flag for Binary Cascade,
1195 which may be defined via environment variable
1196 <TT>G4BINARY_CASCADE_DEBUG</TT>.
1197 Introduced methods to get and set the time threshold of radioactive
1198 decays (i.e. radioactive decays that happen later than this value are
1199 ignored), offering a C++ interface to set this parameter.
1200 Added getters and setters of recommended energy limits in physics lists
1201 for the intranuclear cascade model INCLXX, for <TT>pbar</TT>
1202 interactions.</LI>
1203 <LI>G4Nucleus: in the method <TT>GetBiasedThermalNucleus()</TT>, get the
1204 neutron kinetic energy threshold for applying the SVT algorithm from
1205 G4HadronicParameter in method <TT>DoKinematicsOfThermalNucleus()</TT>,
1206 and corrected the way to pass the last parameter, by reference instead
1207 of by value.
1208 Split the method <TT>GetBiasedThermalNucleus()</TT> into two parts, by
1209 introducing a new public method,
1210 <TT>DoKinematicsOfThermalNucleus()</TT>,
1211 which is used also by G4ParticleHPElasticFS to implement the DBRC
1212 algorithm.</LI>
1213 </UL></LI>
1214 <LI><B>Abla</B>
1215 <UL>
1216 <LI>G4AblaInterface: implemented method ApplyYourself() to allow the
1217 coupling between Binary Cascade (BIC) and ABLA, i.e. using BIC for the
1218 cascade and then ABLA for the nuclear de-excitation.</LI>
1219 </UL></LI>
1220 <LI><B>Bertini Cascade</B>
1221 <UL>
1222 <LI>Extended Bertini model to allow the use of ABLA as alternative
1223 post-cascade nuclear de-excitation (the default de-excitation remains
1224 unchanged).
1225 There are two ways to set ABLA as de-excitation for Bertini: via C++
1226 interface, by calling <TT>G4CascadeInterface::useAblaDeexcitation()</TT>,
1227 and via environmental variable, by setting
1228 <TT>G4CASCADE_USE_ABLA=1</TT>.</LI>
1229 <LI>G4AblaDeexcitation: new class that does the nuclear de-excitation,
1230 after the Bertini cascade, by using the ABLA model, and then tranforms
1231 the secondaries in Bertini objects.</LI>
1232 <LI>G4CascadeInterface: added new method <TT>useAblaDeexcitation()</TT>
1233 which sets ABLA as nuclear de-excitation; this method can be called
1234 directly by the user, or automatically in the constructor of the class
1235 when the flag <TT>G4CascadeParameters::useAbla()</TT> is enabled.</LI>
1236 <LI>G4InuclCollider: added new method <TT>useAblaDeexcitation()</TT> which
1237 creates an instance of the new class G4AblaDeexcitation.</LI>
1238 <LI>G4CascadeParameters: added Boolean flag that enables the ABLA
1239 de-dexcitation model in the case that the new environmental variable
1240 <TT>G4CASCADE_USE_ABLA</TT> is set.</LI>
1241 <LI>G4CascadeParamMessenger: fixed memory leak at exit and simplified
1242 the code.</LI>
1243 <LI>Fixed Coverity defect for incorrect integer divide in fission part of
1244 <TT>G4EquilibriumEvaporator::deExcite()</TT>.</LI>
1245 </UL></LI>
1246 <LI><B>Binary Cascade</B>
1247 <UL>
1248 <LI>G4BinaryCascade, G4BinaryLightIonReaction: avoid calls to
1249 <TT>getenv()</TT>, use G4HadronicParameters instead.</LI>
1250 </UL></LI>
1251 <LI><B>De-excitation</B>
1252 <UL>
1253 <LI>G4LevelReader: allow to add more levels of a given isotope than the
1254 hardcoded limit=635 (max number of levels in <TT>G4LEVELGAMMADATA</TT>).
1255 Addressing problem report
1256 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2534">#2534</A>.
1257 Introduced partial fix for problem reports
1258 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2566">#2566</A>
1259 and <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=1986">#1986</A>
1260 for the case when data on internal conversion (IC) are not available; if
1261 IC is disabled, it is assumed that all IC transitions are performed from
1262 the K-shell, which means that independently on IC flag the probability
1263 of gamma transition is unchanged. For G4PhotonEvaporation, still use
1264 only gamma transitions for the case of nuclear level without information
1265 (as in version 11.2-beta).</LI>
1266 <LI>G4LevelManager: added extra public accessor method allowing users to
1267 check level energies and other parameters. Set life time of stable
1268 levels to DBL_MAX instead of -1; left undefined spin 99 and do not
1269 set it to zero.</LI>
1270 <LI>G4DeexPrecoParameters: moved part of initialisation to header; do not
1271 use autolock, use internal flag instead to allow only one dump of
1272 paramenters; print all pre-compound parameters, separate pre-compound
1273 and de-excitation printouts.</LI>
1274 <LI>G4NuclearLevelData: fixed uploading of data before the run.</LI>
1275 <LI>G4LevelManager, G4PhotonEvaporation: improved method names.</LI>
1276 <LI>G4ExcitationHandler: instantiate FermiBreakUp, MultiFragmentation,
1277 and PhotonEvaporation in constructor. Code formatting.</LI>
1278 <LI>Reviewed and updated the fermi_breakup model, to address problem
1279 report
1280 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2263">#2263</A>.
1281 Removed few obsolete classes. Added G4FermiBreakUpUtil class.</LI>
1282 <LI>G4FermiChannels: fixed memory leak at exit.</LI>
1283 <LI>G4VEvaporation, G4Evaporation, G4VEvaporationFactory,
1284 G4EvaporationFactory, G4EvaporationGEMFactory,
1285 G4EvaporationGEMFactoryVI and G4EvaporationDefaultGEMFactory: more
1286 accurate instantiation/destruction of components. Code formatting.</LI>
1287 <LI>G4KalbachCrossSection: dynamic choice of peak position on inverse
1288 cross-section as a function of A.</LI>
1289 <LI>Technical improvements to G4GEMProbability evaporation class.</LI>
1290 <LI>Fixed compilation warning for implicit type conversion on macOS/XCode
1291 14.1 in <TT>G4FermiFragmentsPoolVI::DumpFragment()</TT>.</LI>
1292 <LI>Clean-up evaporation and utils modules.</LI>
1293 <LI>Removed unused files.</LI>
1294 </UL></LI>
1295 <LI><B>Elastic scattering</B>
1296 <UL>
1297 <LI>In G4ChargeExchange, updated input parameters for the method
1298 <TT>SampleSecondaryType()</TT>. Fixed parameter for <TT>SampleT()</TT>
1299 method. Fixed reported Coverity defect on dead code.
1300 Address interface change in G4ChargeExchangeXS.</LI>
1301 </UL></LI>
1302 <LI><B>INCLXX</B>
1303 <UL>
1304 <LI>Major extension of the INCLXX model to handle antiproton annihilation
1305 at rest and in-flight. Requires new dataset G4INCL-1.2.</LI>
1306 <LI>Few corrections in G4INCLXXInterface.</LI>
1307 <LI>Deleted obsolete class G4INCLNNbarToNNbarChannel.</LI>
1308 <LI>Fixed memory leak in G4INCLInteractionAvatar.</LI>
1309 <LI>Use G4FindDataDir to access data libraries in place of raw
1310 <TT>getenv()</TT>.</LI>
1311 </UL></LI>
1312 <LI><B>Lend</B>
1313 <UL>
1314 <LI>Fixed Coverity defect;
1315 <TT>G4LENDGammaCrossSection::SelectChannel()</TT> may return negative
1316 array index, same in G4LENDGammaCombinedCrossSection;
1317 initialize <TT>iChannel</TT> to a positive number.</LI>
1318 <LI>Use "G4" prefixed version of EXPAT/ZLIB CMake variables.</LI>
1319 </UL></LI>
1320 <LI><B>Lepto-nuclear</B>
1321 <UL>
1322 <LI>G4ElectroVDNuclearModel: updated initialisation of data tables.</LI>
1323 </UL></LI>
1324 <LI><B>Particle High Precision</B>
1325 <UL>
1326 <LI>Accurate modeling of elastic resonant scattering in heavy nuclei by
1327 the use of the Doppler Broadening Rejection Correction (DBRC) algorithm.
1328 In G4ParticleHPManager, added new member variables and corresponding
1329 methods, related to the DBRC algorithm.
1330 In G4ParticleHPMessenger, added new UI commands to enable DBRC (which
1331 is off by default) and to specify its parameters.
1332 In G4ParticleHPVector, added new method <TT>GetMaxY()</TT> to provide
1333 the maximum cross-section in the interval between two kinetic energy
1334 values.
1335 In G4ParticleHPChannel, modified method <TT>ApplyYourself()</TT>,
1336 with an extra argument, for a special treatment of the elastic channel.
1337 In G4ParticleHPElastic, modified
1338 <TT>G4ParticleHPChannel::ApplyYourself()</TT> call, with an extra
1339 parameter.
1340 In G4ParticleHPElasticFS, implemented the DBRC algorithm in the new
1341 method <TT>GetBiasedThermalNucleus()</TT>; modified the method
1342 <TT>ApplyYourself()</TT> to call the new method
1343 </TT>GetBiasedThermalNucleus()</TT>; introduced two more
1344 new methods, <TT>InitializeScatterKernelParameters()</TT> and
1345 <TT>RegisterCrossSection()</TT>, and corresponding new member
1346 variables.</LI>
1347 <LI>Added new cross-section classes G4NeutronHPCaptureXS,
1348 G4NeutronHPElasticXS, G4NeutronHPInelasticXS, G4NeutronHPFissionXS,
1349 G4ParticleHPInelasticXS and G4CrossSectionHP.</LI>
1350 <LI>G4ParticleHPMessenger: when changing the neutron kinetic energy
1351 threshold for applying the SVT (Sampling of the Velocity of the Target)
1352 algorithm, as part of the setting of the DBRC algorithm, update the
1353 corresponding value in G4HadronicParameters.</LI>
1354 <LI>G4ParticleHPManager: removed the neutron kinetic energy threshold for
1355 applying the SVT algorithm, as this parameter is in G4HadronicParameters.
1356 Check all environment variables once; provided new methods to access
1357 path to data. Use G4ParticleHPManager for directory names and various flags.
1358 Added data member and Get/Set methods for maximum energy above which
1359 no Doppler broading is applied.
1360 Set default upper limit on Doppler broadening to <TT>30 keV</TT>.
1361 Code clean-up.</LI>
1362 <LI>G4ParticleHPElasticFS: get the neutron kinetic energy threshold for
1363 applying the SVT algorithm from G4HadronicParameters; in the method
1364 <TT>GetBiasedThermalNucleus()</TT>, corrected mistake in the interval
1365 where the max neutron cross-section is considered for rejection.</LI>
1366 <LI>G4ParticleHPInelastic: improved info printout.</LI>
1367 <LI>G4ParticleHPInelasticXS: set upper limit of cross-section to
1368 <TT>30 MeV</TT> instead of <TT>20 MeV</TT>. Fixed constructor.</LI>
1369 <LI>G4ParticleHPDeExGammas: removed internal counter; delete only objects
1370 which are created.</LI>
1371 <LI>Removed G4ParticleHPGamma and G4ParticleHPLevel classes.</LI>
1372 <LI>G4ParticleHPEnergyDistribution, G4ParticleHPContAngularPar,
1373 G4ParticleHPEnAngCorrelation: fixed Coverity warnings.</LI>
1374 <LI>G4ParticleHPContAngularPar, G4ParticleHPContEnergyAngular,
1375 G4ParticleHPEnAngCorrelation, G4ParticleHPNames, G4ParticleHPProduct:
1376 use new interfaces to G4ParticleHPManager, moved constructors,
1377 destructors, and some other methods to source; removed unused
1378 commented lines.</LI>
1379 <LI>G4ParticleHPEnAngCorrelation: minor code cleanup.</LI>
1380 <LI>Renamed classes for capture from G4ParticleHP to G4NeutronHP,
1381 as capture process exists only for neutrons; removed old commented
1382 lines in modified files.</LI>
1383 <LI>Removed unused G4NeutronHP*.hh headers for elastic and inelastic.</LI>
1384 <LI>G4NeutronHPInelasticVI, G4NeutronHPElasticVI: new, alternative model
1385 classes.</LI>
1386 <LI>G4NeutronHPCaptureXS, G4NeutronHPElasticXS, G4NeutronHPInelasticXS,
1387 G4NeutronHPFissionXS, G4CrossSectionHP, G4NeutronFissionVI,
1388 G4NeutronRadCaptureHP: updated models and cross-sections which are
1389 included only in the physics list QGSP_BERT_HP.</LI>
1390 <LI>G4NeutronHPCaptureXS, G4NeutronHPElasticXS, G4NeutronHPInelasticXS,
1391 G4NeutronHPFissionXS: improved comments to the code and description
1392 text.</LI>
1393 <LI>Applied clang-format and clang-tidy fixes.</LI>
1394 <LI>In CMake script, use alphabetical order both for headers and for source
1395 files. Use "G4" prefixed version of EXPAT/ZLIB CMake variables.</LI>
1396 </UL></LI>
1397 <LI><B>Parton-String</B>
1398 <UL>
1399 <LI>G4FTFTunings: introduced a new FTF tune meant to overcome the problem
1400 of too optimistic (i.e. narrow) pion shower energy resolutions in ATLAS
1401 calorimeters with respect to test-beam data.</LI>
1402 <LI>G4BaryonSplitter, G4MesonSplitter, G4QGSMSplittableHadron, G4SPBaryon:
1403 some code cleanup.</LI>
1404 </UL></LI>
1405 <LI><B>Pre-equilibrium</B>
1406 <UL>
1407 <LI>Use the default Coulomb barrier computation.
1408 Code cleanup: code formatting; removed unused data and methods.</LI>
1409 </UL></LI>
1410 <LI><B>QMD</B>
1411 <UL>
1412 <LI>Added classes for QMD model opimised for light ions.</LI>
1413 <LI>G4QMDReaction: do not create local G4Evaporation class, only define
1414 type of evaporation for local G4ExcitationHandler.</LI>
1415 <LI>Fixed Coverity defect for uninitialized variable.</LI>
1416 <LI>Code cleanup in G4QMDMeanField in attempt to fix false positive on
1417 gcc-13.1 diagnostics on alma9. Removed unused map.</LI>
1418 </UL></LI>
1419 <LI><B>Radioactive Decay</B>
1420 <UL>
1421 <LI>Fix in stairstep beta decay spectrum. Addressing problem report
1422 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2567">#2367</A>.
1423 Created new class G4BetaSpectrumSampler to sample a sloped distribution
1424 instead of a flat one. Changed G4BetaMinusDecay and G4BetaPlusDecay to
1425 use the above sampler. Added protection against very large arguments
1426 in <TT>std::exp()</TT> within
1427 <TT>G4BetaDecayCorrections::ModSquared90</TT>.</LI>
1428 <LI>G4RadioactiveDecay: changed default threshold for the time beyond
1429 which radioactive decays are ignored, from twice the age of the
1430 Universe to one year.
1431 Use only one table of radioactive decay channels;
1432 removed unnecessary MULTITHREADED blocks protections; removed lock from
1433 class constructor; added use only lock in the method
1434 <TT>LoadDecayTable()</TT> after the check if the table is already
1435 downloaded; added explicit unlock in this method; removed counter
1436 of instances of the class.
1437 Made all virtual methods override and moved implementations to source.
1438 <TT>DecayIt()</TT> method is declared virtual; removed unused methods;
1439 use reference instead of by-values in method signatures for complex
1440 objects; added G4ITDecay object local for each thread to perform
1441 sampling of radioactive decays with a possibility to sample
1442 correlated gamma emission. Fixed initialisation printout: corrected
1443 place for triton printout.</LI>
1444 <LI>G4RadioactiveDecay, G4Radioactivation: added an extra parameter in the
1445 constructor, to be able to set the threshold for the time beyond which
1446 radioactive decays are ignored. This is meant for custom physics lists.
1447 Moreover, the constructor of these classes has been modified to offer
1448 also a C++ interface, via the singleton G4HadronicParameters, to set
1449 the same time threshold for radioactive decays. This is meant for
1450 reference physics lists. Note that, in the unlikely and weird scenario
1451 that two time thresholds are specified - one via G4HadronicParameters,
1452 and one via the constructor parameter - the larger of the two is
1453 considered, to be conservative. In all cases, an eventual time
1454 threshold specified via UI command prevails on anything else.</LI>
1455 <LI>G4Radioactivation: marked all virtual methods as <TT>override</TT>
1456 and moved implementations to source; marked <TT>DecayIt()</TT> as
1457 <TT>override</TT>; removed methods <TT>GetDecayTable1()</TT>,
1458 <TT>AtRestDoIt()</TT> and <TT>PostStepDoIt()</TT>, use instead base
1459 class methods.</LI>
1460 <LI>G4BetaMinusDecay, G4BetaPlusDecay, G4BetaSpectrumSampler: implemented
1461 thread safe sampling method.</LI>
1462 <LI>G4NuclearDecay: implemented virtual method
1463 <TT>IsOKWithParentMass()</TT> which always return <TT>true</TT>;
1464 made access methods <TT>const</TT> where possible.</LI>
1465 <LI>G4ITDecay: added method <TT>SetupDecay()</TT>, which allows this class
1466 to be used inside local thread.</LI>
1467 <LI>Fixed Coverity defect for uninitialized data in G4BetaSpectrumSampler,
1468 G4RadioactiveDecay and G4BetaSpectrumSampler.</LI>
1469 </UL></LI>
1470 </UL>
1471
1472 <A NAME="interc-notes">
1473 <H3><I>Intercoms</I></H3></A>
1474 <UL>
1475 <LI>Replaced direct access to G4cout/etc stream buffers with call to
1476 G4coutDestination installer function.</LI>
1477 <LI>Implemented ReceiveG4debug() for G4UIsession et al.</LI>
1478 <LI>Applied clang-tidy and clang-format fixes plus normal ordering of
1479 docstrings/access specifications.</LI>
1480 <LI>Removed unused/pointless operators. Use C++17 type aliases.</LI>
1481 Refactored G4UIaliasList to simplify implementation and in particular
1482 memory management.</LI>
1483 <LI>Simplified G4UImessenger implementation.</LI>
1484 Factor G4UIcommand/parameter range validation functions to reduce code
1485 duplication.</LI>
1486 <LI>Added function GetBaseSession() to G4UImanager, finding the base session
1487 in a hierarchy of sessions.</LI>
1488 <LI>Make range check setup consistent between parameters/commands.</LI>
1489 <LI>Moved clear implementation detail classes to private headers.</LI>
1490 </UL>
1491
1492 <A NAME="interf-notes">
1493 <H3><I>Interfaces</I></H3></A>
1494 <UL>
1495 <LI>Implemented ReceiveG4debug for concrete sessions. For the Qt GUI
1496 (G4UIQt) HTML code is added in order to highlight G4debug output.</LI>
1497 <LI>First implementation of user-specified output styles:
1498 <TT>/gui/outputStyle</TT>.
1499 Output streams: cout cerr warn error debug (extendible, see
1500 G4VInteractiveSession header). Only used by G4UIQt at present.</LI>
1501 <LI>Support for first implementation of a no-frills GUI-side scene tree.</LI>
1502 Refactored modules into G4UIcore and G4UIimplementation to isolate
1503 core/always on functionality from concrete UIs requiring external
1504 libraries. Both modules are still built into a G4interfaces library,
1505 with no change to user interface for applications. </LI>
1506 <LI>G4UIQt: fixed mutex bug in implementation of G4UIQt::ReceiveG4debug();
1507 This <I>workaround</I> is to make sure all flushed output appears on the
1508 terminal after a crash. Fixed QSplitter issue, necessary for Qt6 support.
1509 Introduced new scene tree; added colour choice.
1510 Introduced widget for 'mouseDoubleClickEvent'. Implemented callbacks
1511 SceneTreeItemExpanded() and SceneTreeItemCollapsed().
1512 Improved command; allow for leading space in path. Code tidying.
1513 Reworked double-click to use QTreeWidget::itemDoubleClicked.
1514 Implemented right-click pop-up menu for touchables in new scene tree.
1515 Choose sub-set of commands suitable for the pop-up menu.
1516 Fixed bug in <TT>SceneTreeItemClicked()</TT> when invoking
1517 <TT>/vis/scene/activateModel</TT>: the description may have spaces;
1518 use substring up to first space.
1519 In <TT>BuildPVQTree()</TT>, reduce tooltip for a touchable to a simple
1520 two-lines; in <TT>NewSceneTreeItemTreeWidget::ActWithoutParameter()</TT>,
1521 added special case for right-click "dump": pop up message window that may
1522 be suppressed and message the first 1000 characters but suggest a full
1523 dump to session output if desired, or close.
1524 In <TT>SceneTreeItemClicked()</TT>, make daughters invisible when volume
1525 checked invisible, pop up a window of explanation; in
1526 <TT>CreateCommandWidget()</TT>, fixed typo: "green" should be "blue".
1527 Workaround changes in QEvent globalPos/globalPosition for Qt5 and 6.</LI>
1528 <LI>In <TT>G4UIQt::SceneTreeItemClicked()</TT>, use physical volume name to
1529 identify the physical volume model in the scene tree; this allows multiple
1530 models in the scene and each to be separately identified.
1531 Avoid setting <TT>daughtersInvisible</TT> flag if there are no daughters.
1532 Use text to identify text models, allowing one to distinguish multiple
1533 text models.</LI>
1534 <LI>Removed header no longer used in Qt5, which is also not present in Qt6.
1535 Removed support for <TT>Qt < 5.9</TT> in CMake script.</LI>
1536 <LI>Export public compile definitions to indicate availablity of specific UIs.
1537 Moves to <I>use on link</I> model.</LI>
1538 <LI>Set AUTOMOC property on module when Qt used.</LI>
1539 <LI>Applied clang-tidy and clang-format fixes, together with
1540 public/protected/private ordering in headers.</LI>
1541 </UL>
1542
1543 <A NAME="materials-notes">
1544 <H3><I>Materials</I></H3></A>
1545 <UL>
1546 <LI>Added G4ElementDataRegistry, a new management class for shared data.
1547 Modified G4ElementData to make use of G4ElementDataRegistry.</LI>
1548 <LI>G4NistManager: simplified for loops; added MT protection to instance
1549 access method.</LI>
1550 <LI>G4NistMaterialBuilder: changed mean ionisation potential of carbon and
1551 graphite from <TT>78 eV</TT> (ICRU73 recommendation) to <TT>81 eV</TT>
1552 (ICRU90 recommendation); define state as <TT>kStateLiquid</TT> for
1553 several liquids including G4WATER. Addressing problem report
1554 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2568">#2568</A>.</LI>
1555 <LI>G4ICRU90StoppingData: use <TT>const</TT> where possible;
1556 use <TT>std::size_t</TT>; use arrays of energies as G4float.</LI>
1557 <LI>G4Material: use <TT>std::size_t</TT> and added extra comments to setter
1558 methods. Addressing problem report
1559 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2568">#2569</A>.</LI>
1560 <LI>In G4IonisParamMat, use <TT>std::size_t</TT>.</LI>
1561 <LI>G4MaterialPropertiesIndex, G4MaterialPropertiesTable: added material
1562 constant properties for G4Scintillation particle-dependent time constants.
1563 In <TT>SetMaterialPropertiesTable()</TT> added <TT>nullptr</TT> check.</LI>
1564 <LI>G4MaterialPropertiesTable: improved Exception messages; improved building
1565 of vectors of material property names; issue a warning for material
1566 properties vector of length 1.</LI>
1567 <LI>G4ElementData: allow index 0 in data structure (before there was a
1568 limitation <TT>Z > 0</TT>), useful for pair production model.
1569 Also, fixed memory leak at exit.</LI>
1570 <LI>G4ElementData: added G4Physics2Dvector component optional structure;
1571 subdivide run time method in two groups: with or without check on input
1572 parameters; use <TT>std::size_t</TT> type.</LI>
1573 <LI>G4MicroElecMaterialStructure: Modified <TT>GetLimitEnergy()</TT>
1574 function to account for the changes in the treatment of weakly bound
1575 electrons of microelec inelastic model.</LI>
1576 <LI>Applied standard and extended clang-tidy fixes, normal order access
1577 specifiers and docstrings; applied clang-format.</LI>
1578 <LI>Use "G4" prefixed version of EXPAT/ZLIB CMake variables.</LI>
1579 <LI>Use G4FindDataDir to access data libraries in place of raw
1580 <TT>getenv()</TT>.</LI>
1581 </UL>
1582
1583 <A NAME="parameterisations-notes">
1584 <H3><I>Parameterisations</I></H3></A>
1585 <UL>
1586 <LI>New submodule <TT>channeling</TT>, implementing fast-simulation channeling
1587 model in oriented crystals with Baier Katkov method for the calculation of
1588 radiation probability, radiation point and parameters of photon production
1589 as well as spectrum accumulation.</LI>
1590 <LI>Channeling:
1591 <UL>
1592 <LI>Revised version of the Baier-Katkov method with a new features of
1593 increasing of the photon statistics in certain intervals of spectrum.
1594 Updates in defaults and corrected some bugs.</LI>
1595 <LI>Simulated and preliminarly validated the electromagnetic shower in W
1596 with experimental data from Eur. Phys. J. C 82, 699 (2022).</LI>
1597 <LI>Added the Crystalline Undulator (CU) as a periodically bent crystal
1598 to the internal crystal geometry (to be validated still).</LI>
1599 </UL></LI>
1600 <LI>GFLASH:
1601 <UL>
1602 <LI>Replaced use of deprecated functions with modern equivalents.</LI>
1603 <LI>Fixed reported Coverity defects for uninitialized data members.</LI>
1604 </UL></LI>
1605 </UL>
1606
1607 <A NAME="part-notes">
1608 <H3><I>Particles</I></H3></A>
1609 <UL>
1610 <LI>Scanned all mesons and baryons, including their resonances, to
1611 compare their particle properties with PDG-2023. Updated mass and
1612 decay width (lifetime) for particles below with relative error above
1613 1% against PDG-2023.</LI>
1614 <LI>G4IonTable: fixed GetIon() method for the case when the ground state level
1615 of an isomer is floating. Removed some code duplication in FindIon() and
1616 GetIon() methods.
1617 Fixed run-time memory leak in <TT>GetIonName()</TT> methods, now returning
1618 G4String instead of a reference to a string; simplified code, with TLS no
1619 longer involved.</LI>
1620 <LI>G4NuclideTable: taken into account the possibility of floating ground state
1621 levels.</LI>
1622 <LI>G4Ion: added protection against unphysical index of floating level.</LI>
1623 <LI>Applied core/recommended clang-tidy fixes.</LI>
1624 <LI>Apply clang-format, excepting tabular data/constructors.</LI>
1625 <LI>Removed unused headers suggested by include-what-you-use tool.</LI>
1626 <LI>Removed extraneous/duplicate comments.</LI>
1627 </UL>
1628
1629 <A NAME="pers-notes">
1630 <H3><I>Persistency</I></H3></A>
1631 <UL>
1632 <LI>Split build of G4persistency library into G4mctruth, G4geomtext and
1633 (optional) G4gdml libraries.</LI>
1634 <LI>GDML:
1635 <UL>
1636 <LI>Added possibility to set alternative grammar for schema validation
1637 while reading a GDML file. This can be achieved by either calling the
1638 new method SetImportSchema(..) from G4GDMLParser, providing the
1639 absolute path and file name of the XML schema, or by using the new
1640 UI command:
1641 <TT>/persistency/gdml/schema "[absolute_path]/schema_filename"</TT>
1642 before importing the GDML file.
1643 By setting a locally stored alternative grammar, it will instruct the
1644 parser to ignore the default schema specified in the GDML file and
1645 therefore no longer require access to the network for retrieving the
1646 schema.</LI>
1647 <LI>Allow setting of alternative grammar for schema validation via an
1648 environment variable G4GDML_SCHEMA_FILE; it overrides the value set by
1649 SetImportSchema() if both are non-empty strings. Forcing parser to
1650 ignore any schema set in the input GDML file. Checking of grammar and
1651 schema override will fail on missing schema.</LI>
1652 <LI>In G4GDMLWriteStructure::ExportSD(), use GetMasterSensitiveDetector()
1653 from logical volume to retrieve the shadow pointer of the sensitive
1654 detector.</LI>
1655 </UL></LI>
1656 </UL>
1657
1658 <A NAME="lst-notes">
1659 <H3><I>Physics lists</I></H3></A>
1660 <UL>
1661 <LI><B>Builders</B>:
1662 <UL>
1663 <LI>G4HadronicBuilder: added two methods, <TT>BuildINCLXX()</TT> and
1664 <TT>BuildAntiLightIonsINCLXX()</TT>.</LI>
1665 <LI>Removed no longer used file OrderingParameterTable.</LI>
1666 </UL></LI>
1667 <LI><B>Constructors</B>:
1668 <UL>
1669 <LI><U>electromagnetic</U>:
1670 <UL>
1671 <LI>G4EmBuilder, G4EmModelActivator, G4EmStandardPhysicsSS: fixed issue
1672 in single scattering model definition per region for e+, e-, and
1673 light hadrons. Addressing problem report
1674 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2530">#2530</A>.</LI>
1675 <LI>G4EmBuilder, G4EmStandardPhysicsSS: use new constructor for the
1676 G4CoulombScattering process.</LI>
1677 <LI>G4EmStandardPhysicsSS: allow to use
1678 G4TransportationWithMscType. Removed unused header inclusions.</LI>
1679 <LI>G4EmModelActivator: use new constructor for the G4CoulombScattering
1680 process; allow adding G4EmStandardPhysicsSS on top of
1681 G4EmStandardPhysics_option3.
1682 Implemented single scattering per region by adding extra single
1683 scattering process, which is active inside the region and not
1684 active outside; multiple scattering and single scattering
1685 processes for a given charged particle are disabled in the region.
1686 Addressing problem report <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2530">#2530</A>.</LI>
1687 <LI>New G4ChemDissociationChannels and
1688 G4ChemDissociationChannels_option1 classes.</LI>
1689 <LI>G4GammaGeneralProcess: added method GetGammaNuclear().</LI>
1690 <LI>G4EmParticleList: added method EmChargedPartNames(), returning a
1691 minimal list of charged EM particles.</LI>
1692 <LI>G4EmDNABuilder: for Opt2, 4, 6 use for protons and ions;
1693 G4DNARuddIonisationExtendedModel from zero to <TT>100 MeV</TT>;
1694 ion capture limit is set to <TT>0.1 keV</TT>.
1695 For DNA Opt4 and Opt6, restored configuration as of previous
1696 release series for protons, in order to have under control
1697 results of various tests. Correction for proton constructors.
1698 Corrected subtype process of G4LowECapture.</LI>
1699 <LI>Fixed compilation warnings on macOS/XCode for implicit type
1700 conversion.</LI>
1701 </UL></LI>
1702 <LI><U>factory</U>:
1703 <UL>
1704 <LI>Added G4StoppingPhysicsWithINCLXX in
1705 G4RegisterPhysicsConstructors.</LI>
1706 </UL></LI>
1707 <LI><U>gamma_lepto_nuclear</U>:
1708 <UL>
1709 <LI>G4EmExtraPhysics: activate biasing in processes, not in
1710 cross-sections.</LI>
1711 <LI>G4EmExtraPhysics, G4EmMessenger: removed neutrino physics.
1712 Fixed instantiation of e+- nuclear processes.</LI>
1713 <LI>G4NeutrinoPhysics, G4NeutrinoPhysicsMessenger: added new physics
1714 constructor for neutrino physics and its messenger.</LI>
1715 <LI>Clean-up all classes of sub-library.</LI>
1716 </UL></LI>
1717 <LI><U>hadron_elastic</U>:
1718 <UL>
1719 <LI>New class G4HadronElasticPhysicsHPT, inheriting from
1720 G4HadronElasticPhysicsHP and activating the special treatment of
1721 elastic scattering of thermal neutrons.</LI>
1722 <LI>G4HadronElasticPhysicsHP: changed method ConstructProcess() from
1723 <TT>final</TT> to <TT>override</TT>, to be able to define the
1724 ConstructProcess() method for the derived class
1725 G4HadronElasticPhysicsHPT.</LI>
1726 <LI>G4HadronElasticPhysics, G4HadronElasticPhysicsXS,
1727 G4HadronElasticPhysicsHP, and G4HadronElasticPhysicsPHP: more
1728 accurate instantiation of models, cross-sections and the neutron
1729 general process.</LI>
1730 <LI>G4ChargeExchangePhysics: do not use G4PhysicsListHelper, as the
1731 charge exchange process is an addition to the main hadron process.
1732 Updated the constructor. Added setter method for the factor
1733 multiplying the cross-section.</LI>
1734 <LI>G4ChargeExchangePhysics, G4ChargeExchangeMessenger: added UI
1735 commands.</LI>
1736 <LI>Added a low energy limit to the cross-section of the charge exchange
1737 process to allow use of it on top of any physics without any
1738 cross-section correction.</LI>
1739 </UL></LI>
1740 <LI><U>hadron_inelastic</U>:
1741 <UL>
1742 <LI>G4HadronInelasticQBBC: more accurate instantiation of the neutron
1743 general process.</LI>
1744 <LI>G4HadrocPhysicsQGSP_BERT_HP: use alternative HP models and
1745 cross-sections.</LI>
1746 <LI>New class G4HadronInelasticQBBC_ABLA, similar to
1747 G4HadronInelasticQBBC_ABLA, except that for the final-state of
1748 nuclear inelastic interactions of charged pions and nucleons
1749 projectiles, the ABLA model is utilized for nuclear de-excitation,
1750 instead of the usual precompound/de-excitation.
1751 Meant for testing purposes. In principle, these couplings with ABLA
1752 nuclear de-excitation can be extended to all types of projectiles
1753 and to other reference physics lists, but, for the time being, it
1754 is restricted to pion+, pion-, proton and neutron, and only for
1755 QBBC.</LI>
1756 <LI>In G4HadronPhysicsINCLXX, call
1757 <TT>G4HadronicBuilder::BuildAntiLightIonsINCLXX()</TT>
1758 to treat antiproton with INCLXX.</LI>
1759 </UL></LI>
1760 <LI><U>ions</U>:
1761 <UL>
1762 <LI>Added a physics constructor, G4LightIonQMDPhsysics for the new QMD
1763 model for light ions.</LI>
1764 </UL></LI>
1765 <LI><U>limiters</U>:
1766 <UL>
1767 <LI>Fixed reported Coverity defects for unreachable code.</LI>
1768 </UL></LI>
1769 <LI><U>stopping</U>:
1770 <UL>
1771 <LI>G4StoppingPhysicsWithINCLXX: new class, similar to
1772 G4StoppingPhysics, with the only difference that the INCLXX model
1773 (instead of FTFP) is utilized for the antiproton annihilation at
1774 rest.</LI>
1775 </UL></LI>
1776 </UL></LI>
1777 <LI><B>Lists</B>:
1778 <UL>
1779 <LI>FTFP_BERT_ATL: use a new, specific FTF tune meant to overcome the problem
1780 of too optimistic (i.e. narrow) pion shower energy resolutions in
1781 ATLAS calorimeters with respect to test-beam data.</LI>
1782 <LI>Use the new class G4StoppingPhysicsWithINCLXX (instead of
1783 G4StoppingPhysics) in INCLXXPhysicsListHelper: this implies that all
1784 the INCLXX-based physics lists (FTFP_INCLXX, QGSP_INCLXX, etc.) use
1785 INCLXX for the antiproton annihilation at rest.</LI>
1786 <LI>Introduced the new class QGSP_BIC_HPT, which is similar to QGSP_BIC_HP,
1787 but with special treatment of elastic scattering of thermal neutrons
1788 activated.</LI>
1789 <LI>G4PhysListFactory: added new physics lists, corresponding to
1790 <TT>HPT</TT> variants (i.e. with special treatment of elastic
1791 scattering of thermal neutrons) of physics lists with <TT>HP</TT>
1792 already present (FTFP_BERT_HPT, QGSP_BERT_HPT, FTFP_INCLXX_HPT,
1793 QGSP_INCLXX_HPT, QGSP_BIC_HPT, QGSP_BIC_AllHPT, Shielding_HPT, and
1794 ShieldingM_HPT).
1795 Of these, only one (QGSP_BIC_HPT) corresponds to a concrete new physics
1796 list, whereas the others are obtained from the <TT>HP</TT> physics
1797 lists by adding the physics constructor G4ThermalNeutrons.
1798 Introduced new physics list names Shielding_HP and ShieldingM_HP, as
1799 alias of, respectively, Shielding and ShieldingM. These new aliases
1800 allow to have a consistent notation _HPT for all the HP-based physics
1801 lists when the special elastic scattering treatment of thermal neutrons
1802 is enabled.</LI>
1803 <LI>Shielding: added information note that the new physics list names (to
1804 be used with the physics list factory), Shielding_HP and ShieldingM_HP,
1805 are equivalent to, respectively, Shielding and ShieldingM.
1806 Added a option for Shielding to use G4LightIonQMDPhysics, which is
1807 the constructor of light ion QMD.</LI>
1808 <LI>G4PhysListFactoryMessenger: added the new UI command
1809 <TT>/physics_lists/factory/addThermal</TT> to enable the special
1810 treatment of elastic scattering of thermal neutrons for HP-based
1811 physics lists. Added UI commands to enable neutrino and
1812 charge exchange physics.</LI>
1813 <LI>QGSP_BERT_HP: use alternative HP models and cross-sections.</LI>
1814 <LI>QGSP_BERT_AllHP: use default HP elastic builder.</LI>
1815 <LI>New class QBBC_ABLA, which is similar to QBBC, except that for
1816 hadron inelastic the constructor G4HadronInelasticQBBC_ABLA is used,
1817 instead of G4HadronInelasticQBBC. This means that the physics list
1818 QBBC_ABLA behaves as QBBC, with the only difference that for the
1819 final-state of nuclear inelastic interactions of charged pions and
1820 nucleons projectiles, the ABLA model is being used for nuclear
1821 de-excitation, instead of the usual Precompound/de-excitation.</LI>
1822 </UL></LI>
1823 <LI><B>Util</B>:
1824 <UL>
1825 <LI>G4HadProcesses: more accurate implementation for the neutron general
1826 process.</LI>
1827 </UL></LI>
1828 </UL>
1829
1830 <A NAME="run-notes">
1831 <H3><I>Run</I></H3></A>
1832 <UL>
1833 <LI>Added handling (registration and merging) of sub-events in G4Run and
1834 G4RunManager.</LI>
1835 <LI>Do not call <TT>WorkerG4ParticleTable()</TT> from G4ParticleTable in
1836 constructor of G4WorkerRunManager, as called already from G4ParticleTable
1837 through <TT>GetParticleTable()</TT>, which is called beforehand by other
1838 Geant4 classes. Duplicate call was causing memory leak at exit.</LI>
1839 <LI>G4PhysicsListHelper: removed the unused code related to reading from the
1840 file OrderingParameterTable (which has been deleted).</LI>
1841 <LI>Refactor random state file copying to use std::filesystem for
1842 portability.</LI>
1843 <LI>Applied core and optional clang-tidy fixes, plus clang-format and tidying:
1844 removed obsolete comments/dead blocks; normal order access specifiers and
1845 make docstrings Doxygen/IDE compatible.</LI>
1846 </UL>
1847
1848 <A NAME="track-notes">
1849 <H3><I>Track & Tracking</I></H3></A>
1850 <UL>
1851 <LI>Added new state <TT>fSuspendAndWait</TT> to G4TrackStatus.</LI>
1852 <LI>G4TrackStatus is made mutable in G4Track so it can be modified in
1853 stacking.</LI>
1854 <LI>Applied standard and extended set of clang-tidy/format fixes.</LI>
1855 </UL>
1856
1857 <A NAME="vis-notes">
1858 <H3><I>Visualization</I></H3></A>
1859 <UL>
1860 <LI><B>General</B>
1861 <UL>
1862 <LI>Updated configuration so that OpenGL and GLES "toolssg" drivers are
1863 not used in the case VTK is used.</LI>
1864 <LI>Isolated private headers and updated dependencies.</LI>
1865 <LI>Link to new G4UIcore/UIimplementation modules in place of former
1866 G4UIbasic/UIcommon.</LI>
1867 <LI>Exporting public compile definitions to indicate availablity of
1868 specific drivers. Moves to "use on link" model.</LI>
1869 <LI>Support compilation against Qt5 and Qt6.</LI>
1870 <LI>Set AUTOMOC property on module when Qt used.</LI>
1871 </UL></LI>
1872 <LI><B>Management</B>
1873 <UL>
1874 <LI>Implemented a more flexible way of choosing a graphics system.
1875 It preserves the existing behaviour in all aspects.
1876 To take advantage of the new ways, <TT>/vis/open</TT> should be
1877 allowed to use default parameters, either by omitting them
1878 altogether or by using '!'. Without any change of code, i.e.,
1879 using the existing constructor, G4VisExecutive will refer to the
1880 environment variable <TT>G4VIS_DEFAULT_DRIVER</TT>, which should
1881 contain the nickname of the chosen graphics system and, optionally,
1882 a window size hint (space separated).
1883 Or on the command line, precede the app invocation,
1884 (e.g: <TT>G4VIS_DEFAULT_DRIVER=Vtk 'application-name'</TT>).
1885 The window-size-hint can optionally be added to all these options,
1886 e.g: <TT>(bash) export G4VIS_DEFAULT_DRIVER="OGLSX 1000x1000-0+0"</TT>.
1887 Otherwise G4VisExecutve will choose a graphics system on the basis of
1888 batch/interactive running, and Geant4 build options (see list
1889 of registered graphics systems printed at the start of job).</LI>
1890 <LI>Further ways are available by using a new constructor,
1891 <TT>G4VisExecutive(argc, argv)</TT>. This follows G4UIExecutive usage.
1892 If a 3rd argument is supplied, this is your chosen system
1893 (e.g.: <TT>G4VisExecutive(argc, argv, "Vtk")</TT>).
1894 Otherwise, it looks at <TT>G4VIS_DEFAULT_DRIVER</TT>, as above.
1895 Otherwise, it inspects <TT>~/.g4session</TT>.<BR>
1896 G4UIExecutive behaviour is preserved.<BR>
1897 Otherwise, as above, it will choose a graphics system on the basis of
1898 batch/interactive running, and Geant4 build options.</LI>
1899 <LI>G4VisExecutive: added new constructor implementing default graphics
1900 system by environment variable <TT>G4_VIS_DEFAULT_DRIVER</TT>.
1901 Simplified default graphics system by run option (batch/interactive).
1902 Exploit new method, <TT>G4UImanager::GetBaseSession()</TT>.
1903 Added code for default graphics system based on batch or build
1904 flags. In <TT>SetDefaultsByBuildFlags()</TT>, added missing default
1905 for TOOLSSG...ZB drivers.
1906 Temporary divert OGL to TSG for allowing support of Qt6.
1907 Declare TOOLSSG_[X11,XT,WINDOWS,QT]_ZB drivers.
1908 Fixed default TSG nickname when Vtk suppresses OpenGL.
1909 Added single line message "VTK: OpenGL-based drivers suppressed".
1910 Protect all G4cout statements with <TT>fVerbosity</TT> at startup.</LI>
1911 <LI>Implemented choice by argument and by <TT>~/.g4session</TT>.</LI>
1912 <LI>G4VisManager: improved messaging in
1913 <TT>PrintAvailableGraphicsSystems()</TT>.
1914 Improved readability of code that ignores deleted histograms, etc.
1915 Improve printing about histograms that can be plotted in the UI
1916 session. Take into account deleting histograms in G4VisManager:
1917 the vector of histograms can contain 'nullptr' elements.</LI>
1918 <LI>Introducing concept of default XGeometryString (aka window size
1919 hint).</LI>
1920 <LI>G4VisCommandsCompound: in <TT>/vis/open</TT>, exploit "current as
1921 default" for all parameters, including the window-size-hint.</LI>
1922 <LI>G4VisCommandsViewer: in <TT>/vis/viewer/create</TT>, exploit
1923 "current as default" for all parameters, including the
1924 window-size-hint.</LI>
1925 <LI>Introducing scene tree in G4VViewer. The scene tree is a tree of
1926 G4SceneTreeItem objects; its root is a data member fSceneTree of all
1927 viewers by virtue of G4VViewer inheritance. The root G4SceneTreeItem
1928 has children that represent the models (G4VModel sub-classes) in the
1929 scene. For a G4PhysicalVolumeModel (detector components), its children
1930 and children's children, etc., imitate the geometry hierarchy of that
1931 model. These descendants are called "touchables". There may be more
1932 than one G4PhysicalVolumeModel, depending how the user creates his/her
1933 scene. The scene tree is reviewed, and updated if necessary, at every
1934 pass of <TT>G4VSceneHandler::ProcessScene()</TT>. This is called a
1935 "kernel visit". A kernel visit is triggered by vis commands (e.g.,
1936 <TT>/vis/viewer/rebuild</TT>) and by a viewer if deemed necessary.
1937 For example, a kernel visit may not be required for a rotation, zoom,
1938 etc., but required for a change from surface to wireframe. The idea
1939 is that the scene tree can be passed to a GUI, the GUI can create a
1940 tree widget, and interactions with it raise UI commands such as
1941 <TT>/vis/scene/activateModel</TT>, <TT>/vis/set/touchable</TT> and
1942 <TT>/vis/touchable/set/</TT>...
1943 The viewer decides if this requires a kernel visit, otherwise it must
1944 update <TT>fSceneTree</TT> itself (utilities are provided).
1945 Limit the depth of expansion of the scene tree touchables; this is to
1946 prevent the trees of complex detector running off the page; all
1947 touchables are entered but could be in a collapsed item, viewable by
1948 expanding the mother with a left click.
1949 Added scene tree and related functionality.
1950 Improved <TT>G4VViewer::SceneTreeScene::FindOrInsertTouchable()</TT>.
1951 Simplified ghost-touchable transition.
1952 Added "utility" function <TT>UpdateGUISceneTree()</TT>.
1953 Applied clang-format.</LI>
1954 <LI>New scene tree: implementing expand and collapse of touchables.
1955 Expand only to depth 2, thereafter sub-trees are collapsed.
1956 When the scene tree is expanded or collapsed it is remembered in
1957 the viewer-side scene tree and may be propagated to other viewers.</LI>
1958 <LI>First implementation of a no-frills GUI-side interactive scene tree.
1959 Works with touchables; can change the visibility of a touchable.
1960 A view can be prepared with a graphical driver, such as OGL, TSG, OI
1961 or Vtk, and transferred it to Ray Tracer, TOOLSSG_OFFSCREEN, etc.,
1962 simply with <TT>/vis/open RayTracer</TT>, etc.</LI>
1963 <LI>Default special mesh rendering for viewers which can render all
1964 objects.</LI>
1965 <LI>Implemented "generic cutaways". It relies on the Boolean Processor
1966 which handles the Boolean operations on polyhedral representations of
1967 solids. Clips, sections and cutaways will now be available to *all*
1968 viewers (OGL viewers still use OpenGL clip planes).</LI>
1969 <LI>G4VSceneHandler: protect material pointer used to name G4Mesh item.
1970 If null, use name of container. It avoids cases of crash when a G4Mesh
1971 is in a parallel world. In <TT>RequestPrimitives()</TT>, improved test
1972 for invalid Boolean solid.
1973 In <TT>CreateSectionSolid()</TT> and <TT>CreateCutawaySolid()</TT>,
1974 improved algorithms.</LI>
1975 <LI>G4VVisCommand: added static G4SceneTreeItem
1976 <TT>fExistingSceneTree</TT>, used for remembering scene tree of
1977 previous viewer.</LI>
1978 <LI>G4VisCommandsSceneHandler: if there is an existing viewer, store scene
1979 tree.</LI>
1980 <LI>G4VisCommandsViewer: if there is an existing viewer, store scene tree.
1981 Copy existing scene tree to the new viewer.</LI>
1982 <LI>G4ViewParameters: initialise <TT>fSpecialMeshRenderingOption</TT>
1983 as <TT>meshAsDefault</TT>.</LI>
1984 <LI>G4VisCommandsTouchableSet: with <TT>/vis/touchable/set/visibility</TT>,
1985 added one-time warning about circumstances in which the command may
1986 appear not to work.</LI>
1987 <LI>G4VisCommandsSceneAdd, G4VisCommandSceneAddText2D: improved guidance and
1988 description.</LI>
1989 <LI>In G4VisCommandsTouchable, introduced UI command
1990 <TT>/vis/touchable/twinkle</TT>.</LI>
1991 <LI>Removed obsolete attempt at flying (interpolation with splines).
1992 Functionality now delegated to G4ViewParameters.</LI>
1993 <LI>Fized problem of local axes not appearing, by adding
1994 <TT>/vis/viewer/refresh</TT> after
1995 <TT>/vis/touchable/localAxes</TT>.</LI>
1996 <LI>Code cleanup in G4VUserVisAction: made protected <TT>Draw()</TT>
1997 virtual method; improved comments.</LI>
1998 <LI>Fixed compilation warning for implicit type conversion on
1999 macOS/XCode>=14.1.</LI>
2000 </UL></LI>
2001 <LI><B>Modeling</B>
2002 <UL>
2003 <LI>G4VModel: removed unnecessary reference to G4PhysicalVolumeModel.</LI>
2004 <LI>G4PseudoScene: added G4VisAttributes (this was always available, but
2005 never previously made onward available to sub-classes).</LI>
2006 <LI>Added static utility
2007 <TT>G4PhysicalVolumeModel::GetPVNamePathString()</TT>.</LI>
2008 <LI>Updates to implement "generic cutaways".</LI>
2009 <LI>G4PhysicalVolumeModel: introducing touchable count. A new function
2010 <TT>GetNumberOfTouchables()</TT> returns a map with the number of
2011 touchables by depth of the geometry tree. Used in G4VViewer when
2012 deciding whether to expand the scene tree.
2013 In <TT>DescribeSolid()</TT>, improved tests for invalid Boolean
2014 solid in code for section and cutaway.</LI>
2015 </UL></LI>
2016 <LI><B>OpenGL</B>
2017 <UL>
2018 <LI>Removed obsolete G4OPENGL_VERSION_2 symbol and
2019 G4OpenGLVboDrawer class.</LI>
2020 <LI>Make <TT>modeling</TT> module a private dependency, unless Qt
2021 is active, when it must be public.</LI>
2022 <LI>First implementation of a no-frills GUI-side scene tree.</LI>
2023 <LI>G4OpenGLQtViewer: disabled "old" scene tree.</LI>
2024 <LI>No longer link to QtPrintSupport, which is not used in the
2025 toolkit.</LI>
2026 <LI>Removed support for Qt less than version 5.9. Clarify remaining
2027 version checks using QT_VERSION_CHECK instead of raw hex.</LI>
2028 <LI>G4OpenGLQt, G4OpenGLXm: simplified <TT>IsUISessionCompatible()</TT>.
2029 Exploit new method, <TT>G4UImanager::GetBaseSession()</TT>.</LI>
2030 <LI>Fixed precision-loss warning.</LI>
2031 </UL></LI>
2032 <LI><B>OpenInventor</B>
2033 <UL>
2034 <LI>First implementation of a no-frills GUI-side scene tree.</LI>
2035 <LI>No longer link to QtPrintSupport, which is not used in the
2036 toolkit.</LI>
2037 <LI>G4OpenInventor: simplified <TT>IsUISessionCompatible()</TT>.
2038 Exploit new method, <TT>G4UImanager::GetBaseSession()</TT>.
2039 Implemented fix as an OI driver is not appropriate for a batch
2040 session.</LI>
2041 <LI>Fixed reported Coverity defects.</LI>
2042 </UL></LI>
2043 <LI><B>Qt3D</B>
2044 <UL>
2045 <LI>G4Qt3DSceneHandler: added dummy normal line attributes, as Qt6 seems
2046 to require that; fixes wireframe drawing; does not seem to fix
2047 trajectory line drawing, though.
2048 Establish the top physical volume Qt3D entities from the scene.</LI>
2049 <LI>G4Qt3D: simplified <TT>IsUISessionCompatible()</TT>.
2050 Exploit new method, <TT>G4UImanager::GetBaseSession()</TT>.</LI>
2051 <LI>Fixed precision-loss warning.</LI>
2052 </UL></LI>
2053 <LI><B>ToolsSG</B>
2054 <UL>
2055 <LI>First version of the TSG_[QT,X11,XT,WINDOWS]_ZB sub drivers, allowing
2056 the rendering with g4tools/zbuffer (the same used by TSG_OFFSCREEN).
2057 They allow interactive 3D rendering bypassing native graphics
2058 systems. It is fully standalone over the standard C/C++ libs and the
2059 standard pixmap logic of X11, Xt, Qt, Windows, running only the CPU.
2060 Tested with Qt5 and Qt6.</LI>
2061 <LI>First implementation of a no-frills GUI-side scene tree.</LI>
2062 <LI>No longer link to QtPrintSupport, which is not used in the
2063 toolkit.</LI>
2064 <LI>Link to Qt6OpenGLWidgets library when using Qt6 to access
2065 QOpenGLWidget.</LI>
2066 <LI>G4ToolsSGViewer: protected null scene pointer, in case user forgets
2067 to create a scene.</LI>
2068 <LI>G4ToolsSGQtViewer renamed to G4ToolsSGQtGLESViewer for consistency
2069 with the file naming pattern applied in other sub-drivers.</LI>
2070 <LI>G4ToolsSGQtGLES, G4ToolsSGQtZB: simplified
2071 <TT>IsUISessionCompatible()</TT>.
2072 Exploit new method, <TT>G4UImanager::GetBaseSession()</TT>.</LI>
2073 <LI>Fixed Coverity warnings.</LI>
2074 </UL></LI>
2075 <LI><B>Vtk</B>
2076 <UL>
2077 <LI>Refactor of VTK viewer with pipelines, geometry stores; improved 2D
2078 rendering, streamlined VTK cmake components. Added off screen
2079 rendering; fixed bug which locked UI interaction with VtkNative
2080 viewer; many 3D output formats working including GLTF, PLY, OBJ,
2081 VRML; removed cuboid offset present in rectilinear scoring meshes
2082 (caused an explosion of draw calls); fixed spherical marker size.</LI>
2083 <LI>G4VtkSceneHandler: text justification to given coordinate.</LI>
2084 <LI>Separated pipelines into source and include files.</LI>
2085 <LI>Use class inheritance for pipelines G4VVtkPipeline and added ability
2086 to chain pipelines.</LI>
2087 <LI>Separated interactive cutters, clippers.</LI>
2088 <LI>2D transparent image overlay.</LI>
2089 <LI>Improved geant4 commands (/vis/vtk/..).</LI>
2090 <LI>Added vtkUnstructuredGridPipeline for special mesh rendering.</LI>
2091 <LI>G4VtkQt: simplified <TT>IsUISessionCompatible()</TT>.
2092 Exploit new method, <TT>G4UImanager::GetBaseSession()</TT>.</LI>
2093 <LI>Fixed missing circles in rendering.</LI>
2094 <LI>Removed files no longer being built.</LI>
2095 <LI>Applied clang-tidy and clang-format fixes.</LI>
2096 <LI>Removed dead code and no-ops.</LI>
2097 <LI>Fixed compilation warnings for implicit type conversions on
2098 macOS/XCode>=14.1.</LI>
2099 </UL></LI>
2100 </UL>
2101
2102 <A NAME="data-notes">
2103 <H3><I>Data sets</I></H3></A>
2104 <UL>
2105 <LI>New low-energy data set version, <B>G4EMLOW-8.5</B>:
2106 <UL>
2107 <LI>Updated microelec data for electrons.</LI>
2108 <LI>Updated DNA data.</LI>
2109 <LI>Added new data subdirectory for XRayReflection.</LI>
2110 <LI>Updated MicroElec data inside Inelastic and Structure
2111 subdirectories.</LI>
2112 <LI>Added README to all subdirectories.</LI>
2113 </UL></LI>
2114 <LI>New nuclear shell effects data set version, <B>G4ABLA-3.3</B>:
2115 <UL>
2116 <LI>New file named <TT>mass2016.dat</TT> with experimental atomic
2117 mass evaluation from 2016.</LI>
2118 <LI>New file <TT>mass2020.dat</TT> with the binding energies from
2119 the atomic mass evaluation AME2020.</LI>
2120 </UL></LI>
2121 <LI>New data set version for proton and neutron density profiles,
2122 <B>G4INCL-1.2</B>:
2123 <UL>
2124 <LI>Addec new files for antiproton annihilation at rest of INCL.</LI>
2125 <LI>Added new data files for in-flight antiprotons (Channel
2126 probabilities).</LI>
2127 </UL></LI>
2128 </UL></LI>
2129
2130 <A NAME="ex-notes">
2131 <H3><I>Examples</I></H3></A>
2132 <UL>
2133 <LI>Updated reference outputs, macros, READMEs and scripts.</LI>
2134 <LI>Fixes for Doxygen documentation and coding guidelines.</LI>
2135 <LI>Updated vis*.mac macros in most examples, changed <TT>/vis/open</TT>
2136 command for interactive visualization to allow for run-time choices
2137 and simplified comments.
2138 Removed defunct command <TT>/vis/ogl/set/displayListLimit</TT>.</LI>
2139 <LI>In several input macro files, introduced the UI command
2140 <TT>/process/had/rdm/thresholdForVeryLongDecayTime 1.0e+60 year</TT>
2141 to allow all radioactive decays (including the very long ones).</LI>
2142 <LI><B><U>advanced</U></B>
2143 <UL>
2144 <LI><B>air_shower</B>
2145 <UL>
2146 <LI>Fixed warning message regarding the size of the material
2147 property vector.</LI>
2148 </UL></LI>
2149 <LI><B>dsbandrepair</B>
2150 <UL>
2151 <LI>New Geant4-DNA application for evaluating the early radiation-induced
2152 DNA damage. The first development of the simulation chain was carried
2153 out by Meylan et al. in 2017 (Sci. Rep. 2017 7:11923).
2154 Supports all types of DNA geometries constructed with DNAFabric
2155 (Comput. Phys. Comm. 2016 204:159-169). Geometries for human cell
2156 nuclei (fibroblast, endothelium) and yeast are also provided.</LI>
2157 </UL></LI>
2158 <LI><B>eFLASH_radiotherapy</B>
2159 <UL>
2160 <LI>Removed visualization in batch mode.</LI>
2161 </UL></LI>
2162 <LI><B>exp_microdosimetry</B>
2163 <UL>
2164 <LI>Renamed from <TT>radioprotection</TT> example.</LI>
2165 </UL></LI>
2166 <LI><B>fastAerosol</B>
2167 <UL>
2168 <LI>General code cleanup, including clang-tidy.</LI>
2169 </UL></LI>
2170 <LI><B>ICRP110_HumanPhantoms</B>
2171 <UL>
2172 <LI>Now building two executables: ICRP110phantoms and
2173 ICRP110standalone. ICRP110standalone allows allows visualisation
2174 of the phantom without the overhead of the run manager and
2175 initialising of all the physics tables (i.e. cannot visualise
2176 trajectories).</LI>
2177 <LI>standalone.mac: disable auto refresh *before* creating scene.
2178 For auto-refresh viewers, without this change the viewer attempts
2179 to draw the detector with the default view parameters, and in the
2180 case of this phantom, it overwhelms the graphics system.</LI>
2181 <LI>This phantom should be displayed with special mesh rendering.</LI>
2182 <LI>ICRP110PhantomNestedParameterisation: fixed assignment of material
2183 pointer in <TT>ComputeMaterial()</TT>, affecting MT runs.</LI>
2184 <LI>Removed forward declaration of G4VTouchable.</LI>
2185 </UL></LI>
2186 <LI><B>ICRP145_HumanPhantoms</B>
2187 <UL>
2188 <LI>Introduce ICRP145standalone. Building two executables:
2189 ICRP145phantoms and ICRP145standalone. ICRP145standalone allows
2190 visualisation of the phantom without the overhead of the run
2191 manager and physics tables and geometry initialisation.
2192 Of course, you cannot run or visualise trajectories.
2193 Disabled auto refresh *before* creating scene.</LI>
2194 </UL></LI>
2195 <LI><B>medical_linac</B>
2196 <UL>
2197 <LI>Use default MixMax random engine.</LI>
2198 </UL></LI>
2199 <LI><B>STCyclotron</B>
2200 <UL>
2201 <LI>Correction in PrimaryGeneratorAction. Addressing problem report
2202 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2538">#2538</A>.</LI>
2203 <LI>Corrected warning in <TT>vacuum_density</TT>.</LI>
2204 </UL></LI>
2205 <LI><B>stim_pixe_tomography</B>
2206 <UL>
2207 <LI>New application for simulating three-dimensional STIM or PIXE
2208 tomography experiments. References:
2209 NIM Phys.Res. B (536) 2023: 38-44;
2210 Phys. Med. (94) 2022: 85-93; Phys. Med. (65) 2019: 172-180.</LI>
2211 </UL></LI>
2212 <LI><B>underground_physics</B>
2213 <UL>
2214 <LI>Updated analysis and ambe_spectrum.mac. Addressing problem report
2215 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2338">#2338</A>.</LI>
2216 <LI>Addressed problem report
2217 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2503">#2503</A>
2218 and related to
2219 <A href="https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2338">#2338</A>;
2220 also removed redundant alpha_low.mac macro.</LI>
2221 <LI>Moved EM model setters in DMXPhysicsList to G4EmParameters.</LI>
2222 </UL></LI>
2223 <LI><B>xray_SiliconPoreOptics</B>
2224 <UL>
2225 <LI>New example demonstrating an application of Geant4 in space
2226 environment. The geometry used in this example represents a
2227 single reflective pore used to simulate on a smaller scale the
2228 effect of the millions of pores forming the mirror of the ATHENA
2229 Silicon Pore Optics (SPO), as described in:
2230 V.Fioretti et al., STI: Ultraviolet to Gamma Ray. Vol.10699,
2231 SPIE, 2018.
2232 The main purpose of the simulation is the estimation of the induced
2233 residual background at the pore exit caused by proton scattering at
2234 grazing angles.</LI>
2235 </UL></LI>
2236 <LI><B>xray_TESdetector</B>
2237 <UL>
2238 <LI>New example of the application of Geant4 in a space environment.
2239 It represents an x-ray detector derived from the X-IFU, the X-ray
2240 spectrometer designed and developed by the European Space Agency
2241 (ESA) for use on the ATHENA telescope. The main purpose of the
2242 simulation is the estimation of the particle radiation background
2243 impacting on the detector.</LI>
2244 </UL></LI>
2245 </UL></LI>
2246 <LI><B><U>basic</U></B>
2247 <UL>
2248 <LI>Applied clang-tidy checks and use <TT>auto</TT> in <TT>main()</TT>
2249 where suitable and not done by clang-tidy.</LI>
2250 <LI>Fixed and improved setting of G4VisAttribute: do not create vis
2251 attributes with new (causing memory leak); use Geant4 predefined
2252 colours (for clarity).</LI>
2253 <LI><B>B1</B>
2254 <UL>
2255 <LI>In <TT>main()</TT>, use constructor with arguments
2256 <TT>G4VisExecutive(argc, argv)</TT>.</LI>
2257 <LI>Moved tsg_offscreen.mac to example B5.</LI>
2258 </UL></LI>
2259 <LI><B>B2</B>
2260 <UL>
2261 <LI>Removed unsused and unimplemented method declaration
2262 <TT>PrimaryGeneratorAction::SetRandomFlag()</TT>.</LI>
2263 </UL></LI>
2264 <LI><B>B4</B>
2265 <UL>
2266 <LI>Removed unsused and unimplemented method declaration
2267 <TT>PrimaryGeneratorAction::SetRandomFlag()</TT>.</LI>
2268 <LI>In PrimaryGeneratorAction, default <TT>e-, 300 MeV</TT>.</LI>
2269 <LI>RunAction: adjusted binning of histograms.</LI>
2270 <LI>Updated run1.mac and run2.mac macros.</LI>
2271 </UL></LI>
2272 <LI><B>B5</B>
2273 <UL>
2274 <LI>DetectorConstruction: added initialization of <TT>fMessenger</TT>.</LI>
2275 <LI>Added tsg_offscreen.mac (moved from example B1).</LI>
2276 <LI>Removed unused init.mac macro.</LI>
2277 </UL></LI>
2278 </UL></LI>
2279 <LI><B><U>extended</U></B>
2280 <UL>
2281 <LI><B>analysis</B>
2282 <UL>
2283 <LI>Moved default declaration of destructor in header.</LI>
2284 <LI><B>AnaEx03</B>
2285 <UL>
2286 <LI>Updated to demonstrate new analysis manager commands
2287 for deleting selected histograms</LI>
2288 <LI>Added UI command <TT>/AnaEx03/runAction/printStatistic</TT>
2289 to call <TT>PrintStatistics()</TT>. This allows to call this
2290 function at the end of run before resetting histograms and
2291 avoids printing empty statistics in MT mode.</LI>
2292 <LI>Added plotter.mac macro.</LI>
2293 </UL></LI>
2294 <LI><B>B1Con</B>
2295 <UL>
2296 <LI>Synchronised with changes in example B1.</LI>
2297 <LI>Added accumulable class for a vector of Edep per event.</LI>
2298 <LI>Removed unused files: init.mac, B1Run.hh, B1ConRun.hh</LI>
2299 <LI>Fixes for Doxygen.</LI>
2300 </UL></LI>
2301 </UL></LI>
2302 <LI><B>biasing</B>
2303 <UL>
2304 <LI><B>GB06</B>
2305 <UL>
2306 <LI>Replaced use of deprecated G4TouchableHistoryHandle with
2307 G4TouchableHandle.</LI>
2308 </UL></LI>
2309 <LI><B>GB07</B>
2310 <UL>
2311 <LI>Coding guidelines: removed tabulations in <TT>main()</TT>.</LI>
2312 </UL></LI>
2313 <LI><B>ReverseMC01</B>
2314 <UL>
2315 <LI>Removed inclusion of unneeded and now obsolete
2316 G4strstreambuf header.</LI>
2317 </UL></LI>
2318 </UL></LI>
2319 <LI><B>common</B>
2320 <UL>
2321 <LI>Fixes for Doxygen.</LI>
2322 </UL></LI>
2323 <LI><B>electromagnetic</B>
2324 <UL>
2325 <LI>Code revision of all headers.</LI>
2326 <LI><B>TestEm0</B>
2327 <UL>
2328 <LI>New input macro ion.mac.</LI>
2329 <LI>RunAction: restore output format.</LI>
2330 </UL></LI>
2331 <LI><B>TestEm1</B>
2332 <UL>
2333 <LI>New input macro etaDecay.mac.</LI>
2334 <LI><TT>PhysicsList::AddRadioactiveDecay()</TT>:
2335 set ARM false.</LI>
2336 </UL></LI>
2337 <LI><B>TestEm3</B>
2338 <UL>
2339 <LI>Compute and plot energy leakage and total energy.</LI>
2340 <LI>Run: fixed division by zero for the case if energy
2341 deposition in a layer is zero.</LI>
2342 </UL></LI>
2343 <LI><B>TestEm4</B>
2344 <UL>
2345 <LI>RunAction: print run conditions and histograms statistics.</LI>
2346 </UL></LI>
2347 <LI><B>TestEm6</B>
2348 <UL>
2349 <LI>Coding guidelines: removed tabulations from RunAction.</LI>
2350 <LI>Removed useless macro TestEm6_xs.in.</LI>
2351 <LI>Fixed warning in plotHisto macro.</LI>
2352 </UL></LI>
2353 <LI><B>TestEm7</B>
2354 <UL>
2355 <LI>Added extra macro for test muon dEdx and Range.</LI>
2356 </UL></LI>
2357 <LI><B>TestEm8</B>
2358 <UL>
2359 <LI>Applied clang-format.</LI>
2360 </UL></LI>
2361 <LI><B>TestEm11</B>
2362 <UL>
2363 <LI>Compute and plot energy leakage and total energy.</LI>
2364 <LI>In <TT>PhysicsList::RadioactiveDecay()</TT>:
2365 <TT>setARM = false</TT>.</LI>
2366 </UL></LI>
2367 <LI><B>TestEm16</B>
2368 <UL>
2369 <LI>Use XRayReflection_data from G4EMLOW-8.5.</LI>
2370 <LI>Minor update of SteppingAction.</LI>
2371 </UL></LI>
2372 <LI><B>TestEm18</B>
2373 <UL>
2374 <LI>Fix in destructor of StakingAction.</LI>
2375 </UL></LI>
2376 </UL></LI>
2377 <LI><B>eventgenerator</B>
2378 <UL>
2379 <LI><B>particleGun</B>
2380 <UL>
2381 <LI>Code revision of all headers.</LI>
2382 </UL></LI>
2383 <LI><B>pythia/decayer6</B>
2384 <UL>
2385 <LI>Fixes for Doxygen: moved class description comments after
2386 namespace.</LI>
2387 <LI>Updated common directory.</LI>
2388 </UL></LI>
2389 <LI><B>userPrimaryGenerator</B>
2390 <UL>
2391 <LI>Code revision of all headers.</LI>
2392 </UL></LI>
2393 </UL></LI>
2394 <LI><B>field</B>
2395 <UL>
2396 <LI>Applied clang-tidy and new coding guidelines.</LI>
2397 <LI><B>field01</B>
2398 <UL>
2399 <LI>Coding guidelines: split long lines.</LI>
2400 </UL></LI>
2401 <LI><B>field04</B>
2402 <UL>
2403 <LI>Replaced use of deprecated G4TouchableHistoryHandle with
2404 G4TouchableHandle.</LI>
2405 </UL></LI>
2406 </UL></LI>
2407 <LI><B>g3tog4</B>
2408 <UL>
2409 <LI>Fixes for Doxygen: moved class description comments after
2410 namespace.</LI>
2411 </UL></LI>
2412 <LI><B>geometry</B>
2413 <UL>
2414 <LI><B>transforms</B>
2415 <UL>
2416 <LI>Applied clang-tidy and new coding guidelines.</LI>
2417 </UL></LI>
2418 <LI><B>vecGeomNavigation</B>
2419 <UL>
2420 <LI>Coding guidelines: split long lines, added separators in
2421 VG01ActionInitialization.</LI>
2422 <LI>Removed duplicate macro run-ntst.mac.</LI>
2423 </UL></LI>
2424 </UL></LI>
2425 <LI><B>hadronic</B>
2426 <UL>
2427 <LI>Code revision of all headers.</LI>
2428 <LI><B>FlukaCern</B>
2429 <UL>
2430 <LI>New Geant4-FLUKA interface and two hadronic examples,
2431 providing access to FLUKA-Cern hadron-nucleus inelastic
2432 physics:
2433 <UL>
2434 <LI>ProcessLevel/CrossSection: allows the study of Geant4
2435 cross-sections, and FLUKA-Cern hadron-nucleus reaction
2436 cross-sections.</LI>
2437 <LI>ProcessLevel/FinalState: shows how to simulate inelastic
2438 hadron-nucleus interactions, using Geant4 or FLUKA-Cern
2439 models.</LI>
2440 </UL></LI>
2441 </UL></LI>
2442 <LI><B>Hadr01</B>
2443 <UL>
2444 <LI>Added UI commands to enable neutron general process and
2445 extra macro file.</LI>
2446 <LI>In <TT>main()</TT>, added possibility to change transition
2447 energy cascade/string in the command line; added possibility
2448 to enable charge exchange physics in the command line.
2449 Prepare PhysicsList for neutrino and charge exchange physics.</LI>
2450 <LI>HistoManager: added option key to print internal Bertini
2451 cross-section. Added protection agains secondary zero-energy
2452 particles. Improved verbose printout.</LI>
2453 <LI>Fixed bug in profile histogram; removed methods not needed;
2454 replaced virtual keywords with override; use default and
2455 deleted constructor in modified classes.</LI>
2456 <LI>In hadr01.in, added integration test of neutrino and charge
2457 exchange physics.</LI>
2458 </UL></LI>
2459 <LI><B>Hadr03</B>
2460 <UL>
2461 <LI>In <TT>main()</TT>, set <TT>ProduceFissionFragments</TT> to
2462 <TT>true</TT>.</LI>
2463 <LI>PhysicsList: return to use QGSP_BIC_HP.</LI>
2464 <LI>SteppingAction: added protection against secondaries.</LI>
2465 <LI><TT>Run::EndOfRun()</TT>: format adjustement.</LI>
2466 </UL></LI>
2467 <LI><B>Hadr04</B>
2468 <UL>
2469 <LI>PhysicsList: removed definition of <TT>meV</TT>.</LI>
2470 </UL></LI>
2471 <LI><B>Hadr05</B>
2472 <UL>
2473 <LI>Compute and plot Edep, Eleak, Etotal=Edep+Eleak.</LI>
2474 </UL></LI>
2475 <LI><B>Hadr06</B>
2476 <UL>
2477 <LI>Compute and plot total energy released.</LI>
2478 </UL></LI>
2479 <LI><B>Hadr07</B>
2480 <UL>
2481 <LI>Compute and plot Edep, Eleak, Etotal=Edep+Eleak.</LI>
2482 <LI>Added neutron.mac macro.</LI>
2483 </UL></LI>
2484 <LI><B>Hadr08</B>
2485 <UL>
2486 <LI>Fix in <TT>BiasingOperation::ApplyFinalStateBiasing()</TT>:
2487 added calls to biased processes
2488 <TT>CrossSectionDataStore::ComputeCrossSection()</TT>.
2489 This fixes a break observed in the ALICE simulation, that
2490 could be reproduced in this example by changing "G4_Si"
2491 with "G4_SILICON_DIOXIDE".</LI>
2492 </UL></LI>
2493 <LI><B>Hadr10</B>
2494 <UL>
2495 <LI>In SteppingAction, protecting the argument of <TT>acos()</TT>
2496 to be within range.</LI>
2497 </UL></LI>
2498 <LI><B>ParticleFluence</B>
2499 <UL>
2500 <LI>Run, TrackingAction: replaced G4int with G4long for keeping
2501 the information on the multiplicity of particle production.
2502 This avoids rare cases of negative multiplicities due to
2503 integer overflow, seen for runs with at least 4000 events,
2504 in particular with heavy materials, such as Tungsten and
2505 Lead.</LI>
2506 <LI>Renamed macro files from *.g4 to *.in</LI>
2507 </UL></LI>
2508 </UL></LI>
2509 <LI><B>medical/DICOM</B>
2510 <UL>
2511 <LI>DicomNestedPhantomParameterisation: fixed assignment of material
2512 pointer in <TT>ComputeMaterial()</TT>, affecting MT runs.</LI>
2513 <LI>Removed forward declaration for G4VTouchable.</LI>
2514 <LI>Fixes in DicomDetectorConstruction: added correct replica depths
2515 for <TT>x,y,z</TT> of G4PSDoseDeposit3D for nested parameterisation
2516 and corrected voxel ordering according to the fixed formula within
2517 G4PSDoseDeposit3D; added environment variable to switch to standard
2518 G4PSDoseDeposit in the case of regular navigation (default).</LI>
2519 </UL></LI>
2520 <LI><B>medical/dna</B>
2521 <UL>
2522 <LI><B>dnadamage1</B>:
2523 <UL>
2524 <LI>Changes in analysis macros: fixed bug where Boolean
2525 <TT>Primaryflag</TT> was not updated for new primary;
2526 count direct and indirect SB (strand break); introduced
2527 clustering algorithm to extract SSB, DSB (simple, complex);
2528 renamed plot.C to scandamages.C.</LI>
2529 </UL></LI>
2530 <LI><B>dnadamage2</B>:
2531 <UL>
2532 <LI>New example providing scoring of plasmid DNA strand breaks
2533 using the IRT method (J. Ramos-Mendez, et al., Medical
2534 Physics, 2020, 47(11), 5919-5930).
2535 Extends the chem6 example by adding DNA molecule information
2536 and the scoring of Strand Breaks. Experimental conditions are
2537 considered such as oxygen and DMSO molar concentrations.</LI>
2538 </UL></LI>
2539 <LI><B>dnaphysics</B>:
2540 <UL>
2541 <LI>Update SteppingAction with units and addition of gamma
2542 processes.</LI>
2543 <LI>PhysicsList: more clear implementation of two cases: usage
2544 of a DNA physics constructor or standard physics constructor
2545 plus DNA model activator.</LI>
2546 <LI>Updated dnaphysics.in macro and TrackingCut for heavy ions.</LI>
2547 </UL></LI>
2548 <LI><B>icsd</B>:
2549 <UL>
2550 <LI>PhysicsList: deleted unused models; apdated
2551 <TT>RegisterModel()</TT> function with new structure.
2552 Deleted G4DNAVacuumModel.</LI>
2553 </UL></LI>
2554 <LI><B>moleculardna</B>:
2555 <UL>
2556 <LI>Migrated data download to CERN EOS area for examples.</LI>
2557 <LI>Added ability to read particles from a space phase file
2558 (csv).</LI>
2559 <LI>Updated ecoli.mac file.</LI>
2560 <LI>Removed unused public data member <TT>nLineCounter</TT> in
2561 PrimaryGeneratorSourceGRASCSV.</LI>
2562 <LI>Overall code revision with clang-tidy.</LI>
2563 </UL></LI>
2564 <LI><B>range</B>:
2565 <UL>
2566 <LI>Added DNA materials.</LI>
2567 <LI>Simplified PhysicsList.</LI>
2568 <LI>Use G4RunManagerFactory in <TT>main()</TT>.</LI>
2569 </UL></LI>
2570 <LI><B>scavenger</B>:
2571 <UL>
2572 <LI>Fixes for Doxygen</LI>
2573 </UL></LI>
2574 <LI><B>splitting</B>:
2575 <UL>
2576 <LI>Fixes in usage of analysis: close analysis file in
2577 EndOfRunAction, instead of destructor; do not delete
2578 analysis manager.</LI>
2579 <LI>Fixed the Root file name in plot.C.</LI>
2580 </UL></LI>
2581 <LI><B>spower</B>:
2582 <UL>
2583 <LI>Added DNA materials.</LI>
2584 <LI>Simplified PhysicsList.</LI>
2585 <LI>Added extra macro <TT>alpha.in</TT>.</LI>
2586 <LI>Code cleanup in <TT>main()</TT>.</LI>
2587 </UL></LI>
2588 <LI><B>UHDR</B>:
2589 <UL>
2590 <LI>New example showing how to activate the mesoscopic model
2591 in chemistry and combine with SBS model (Tran et al.,
2592 Int. J. Mol. Sci. 22 (2021) 6023).
2593 It allows to simulate chemical reactions longtime
2594 (beyond 1 us) of post-irradiation.</LI>
2595 </UL></LI>
2596 </UL></LI>
2597 <LI><B>medical/radiobiology</B>
2598 <UL>
2599 <LI>New application realized for dosimetric and radiobiological
2600 applications of proton and ion beams. Specific tools were built
2601 to evaluate primaries and secondary energy spectra and a set of
2602 classes, dedicated to the computation of biological, as LET
2603 (Linear Energy Transfer), RBE (Relative Biological Effectiveness),
2604 Survival Fraction, and physical (as dose and fluence) quantities
2605 are implemented.</LI>
2606 </UL></LI>
2607 <LI><B>optical</B>
2608 <UL>
2609 <LI>Applied clang-tidy fixes to code.</LI>
2610 <LI><B>OpNovice</B>
2611 <UL>
2612 <LI>Applied coding guidelines, especially use of override and
2613 variable initialization.</LI>
2614 </UL></LI>
2615 <LI><B>OpNovice2</B>
2616 <UL>
2617 <LI>Added command to kill photons on reaching second surface;
2618 provides a way to visualize boundary scattering.</LI>
2619 <LI>In scint_by_particle.mac, use normal verbosity (1).
2620 Use particle-specific time constants.</LI>
2621 <LI>Applied coding guidelines, especially use of override and
2622 variable initialization.</LI>
2623 </UL></LI>
2624 <LI><B>wls</B>
2625 <UL>
2626 <LI>Applied coding guidelines, especially use of override and
2627 variable initialization.</LI>
2628 </UL></LI>
2629 </UL></LI>
2630 <LI><B>parallel</B>
2631 <UL>
2632 <LI><B>MPI</B>
2633 <UL>
2634 <LI>Fixed typo in <TT>exMPI04</TT> for mistyping of G4Filesystem
2635 in RunActionMaster.</LI>
2636 <LI>Added two new functions in G4MPIrunmanager to access number
2637 of events in master / slave.</LI>
2638 <LI>Updated analysis classes and exMPI04 for changes in analysis.</LI>
2639 <LI>Promoted struct G4RootMpiPNtupleDescription to class.</LI>
2640 <LI>Renamed v.mac in vis.mac.</LI>
2641 </UL></LI>
2642 </UL></LI>
2643 <LI><B>parameterisations</B>
2644 <UL>
2645 <LI>Applied clang-tidy fixes.</LI>
2646 <LI><B>gflash</B>
2647 <UL>
2648 <LI>gflasha: use G4PhysListFactory for physics list
2649 initialization.</LI>
2650 <LI>gflash2: removed unused statics from DetectorConstruction
2651 class.</LI>
2652 <LI>Some code cleanup in gflash1,2,3,a.</LI>
2653 </UL></LI>
2654 <LI><B>Par03</B>
2655 <UL>
2656 <LI>Replaced use of deprecated functions with modern
2657 equivalents.</LI>
2658 </UL></LI>
2659 <LI><B>Par04</B>
2660 <UL>
2661 <LI>Introduce physical readout structure in parallel world.</LI>
2662 <LI>Set run manager type from command line.</LI>
2663 <LI>ONNX version upgrade; verified on 1.14.</LI>
2664 <LI>Added CUDA execution provider to run the inference on
2665 GPU with ONNXruntime.</LI>
2666 </UL></LI>
2667 </UL></LI>
2668 <LI><B>persistency</B>
2669 <UL>
2670 <LI><B>gdml/G01</B>
2671 <UL>
2672 <LI>Added comment in <TT>main()</TT> to demonstrate how to set
2673 alternative schema file for validation while parsing a GDML
2674 document.</LI>
2675 </UL></LI>
2676 <LI><B>P03</B>
2677 <UL>
2678 <LI>Removed visualization settings from batch macros.</LI>
2679 </UL></LI>
2680 </UL></LI>
2681 <LI><B>physicslists</B>
2682 <UL>
2683 <LI>Removed <TT>shared</TT> module as now redundant.</LI>
2684 </UL></LI>
2685 <LI><B>polarisation/Pol01</B>
2686 <UL>
2687 <LI>Ported example to run in MT mode.
2688 <LI>Make DetectorConstruction use <TT>GeometryHasBeenModified()</TT>
2689 and not recreate the geometry in material definition.</LI>
2690 <LI>Removed broken histo.mac macro.</LI>
2691 <LI>Removed annoining printout for the default macro.</LI>
2692 <LI>Converted classes to user defined accumulables.</LI>
2693 <LI>Added analysis macro plotResults.C.</LI>
2694 </UL></LI>
2695 <LI><B>radioactivedecay</B>
2696 <UL>
2697 <LI>Code revision of all headers.</LI>
2698 <LI><B>Activation</B>
2699 <UL>
2700 <LI>Added run.mac macro.</LI>
2701 </UL></LI>
2702 <LI><B>rdecay02</B>
2703 <UL>
2704 <LI>Added run.mac macro.</LI>
2705 </UL></LI>
2706 </UL></LI>
2707 <LI><B>runAndEvent</B>
2708 <UL>
2709 <LI><B>RE02</B>
2710 <UL>
2711 <LI>Removed forward declaration of G4VTouchable.</LI>
2712 </UL></LI>
2713 <LI><B>RE07</B>
2714 <UL>
2715 <LI>Added separators in EmStandardPhysicsTrackingManager.</LI>
2716 </UL></LI>
2717 </UL></LI>
2718 </UL>
2719 <LI><B>vidualization</B>
2720 <UL>
2721 <LI><B>perspective</B>
2722 <UL>
2723 <LI>PerspectiveVisAction: fixed missing include for G4Transform3D
2724 header.</LI>
2725 <LI>In PerspectiveVisAction header, removed unnecessary forward
2726 class declarations. Applied clang-format.</LI>
2727 </UL></LI>
2728 <LI><B>standalone</B>
2729 <UL>
2730 <LI>Included an example of DrawGeometry. DrawGeometryVisAction
2731 shows how to visualise the geometry alone, i.e., without run
2732 manager and physics.</LI>
2733 </UL></LI>
2734 <LI><B>vtk</B>
2735 <UL>
2736 <LI>New Vtk specific example demonstrating new features only
2737 available in the VTK viewer.</LI>
2738 </UL></LI>
2739 </UL></LI>
2740 </UL>
2741 </UL>
2742
2743 <HR>
2744
2745 </BODY>
2746 </HTML>