Back to home page

EIC code displayed by LXR

 
 

    


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

0001 <HTML>
0002 <HEAD>
0003 <TITLE>Geant4 10.5 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 10.5 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 7<SUP>th</SUP>, 2018</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 version</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-4.8.5.<BR>
0067     Tested on 64 bit architectures (Intel or AMD) with
0068     CERN CentOS Linux 7 (CC7) (based on CentOS Linux 7).</LI>
0069 <LI>MacOSX 10.14 Mojave with llvm/clang-6.0.1 (Apple LLVM/Clang-10.0.0)</LI>
0070 <LI>Windows-10 with Visual C++ 14.11 (Visual Studio 2017)</LI>
0071 </UL>
0072 
0073 More verified and tested configurations (64 bits):
0074 <UL>
0075 <LI>Linux, gcc-4.9.3/5.4.0/6.3.0/7.3.0/8.2.0, clang-3.9/5.0</LI>
0076 <LI>Linux, Intel-icc 19.0</LI>
0077 <LI>MacOSX 10.11, 12, 13 with clang-3.8/4.0/5.0</LI>
0078 <LI>Windows-10 with Visual C++ 14.0 (Visual Studio 2015)</LI>
0079 </UL>
0080 
0081 <P> </P>
0082 <A NAME="2."></A>
0083 <HR>
0084 
0085 <!-- ============================================== -->
0086 
0087 <H2>2. Supported CLHEP version</H2>
0088 
0089 This release of Geant4 requires and has been verified with
0090 <A TARGET="ext" HREF="http://cern.ch/clhep/">CLHEP</A>, release <B>2.4.1.0</B>.
0091 Use of a different CLHEP version may cause incorrect simulation results.<BR>
0092 NOTE: an internal module of the relevant CLHEP classes is provided and can be
0093 used as alternative to an external CLHEP library installation.
0094 
0095 
0096 <P> </P>
0097 <A NAME="3."></A>
0098 <HR>
0099 
0100 <!-- ============================================== -->
0101 
0102 <H2>3. Items for migration of the user code</H2>
0103 
0104 Listed here is some relevant information on developments included in this
0105 release.
0106 Note that for all users a full re-installation of libraries (or a full
0107 re-compilation) and a re-compilation of user applications is required.
0108 
0109 <P> </P>
0110 <B>General</B>
0111 <P> </P>
0112 <UL>
0113 <LI>Minimum required version of CMake to build Geant4 is 3.3.</LI>
0114 <LI>Due to the migration from POSIX threading to C++11 threading, enabling
0115     multi-threading on Windows for use with either static or dynamic
0116     libraries, the following migration is required:
0117     <UL>
0118     <LI>Any usage of <TT>G4THREADCREATE</TT> should pass a reference to an
0119         allocated <TT>G4Thread</TT> pointer.</LI>
0120         <UL>
0121         <LI><TT>G4THREADCREATE</TT> (previously a macro) is
0122             now a variadic template function that accepts an unlimited
0123             number of arguments to the function launched on the thread.</LI>
0124         <LI><TT>G4Thread t; G4THREADCREATE(&t, myfunction, myarg);</TT>
0125             is no longer valid</LI>
0126         <LI><TT>G4Thread* t = new G4Thread();
0127             G4THREADCREATE(t, myfunction, myarg);</TT> is required</LI>
0128         </UL>
0129     <LI><TT>G4MUTEX_INITIALIZER</TT>, <TT>G4MUTEXINIT</TT>, and
0130         <TT>G4MUTEXDESTROY</TT> are now empty macros and their usage is
0131         unnecessary and thus deprecated.</LI>
0132     </UL></LI>
0133 </UL>
0134 
0135 <P> </P>
0136 <B>Geometry</B>
0137 <P> </P>
0138 <UL>
0139 <LI>The behaviour of G4Transportation and G4CoupledTransportation
0140     concerning the treatment of looping particles has been reviewed:
0141     <UL>
0142     <LI>From this release on, only stable particles are killed if they
0143         'loop', i.e.  take more than the maximum (default 1000) integration
0144         steps in one physics step; unstable particles are now propagated
0145         indefinitely.</LI>
0146     <LI>Warning exceptions with full details of the particle, location and
0147         volume are now generated for stable looping particles which are killed
0148         (as before, this only happens if their energy exceeds a threshold
0149         'warning' energy).
0150         In previous releases a short message with only energy and location
0151         was generated, and only for installations which did not use
0152         G4_NO_VERBOSE. Typically these warnings occur predominantly in vacuum
0153         or other low density media.</LI>
0154     </UL></LI>
0155 <LI>As before the killing of loopers and potential warnings are controlled by
0156     two energy thresholds and a step number parameter. Default settings imply:
0157     <UL>
0158     <LI><TT>100 MeV</TT> (warning energy): below this, tracks are killed
0159         silently.</LI>
0160     <LI><TT>250 MeV</TT> (important energy): above this, tracks are given
0161         multiple chances (10 physics steps).</LI>
0162     </UL>
0163     These settings are fully under user control. The new methods in
0164     G4PhysicsListHelper allow the user to select a set of low (or the above
0165     high) values of the 'looper' energy thresholds.
0166     Existing methods of G4[Coupled]Transportation can be used for fine-grained
0167     control of the parameter values.
0168     Additional information regarding how to reduce the incidence of looping
0169     particles is provided in an expanded section on Transportation in the
0170     Users Guide for Applications Developers.</LI>
0171 <LI>G4MagneticField has been corrected to no longer inherit from
0172     G4ElectroMagneticField;  this anomaly used to allow a user to provide a
0173     'full' EM field (mixed electric and magnetic), but obtain the force only
0174     from the B-field when using the equation created in the G4ChordFinder
0175     constructor. With this correction it is no longer possible to use the
0176     equation of motion for a pure magnetic field for the case of a mixed
0177     electromagnetic field. Instead the full chain of classes for equation
0178     of full EM field, steppers and driver must be used for the case of the
0179     'full' EM field.</LI>
0180 </UL>
0181 
0182 <P> </P>
0183 <B>Electromagnetic and optical physics</B>
0184 <P> </P>
0185 <UL>
0186 <LI>The new data set G4EMLOW-7.7 should be used.</LI>
0187 </UL>
0188 
0189 <P> </P>
0190 <B>Hadronic physics</B>
0191 <P> </P>
0192 <UL>
0193 <LI>The new data sets <TT>G4PhotonEvaporation-5.3</TT>, <TT>G4INCL-1.0</TT>,
0194     <TT>G4RadioactiveDecay-5.3</TT>, <TT>G4SAIDDATA-2.0</TT> and
0195     <TT>G4PARTICLEXS-1.1</TT> should be used.</LI>
0196 <LI>Requiring new <TT>G4INCL-1.0</TT> data set and corresponnding G4INCLDATA path
0197     environment variable when using INCLXX physics.</LI>
0198 <LI>The old G4NEUTRONXS data set is now replaced by <TT>G4PARTICLEXS-1.1</TT>,
0199     and the corresponding G4PARTICLEXSDATA environment variable should be
0200     now used.</LI>
0201 </UL>
0202 
0203 <P> </P>
0204 <B>Analysis</B>
0205 <P> </P>
0206 <UL>
0207 <LI>The default mode for Root n-tuple merging (in multi-threaded runs) is
0208     changed to row-wise in order to preserve an "event point of view" (the
0209     n-tuple rows) after merging. The output files written with this mode use a
0210     different data schema (organisations of TBranches and TLeaves) than
0211     before and so require adapting the macros for reading back the data.</LI>
0212 </UL>
0213 
0214 <P> </P>
0215 <B>Data Sets</B>
0216 <P> </P>
0217 This release introduces new data set versions.
0218 Please see the corresponding details in
0219 <A href="#data-notes">Section 9</A> of this document.
0220 <UL>
0221 <LI>New data set versions: <TT>G4EMLOW-7.7, G4RadioactiveDecay-5.3,
0222     G4PhotonEvaporation-5.3, G4INCL-1.0, G4SAIDDATA-2.0,
0223     G4PARTICLEXS-1.1</TT>.</LI>
0224 <LI>In order to use <TT>ParticleHP</TT> for charged particles
0225     (protons, deuterons, tritons, He3 and alphas), an optional data
0226     set <TT>G4TENDL-1.3.2</TT> is required, and should be downloaded in
0227     addition from the
0228     <A HREF="http://cern.ch/geant4/support/download">Geant4 web site</A>.</LI>
0229 </UL>
0230 
0231 <A NAME="4."></A>
0232 <HR>
0233 
0234 <!-- ============================================== -->
0235 
0236 <H2>4. New Developments and Capabilities </H2>
0237 
0238 <B>General</B>
0239 <UL>
0240 <LI>Replaced POSIX threading with C++11 threading, enabling multi-threading
0241     on Windows for use with either static or dynamic libraries.</LI>
0242     <UL>
0243     <LI><TT>G4THREADCREATE</TT> is now a variadic template function
0244         (unlimited arguments) instead of a macro</LI>
0245     <LI><TT>G4THREADCREATE</TT> can be used outside of MT. In sequential
0246         mode, <TT>G4THREADCREATE</TT> will execute the function on the
0247         calling thread.
0248     </UL>
0249 <LI><TT>G4Mutex</TT> is now a typedef to <TT>std::mutex</TT>,
0250     even in sequential mode.
0251 <LI>Added <TT>G4RecursiveMutex</TT> typedef to
0252     <TT>std::recursive_mutex</TT>.</LI>
0253 <LI>Provided generic template functions <TT>G4TypeMutex&lt;T&gt;()</TT> and
0254     <TT>G4TypeRecursiveMutex&lt;T&gt;()</TT> to create and access static
0255     instances of mutexes without the need for declarations.</LI>
0256     <UL>
0257     <LI>When combined with <TT>G4AutoLock</TT>, this enables easy creation of
0258         class-specific locks, e.g.
0259         <TT>G4AutoLock lock(G4TypeMutex&lt;decltype(this)&gt;());</TT></LI>
0260     </UL>
0261 <LI><TT>G4AutoLock</TT> now inherits from <TT>std::unique_lock</TT>, even in
0262     sequential mode.</LI>
0263     <UL>
0264     <LI>In sequential mode, <TT>G4AutoLock</TT> does not lock upon construction,
0265         i.e. <TT>std::defer_lock</TT></LI>
0266     <LI>Added overloads to accept reference to mutex, in addition to previous
0267         form of a pointer to a mutex.</LI>
0268     </UL>
0269 </UL>
0270 
0271 <B>Analysis</B>
0272 <UL>
0273 <LI>Switched the default Root ntuple merge mode to row-wise in analysis
0274     tools and added new <TT>G4RootAnalysisManager::SetNtupleRowWise(G4bool)</TT>
0275     function which can be used to override the defaults. </LI>
0276 <LI>Added "Boolean reset" argument in <TT>G4AnalysisManager::CloseFile()</TT>
0277     function, allowing to close a file without resetting data.</LI>
0278 </UL>
0279 
0280 <B>Digitization &amp; Hits</B>
0281 <UL>
0282 <LI>Added new class G4StatAnalysis, a lightweight statistics class that
0283     calculates the mean, FOM, relative error, standard deviation, variance
0284     and other quantities. Compatible with usage in G4THitsMap and (new)
0285     G4THitsVector -- replacing <TT>G4THitsMap&lt;G4double&gt;</TT> with
0286     <TT>G4THitsMap&lt;G4StatAnalysis&gt;</TT> and can provide a quick
0287     implementation of accumulating statistics for scoring.</LI>
0288 <LI>Added new class G4THitsVector, a generic hits container compatible with
0289     G4THitsMap, that enables the underlying storage container to utilize a
0290     sequential container instead of a map (saving memory); additionally, it
0291     allows the underlying container to store data as non-pointer types
0292     (saving more memory).</LI>
0293     <UL>
0294     <LI>These containers are intended to be used at the G4Run level to
0295         accumulate data over the course of the run and it is not recommended
0296         for use at the event level -- a G4THitsMap is ideal at the event level
0297         due to the general sparsity of hits per index but at the run level,
0298         G4THitsVector becomes ideal with respect to memory usage as
0299         approximately 40% of the total available indices accumulate non-zero
0300         hits.</LI>
0301     <LI>See <I>DICOM2</I> and <I>ThreadsafeScorers</I> for usage examples,
0302         including demonstrations of G4THitsVector + non-pointer data storage
0303         and the new style of generic iteration over the hits container classes
0304         that is valid for both G4THitsMap and G4THitsVector (the previous form
0305         of iteration over G4THitsMap is still valid, and will remain valid,
0306         for G4THitsMap types).</LI>
0307     </UL>
0308 <LI>Introduced a new interface class, G4VScoreNtupleWriter, which allows
0309     automated storing of scorers hits with Geant4 analysis tools. Concrete
0310     implementations (G4ScoreNtupleWriter with associated messenger) are
0311     demonstrated in new provided extended/analysis examples.</LI>
0312 </UL>
0313 
0314 <B>Geometry</B>
0315 <UL>
0316 <LI>A configuration option allows an installation to use the
0317     <A HREF="https://gitlab.cern.ch/VecGeom/VecGeom/">VecGeom Unified Solids
0318     Library</A> primitives, to replace the original Geant4 solids, as in the
0319     previous release. The path to an external installation of the VecGeom
0320     library (VecGeom version <TT>v01.01.00</TT>) should be specified.
0321     See the associated instructions file for configuration and installation.</LI>
0322 <LI>Enabled VecGeom wrappers for G4ExtrudedSolid, G4TessellatedSolid, G4Hype
0323     and G4Tet.</LI>
0324 <LI>Reimplemented <TT>EstimateSurfaceArea()</TT> for approximate calculation
0325     of the surface area of a solid with new algorithm providing more
0326     accurate estimation without performance penalty.</LI>
0327 <LI>Introduced Bulirsch-Stoer method of integration, an alternative to
0328     Runge-Kutta based on the mid-point method.</LI>
0329 <LI>New G4InterpolationDriver field driver class using Runge-Kutta method
0330     with interpolation property to integrate EoM with error control.</LI>
0331 <LI>Updated field steppers to make use of cached field vales.</LI>
0332 <LI>Improved reporting of looping particle, adding info on density,
0333     fraction (%) of proposed step that was completed and momentum.</LI>
0334 </UL>
0335 
0336 <B>Electromagnetic physics</B>
0337 <UL>
0338 <LI>Use new parameter <TT>MscEnergyLimit()</TT> (default is <TT>100 MeV</TT>)
0339     in EM physics constructors, allowing to customise transition from
0340     low-energy multiple scattering to high energy combination of multiple
0341     and single scattering.</LI>
0342 <LI>Alg96 lateral displacement algorithm used in G4UrbanMscModel in all
0343     EM physics.</LI>
0344 <LI>Default angular generator for bremsstrahlung is G4ModifiedTsai.</LI>
0345 <LI>Revisions of G4BetheHeitlerModel and G4PairProductionRelModel with
0346     improved screening function approximation, improved LPM function
0347     approximation, angular generation and efficiency of sampling
0348     of the final state.</LI>
0349 <LI>New gamma conversion model G4BetheHeitler5DModel.</LI>
0350 <LI>Added optional possibility to use ICRU90 data.</LI>
0351 <LI>New optional ion ionisation models G4LindhardSorensenIonModel,
0352     G4AtimaEnergyLossModel, G4AtimaFluctuations.</LI>
0353 <LI>Added new classes for the simulation of elastic scattering of gammas.</LI>
0354 </UL>
0355 
0356 <B>Hadronic physics</B>
0357 <UL>
0358 <LI>For both Fritiof (FTF) and Quark-Gluon-String (QGS) string models,
0359     we have released the latest versions, which have been developed since
0360     the release 10.2 but have not been included in the two previous releases,
0361     10.3 and 10.4, to keep stable the simulation of hadronic showers
0362     (note that snapshots of these developments have been made available
0363     in previous beta releases: 10.3.beta, 10.4.beta and 10.5.beta).</LI>
0364 <LI>New tuning of the FTF model parameters, for both string formation
0365     and string fragmentation. Introduced smearing of delta-isobar mass and
0366     improved di-quark fragmentation into baryons in Lund string fragmentation.
0367     First implementation of rotating strings in FTF, at the level of string
0368     fragmentation, with introduction of Mt distribution of hadrons.
0369     Improved process probability parameterizations for Pi-Nucleon interactions;
0370     corrected calculation of nuclear residual excitation energy.</LI>
0371 <LI>Major revision of the QGS final-state model: implemented Reggeon cascading
0372     and "Fermi motion"; new algorithm for the determination of the kinematical
0373     properties of partons; improved formation of the residual nucleus. 
0374     Improved cross-sections of K-meson - nucleon interactions in QGS: Pomeron
0375     and two non-vacuum exchanges are taken into account.
0376     Gamma-nucleon cross sections are also improved by tuning of parameters.
0377     Improved string fragmentation (G4QGSMFragmentation): new algorithm for
0378     last string decay a-la Lund is implemented; refined the algorithm to stop
0379     the fragmentation.
0380     Tuning the parameters related to both string formation and string
0381     fragmentation to improve the description of thin-target data.</LI>
0382 <LI>For both string models (FTF and QGS): first implementation of alpha
0383     cluster structure of carbon nuclei (affecting only hadron-Carbon
0384     interactions), according to P.Bozek et al., Phys.Rev.C90, 064902 (2014).</LI>
0385 <LI>For Bertini Cascade, extended strange pair production channels, and
0386     improved pion-quasideuteron reactions.</LI>
0387 <LI>Extended upper limit of applicability (from 1 to <TT>100 TeV</TT>) for the
0388     diffuse-elastic processes.</LI>
0389 <LI>New class for diffuse-elastic process, where the underlying physics model
0390     code has been revised and significantly improved in performance.</LI>
0391 <LI>Introduced switch in cross-sections to allow transuranic elements.</LI>
0392 <LI>Coherent use of the same parameterisation of level density and pairing
0393     correction between all models in hadronic de-excitation.</LI>
0394 </UL>
0395 
0396 <B>Physics Lists</B>
0397 <UL>
0398 <LI>In all hadronic builders fixed use of data for neutron capture in HP
0399     physics-lists.</LI>
0400 <LI>Major revision of all ion builders.</LI>
0401 <LI>New tuning of parameters for several EM constructors.</LI>
0402 <LI>The physics lists QGSP_BIC_HP and QGSP_BIC_AllHP use EM Opt4
0403     (instead of EM Opt0 as before).</LI>
0404 <LI>For FTF/QGS/INCLXX physics-lists builders, use Barashenkov-Glauber-Gribov
0405     inelastic cross-section for pions, avoiding to use Gheisha cross-sections
0406     for pion inelastic on Hydrogen target.</LI>
0407 </UL>
0408 
0409 <B>Run</B>
0410 <UL>
0411 <LI>Added track/step/volume information in G4ExceptionHandler when an
0412     exception happens while event is being processed.</LI>
0413 </UL>
0414 
0415 <B>Visualization and Interfaces</B>
0416 <UL>
0417 <LI>Implemented simple algorithm in visualization to allow colouring of
0418     detector elements based on materials density.</LI>
0419 <LI>RayTracer now visualizes layered-mass-geometry volumes defined in
0420     parallel worlds.</LI>
0421 <LI>G4UIcommand: additional implementation for adding
0422   a mechanism of carrying back error message from the messenger
0423   if a command is rejected due to the target class or the messenger.</LI>
0424 </UL>
0425 
0426 <B>Examples</B>
0427 <UL>
0428 <LI><I>B3aScoreWrgiter</I> and <I>B4dScoreWriter</I>: new examples (in
0429     extended/analysis) demonstrating saving of scorers hits in form of
0430     n-tuples in a Root file using Geant4 analysis tools. </LI>
0431 <LI><I>DICOM2</I>: new example (in extended/medical) demonstrating how
0432     to specialise and extend functionalities from DICOM example.</LI>
0433 <LI><I>chem5</I>: new example (in extended/medical/dna), variation of
0434     chem4, showing how to activate chemistry code and score the
0435     radiochemical yield G, using preliminary <TT>G4EmDNAPhysics_option8</TT>
0436     and <TT>G4EmDNAChemistry_option1</TT> constructors.</LI>
0437 <LI><I>splitting</I>: new example (in extended/medical/dna) demonstrating
0438     acceleration of Geant4-DNA physics simulations by particle splitting.</LI>
0439 <LI><I>OpNovice2</I>: new example (in extended/optical) for investigation
0440     of optical properties and parameters. Details of optical photon boundary
0441     interactions on a surface are recorded, as well as the details of
0442     optical photon generation and transport.</LI>
0443 <LI><I>exMPI04</I>: new example in extended/parallel/MPI demonstrating
0444     merging n-tuples via MPI. The  <I>G4mpi </I> classes were adapted to
0445     allow to define (an) extra worker(s) for collecting data
0446     from processing workers (needed for merging n-tuples).</LI>    
0447 <LI><I>field01</I>: Added code to demonstrate use of G4PhysicsListHelper's 
0448     <TT>Use[Low|High]LooperThresholds()</TT> methods and code to demonstrate 
0449     fine grained control of G4[Coupled]Transportation parameters for (killing)
0450     looping tracks (tracks which take too many iterations to finish integration;
0451     typically due to electrons in vacuum, but also can affect other charged
0452     particles).</LI>
0453 </UL>
0454 
0455 <A NAME="5."></A>
0456 <HR>
0457 
0458 <!-- ============================================== -->
0459 
0460 <H2>5. Expected effects on physics and computing performance</H2>
0461 
0462 <B>Electromagnetic physics</B>
0463 <UL>
0464 <LI>Extended G4SeltzerBergerModel model with optional sampling tables for
0465     faster run time sampling of the emitted photon energy. Measuring 40-60%
0466     model speedup.</LI>
0467 </UL>
0468 
0469 <B>Hadronic physics</B>
0470 <UL>
0471 <LI>Both hadronic string models (FTF and QGS) describe generally better the
0472     thin-target data with respect to the previous versions. 
0473     Moreover, the QGS model becomes competitive with the FTF model, for
0474     most thin-target observables for projectile kinetic energies above
0475     about 20 GeV.</LI>
0476 <LI>For the simulation of hadronic showers, both hadronic string models
0477     give higher energy response with respect to the previous versions,
0478     and consistently higher when compared with test-beam and collider data.
0479     We believe at least part of this is due to an underestimate with the Birks
0480     quenching factor which must be applied to the simulation in order to
0481     compare to measured data. The Birks coefficient is a phenomenological
0482     function of energy loss and not of energy deposit. It therefore neglects
0483     the effect of discrete delta ray production performed in Geant4.
0484     We therefore suggest re-fitting from data the Birks coefficient to the
0485     h/e ratio: energy response of a hadron (charged pion or proton) at a
0486     given energy with respect to the energy response of an electron of the
0487     same energy.</LI>
0488 </UL>
0489 
0490 <P> </P>
0491 <A NAME="6."></A>
0492 <HR>
0493 
0494 <!-- ============================================== -->
0495 
0496 <H2>6. Known Run-Time Problems and Limitations</H2>
0497 For a complete list of outstanding run-time problems and to submit any
0498 problem you may find while running this version of Geant4, please refer
0499 to the
0500 <A TARGET="ext" HREF="http://cern.ch/geant4/problemreport">Geant4 Problem
0501 Reporting System</A>.
0502 
0503 <P> </P>
0504 <A NAME="7."></A>
0505 <HR>
0506 
0507 <!-- ============================================== -->
0508 
0509 <H2>7. Compilation Warnings</H2>
0510 
0511 There may be a few compilation warnings on some platforms.
0512 We do not believe that any of these lead to incorrect run-time behaviour.
0513 
0514 <P> </P>
0515 <A NAME="8."></A>
0516 <HR>
0517 
0518 <!-- ============================================== -->
0519 
0520 <H2>8. Geant4 Software License</H2>
0521 
0522 A Software License applies to the Geant4 code.
0523 Users must accept this license in order to use it. The details and the list of
0524 copyright holders is available at
0525 <A href="http://cern.ch/geant4/license">http://cern.ch/geant4/license</A>
0526 and also in the text file <TT>LICENSE</TT> distributed with the source code.
0527 
0528 <P> </P>
0529 <A NAME="9."></A>
0530 <HR>
0531 
0532 <!-- ============================================== -->
0533 
0534 <H2>9. Detailed list of changes and fixes</H2>
0535 
0536 These are the main new features/fixes included in this release since the
0537 last patched public release (for more detailed lists of fixes/additions,
0538 please refer to the corresponding History files provided in most packages):
0539 
0540 <P> </P>
0541 
0542 <A NAME="conf-notes">
0543 <H3><I>Configuration</I></H3></A>
0544 <UL>
0545 <LI><U>CMake</U>
0546     <UL>
0547     <LI>Added c++17 to C++ standards against which Geant4 can be compiled.
0548         Requires a minimum CMake version of 3.8 to enable.</LI>
0549     <LI>Added "auto" dummy Thread Local Storage model; when "auto" is used,
0550         no explicit compiler flag is being set to select the TLS model;
0551         selection is left to compiler default.</LI>
0552     <LI>Added configuration for optional profiling package TiMemory.</LI>
0553     <LI>Skip validation checking for external zlib sources.</LI>
0554     <LI>Added TESSELLATEDSOLID flag to enable optional wrapping of
0555         G4TessellatedSolid with VecGeom implementation.</LI>
0556     <LI>Added configuration support for MT on Windows; removed restrictions
0557         and warnings on enabling MT on Windows.</LI>
0558     <LI>Support use of WINDOWS_EXPORT_ALL_SYMBOLS for DLL builds with
0559         cmake >=3.4 retaining old capability for CMake 3.3.</LI>
0560     <LI>Updated FindInventor.cmake to properly setup SoQt if existing.</LI>
0561     <LI>Geant4InterfaceOptions.cmake: added check for existance of SoQt package.</LI>
0562     <LI>Geant4MakeRules_cxx.cmake: added -DGL_SILENCE_DEPRECATION to
0563         CMAKE_CXX_FLAGS_INIT for clang to silence GL deprecation compilation
0564         warnings on MacOS 10.14 Mojave.</LI>
0565     <LI>Corrected URLs for data installation to use https; added -L flag to
0566         curl to follow redirects when accessing a dataset URL.</LI>
0567     <LI>Removed entry for G4NEUTRONXS data set, no longer necessary.</LI>
0568     <LI>Updated data-sets versions.</LI>
0569     </UL></LI>
0570 <LI><U>GNUMake</U>
0571     <UL>
0572     <LI>In geomconf.gmk, added G4GEOM_USE_UTESSELLATEDSOLID flag to enable
0573         VecGeom wrapper for G4TessellatedSolid.</LI>
0574     <LI>Fixed setting of G4RUNPATHOPTION in Darwin/Linux-clang/g++ and
0575         binmake.cmk. Addressing problem report
0576         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2086">#2086</A>.</LI>
0577     <LI>Cleanup settings for GL in Darwin-clang.gmk and Darwin-g++.gmk.
0578         Added -DGL_SILENCE_DEPRECATION to CPPFLAGS to silence GL deprecation
0579         compilation warnings on MacOS 10.14 Mojave.</LI>
0580     </UL></LI>
0581 </UL>
0582 
0583 <A NAME="ana-notes">
0584 <H3><I>Analysis</I></H3></A>
0585 <UL><LI><U>Ntuples</U>
0586     <UL>
0587     <LI>Switched the default Root n-tuple merge mode to row-wise.</LI>
0588     <LI>Added function <TT>SetNtupleRowWise(G4bool)</TT> to G4RootAnalysisManager, allowing
0589         to choose row-wise/column-wise mode also in sequential mode.</LI>
0590     <LI>Updated <TT>G4TNtupleManager::FinishTNtuple()</TT> to support creating n-tuples
0591         both before and after <TT>OpenFile()</TT>.</LI>
0592     <LI>Added friend class declarations to allow an implementation of MPI
0593         n-tuple merging.</LI>
0594     <LI>Allow overriding of selected functions in G4RootAnalysisManager,
0595         G4RootNtupleManager and G4TNtupleManager, needed MPI ntuple merging.</LI>
0596     </UL></LI>
0597     <LI><U>Output files</U>
0598     <UL>
0599     <LI>Added "Boolean reset" argument in <TT>G4AnalysisManager::CloseFile()</TT>
0600         function, allowing to close a file without resetting data.</LI>
0601     </UL></LI>
0602     <LI><U>Fixes</U>
0603     <UL>
0604     <LI>Fixed compilation warnings on gcc-8.1.0.</LI>
0605     <LI>Fixed a deadlock issue with G4RootPNtupleManager where the mutex
0606         was locked before being passed to Root.</LI>
0607     <LI>Modified management of plotting: G4PlotManager is now instantiated
0608         with G4AnalysisManager what makes possible to remove static
0609         G4PlotParameters. Addressing problem report
0610         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2083">#2083</A>.</LI>
0611     <LI>Use the same mutex for add_row and end_fill. This should fix
0612         occasional failures of tests in MT mode.</LI>
0613     </UL></LI>
0614     <LI><U>g4tools</U>
0615     <UL>
0616     <LI>Updated the g4tools version to g4tools-4.2.3.
0617         See History_tools for the complete list of modifications.</LI>
0618     </UL></LI>
0619 </UL>
0620 
0621 <A NAME="digits-notes">
0622 <H3><I>Digitization &amp; Hits</I></H3></A>
0623 <UL>
0624 <LI>Introduced a new interface class, G4VScoreNtupleWriter which allows
0625     implementing in the user code automated storing of hits collections of
0626     G4THitsMap (used by primitive scorers) with Geant4 analysis tools;
0627     concrete implementations (G4ScoreNtupleWriter with associated messenger)
0628     are demonstrated in new provided extended/analysis examples.</LI>
0629 <LI>Updated G4THitsMap: generic <TT>GetContainer(), size(), GetIndex(...),
0630     GetObject(...), begin(), end(), cbegin()</TT> and <TT>cend()</TT>.</LI>
0631 <LI>Added G4THitsVector class, a generic container compatible with G4THitsMap
0632     such that vectors can be used to score over the course of a run (saving
0633     memory); it allows the underlying container to store data as non-pointer
0634     types.</LI>
0635 <LI>Updated use of thread-local static variables to function returning
0636     a thread-local static reference. New model for allowing support of
0637     multi-threading on Windows DLLs.</LI>
0638 </UL>
0639 
0640 <A NAME="emstd-notes">
0641 <H3><I>Electromagnetic Processes</I></H3></A>
0642 <UL>
0643 <LI>Requires data-set G4EMLOW-7.7.</LI>
0644 <LI><B>DNA</B>:
0645     <UL>
0646     <LI>Updated G4DNAOneStepThermalizationModel and other classes for
0647         chemistry.</LI>
0648     <LI>Updated use of thread-local static variables to function returning
0649         a thread-local static reference. New model for allowing support of
0650         multi-threading on Windows DLLs.</LI>
0651     <LI>Included upper energy limit of models.</LI>
0652     <LI>Updated Si mass in G4DNAGenericIonsManager.</LI>
0653     <LI>Added protection in Auger emission.</LI>
0654     <LI>Fixed header guards in G4ITFinder and G4AllITFinder.
0655         Addressing problem report
0656         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2084">#2084</A>.</LI>
0657     </UL></LI>
0658 <LI><B>High Energy</B>
0659     <UL>
0660     <LI>G4AnnihiToMuPair: added Coulomb correction to cross-section at
0661         threshold.</LI>
0662     <LI>Minor code cleanup in G4eeToHadronsMultiModel, G4eeToHadronsModel and
0663         G4mplIonisationWithDeltaModel.</LI>
0664     <LI>G4eeToHadrons, G4eeToHadronsMultiModel, G4hBremsstrahlung,
0665         G4hPairProduction, G4hhIonisation, G4mplIonisation: automatic
0666         documentation format now rST.</LI>
0667     </UL></LI>
0668 <LI><B>Low Energy</B>
0669     <UL>
0670     <LI>Added new classes for elastic scattering of gammas by M.Omer
0671         and R.Hajima.</LI>
0672     <LI>Updated JAEA elastic model classes.</LI>
0673     <LI>G4LivermoreBremsstrahlungModel: no functional changes. Some base class
0674         member names have been changed and these modifications propagated down
0675         to the derived class.</LI>
0676     <LI>Fixed problem G4PenelopeIonisationModel responsible for rare energy
0677         non-conservation and run-time warning.</LI>
0678     <LI>Fix in G4PenelopeComptonModel and G4PenelopePhotoElectricModel for rare
0679         energy non-conservation.</LI>
0680     <LI>Fix for differential cross-section of photo-electrons in
0681         G4LivermorePolarizedPhotoElectricModel. Addressing problem report
0682         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2089">#2089</A>.</LI>
0683     <LI>G4RayleighScattering: changed automatic documentation format to rST.</LI>
0684     </UL></LI>
0685 <LI><B>Muons</B>
0686     <UL>
0687     <LI>G4MuMultipleScattering, G4MuPairProduction, G4MuIonisation,
0688         G4ePairProduction, G4MuBremsstrahlungModel, G4MuBremsstrahlung,
0689         G4MuBetheBlochModel: use default destructor.</LI>
0690     <LI>Added minor protection in G4MuPairProductionModel.</LI>
0691     <LI>G4ePairProduction: fixed model name.</LI>
0692     <LI>G4EnergyLossForExtrapolator: fixed MT initialisation and destruction.</LI>
0693     <LI>G4MuMultipleScattering, G4MuPairProduction, G4eePairProduction,
0694         G4MuBremsstrahlung, G4MuIonisation: automatic documentation format
0695         now rST.</LI>
0696     </UL></LI>
0697 <LI><B>Polarisation</B>
0698     <UL>
0699     <LI>G4PolarizedAnnihilationModel: implemented sampling of final state
0700         at-rest.</LI>
0701     <LI>Code cleanup; removed unused headers and methods.</LI>
0702     </UL></LI>
0703 <LI><B>Standard</B>
0704     <UL>
0705     <LI>G4GoudsmitSaundersonMscModel: implemented interface method for
0706         macroscopic first transport cross-section computation per volume
0707         (used only for testing).</LI>
0708     <LI>G4GSMottCorrection, G4GSPWACorrections: fixed initialization of first
0709         moment correction factor.</LI>
0710     <LI>G4GoudsmitSaundersonTable: fixed gcc-8.1.0 compilation warnings.</LI>
0711     <LI>G4WentzelOKandVIxSection: fixed form-factor for proton.
0712         Added Mott corrections to e+-.</LI>
0713     <LI>G4WentzelOKandVIxSection: fixed destructor.</LI>
0714     <LI>G4ScreeningMottCrossSection: added extra method for more CPU effective
0715         computation of the Mott correction.</LI>
0716     <LI>G4UrbanMscModel: correction in order to get better backscattering for
0717         low energy.</LI>
0718     <LI>G4eSingleCoulombScatteringModel: fixed calculation of scattering angle.
0719         Addressing problem report
0720         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2090">#2090</A>.</LI>
0721     <LI>G4ScreeningMottCrossSection: use G4MottData and improved time consuming
0722         computations. Removed obsolete G4MottCoefficients class, replaced by
0723         static data class G4MottData.</LI>
0724     <LI>G4ScreeningMottCrossSection, G4eSingleCoulombScatteringModel: added
0725         extra protections on argument of std::acos avoiding crash due to
0726         precision lost; code cleanup.</LI>
0727     <LI>G4BetheBlochModel: use form-factor for projectile ion as in formulation
0728         of NIM A 488 (2002) 282.</LI>
0729     <LI>G4ionIonisation: apply correction to energy loss only to BetheBloch
0730         ionisation model.</LI>
0731     <LI>G4BraggModel, G4BraggIonModel, G4BetheBlochModel: added optional
0732         possibility to use ICRU90 data.</LI>
0733     <LI>G4PSTARStopping: minor code cleanup.</LI>
0734     <LI>G4LindhardSorensenIonModel, G4LindhardSorensenData: new ion ionisation
0735         model for moderate and high energies.</LI>
0736     <LI>G4AtimaEnergyLossModel, G4AtimaFluctuations: new ion ionisation model.</LI>
0737     <LI>G4BetheHeitler5DModel: new 5D model.</LI>
0738     <LI>G4BetheHeitlerModel, G4PairProductionRelModel: new versions with
0739         improved screening function approximation, improved LPM function
0740         approximation, efficiency, documentation and cleanup.
0741         Corrected call to selecting target atom in final state sampling.</LI>
0742     <LI>G4PairProductionRelModel, G4BetheHeitlerModel: use G4ModifiedTsai
0743         angular generator for the final state sampling.</LI>
0744     <LI>G4PairProductionRelModel: fixed computation of cross-section in the
0745         new version of the high energy model.</LI>
0746     <LI>G4DipBustGenerator, G4ModifiedTsai: implemented new interface for
0747         sampling of directions of e+e- pair.</LI>
0748     <LI>G4eplusAnnihilation: moved sampling of final state from AtRestDoIt()
0749         method to <TT>SamplingSecondaries()</TT>.</LI>
0750     <LI>Code cleanup in G4eeToTwoGammaModel, G4BetheHeitlerModel and
0751         G4NISTStoppingData.</LI>
0752     <LI>G4eplusAnnihilation: set weights for directional splitting.</LI>
0753     <LI>G4eplusTo2GammaOKVIModel, G4eplusTo3GammaOKVIModel: make consistent
0754         definition of cross-section for 2-gamma and 3-gamma models; use cuts
0755         for gamma in sampling of 3-gamma final state.</LI>
0756     <LI>Added new models, G4eplusTo2GammaOKVIModel and G4eplusTo3GammaOKVIModel.</LI>
0757     <LI>G4eBremsstrahlungRelModel, G4PairProductionRelModel, G4PAIySection,
0758         G4PAIxSection, G4ICRU73QOModel: moved inline method which use static
0759         constants to source. Improved code formatting.</LI>
0760     <LI>G4SeltzerBergerModel: extended model with optional sampling tables for
0761         fast run time sampling of the emitted photon energy from the
0762         Seltzer-Berger scaled DCS, instead of using the rejection.
0763         The sampling tables are hadled by the new G4SBBremTable class.
0764         Measuring 40-60% model speedup with some additional memory consumption.</LI>
0765     <LI>G4eBremsstrahlungRelModel: improved LPM function approximation; code cleanup
0766         and optimization.</LI>
0767     <LI>G4SeltzerBergerModel, G4eBremsstrahlungRelModel: use by default
0768         G4ModifiedTsai generator instead of G4DipBustGenerator.</LI>
0769     <LI>G4DipBustGenerator: optimisation, speedup; using G4Pow::A13.</LI>
0770     <LI>G4GammaConversion, G4eBremsstrahlung, G4hIonisation: use upper energy
0771         limit for low-energy model from physics-list instead of hard-coded
0772         values.</LI>
0773     <LI>G4CoulombScattering, G4eBremsstrahlung, G4[e,h]MultipleScattering,
0774         G4eplusAnnihilation, G4[e,h,ion,alpha]Ionisation, G4ComptonScattering,
0775         G4NuclearStopping, G4PhotoElectricEffect: changed auto-generated
0776         documentation format to rST.</LI>
0777     </UL></LI>
0778 <LI><B>Utils</B>
0779     <UL>
0780     <LI>G4EmCorrections, G4VEmModel, G4ionEffectiveCharge, G4VAtomDeexcitation:
0781         avoid use of static class members in inline methods; moved long methods
0782         to source; added thread safe definition of model index for atomic
0783         de-excitation.</LI>
0784     <LI>G4EmCalculator: fixed <TT>GetCrossSectionPerVolume()</TT> method in case of
0785         multiple scattering process; the proper value of the first transport
0786         cross-section is retrieved now.</LI>
0787     <LI>G4EmCalculator: fixed computation dEdx for ions.</LI>
0788     <LI>G4EmParameters, G4EmParametersMessenger: added 5D gamma conversion
0789         model parameters; added <TT>MscEnergyLimit()</TT> and corresponding UI command;
0790         addressing problem report
0791         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2045">#2045</A>;
0792         added extra DNA UI directory and command; improved dump of EM
0793         parameters.</LI>
0794     <LI>G4EmParameters: added extra protection to avoid simulteneous definition
0795         of options which should not be enabled together.</LI>
0796     <LI>G4EmParameters, G4EmParameterMessenger, G4LossTableManager:
0797         minor update of interfaces; added extra parameters.</LI>
0798     <LI>G4EmParameters, G4EmParametersMessenger: added extra parameter and
0799         UI command to enable usage of ICRU90 data; fixed DNA parameters;
0800         added checks of EM physics type.</LI>
0801     <LI>G4EmParameters: fixed typo in printout.</LI>
0802     <LI>G4VEmAngularDistribution: added <TT>SamplePairDirections()</TT> method for
0803         sampling of e+e- pair production.</LI>
0804     <LI>Added new enumerator G4DNAModelSubType.</LI>
0805     <LI>G4LossTableManager: moved inline run time method to source.</LI>
0806     <LI>Minor code cleanup in G4VMscModel and G4VEmModel.</LI>
0807     <LI>G4EmDataHandler: added public interfaces.</LI>
0808     <LI>G4VEmProcess: code cleanup in <TT>StorePhysicsTable(..)</TT> methods;
0809         introduced 'isTheMaster' flag.</LI>
0810     <LI>G4EmElementSelector: code optimisation.</LI>
0811     <LI>G4EmModelManager, G4VEmModel, G4VEmProcess, G4VEnergyLossProcess,
0812         G4VMultipleScattering: auto-generated documentation now in rST format.</LI>
0813     <LI>G4EmBiasingManager, G4EmParameters, G4EmParametersMessenger,
0814         G4VEnergyLossProcess, G4VEmProcess: enable directional splitting
0815         and moved logic to G4EmBiasingManager.</LI>
0816     <LI>Fixed Coverity defects.</LI>
0817     </UL>
0818 <LI><B>Xrays</B>
0819     <UL>
0820     <LI>Updated use of thread-local static variables to function returning
0821         a thread-local static reference. New model for allowing support of
0822         multi-threading on Windows DLLs.</LI>
0823     <LI>G4Cerenkov. added protection against infinite loops due to very small
0824         steps. Addressing problem report
0825         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1992">#1992</A>.</LI>
0826     <LI>G4Cerenkov, G4Scintillation: correctly reset number of photons to
0827         zero each step. Addressing problem report
0828         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2056">#2056</A>.</LI>
0829     </UL></LI>
0830 </UL>
0831 
0832 <A NAME="event-notes">
0833 <H3><I>Event</I></H3></A>
0834 <UL>
0835 <LI>Code cleanup in G4StackManager to remove branches for muonic atom
0836     settings.</LI>
0837 <LI>Updated use of thread-local static variables to function returning
0838     a thread-local static reference. New model for allowing support of
0839     multi-threading on Windows DLLs.</LI>
0840 </UL>
0841 
0842 <A NAME="externals-notes">
0843 <H3><I>Externals</I></H3></A>
0844 <UL>
0845 <LI><U>CLHEP</U>:
0846     <UL>
0847     <LI>Updated to CLHEP version 2.4.1.0.</LI>
0848     <LI>Enabled thread-local storage and atomics on Windows and clang,
0849         as now all supported by c++11.</LI>
0850     <LI>Ranlux64Engine: fixed compilation warning on Windows for shift count
0851         negative or too big.</LI>
0852     <LI>Fixed compilation warnings from gcc-8.1.0 when using
0853         -Woverloaded-virtual compilation option.</LI>
0854     </UL></LI>
0855 <LI><U>Zlib</U>:
0856     <UL>
0857     <LI>Updated to Zlib version 1.2.11</LI>
0858     <LI>Use original files format and adopt C Compiler for installation.
0859         Addressing compilation warnings on gcc-8.1.0.</LI>
0860     </UL></LI>
0861 </UL>
0862 
0863 <A NAME="gen-notes">
0864 <H3><I>General Processes</I></H3></A>
0865 <UL>
0866 <LI><B>Biasing</B>
0867     <UL>
0868     <LI>Updated use of thread-local static variables to function returning
0869         a thread-local static reference. New model for allowing support of
0870         multi-threading on Windows DLLs.</LI>
0871     </UL></LI>
0872 <LI><B>Cuts</B>
0873     <UL>
0874     <LI>Code cleanup; use of nullptr and c++11.</LI>
0875     </UL></LI>
0876 <LI><B>Management</B>
0877     <UL>
0878     <LI>Code cleanup; use of nullptr and c++11.</LI>
0879     </UL></LI>
0880 <LI><B>Optical</B>
0881     <UL>
0882     <LI>G4OpMieHG: changed <TT>GetProperty()</TT> to use enum indeces instead of
0883         strings.</LI>
0884     </UL></LI>
0885 <LI><B>Scoring</B>
0886     <UL>
0887     <LI>Updated use of thread-local static variables to function returning
0888         a thread-local static reference. New model for allowing support of
0889         multi-threading on Windows DLLs.</LI>
0890     <LI>G4ParallelWorldProcess: fixed track velocity of optical photons for
0891         the first step in a layered mass geometry.</LI>
0892     </UL></LI>
0893 <LI><B>Transportation</B>
0894     <UL>
0895     <LI>G4Transportation and G4CoupledTransportation: adjusted killing of
0896         looping particles, to apply only to stable particles. Unstable
0897         particles will be propagated indefinitely. At object destruction,
0898         added printing of the maximum energy and sum of energies of particles
0899         "saved". Added method <TT>SetHighLooperThresholds()</TT> to restore
0900         old default parameters for killing looping particles (warning energy
0901         to 100 MeV - tracks below this are killed silently; important energy
0902         to 250 MeV - above this, tracks are given multiple chances). Default
0903         constructors now use these high values.
0904         New auxiliary methods <TT>PushThresholdsToLogger()</TT> and
0905         <TT>ReportMissingLogger()</TT>.
0906         New method <TT>SetLowLooperThresholds()</TT> for low-E applications.
0907         New method <TT>ReportLooperThresholds()</TT> to print out the values.
0908         Added extra simple statistics at destruction: stats on non-electrons
0909         loopers killed (sum E, number, max E & its PDG); stats for non-electron
0910         loopers killed (total energy, maximum energy and PDG of the type of
0911         that track). Statistics are now printed by a new method and are
0912         printed also in non-verbose mode.
0913         Addressing problem report
0914         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2063">#2063</A>.</LI>
0915     <LI>New class G4TransportationLogger to consolidate reports from the
0916         Transportation processes.</LI>
0917     <LI>Use G4Exception for warnings, instead of streaming to <TT>cout/cerr</TT>.
0918     <LI>Fixed Coverity defects.</LI>
0919     </UL></LI>
0920 </UL>
0921 
0922 <A NAME="geo-notes">
0923 <H3><I>Geometry</I></H3></A>
0924 <UL>
0925 <LI><B>Magnetic field</B>
0926     <UL>
0927     <LI>Correction in G4MagneticField to no longer inherit from
0928         G4ElectroMagneticField; this allowed a user to provide a full EM field,
0929         but obtain the force only from the B-field when using the equation
0930         created in the G4ChordFinder constructor.
0931         It is no longer possible to use the equation of motion for a pure
0932         magnetic field for the case of a mixed electromagnetic field. Instead
0933         the full chain of classes for equation of full EM field, steppers and
0934         driver must be used for the case of the 'full' EM field.</LI>
0935     <LI>Introduced Bulirsch-Stoer method of integration, an alternative to
0936         Runge-Kutta based on the mid-point method. A separate driver derived
0937         from G4VIntegrationDriver was needed, using specialisation of
0938         G4IntegrationDriver template class.</LI>
0939     <LI>Change in <TT>G4FieldManager::CreateChordFinder()</TT> to cope better
0940         with case where field argument is null.</LI>
0941     <LI>Fix for missing interface method in G4VIntegrationDriver; added method
0942         <TT>RenewStepperAndAdjust()</TT> which used to exist in G4MagInt_Driver. This
0943         method must be defined in those derived driver classes which accept
0944         a Runge Kutta stepper.</LI>
0945     <LI>Defined default implementation of the method in G4IntegrationDriver
0946         and G4FSALIntegrationDriver, and implementations in the templated
0947         classes G4IntegrationDriver and G4FSALIntegrationDriver.</LI>
0948     <LI>Removed static data from G4FSALIntegrationDriver, G4IntegrationDriver
0949         and G4MagIntegratorDriver and moved to base class as normal data
0950         members. Fix was required for allowing proper symbol exporting on
0951         Windows DLLs.</LI>
0952     <LI>Use G4Exception warnings instead of streaming to cerr.</LI>
0953     <LI>Added override final for virtual methods in G4UniformMagField.</LI>
0954     <LI>Corrections in calculation of chord distance in G4DormandPrince745
0955         (use 4th order interpolation from Shampine 1986 for mid-point).</LI>
0956     <LI>Revised G4FieldUtils: moved <TT>copy()</TT> method from steppers,
0957         added two new setters for simple & variadic methods.</LI>
0958     <LI>Fixes to copy input time in ModifiedMidpoint, CashKarp, G4RK547FEq1/2/3
0959         Bogacki-Shampine 4/5 and 2/3, Dormand Prince 4/5, 5/6 and 7/8 and
0960         Tsitouras steppers.</LI>
0961     <LI>Fix for unitialised pointer in G4FSALIntegrationDriver constructor.
0962         Revision of data member variable names.</LI>
0963     <LI>G4NystromRK4 now uses G4CachedMagneticField for caching values and
0964         creates it if not provided. Any other stepper will work with that cached
0965         field too. </LI>
0966     <LI>Removed <TT>G4MagIntegratorStepper::ComputeRightHandSide()</TT>
0967         virtual method, previously introduced for use with G4NystromRK4
0968         (calling non-virtual <TT>RightHandSide()</TT> instead).</LI>
0969     <LI>New experimental class G4BFieldIntegrationDriver for pure magnetic
0970         field. 
0971         In <TT>QuickAdvance()</TT> it uses helix stepper when rotation angle
0972         is larger than <TT>pi/3</TT>.</LI>
0973     <LI>New experimental class G4InterpolationDriver; using Runge-Kutta method
0974         with interpolation property to integrate EoM with error control.</LI>
0975     </UL></LI>
0976 <LI><B>Management</B>
0977     <UL>
0978     <LI>G4AffineTransform: added explicit copy constructor, assignment and
0979         destructor; <TT>InverseProduct()</TT> has been optimised, now it does
0980         36 multiplications instead of 45; optimised also for the case of pure
0981         translation; added methods for inverse transformation:
0982         <TT>InverseTransformPoint(), InverseTransformAxis(),
0983         InverseNetRotation()</TT> and <TT>InverseNetTranslation()</TT>.
0984         Minor optimisation to multiplication of matrix by vector, to make use
0985         of temporaries in accessing vector components.</LI>
0986     <LI>G4GeomSplitter: replaced use or <TT>realloc()/free()</TT> and
0987         <TT>memcpy()</TT> with normal allocation/deallocation through
0988         G4Allocator. Also addressing compilation warnings on gcc-8.1.0.</LI>
0989     <LI>G4VSolid: reimplemented <TT>EstimateSurfaceArea()</TT> for approximate
0990         calculation of the surface area of a solid, by estimating volume of a
0991         thin shell surrounding the surface using Monte-Carlo method; algorithm
0992         providing more accurate estimation without performance penalty.</LI>
0993     </UL></LI>
0994 <LI><B>Navigation</B>
0995     <UL>
0996     <LI><TT>G4Navigator::ComputeLocalAxis()</TT>: removed unnecessary check
0997         for <TT>IsRotated()</TT>.</LI>
0998     <LI>Replaced use of <TT>Inverse()</TT> from G4AffineTransform with new
0999         dedicated methods, to avoid creation of temporaries in
1000         G4RegularNavigation, G4Navigator and G4ReplicaNavigation.</LI>
1001     <LI>G4PropagatorInField: fix for case of finishing integration in last
1002         iteration (so a looping particle will not be signalled incorrectly in
1003         that case). Improved reporting of looping particle, adding info on
1004         density and fraction (%) of proposed step that was completed, and
1005         momentum.</LI>
1006     <LI>Use G4Exception instead of streaming to cerr in various classes.</LI>
1007     <LI>Fixed Coverity defect in diagnostic report in G4MultiLevelLocator.</LI>
1008     <LI>In <TT>G4PropagatorInField::ComputeStep()</TT>, notify G4ChordFinder
1009         at the beginning of each call.</LI>
1010     </UL></LI>
1011 <LI><B>Solids (Boolean)</B>
1012     <UL>
1013     <LI>G4MultiUnion: added protection for normal initialisation in
1014         <TT>DistanceToOutVoxels()</TT>. Minor optimisation in
1015         <TT>DistanceToOut(p,v,..)</TT>.</LI>
1016     <LI>Minor optimisations to G4SubtractionSolid and G4IntersectionSolid
1017         for use of early returns.</LI>
1018     </UL></LI>
1019 <LI><B>Solids (CSG)</B>
1020     <UL>
1021     <LI>G4Cons: fix in <TT>GetPointOnSurface()</TT> when sampling on inner and
1022         outer conical surfaces.</LI>
1023     <LI>G4Orb: improved check if point is too far in <TT>DistanceToIn(p,v)</TT>.</LI>
1024     <LI>G4Torus: added check if point is too far in <TT>DistanceToIn(p,v)</TT>.
1025         Addressing problem report
1026         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2100">#2100</A>.</LI>
1027     <LI>Make G4UCons wrapper inheriting from vecgeom::GenericUnplacedCone,
1028         following the latest changes in VecGeom.</LI>
1029     <LI>Make G4UTrd wrapper inheriting from vecgeom::GenericUnplacedTrd,
1030         following the latest changes in VecGeom.</LI>
1031     <LI>G4UTorus: removed leftover use of UVector3 and replaced with U3Vector.</LI>
1032     </UL></LI>
1033 <LI><B>Solids (Specific)</B>
1034     <UL>
1035     <LI>Enabled VecGeom wrappers for G4ExtrudedSolid, G4TessellatedSolid
1036         G4Tet and G4Hype.</LI>
1037     <LI>Make G4UPolycone wrapper inheriting from vecgeom::GenericUnplacedPolycone,
1038         following the latest changes in VecGeom.</LI>
1039     <LI>Minor cleanup in <TT>G4TessellatedSolid::CreatePolyhedron()</TT>, no
1040         functional changes.</LI>
1041     <LI>Updated use of thread-local static variables to function returning
1042         a thread-local static reference. New model for allowing support of
1043         multi-threading on Windows DLLs.</LI>
1044     <LI>Removed G4SolidsWorkspacePool class. Adapted G4SolidsWorkspace to
1045         use templated class G4TWorkspacePool.</LI>
1046     </UL></LI>
1047 <LI><B>Volumes</B>
1048     <UL>
1049     <LI>Replaced use of <TT>Inverse()</TT> from G4AffineTransform with new
1050         dedicated methods, to avoid creation of temporaries in G4TouchableHistory,
1051         G4PVPlacement and G4PVParameterised.</LI>
1052     <LI>Updated use of thread-local static variables to function returning
1053         a thread-local static reference. New model for allowing support of
1054         multi-threading on Windows DLLs.</LI>
1055     <LI>G4PVPlacement: added copy number to G4Exception printing in
1056         <TT>CheckOverlaps()</TT>.</LI>
1057     <LI>Removed G4GeometryWorkspacePool class. Adapted G4GeometryWorkspace to
1058         use templated class G4TWorkspacePool.</LI>
1059     <LI>Added G4AssemblyStore singleton class for assembly structures bookeeping,
1060        to address the specific use-case of allowing identification of assembly
1061        envelopes.</LI>
1062     </UL></LI>
1063 </UL>
1064 
1065 <A NAME="glob-notes">
1066 <H3><I>Global</I></H3></A>
1067 <UL>
1068 <LI><U>Threading</U>
1069     <UL>
1070     <LI>Removed obsolete MT wrappers for random numbers, no longer necessary.
1071         Simplified definition of G4Random types in Randomize.hh accordingly.</LI>
1072     <LI>Full support for thread-local storage on clang (also MacOS clang) now
1073         enabled; updated tls.hh definitions accordingly; removed use of the
1074         G4USE_STD11 flag, now always enabled by default.</LI>
1075     <LI>Use <TT>thread_local</TT> keyword on Windows, instead of
1076         <TT>__declspec(thread)</TT> in tls.hh. Avoid exporting symbols for
1077         Windows DLLs in multi-threaded builds.
1078         Removed no longer necessary windefs.hh header.</LI>
1079     <LI>G4Threading: replaced POSIX threading with C++11 threading
1080         (<TT>std::condition_variable, std::mutex, std::recursive_mutex,
1081         std::thread</TT>).
1082         Many of the former macros are now dummy macros (e.g. G4MUTEXINIT,
1083         G4MUTEX_INITIALIZER, etc.). Updated pin affinity.
1084         Replaced <TT>typedef</TT> statements with C++11 <TT>using</TT>
1085         correspondents.</LI>
1086     <LI>G4AutoLock is now a thin wrapper around <TT>std::unique_lock</TT> providing
1087         previous functionality + more features (e.g. <TT>try_lock, try_lock_until</TT>,
1088         etc.). Overloaded G4AutoLock member functions in sequential mode to not
1089         execute locking/unlocking.</LI>
1090     <LI>Added G4RecursiveAutoLock for recursive mutexes.</LI>
1091     <LI>Extended G4TemplateAutoLock to take advantage of the features
1092         <TT>std::unique_lock</TT> offers.</LI>
1093     <LI>G4MTBarrier: removed WIN32 specifics, updated G4CONDITIONWAIT to use
1094         G4AutoLock (<TT>std::unique_lock</TT>) instead of G4Mutex, removed
1095         G4MUTEX_INITIALIZER from constructor.</LI>
1096     <LI>Added G4TypeMutex&lt;T&gt; and G4TypeRecursiveMutex&lt;T&gt; function
1097         to threading for safely obtaining a static mutex that is unique to the
1098         template type <TT>T</TT>.</LI>
1099     <LI>Replaced static G4Mutex in G4Cache with calls to G4TypeMutex
1100         function calls to safely initialize mutexes on Windows.</LI>
1101     <LI>Updated G4cout_p and G4cerr_p to point to <TT>std::cout</TT> and
1102         <TT>std::cerr</TT> before and after library load.
1103         G4cout before G4RunManager creation has been seen to fail on Windows.</LI>
1104     <LI>Improvement to G4AutoLock in non-MT mode + bug fix (void <TT>try_lock()</TT>
1105         -&gt; <TT>bool try_lock()</TT>) plus error handling within G4AutoLock
1106         if static mutex is attempted to be used at application cleanup
1107         (previously handled in G4Cache). Using atomics in G4Cache.</LI>
1108     <LI>G4Cache, G4CacheDetails: minor code cleanup and formatting.</LI>
1109     <LI>Define G4ThisThread, G4Promise, G4Future, and G4SharedFuture in
1110         G4Threading the promises and futures are not currently used but will be
1111         used in future.</LI>
1112     <LI>G4TypeMutex and G4RecursiveTypeMutex now accept an index.</LI>
1113     <LI>G4DummyThread typedef <TT>std::thread::id</TT> as id instead of
1114         id_type.</LI>
1115     <LI>Updated use of thread-local static variables to function returning
1116         a thread-local static reference. New model for allowing support of
1117         multi-threading on Windows DLLs.</LI>
1118     </UL></LI>
1119 <LI>Increased accuracy of <TT>G4Pow::A13()</TT> in the most critical [1/4,4]
1120     interval.</LI>
1121 <LI>Extracted G4Exception banner front/end strings for use in Qt parsing.</LI>
1122 <LI>G4PhysicsVector, G4Physics2DVector: fixed possible out-of-bound access
1123     in <TT>FindBin()</TT> method. Addressing problem report
1124     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2087">#2087</A>.</LI>
1125 <LI>Reset singleton pointer in G4StateManager destructor;
1126     addressing problem report
1127     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2094">#2094</A>.
1128     Minor code cleanup.</LI>
1129 <LI>Migrated G4Timer real (wall) time to use <TT>std::chrono::high_precision_clock</TT>
1130     from C++11. Fixed CPU number printout in <TT>operator&lt;&lt;()</TT>.
1131     Use G4 types. Code formatting.</LI>
1132 <LI>Expanded DEFINED_PPC and DEFINED_INTEL in G4FPEDetection.</LI>
1133 <LI>Added G4TiMemory header which defines an dummy initializer and empty
1134     macros when the profiling package TiMemory is disabled, while it includes
1135     the TiMemory headers and defines an initializer when built with TiMemory
1136     support enabled. Removed obsolete definition in G4Timer and G4SliceTimer,
1137     causing conflicts with TiMemory. Updated CMake scripts.</LI>
1138 <LI>Minor code cleanup in G4UniformRandPool.</LI>
1139 <LI>Added new classe G4StatAnalysis, a lightweight statistics class that
1140     calculates the mean, FOM, relative error, standard deviation, variance,
1141     coefficient of variation, efficiency, r2eff, r2int (corr-coeff-of-interp/
1142     coeff-of-determ).</LI>
1143 <LI>Added new utility class G4EnvironmentUtils, including convenient
1144     environment converters.</LI>
1145 <LI>Added variadic template function to templates.hh to consume unused
1146     parameters and variables.</LI>
1147 <LI>G4OrderedTable and G4DataVector: fixed store/retrieve of binary
1148     data format.</LI>
1149 <LI>G4AllocatorPool: moved copy-ctr and <TT>operator=()</TT> to public section.</LI>
1150 <LI>Fixes to G4ConvergenceTester to ensure there are no divide-by-zeros
1151     when calculating the stat history.
1152     Added <TT>operator += (G4double)</TT>.Fixed printout typos.</LI>
1153 <LI>Updated date of release for 10.5.</LI>
1154 </UL>
1155 
1156 <A NAME="greps-notes">
1157 <H3><I>Graphical Representations</I></H3></A>
1158 <UL>
1159 <LI>Replaced DBL_MAX by <TT>G4VisAttributes::veryLargeTime = 1.e100*ns</TT>,
1160     (i.e. about 1.e75 billion years), to avoid for consistency DBL_MAX
1161     which is dimensionless.
1162     Disabled deprecated static data member G4VisAttributes::Invisible for
1163     Windows systems.</LI>
1164 <LI>Added <TT>GetNullExtent()</TT> function and <TT>operator==()</TT> to
1165     G4VisExtent.</LI>
1166 <LI>Added G4GREPS_ALLOC_EXPORT flag for DLL symbols export and apply it to
1167     data in G4VisAttributes.</LI>
1168 </UL>
1169 
1170 <A NAME="had-notes">
1171 <H3><I>Hadronic Processes</I></H3></A>
1172 <UL>
1173 <LI><B>Cross sections</B>
1174     <UL>
1175     <LI>G4NeutrinoElectronTotXsc: new class for total (i.e. neutral current
1176         plus charged current) cross-section for neutrino-electron
1177         interactions.</LI>
1178     <LI>Introduced switch to allow transuranic elements.</LI>
1179     <LI>G4PiNuclearCrossSection: for transuranic elements, scale the
1180         cross-sections from those of Uranium (using the ratio of atomic
1181         weights), instead of using directly the latter.</LI>
1182     <LI>G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS:
1183         adopting new data structure from data set, incompatible with
1184         previous.</LI>
1185     <LI>G4ParticleInelasticXS: new inelastic cross sections for neutrons,
1186         protons and light ions based on G4PARTICLEXS-1.1.</LI>
1187     <LI>G4HadronXSDataTable: new class for cross-section handling.</LI>
1188     <LI>G4CrossSectionDataStore: added new method ComputeCrossSection(); reduced
1189         number of type conversions, number of computation of cross-sections and
1190         code branches; use const pointers to G4Material, G4Element and
1191         G4Isotope; fixed selection of isotope, for energy below <TT>20 MeV</TT>
1192         use isotope cross-sections, above <TT>20 MeV</TT> - isotope abundaces.</LI>
1193     <LI>G4VCrossSectionDataSet: added new flag 'isForAllAtomsAndEnergies' and
1194         get/set methods allowing to reduce the list of cross-sections per
1195         particle.</LI>
1196     <LI>Commented out debug printouts in G4ProjectileFragmentCrossSection
1197         header.</LI>
1198     <LI>Replaced file-scoped mutexes in G4CrossSectionFactoryRegistry to use
1199         G4TypeMutexwhich addresses a static mutex initialization bug on
1200         Windows.</LI>
1201     <LI>G4NeutronElasticXS, G4PhotoNuclearCrossSection,
1202         G4ElectroNuclearCrossSection: removed Gheisha cross-section from
1203         data store; use these classes as default.
1204         Corrected list of isotope cross-section.</LI>
1205     <LI>G4NeutronElasticXS: instantiate components in BuildPhysicsTable.</LI>
1206     <LI>G4HadronNucleonXsc: improved computation of kaon cross-sections,
1207         kaon-short and kaon-long cross-sections are computed as half sum of
1208         K- and K+. Implemented PDG-2017 parameterisation of total cross-sections.
1209         Use G4Pow, G4Exp, G4Log substituting <TT>std::pow()</TT>; added
1210         interfaces with G4ParticleDefinition and kinetic energy.</LI>
1211     <LI>G4CrossSectionElastic, G4CrossSectionInelastic: use new class
1212         G4HadronicParameters for definition of max energy.</LI>
1213     <LI>G4ComponentGGHadronNucleusXsc: general review and speed up without
1214         functional changes; added method <TT>ComputeCrossSections()</TT>;
1215         added cache values.</LI>
1216     <LI>G4VCrossSectionDataSet, G4BGGPionElasticXS, G4BGGPionInelasticXS:
1217         replaced explicit high-energy limit of hadronic physics with
1218         the one from G4HadronicParameters.</LI>
1219     <LI>G4CrossSectionElastic, G4CrossSectionDataSetRegistry,
1220         G4CrossSectionInelastic: added safe deletion of
1221         G4VComponentCrossSection at end of run.</LI>
1222     <LI>G4CrossSectionDataSetRegistry, G4VComponentCrossSection: added
1223         registration/de-registration of component cross-sections.</LI>
1224     <LI>G4ComponentGGHadronNucleusXsc: minor code cleanup.</LI>
1225     <LI>G4HadronCrossSections: use G4ThreadLocalSingleton pattern.</LI>
1226     <LI>G4HadronElasticDataSet, G4HadronInelasticDataSet: added cache;
1227         optimized <TT>IsElementApplicable()</TT> method.</LI>
1228     <LI>G4CrossSectionElastic, G4CrossSectionInelastic: set <TT>Zmin=1</TT>
1229         instead of 0.</LI>
1230     <LI>G4HadronCrossSections: added a protection (with a <TT>JustWarning</TT>
1231         exception) in the case of direct calls of cross-sections for particles
1232         not handled by Gheisha (e.g. gamma, He3, light anti-ions).</LI>
1233     <LI>G4ComponentGGNuclNuclXsc: fixed bug for light ion cross-sections.</LI>
1234     <LI>G4VComponentCrossSection, G4CrossSectionInelastic, G4CrossSectionElastic,
1235         G4ComponentSAIDTotalXS, G4ComponentGGNuclNuclXsc,
1236         G4ComponentGGHadronNucleusXsc: use stream in the <TT>Description()</TT>
1237         method instead of standard output.</LI>
1238     <LI>G4ComponentBarNucleonNucleusXsc: simplified and cleaned up, use
1239         G4BarashenkovData.</LI>
1240     <LI>G4BGGPionInelasticXS: use N. Starkov parameterisation for
1241         pion-nucleon.</LI>
1242     <LI>G4NucleonNuclearCrossSection: use G4ComponentBarNucleonNucleusXsc.</LI>
1243     <LI>G4UPiNuclearCrossSection, G4PiNuclearCrossSection: code cleanup.</LI>
1244     <LI>G4ComponentGGNuclNuclXsc, G4ComponentGGHadronNucleusXsc: completed
1245         cleanup; removed code duplication, all parameterisations are used from
1246         G4HadronNucleonXsc class only; do not create temporary G4DynamicParticle
1247         objects; implemented computations only inside <TT>ComputeCrossSections()</TT>
1248         methods.</LI>
1249     <LI>G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS,
1250         G4ComponentSAIDTotalXS, G4CrossSectionPairGG, G4NeutronElasticXS,
1251         G4NeutronInelasticXS, G4ParticleInelasticXS: improved destruction.</LI>
1252     <LI>G4VComponentCrossSection, G4CrossSectionDataSetRegistry,
1253         G4CrossSectionElastic, G4CrossSectionInelastic: fixed deletion of
1254         cross-sections and components in MT mode.</LI>
1255     <LI>G4ComponentGGNuclNuclXsc: fixed Coulomb barrier computation.</LI>
1256     <LI>G4HadronNucleonXsc: introduced parameterisation for kaons.
1257         Restored PDG 2005 parameterisation.
1258         Added cross-sections for strange hyperons.</LI>
1259     <LI>G4ComponentGGHadronNucleusXsc: added cross-sections for strange
1260         hyperons.</LI>
1261     <LI>G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS,
1262         G4BGGPionInelasticXS: use only Barashenkov cross-section,
1263         Glauber-Gribov cross-section for target Z>1 and G4HadronNucleonXscNS
1264         for target Z=1. G4BGGPionElasticXS: limit cross-section below
1265         <TT>20 MeV</TT>.</LI>
1266     <LI>G4PhotoNuclearCrossSection: added two new methods, <TT>IsIsoApplicable()</TT>
1267         and <TT>GetIsoCrossSection()</TT> to allow photo-nuclear reactions on deuterium.
1268         Addressing problem report
1269         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2092">#2092</A>.</LI>
1270     <LI>G4ComponentGGNuclNuclXsc: fixed nuclear radius parameterisation.</LI>
1271     <LI>G4ComponentGGHadronNucleusXsc: choose NS (i.e. by N. Starkov) 
1272         parameterisation for kaon scattering off Hydrogen.</LI>
1273     <LI>G4BGGPionElasticXS, G4BGGPionInelasticXS, G4BGGNucleonInelasticXS: use
1274         SAID cross-section at low energy. Use NS (i.e. by N. Starkov) 
1275         parameterisation for cross-sections on Hydrogen. G4BGGNucleonElasticXS:
1276         limit elastic cross-section off proton at low energy.</LI>
1277     <LI>G4ComponentSAIDTotalXS - make class thread safe </LI>
1278     <LI>G4HadronNucleonXsc: use PDG2016 parameterisation for protons.
1279         Smooth kaon cross-section. Kaon cross-section with the same
1280         parameterisation as in G4 10.4.
1281         Added extra method for kaons fully based on NS (i.e. by N. Starkov)
1282         parameterisation.</LI>
1283     <LI>G4NucleonNuclearCrossSection: fixed typo in inelastic cross-section.</LI>
1284     <LI>G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS
1285         G4ParticleInelasticXS: replaced environment variable G4NEUTRONXSDATA
1286         with G4PARTICLEXSDATA; use full list of isotopic cross-sections
1287         available in G4PARTICLEXS.</LI>
1288     <LI>G4CrossSectionFactoryRegistry: fixed printout typo.</LI>
1289     </UL></LI>
1290 <LI><B>Management</B>
1291     <UL>
1292     <LI>G4HadronicProcess: fixed compilation warnings on gcc-8.1.0 regarding
1293         catching polymorphic type by value, instead of by reference.
1294         Use const pointers and "nullptr" for G4Material and G4Element; use
1295         <TT>ComputeCrossSection()</TT> method; removed creation of new
1296         materials at run-time inside GetElementCrossSection(), all materials
1297         should be created in the user code.
1298         Use correct return type when calling <TT>CheckResult()</TT> from
1299         <TT>PostStepDoIt()</TT>:
1300         fixes case when the value of pointer 'result' does not get properly
1301         reset to NULL in case a non-conservation is detected, thus "bad"
1302         interaction does not get re-sampled.</LI>
1303     <LI>Code cleanup in G4HadronicProcess, G4VLeadingParticleBiasing and
1304         G4HadLeadBias. G4HadronicProcess, G4HadronInelasticProcess: added
1305         keyword  <TT>override</TT>; cleanup of cross-section scale factor
1306         and weights; G4HadronicProcessStore: use <TT>nullptr</TT> and added
1307         flag <TT>buildXSTable</TT> with get/set methods.</LI>
1308     <LI>Added function <TT>GetHadronicModel(modelName)</TT> in
1309         G4HadronicProcess, which returns a pointer to G4HadronicInteraction.</LI>
1310     <LI>Removed obsolete class G4HadronicInteractionWrapper.</LI>
1311     <LI>G4HadronicProcess: added check if secondary particle is on the mass
1312         shell; if its mass differ from the PDG mass by more than <TT>1.5 MeV</TT> 
1313         then the mass is forced to the mass shell, keeping total energy
1314         conserved but not 3-momentum.</LI>
1315     </UL></LI>
1316 <LI><B>Processes</B>
1317     <UL>
1318     <LI>G4HadronElasticProcess, G4NeutrinoElectronProcess: fixed compilation
1319         warnings on gcc 8.1.0, regarding catching polymorphic type by value,
1320         instead of by reference.
1321         Use const pointers and "nullptr" for G4Material and G4Element.</LI>
1322     <LI>G4NeutrinoElectronProcess: added cross-section biasing.
1323         Modified constructor.</LI>
1324     <LI>G4HadronCaptureProcess: revised description; added C++11 keywords.</LI>
1325     </UL></LI>
1326 <LI><B>Stopping</B>
1327     <UL>
1328     <LI>G4HadronStoppingProcess, G4MuonicAtomDecay: fixed compilation warnings
1329         on gcc 8.1.0, regarding catching polymorphic type by value, instead of
1330         by reference.</LI>
1331     <LI>G4HadronicAbsorptionFritiof: replaced the explicit high-energy limit
1332         of hadronic physics with the one from G4HadronicParameters.</LI>
1333     <LI>G4MuonMinusBoundDecay: changed the calculation used in
1334         <TT>GetMuonDecayRate()</TT>, based on problem report
1335         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2049">#2049</A>.
1336         Added another GetMuonDecayRate() function using A, muon and nucleus
1337         masses in addition to Z to accomodate the more accurate formula.</LI>
1338     <LI>G4MuonMinusBoundDecay: fixed Coverity defect in <TT>GetMuonDecayRate()</TT>;
1339         removed forbidden creation of G4Element in any model class.</LI>
1340     </UL></LI>
1341 <LI><B>Utilities</B>
1342     <UL>
1343     <LI>Updated use of thread-local static variables to function returning
1344         a thread-local static reference. New model for allowing support of
1345         multi-threading on Windows DLLs.</LI>
1346     <LI>Added new singleton class G4HadronicParameters, keeping global
1347         hadronic parameters. For the time being, it has only the high-energy
1348         limit of hadronic physics (instead of spreading this value in many
1349         different files, as done up to now). The default value is set to
1350         <TT>100 TeV</TT>.</LI>
1351 <LI><U>Models Utilities</U>:
1352     <UL>
1353     <LI>First implementation of alpha cluster structure of carbon nuclei in
1354         G4Fancy3DNucleus, according to P.Bozek et al., Phys.Rev.C90, 064902
1355         (2014). Fixed issue of event reproducibility; added loop checks and general
1356         cleanup. In case of difficulties in the method <TT>ChooseFermiMomenta()</TT>,
1357         emit a <TT>JustWarning</TT> exception instead of writing to <TT>cerr</TT>.</LI>
1358     <LI>Minor improvement to code in G4Nucleon and cleanup.</LI>
1359     <LI>Updated use of thread-local static variables to function returning
1360         a thread-local static reference. New model for allowing support of
1361         multi-threading on Windows DLLs.</LI>
1362     </UL></LI>
1363     </UL></LI>
1364 <LI><B>Abla</B>
1365     <UL>
1366     <LI>Extended model to hypernuclei.</LI>
1367     <LI>Updated ABLA interfaces.</LI>
1368     <LI>Updated some parameters and code cleanup.</LI>
1369     <LI>Fixed some Coverity defects.</LI>
1370     </UL></LI>
1371 <LI><B>Bertini Cascade</B>
1372     <UL>
1373     <LI>Added strange pair production channels to list of 6, 7, 8 and 9-body
1374         final states in classes G4CascadeT31piNChannel and
1375         G4CascadeT33piNChannel. Modified template values accordingly.</LI>
1376     <LI>G4CascadeT11pizNChannel: extended strange pair production channels to
1377         6,7,8 and 9 body final states.</LI>
1378     <LI>Fixes in G4ElementaryParticleCollider methods <TT>generateSCMpionAbsorption()</TT>
1379         and <TT>generateSCMmuonAbsorption()</TT>, as they did not produce correct nucleon
1380         pairs when pion or muon was absorbed. Added quantum number conservation
1381         test to method <TT>collide()</TT>.</LI>
1382     <LI>Fixed implementation of nuclear_rad_2par configurable key in
1383         G4CascadeParamMessenger.</LI>
1384     <LI>G4GDecay3: fixed problem reported by CMS due to wrong kinematics in the
1385         final state by removing loop check; adding protection for low value of
1386         mother mass.</LI>
1387     <LI>G4NucleiModel: replace Kossov parameterization of gammaQDxsec with new
1388         values coming from smooth line through deuteron photo-disintegration
1389         data which include 2004 JLab data up to 3 GeV.
1390         Fix in <TT>boundaryTransition()</TT> to prevent glancing incidence at
1391         shell boundaries from reflecting too many times.</LI>
1392     <LI>G4CascadeT11pizNChannel, G4CascadeT31piNChannel, G4CascadeT33piNChannel:
1393         re-ordered particle types in final state arrays so that pion is first
1394         and nucleon is second. Two body final state methods assume this.</LI>
1395     <LI>G4CascadeKminusNChannel, G4CascadeKminusPChannel, G4CascadeKplusNChannel,
1396         G4CascadeKplusPChannel, G4CascadeKzeroBarNChannel,
1397         G4CascadeKzeroBarPChannel, G4CascadeKzeroNChannel, G4CascadeKzeroPChannel:
1398         same as above but re-ordered only for two- and three-body final states.</LI>
1399     <LI>G4CascadeT1GamNChannel: re-ordered final state particle types so that
1400         mesons are first in two- and three-body cases.</LI>
1401     <LI>G4CascadeParamMessenger: added description to /process/had/ directory.
1402         Addressing problem report
1403         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2020">#2020</A>.</LI>
1404     <LI>Fix in <TT>G4PreCompoundDeexcitation::deExcite()</TT> to not use const
1405         reference as input since G4PreCompound can change the fragment and
1406         upset the energy balance. In <TT>G4CollisionOutput::getTotalCharge()</TT>,
1407         subtract electron charges in case of internal conversion in
1408         G4PreCompound.
1409         In <TT>G4CascadeCheckBalance::collide()</TT>, convert fragment momentum
1410         given in <TT>MeV</TT> to <TT>GeV</TT> (Bertini units) and remove
1411         electrom masses from energy balance when internal conversion occurs.
1412         Addesses problem report
1413         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2096">#2096</A>
1414         for energy non-conservation.</LI>
1415     </UL></LI>
1416 <LI><B>De-excitation</B>
1417     <UL>
1418     <LI>G4ChatterjeeCrossSection, G4KalbachCrossSection: moved implementation
1419         to source.</LI>
1420     <LI>G4VEmissionProbability, G4EvaporationProbability: fixed integration
1421         of probabilities for neutron emission for OPT=1,2.</LI>
1422     <LI>G4NeutronRadCapture: replaced the explicit high-energy limit of
1423         hadronic physics with the one from G4HadronicParameters.</LI>
1424     <LI>G4FermiPhaseSpaceDecay: moved long method from inline to source;
1425         added a protection for low mass of initial state.</LI>
1426     <LI>G4LevelReader: attempt to adress problem reports
1427         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1986">#1986</A>
1428         and
1429         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2076">#2076</A>
1430         by changing hadling of internal conversion data.</LI>
1431     <LI>G4LevelReader: changed fatal exception by warning for problematic
1432         level index.</LI>
1433     <LI>G4LevelReader: changed <TT>fAlphaMax</TT> from 1.e+6 to 1.e+15 for correct
1434         IC probability of some isotopes.</LI>
1435     <LI>G4DeexPrecoParameters: fixed checks on parameter values.</LI>
1436     <LI>G4DeexPrecoParameters: set default deexcitation "evaporation+GEM".</LI>
1437     <LI>G4DeexPrecoParameters: set default level density parameter to 0.075.</LI>
1438     <LI>G4DeexPrecoParameters: added extra parameter for the FBU model.</LI>
1439     <LI>G4FermiFragmentsPoolVI: extended number of FBU fragments from
1440         399 to 991 and corresponding number of reaction channels.</LI>
1441     <LI>G4EvaporationProbability, G4CompetitiveFission, G4VEmissionProbability,
1442         G4PhotonEvaporation: coherent use of the same parameterisation of level
1443         density and pairing correction between all models.</LI>
1444     <LI>G4CompetitiveFission, G4FissionLevelDensityParameter,
1445         G4FissionLevelDensityParameterINCLXX, G4FissionProbability:
1446         tuned fission parameters.</LI>
1447     <LI>G4EvaporationProbability: added option 4 for de-excitation.</LI>
1448     <LI>G4LevelManager: added shell correction data and its accessor.</LI>
1449     <LI>G4LevelManager, G4NuclearLevelData, G4LevelReader: added intialisation
1450         of level density and pairing correction per isotope, added possibility
1451         to choose between two parameterisations of level density.</LI>
1452     <LI>G4FissionLevelDensityParameter, G4FissionLevelDensityParameterINCLXX,
1453         G4EvaporationLevelDensityParameter, G4CoulombBarrier, G4PairingCorrection:
1454         clean up according G4NuclearLevelData.</LI>
1455     <LI>G4UnstableFragmentBreakUp: fixed Coverity defect.</LI>
1456     <LI>G4ExcitationHandler: added protection to verbosity printouts in
1457         <TT>SetDeexChannelsType()</TT> and <TT>Initialise()</TT> methods.</LI>
1458     <LI>G4PhotonEvaporation: improved debug printout.</LI>
1459     <LI>Fixed few printout typos.</LI>
1460     <LI>Fixed Coverity defects.</LI>
1461     </UL></LI>
1462 <LI><B>Elastic scattering</B>
1463     <UL>
1464     <LI>Update to G4hhElastic to take into account recent TOTEM data for
1465         proton-proton at <TT>13 TeV</TT>.</LI>
1466     <LI>Added new class G4DiffuseElasticV2. The underlying physics model is
1467         the same as in G4DiffuseElastic, however, the code has been revised,
1468         cleanup and significantly improved in a number of places.
1469         The performance has been improved by a factor of ~2 with respect
1470         to the original implementation. The approximation of small angles
1471         has been dropped (replaced by exact calculation) as it was not
1472         bringing any visible benefits.</LI>
1473     <LI>Set to <TT>100 TeV</TT> (instead of <TT>1 TeV</TT>) the upper limit
1474         of applicability for the model G4DiffuseElastic and G4DiffuseElasticV2
1475         (the number of equally-sized logarithmic energy bins has been increased
1476         from 200 to 250 to keep the same bin size, 0.04).
1477         The model has been validated with experimental data up to <TT>300 GeV</TT>,
1478         but it should not give meaningless results well above this energy.
1479         The number of bins has been further increased from 250 to 300 in order
1480         to have no larger bins up to <TT>10 PeV</TT>.</LI>
1481     <LI>Replaced the explicit high-energy limit of hadronic physics with the
1482         one from G4HadronicParameters.</LI>
1483     <LI>G4AntiNuclElastic: use cross-section component from
1484         G4CrossSectionDataSetRegistry and properly delete it at the end
1485         of run.</LI>
1486     <LI>G4NuclNuclDiffuseElastic: replaced the high-energy limit of
1487         applicability of the model from <TT>1 TeV</TT> to the value specified
1488         in G4HadronicParameters.</LI>
1489     <LI>G4AntiNuclElastic: do not delete component at the end of run.</LI>
1490     <LI>G4HadronElastic: fixed numberical instability when final kinetic
1491         energy of projectile is nearly zero.</LI>
1492     </UL></LI>
1493 <LI><B>INCLXX</B>
1494     <UL>
1495     <LI>Updated to INCL++ v6.28.</LI>
1496     <LI>Improved strangeness and few nucleon removal (HFB).</LI>
1497     <LI>Fixed mass of a light hypernucleus (Z=1,A=2). Fixed various bugs.</LI>
1498     <LI>Checked porting with C++17 enabled.</LI>
1499     <LI>Requiring new G4INCL-1.0 data set and corresponnding G4INCLDATA path
1500         environment variable.</LI>
1501     <LI>Use G4RandGauss for Gaussian random distribution, to reduce cases of
1502         event non-reproducibility.</LI>
1503     <LI>Changed Adapter::operator()() in G4INCLRandom to make direct use of
1504         <TT>G4RandFlat::shootInt(n)</TT>. Fixes FPE errors occurring in MT mode
1505         optimised.</LI>
1506     <LI>Fixed few printout typos.</LI>
1507     </UL></LI>
1508 <LI><B>Lend</B>
1509     <UL>
1510     <LI>MCGIDI_misc: fixed printout typo.</LI>
1511     </UL></LI>
1512 <LI><B>Lepto-nuclear</B>
1513     <UL>
1514     <LI>G4NeutrinoElectronCcModel: added extra interfaces.
1515         Also fixed Coverity defect.</LI>
1516     <LI>G4NeutrinoElectronCcModel: replaced the explicit high-energy limit
1517         of hadronic physics with the one from G4HadronicParameters.</LI>
1518     </UL></LI>
1519 <LI><B>Particle High Precision</B>
1520     <UL>
1521     <LI>G4ENDFTapeRead, G4FissionProductYieldDist: fixed compilation warnings
1522         on gcc 8.1.0, regarding catching polymorphic type by value, instead of
1523         by reference.</LI>
1524     <LI>G4ParticleHPElementData: removed unnecessary inheritance from
1525         G4HadronicCrossSection.</LI>
1526     <LI>Fixed incorrect sampling of isotropic distribution.
1527         Addressing problem report
1528         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1745">#1745</A>.</LI>
1529     <LI>Fixed gamma level mismatch in G4ParticleHPInelasticCompFS.
1530         Not a complete fix because gamma data comes from ENSDF and does not
1531         necessarily match excitations in ENDF. Addressing problem report
1532         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1789">#1789</A>.</LI>
1533     <LI>Fixed memory leaks in <TT>G4ParticleHPContEnergyAngular::Sample()</TT> and
1534         <TT>G4ParticleHPContAngularPar::cacheInit()</TT>. Addressing problem report
1535         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2026">#2026</A>.</LI>
1536     <LI><TT>G4ParticleHPCaptureFS::ApplyYourself()</TT>: Lorentz boost of neutron into
1537         target frame was backwards; reversed it. Also replaced <TT>SetDefinition()</TT>
1538         with <TT>SetDefinitionAndUpdateE()</TT>. Addresses problem report
1539         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1919">#1919</A>.</LI>
1540     <LI>Fixed definition of singletons for G4ParticleHPManager and
1541         G4ParticleHPThreadLocalManager and some code cleanup.
1542         Made G4ParticleHPThreadLocalManager a G4ThreadlLocalSingleton to avoid
1543         memory leaks generated each time a thread creates the instance.</LI>
1544     <LI>Fixed bug for double allocation of G4ParticleHPReactionWhiteBoard in
1545         <TT>G4ParticleHPThreadLocalManager::OpenReactionWhiteBoard()</TT>.</LI>
1546     <LI><TT>G4ParticleHPElasticFS::ApplyYourself()</TT>: use correct reference frames for
1547         calculation of projectile and target momenta. Correction made for cases
1548         when <TT>cos(Theta)</TT> is given in lab frame and in center of momentum frame.
1549         Partial fix of momentum non-conservation for problem report
1550         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1918">#1918</A>.</LI>
1551     <LI>Fixed potential leaks in G4ParticleHPPhotonDist, G4ParticleHPContAngularPar
1552         and G4ParticleHPFinalState for use of pointers cached in G4Cache.</LI>
1553     <LI>Minor code cleanup and formatting.</LI>
1554     </UL></LI>
1555 <LI><B>Parton-String</B>
1556     <UL>
1557     <LI>In the string fragmentation part of the FTF model, first implementation
1558         of rotating strings with introduction of Mt distribution of hadrons.
1559         Parameters are tuned using NA49 experimental data on pp-interactions.
1560         Good results are obtained for Pi+-, K+-.
1561         For P and Pbar <Pt> - xF correlations need still improvement.</LI>
1562     <LI>Major revision of QGS model; implemented Reggeon cascading and
1563         associated "Fermi motion". Implemented new algorithm of parton
1564         kinematical properties determination and calculation of residual
1565         nucleus properties. Adjusted G4GammaParticipants to the revised
1566         model.
1567         Cut non-vacuum reggeons are interpreted as a creation of a single
1568         string, or as a single string creation and one "stable" hadron.
1569         Such processes are described by RRR diagram of Reggeon phenomenology.</LI>
1570     <LI>Improved energy-momentum conservation in the QGS model, especially
1571         in the case of diffraction interactions.</LI>
1572     <LI>Major improvement of QGS model: Pomeron parameters are set up according to
1573         A.Kaidalov and M.Poghosyan (2009-2010). Non-vacuum reggeons: f and
1574         omega, are included in the calculations using parameters by A.Kaidalov
1575         and M.Poghosyan (2009-2010).</LI>
1576     <LI>New class G4Reggeons for calculations of cross-sections in QGS model.</LI>
1577     <LI>Introduced new class G4QuarkExchange for implementation of quark
1578         exchange process in QGS model.</LI>
1579     <LI>G4QGSParticipants: implementation of quark-exchange simulation in
1580         the QGS model. Fix for nucleon state counter. Minor fix to avoid
1581         FPE observed only in optimized mode.</LI>
1582     <LI>G4VPartonStringModel: throw exception for the case when string
1583         fragmentation does not produce hadrons (for both FTF and QGS models).</LI>
1584     <LI>In the QGS model, cleaned and improved G4SingleDiffractiveExcitation and
1585         G4QGSDiffractiveExcitation. Correction in G4SingleDiffractiveExcitation
1586         to treat h + N and Gamma + N diffraction.</LI>
1587     <LI>In the QGS model, changed G4MesonSplitter probabilities UUbar DDbar
1588         from (0.5, 0.5) to (0.8, 0.2) for gamma projectile.</LI>
1589     <LI>G4QGSMSplitableHadron: fixed bug in the case of gamma projectile with
1590         P_minus = 0 for the QGS model.</LI>
1591     <LI>G4ExcitedStringDecay: bug-fix in <TT>FragmentStrings()</TT> method (access
1592         to the first element of an empty vector: this is for both FTF and QGS
1593         string fragmentation). Increased the number of max attempts to
1594         fragment strings from 10 to 100. </LI>
1595     <LI>New tuning of FTF model parameters.</LI>
1596     <LI>Introduced various Pt^2 for diffractive and non-diffractive
1597         interactions in the FTF model, for NA49 and NA61/SHINE experimental data.</LI>
1598     <LI>Fine tuning in G4DiffractiveExcitation for the FTF model, to describe
1599         NA49 experimental data, especially, <Pt> on Xf.</LI>
1600     <LI>Fix to address the baryon puzzle of NA49 data for the FTF model;
1601         <Pt> of baryons 1/2 at a string fragmentation setting up at <TT>435 MeV/c</TT>,
1602         and Pt for baryons 3/2 production at <TT>900 MeV/c</TT>.</LI>
1603     <LI>Fine tuning of G4LundStringFragmentation (for the string fragmentation
1604         of the FTF model). Pt of mesons created at quark fragmentation is
1605         decreased. Pt of baryons created at quark and di-quark is increased. 
1606         Corrected fragmentation functions of <TT>qq-&gt;B(1/2)</TT> and <TT>B(3/2)</TT>.
1607         Re-organized and cleaned up code; the variant is tuned using NA49
1608         experimental data on <TT>pp-&gt;p/pi/K +X</TT>.</LI>
1609     <LI>Introduced smearing of delta-isobar mass in the FTF model; 
1610         delta-isobars are now treated as a kinetic track; improved
1611         parameterisation of the quark exchange process with excitation.
1612         NA61/SHINE exp. data on Pi+, Pi-, K+, K- and protons in PP interactions
1613         at 20, 31, 40, 80 and 158 <TT>GeV/c</TT> are now described. Now
1614         reproducing the ratio of &lt;Strane Q&gt;&sol;&lt;Normal Q&gt; in PP
1615         interactions. Not describing kink in AA interactions.</LI>
1616     <LI>Improved di-quark fragmentation into baryons in Lund string
1617         fragmentation (used in the FTF model). Improved description of NA49 and
1618         NA61/SHINE experimental data on <TT>p+p-&gt;p+X</TT>. Improvements in
1619         the method SetMinimalStringMass(), relevant for Pbar P annihilation.</LI>
1620     <LI>In the FTF model, improved process probability parameterizations for
1621         Pi - Nucleon interactions. Good results are obtained for HARP data 
1622         (<TT>p/Pi+/Pi- + A</TT> at <TT>3, 5, 8, 12 GeV/c</TT>) and for Pi N
1623         inclusive reactions.</LI>
1624     <LI>Corrected calculation of nuclear residual excitation energy in the FTF model.
1625         Fine tuning of the FTF model parameters.</LI>
1626     <LI>For the FTF model, set to false the switches for the A-dependence
1627         in nuclear destruction for baryon projectile in G4FTFParameters. 
1628         Uncommented checks for these switches in the code. No changes in the
1629         random number sequence.</LI>
1630     <LI>Improved versions and tuning of Lund and QGS fragmentations
1631         (used, respectively, by FTF and QGS string models).</LI>
1632     <LI>G4LundStringFragmentation: bug fixes related to rotating strings
1633         in the FTF model.</LI>
1634     <LI>G4VLongitudinalStringDecay: removed useless caching in the method
1635         FragmentationMass() which was causing rare irreproducibilities in
1636         gamma-nuclear reactions (i.e. involving QGS).</LI>
1637     <LI>Improved QGS model and fixed issue of event reproducibility in
1638         gammma-nuclear.</LI>
1639     <LI>Fixed leak in <TT>G4QGSParticipants::GetList()</TT> for targets not deleted
1640         after interaction.</LI>
1641     <LI>G4QGSParticipants: introduced protection in the QGS model against
1642         negative squared mass in the method <TT>PutOnMassShell()</TT>, which was causing
1643         some rare crashes. If a negative squared mass occurs, a <TT>JustWarning</TT>
1644         exception is thrown and the squared mass is set to 0, before calling
1645         the square root (which is now computed only once).</LI>
1646     <LI>Moved G4PomeronCrossSection class to 'qgsm' module.</LI>
1647     <LI>G4FTFAnnihilation: fix to get flat <TT>cos(theta)</TT> and <TT>phi</TT>
1648         distributions for antiproton annihilation at rest in the FTF model. 
1649         Added also a protection for the evaluation of the rapidity.</LI>
1650     <LI>G4FTFModel, G4DiffractiveExcitation, G4FTFAnnihilation: code
1651         improvements of the FTF model. No changes in physics output, but with
1652         possible differences in the random sequence, due to numerical effects
1653         caused by re-ordering of operations.</LI>
1654     <LI>G4LundStringFragmentation: tuning of strange - anti-strange probability
1655         production, for the FTF model, as a function of energy to describe
1656         NA61/SHINE <TT>31 GeV/c p-C</TT> data on <TT>K+ / K-</TT> production.
1657         Decreased also the Lambda0 production for NA61/SHINE <TT>158 GeV/c</TT>
1658         and <TT>31 GeV/c p-C</TT>: for the former good agreement,
1659         while for the latter the simulation underestimates the data.</LI>
1660     <LI>G4QGSMFragmentation: implemented new algorithm for the last string decay
1661         a-la Lund. Improved the algorithm to stop the fragmentation of QGS strings.
1662         Tuning of parameters with NA49 and NA61/SHINE data was performed.</LI>
1663     <LI>G4Reggeons: improved cross-sections of K-meson - nucleon interactions
1664         in the QGS model. Taken into account Pomeron and 2 non-vacuum exchanges.
1665         Initial parameters for kaons are taken from Kaidalov's paper (1976).
1666         Improved gamma-nucleon cross-sections by tuning of parameters.</LI>
1667     <LI>Fix in <TT>G4FTFModel::GetStrings()</TT> to return a vector with
1668         size zero in wrong conditions for FTF.</LI>
1669     <LI>G4VPartonStringModel: in cases of wrong conditions for the QGS model,
1670         the initial particle/nucleus is returned, according to a similar fix in
1671         FTF model.</LI>
1672     <LI>Fixed handling of wrong conditions for the QGS model when it is unable
1673         to generate strings.</LI>
1674     <LI>Fixed few printout typos and minor code cleanup.</LI>
1675     <LI>Fixed Coverity defects.</LI>
1676     </UL></LI>
1677 <LI><B>Pre-equilibrium</B>
1678     <UL>
1679     <LI>G4PreCompoundEmission, G4PreCompoundFragment, G4PreCompoundNucleon:
1680         fixed computations for OPT=1,2.</LI>
1681     <LI>G4PreCompoundModel: fixed initialisation.</LI>
1682     <LI>G4PreCompoundFragmentVector: moved inlined methods to source.</LI>
1683     <LI>G4VPreCompoundFragment, G4HETCChargedFragment, G4HETCFragment,
1684         G4HETCNeutron, G4PreCompoundFragment, G4PreCompoundIon,
1685         G4PreCompoundNucleon, G4PreCompoundModel, G4PreCompoundEmission,
1686         G4PreCompoundTransitions, G4GNASHTransitions: updated usage of level
1687         density parameterisation according to de-excitation model.</LI>
1688     </UL></LI>
1689 <LI><B>Quasi-Elastic</B>
1690     <UL>
1691     <LI>G4QuasiElRatios: removed unnecessary protection against heavy
1692         elements.</LI>
1693     </UL></LI>
1694 <LI><B>Radioactive Decay</B>
1695     <UL>
1696     <LI>G4ECCapture, G4RadioactiveDecay, G4RadioactiveDecayMode: added electron
1697         capture channel from the N Shell.</LI>
1698     <LI>G4ECCapture: added tables of PL2/PL1 PM2/PM1 and PN2/PN1 based on bound
1699         electrons radial wave amplitudes, taken from Bambynek et al., Rev. Mod.
1700         Phys., vol. 49, 1977.
1701         Compute partial probabilities of subshells PL1,PL2,PM1,PM2,PN1,PN2 from
1702         the tables PL2/PL1, PM2/PM1, and PN2/PN1. Valid for allowed transitions.</LI>
1703     <LI>G4RadioactiveDecay: enable printout of parameters within G4VERBOSE in
1704         <TT>BuildPhysicsTable()</TT>.</LI>
1705     </UL></LI>
1706 <LI><B>RPG</B>
1707     <UL>
1708     <LI>G4RPGAntiKZeroInelastic, G4RPGInelastic: fixed compilation warnings on
1709         gcc-8.1.0, regarding catching polymorphic type by value, instead of by
1710         reference.</LI>
1711     </UL></LI>
1712 </UL>
1713 
1714 <A NAME="interc-notes">
1715 <H3><I>Intercoms</I></H3></A>
1716 <UL>
1717 <LI>Updated use of thread-local static variables to function returning
1718     a thread-local static reference. New model for allowing support of
1719     multi-threading on Windows DLLs.</LI>
1720 <LI>Fixed compilation warnings for not used return parameters.</LI>
1721 <LI>G4UIcommand: added comparison of two variables. Addressing problem report
1722     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2068">#2068</A>.</LI>
1723 </UL>
1724 
1725 <A NAME="interf-notes">
1726 <H3><I>Interfaces</I></H3></A>
1727 <UL>
1728 <LI>Fixed parse error for empty lines.</LI>
1729 <LI>G4Xt: fixed compilation warnings for casts on gcc-8.1.0.</LI>
1730 <LI>Fixed compilation warnings for not used return parameters.</LI>
1731 <LI>Changed <TT>G4VInteractorManager::SecondaryLoop()</TT> to virtual
1732     to cope with OpenInventor Qt visualization driver.</LI>
1733 </UL>
1734 
1735 <A NAME="materials-notes">
1736 <H3><I>Materials</I></H3></A>
1737 <UL>
1738 <LI>New class G4AtomicShells_XDB_EADL using experimental binding energy data
1739     from X-ray Data Book (XDB) where available and theoretical values otherwise.
1740     Removed old class G4AtomicShells_EADL.</LI>
1741 <LI>New class G4ICRU90StoppingData for ICRU90 data. Added method in G4NistManager
1742     to access G4ICRU90StoppingData; removed check forcing instantiation only in
1743     the master thread.</LI>
1744 <LI>G4ICRU90StoppingData, G4NistManager: fixed destruction of ICRU90 data.
1745     Fixed initialisation in G4ICRU90StoppingData.</LI>
1746 </UL>
1747 
1748 <A NAME="part-notes">
1749 <H3><I>Particles</I></H3></A>
1750 <UL>
1751 <LI>Removed obsolete <TT>MaxNumberOfProducts</TT> enumerator in G4DecayProducts.</LI>
1752 <LI>Removed G4MUTEX_INITIALIZER from constructor in G4VDecayChannel.</LI>
1753 <LI>Updated use of thread-local static variables to function returning
1754     a thread-local static reference. New model for allowing support of
1755     multi-threading on Windows DLLs.</LI>
1756 <LI>Fixed case of energy non-conservation in muon decay, due to wrong
1757     calculation of 2-neutrino system in CM frame for muon decay channel
1758     with spin. Addressing problem report
1759     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2072">#2072</A>.</LI>
1760 <LI>Fixed proton momentum and direction in G4NeutronBetaDecay.
1761     Addressing problem report
1762     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2088">#2088</A>.</LI>
1763 <LI>Changed UI command directory for G4NuclideTable
1764     and removed obsolete class G4NucleiPropertiesTableAME03.</LI>
1765 <LI>Fix in muon decay channel with spin, for calculation of beta of
1766     a 2 neutrino system in CM frame. Addressing problem report
1767     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2072">#2072</A>.</LI>
1768 <LI>Code cleanup.</LI>
1769 </UL>
1770 
1771 <A NAME="pers-notes">
1772 <H3><I>Persistency</I></H3></A>
1773 <UL>
1774 <LI>GDML:
1775     <UL>
1776     <LI>Clear auxiliary map information in <TT>G4GDMLReadStructure::Clear()</TT>.
1777         Addressing problem report
1778         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2064">#2064</A>.</LI>
1779     <LI>Added stripping of invalid characters for names generation in writer
1780         classes to prevent invalid NCName strings in exported GDML files.
1781         Adopt properly stripped generated strings for exporting names of
1782         optical surfaces.</LI>
1783     </UL></LI>
1784 </UL>
1785 
1786 <A NAME="lst-notes">
1787 <H3><I>Physics lists</I></H3></A>
1788 <UL>
1789 <LI><B>Builders</B>:
1790     <UL>
1791     <LI>Replaced explicit high-energy limit of hadronic physics with the one
1792         from the new class G4HadronicParameters.</LI>
1793     <LI>OrderingParameterTable: added gamma and e- processes.</LI>
1794     <LI>G4FTFBinaryPiKBuilder, G4HyperonFTFPBuilder: improved deletion.</LI>
1795     <LI>In G4QGSBinaryPionBuilder, G4QGSBinaryPiKBuilder, G4QGSPPiKBuilder,
1796         G4FTFPPionBuilder, G4BertiniPiKBuilder, G4FTFPPiKBuilder,
1797         G4BertiniPionBuilder, G4FTFBinaryPiKBuilder, G4BinaryPiKBuilder,
1798         G4INCLXXPionBuilder, G4FTFBinaryPionBuilder, G4BinaryPionBuilder,
1799         G4QGSPPionBuilder, use Barashenkov-Glauber-Gribov inelastic
1800         cross-section for pions. This allows to avoid to use Gheisha
1801         cross-sections for pion inelastic on Hydrogen target.</LI>
1802     </UL></LI>
1803 <LI><B>Constructors</B>:
1804     <UL>
1805     <LI><U>decay</U>
1806         <UL>
1807         <LI>G4RadioactiveDecayPhysics: fixed initialisation ordering of
1808             messages to EM physics.</LI>
1809         </UL></LI>
1810     <LI><U>electromagnetic</U>:
1811         <UL>
1812         <LI>G4EmStandardPhysics, G4EmStandardPhysics_option1/2/4, G4EmLowEPPhysics,
1813             G4EmPenelopePhysics, G4EmLivermorePhysics, G4EmStandardPhysicsGS,
1814             G4EmLivermorePolarizedPhysics: use new parameter <TT>MscEnergyLimit()</TT>
1815             (default is <TT>100 MeV</TT>) allowing to customise transition from
1816             low-energy multiple scattering to high energy combination of
1817             multiple and single scattering.</LI>
1818         <LI>G4EmStandardPhysics_option1/2: use Livermore photo-effect model.</LI>
1819         <LI>G4EmStandardPhysics_option4, G4EmLivermorePhysics,
1820             G4EmPenelopePhysics: set upper energy limit to <TT>100 TeV</TT>.</LI>
1821         <LI>G4EmLowEPPhysics: use new 5D gamma conversion model below <TT>80 GeV</TT>,
1822             use new Lindhard-Sorensen ion ionisation model above <TT>20 MeV/u</TT>.</LI>
1823         <LI>Added new class G4GammaSuperProcess, for coherent handling of EM
1824             processes on gamma particles.
1825             G4EmStandardPhysics_option1: enable gamma super process.
1826             G4EmStandardPhysics: added possibility to use gamma super process.</LI>
1827         <LI>G4EmLowEPPhysics: added Bremsstrahlung and pair-production for ions.</LI>
1828         <LI>G4EmStandardPhysics_option4, G4EmLivermorePhysics, G4EmPenelopePhysics,
1829             G4EmPolarizedLivermorePhysics: use same Goudsmit-Saunderson multiple
1830             scattering model configuration and same configurations for hadrons
1831             and ions.</LI>
1832         <LI>G4EmLowEPPhysics: use same configurations for hadrons.</LI>
1833         <LI>Renamed G4GammaSuperProcess to G4GammaGeneralProcess.</LI>
1834         <LI>G4GammaGeneralProcess, G4EmStandardPhysics, G4EmStandardPhysics_option1,
1835             G4EmStandardPhysics_option4: updated usage of gamma general process.</LI>
1836         <LI>Added new constructors G4EmDNAPhysics_option8 and
1837             G4EmDNAChemistry_option1.</LI>
1838         <LI>G4EmStandardPhysics_option1: disabled general gamma process.</LI>
1839         <LI>G4EmLivermorePhysics, G4EmPenelopePhysics: set stepping function
1840             parameters for muons and hadrons to (<TT>0.2,50*um</TT>).</LI>
1841         <LI>G4EmStandardPhysics_option3: set stepping function parameters for muons
1842             and hadrons to (<TT>0.2,50*um</TT>) and enable Mott corrections.</LI>
1843         <LI>G4EmStandardPhysics_option4: set stepping function parameters for
1844             muons and hadrons to (<TT>0.1,20*um</TT>).</LI>
1845         <LI>Use the most recent version of lateral displacement for the Urban
1846             model.</LI>
1847         <LI>G4EmParticles: extended list of particle (Bc+-, OmegaB, XiB,
1848             SigmaB).</LI>
1849         <LI>G4OpticalPhysicsMessenger, G4OpticalPhysics: fixed documentation.
1850             Addressing problem report
1851             <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2020">#2020</A>.</LI>
1852         <LI>G4EmStandardPhysics_option4, G4EmStandardPhysics_option3: cleaned up
1853             definition of nuclear stopping process.</LI>
1854         <LI>G4EmStandardPhysics_option2: use the same models and parameters
1855             as in LHCb EM physics constructor.</LI>
1856         <LI>G4EmStandardPhysicsWVI: use Opt3 parameters; use new ATENA ion
1857             stopping model.</LI>
1858         <LI>G4EmLowEPPhysics: use Opt3 parameters; use Lindhard-Sorensen ion
1859             stopping model; use ICRU90 stopping for protons and alpha.</LI>
1860         <LI>G4EmStandardPhysics_option3: use Alg96 lateral displacement sampling.
1861             Addresses issue reported in EM processes HyperNews Forum #1516.</LI>
1862         <LI>G4EmLivermorePhysics: return back 5D gamma conversion model.</LI>
1863         <LI>G4EmDNAPhysics_option7: fix for electron models combination.</LI>
1864         <LI>G4EmDNAChemistry, G4EmDNAChemistry_option1: fixed typo in headers.</LI>
1865         </UL></LI>
1866     <LI><U>factory</U>:
1867         <UL>
1868         <LI>Moved G4_REFERENCE_PHYSCONSTR_FACTORY macro calls out of
1869             G4PhysicsConstructorRegistry., where they cause an implicit circular
1870             dependency when building granular libraries; moved into inline source
1871             where they can be included as necessary in a higher level compilation
1872             unit. REFERENCE macro calls can be made unique.</LI>
1873         <LI>Allow override of exclusion of G4RegisterPhysicsConstructors
1874           definitions when using WIN32 by setting USING_STATIC_LIBS.</LI>
1875         <LI>Code cleanup.</LI>
1876         </UL></LI>
1877     <LI><U>gamma_lepto_nuclear</U>:
1878         <UL>
1879         <LI>G4EmExtraPhysics, G4EmMessenger: added extra UI commands and
1880             modifiers to define flags for neutrinos and for neutrino-electron
1881             interactions.</LI>
1882         <LI>Removed G4MUTEX_INITIALIZER from constructor in G4EmExtraPhysics.</LI>
1883         <LI>G4BertiniElectroNuclearBuilder: replaced explicit high-energy limit
1884             of hadronic physics with the one from G4HadronicParameters.</LI>
1885         <LI>G4EmExtraPhysics, G4BertiniElectroNuclearBuilder: added enabling of
1886             G4GammaGeneralProcess.</LI>
1887         <LI>G4EmExtraPhysics, G4EmMessenger: added possibility of cross-section biasing
1888             for neutrino-nuclear process.</LI>
1889         </UL></LI>
1890     <LI><U>hadron_elastic</U>:
1891         <UL>
1892         <LI>G4HadronElasticPhysicsXS: fixed use of data for neutron capture
1893             in HP lists. Addressing problem report
1894             <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2057">#2057</A>.</LI>
1895         <LI>G4HadronElasticPhysics: added service methods <TT>GetElasticProcess()</TT>,
1896             <TT>GetElasticModel()</TT> and <TT>AddXSection()</TT>.
1897             Code cleanup: use C++11 keywords; removed unnecessary statics.</LI>
1898         <LI>G4HadronElasticPhysicsHP, G4HadronElasticPhysicsPHP, G4HadronElasticPhysicsXS,
1899             G4HadronElasticPhysicsLEND: use inheritance from G4HadronElasticPhysics;
1900             removed most of static members; use of C++11 keywords.</LI>
1901         <LI>G4HadronDElasticPhysics, G4HadronHElasticPhysics: use of C++11 keywords.</LI>
1902         <LI>G4ChargeExchangePhysics, G4IonElasticPhysics, G4ThermalNeutrons:
1903             removed static members; use of C++11 keywords.</LI>
1904         <LI>G4HadronHElasticPhysics: for hyperon elastic cross-sections,
1905             replaced Chips cross-sections with Glauber-Gribov ones.</LI>
1906         <LI>G4HadronElasticPhysics, G4HadronElasticPhysicsXS: use G4BGGNucleonElasticXS
1907             cross-section for protons.</LI>
1908         <LI>Updated README.</LI>
1909         </UL></LI>
1910     <LI><U>hadron_inelastic</U>:
1911         <UL>
1912         <LI>G4HadronInelasticQBBC: use G4ParticleInelasticXS both for neutrons
1913             and protons.</LI>
1914         <LI>Replaced explicit high-energy limit of hadronic physics with the
1915             one from G4HadronicParameters.</LI>
1916         <LI>In all hadronic builders fixed use of data for neutron capture in HP
1917             lists; fixed configuration of capture and fission models and
1918             cross-sections. Addressing problem report
1919             <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2057">#2057</A>.</LI>
1920         <LI>G4HadronInelasticQBBC, G4HadronPhysicsFTFP_BERT, G4HadronPhysicsQGSP_BIC:
1921             clean-up model and cross-section configurations for neutrons.</LI>
1922         <LI>Fixed possible double deletion of builders objects at the end of a
1923             run.</LI>
1924         <LI>G4HadronPhysicsQGSP_BIC_AllHP: rewritten physics constructor for
1925             QGSP_BIC_AllHP, consistently with QGSP_BIC_HP (this fixes the
1926             problem of two fully overlapping neutron-capture models).</LI>
1927         <LI>G4HadronPhysicsQGSP_BIC, G4HadronPhysicsQGSP_BIC_HP,
1928             G4HadronPhysicsQGSP_BIC_AllHP: fixed C++11 keyword.</LI>
1929         <LI>G4HadronInelasticQBBC, G4HadronPhysicsFTFP_BERT, G4HadronPhysicsQGS_BIC,
1930             G4HadronPhysicsQGSP_BIC_AllHP: do not fill internal structure for
1931             cross-sections.</LI>
1932         <LI>G4VHadronPhysics: added extra method.</LI>
1933         <LI>G4HadronInelasticQBBC: removed more statics variables.</LI>
1934         <LI>G4HadronPhysicsFTFP_BERT_TRV: for hyperon inelastic cross-sections,
1935             replaced Chips cross-sections with Glauber-Gribov ones.</LI>
1936         <LI>G4HadronPhysicsFTFQGSP_BERT: use BGG pion cross-section consistently
1937             with all other physics lists.</LI>
1938         <LI>G4HadronInelasticQBBC: use BGG proton inelastic; fixed neutron
1939             cross-section.</LI>
1940         <LI>G4HadronPhysicsShielding, G4HadronPhysicsShieldingLEND: rewritten
1941             to cure memory leaks.</LI>
1942         </UL></LI>
1943     <LI><U>ions</U>:
1944         <UL>
1945         <LI>Major revision of all ion builders: reduced number of thread-local
1946             variables; simplified class constructors; for QMD, INCLXX, XS enabled
1947             combined list of de-excitation channels; use max energy from
1948             G4HadronicParameters and do not instantiate FTFP model if this
1949             energy is below max energy of the cascade; G4IonBinaryCascadePhysics
1950             is now identical to G4IonPhysics.</LI>
1951         <LI>G4IonPhysics, G4IonBinaryCascadePhysics, G4IonPhysicsPHP: replaced
1952             explicit high-energy limit of hadronic physics with the one from
1953             G4HadronicParameters.</LI>
1954         <LI>G4IonPhysicsXS: new constructor in which ParticleXS cross-sections
1955             are used for light ions.</LI>
1956         <LI>G4IonPhysics: clean-up, removed unnecessary statics.</LI>
1957         </UL></LI>
1958     </UL></LI>
1959 <LI><B>Lists</B>:
1960     <UL>
1961     <LI>Use new G4RegisterPhysicsConstructors inline definitions to ensure that
1962         for static builds G4PhysicsConstructorRegistry is populated.</LI>
1963     <LI>No longer register ShieldingLEND as a wrapper, but use explicit one.</LI>
1964     <LI>LBE: replaced the explicit high-energy limit of hadronic physics
1965         with the one from G4HadronicParameters.</LI>
1966     <LI>QGSP_BIC_HP and QGSP_BIC_AllHP use EM Opt4 (instead of EM Opt0 as before).</LI>
1967     <LI>QBBC: use G4IonPhysicsXS.</LI>
1968     <LI>PhysListFactory: added extra EM option "EM0", enabling default Opt0
1969         EM physics configuration.</LI>
1970     <LI>Shielding, ShieldingLEND, QGSP_BIC, QGSP_BIC_HP, QGSP_BIC_AllHP: moved
1971         implementation to source, removed templates.</LI>
1972     <LI>Added "EM0" option to g4alt::G4PhysListFactory (via G4PhysListRegistry).</LI>
1973     <LI>PhysListFactory: added extra EM options <TT>WVI</TT> and <TT>_EM</TT>.</LI>
1974     <LI>Shielding: replaced use of env variable G4NEUTRONHP_PRODUCE_FISSION_FRAGMENTS
1975         with a call to <TT>G4ParticleHPManager::SetProduceFissionFragments()</TT>.
1976         Resolving Valgrind memory run-time errors.</LI>
1977     </UL></LI>
1978 <LI><B>Util</B>:
1979     <UL>
1980     <LI>G4PhysListUtil: added methods <TT>GetCaptureProcess()</TT> and
1981         <TT>GetFissionProcess()</TT>.</LI>
1982     <LI>G4DataQuestionaire: substituted G4NEUTRONXSDATA with G4PARTICLEXSDATA.</LI>
1983     </UL></LI>
1984 </UL>
1985 
1986 <A NAME="run-notes">
1987 <H3><I>Run</I></H3></A>
1988 <UL>
1989 <LI><U>Threading</U>
1990     <UL>
1991     <LI>Replaced pthread-style <TT>&lt;void*(void*)&gt;</TT> function
1992         signatures with <TT>&lt;void(G4WorkerThread*)&gt;</TT> as it is now
1993         unnecessary.</LI>
1994     <LI>Removed WIN32 conditional for G4THREADCREATE in
1995         G4UserWorkerThreadInitialization, no longer needed.</LI>
1996     <LI>Changed G4Thread to G4NativeThread when setting pin affinity in
1997         G4WorkerThread.</LI>
1998     <LI>Updated use of thread-local static variables to function returning
1999         a thread-local static reference. New model for allowing support of
2000         multi-threading on Windows DLLs.</LI>
2001     </UL></LI>
2002 <LI>Added TiMemory auto-timer macros to some key functions in G4RunManager,
2003     G4RunManagerKernel, G4MTRunManager, and G4MTRunManagerKernel.</LI>
2004 <LI>Added TiMemory libraries and includes to CMake script for optional use.
2005 <LI>G4WorkerThread: use G4GeometryWorkspace and G4SolidsWorkspace the same
2006     way as the other workspaces, through the templated worskspace pool class.</LI>
2007 <LI>G4PhysicsListHelper: added two new EM physics process types.</LI>
2008 <LI>Minor update to G4Run constructor to invoke G4StatAnalysis::ResetCpuClock();
2009     this enables the calculation of the FOM for G4StatAnalysis without requiring
2010     each instance to hold it's own timer.</LI>
2011 <LI>Added calls to new G4VScoreNtupleWriter, if activated.
2012     The concrete utility class can implement automated storing of hits
2013     collections of G4THitsMap type (used by primitive scorers) with Geant4
2014     analysis tools.</LI>
2015 <LI>Added clearing of G4AssemblyStore in G4RunManager::ReinitializeGeometry().
2016 <LI>G4PhysicsListHelper: added new methods to set low/high 'looper'
2017     thresholds in Transportation classes.
2018 <LI>G4RunMessenger, G4WorkerRunManager: fixed printout typos.</LI>
2019 </UL>
2020 
2021 <A NAME="track-notes">
2022 <H3><I>Track &amp; Tracking</I></H3></A>
2023 <UL>
2024 <LI>G4SteppingManager: remove unnecessary checks of process manager for
2025     generic ion and muonic atom.</LI>
2026 <LI>Updated use of thread-local static variables to function returning
2027     a thread-local static reference. New model for allowing support of
2028     multi-threading on Windows DLLs.</LI>
2029 <LI>Fixed potential memory leaks in assignment operator and copy constructor
2030     for G4Step and G4Track.</LI>
2031 <LI>G4VSteppingVerbose: reset singleton pointer in destructor.
2032     Addressing problem report
2033     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2095">#2095</A>.</LI>
2034 <LI>Added protection for potential null pointer dereferencing in G4Track.
2035     Addressing problem report
2036     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2097">#2097</A>.</LI>
2037 <LI>Some code cleanup.</LI>
2038 </UL>
2039 
2040 <A NAME="vis-notes">
2041 <H3><I>Visualization</I></H3></A>
2042 <LI>Fixed compilation warnings on gcc-8.1.0.</LI>
2043 <UL>
2044 <LI><B>Management</B>
2045     <UL>
2046     <LI>Implemented UI command <TT>/vis/viewer/set/colourByDensity</TT>: simple
2047         algorithm to allow colouring of detector elements based on materials
2048         density.</LI>
2049     <LI>Introduced UI command <TT>/vis/drawLogicalVolume</TT>, synonymous with
2050         <TT>/vis/specify</TT>. Both commands create a new scene and invoke
2051         <TT>/vis/scene/add/logicalVolume</TT>. Includes overlap checking.</LI>
2052     <LI>Moved time window parameters from G4OpenGLStoredViewer to
2053         G4ViewParameters. Now one can interpolate time window parameters (using
2054         <TT>/vis/viewer/interpolate</TT>) and make a movie of particles moving
2055         through time. To do this, see guidance on <TT>/vis/viewer/set/timeWindow/</TT>
2056         commands.</LI>
2057     <LI>G4ViewParameters: fix for <TT>/vis/viewer/save</TT>.
2058         Completed <TT>PrintDifferences(), operator&lt;&lt;()</TT> and
2059         <TT>operator!=()</TT> for time window parameters.
2060         Provide proper Get and Set functions for time parameters.</LI>
2061     <LI>Moved time window commands to <TT>/vis/viewer/set/timeWindow/</TT>.
2062         Deprecated the equivalent <TT>/vis/ogl/set/</TT> commands.
2063         Copied <TT>/vis/ogl/set</TT> time window commands to
2064         <TT>/vis/viewer/set</TT>.</LI>
2065     <LI>G4VSceneHandler: reduced repetitive error messages.</LI>
2066     <LI>Improved some UI commands.</LI>
2067     <LI><TT>/vis/viewer/colourByDensity</TT>, changed defaults: algorithm 1
2068         is default; <TT>gm/cm3</TT> is the default unit; subsequent parameters
2069         are not omitable.</LI>
2070     <LI>Removed G4VViewer::G4Spline.</LI>
2071     <LI><TT>/vis/viewer/set/timeWindow/displayLightFront</TT>: changed defaults.</LI>
2072     <LI><TT>/vis/viewer/colourByDensity</TT>: changed defaults.</LI>
2073     <LI>Small bug fix in <TT>G4ViewParameters operator&lt;&lt;()</TT>.</LI>
2074     <LI><TT>/vis/drawVolume</TT> and <TT>/vis/scene/add/volume</TT> now draw
2075         all occurrences of a physical volume.</LI>
2076     <LI>Fixed bug for multiple worlds in <TT>/vis/touchable/dump</TT>.</LI>
2077     <LI>Reinstated G4VViewer::G4Spline.</LI>
2078     <LI><TT>/vis/scene/add/volume</TT> (and, consequently, <TT>/vis/drawVolume</TT>):
2079         improved guidance; describe the use of a regular expression.
2080         If physical-volume-name is "world" (the default), the top of the
2081         main geometry tree (material world) is added. If "worlds", the
2082         top of all worlds - material world and parallel worlds, if any - are
2083         added. Otherwise a search of all worlds is made.
2084         In the last case (a search of all worlds) all physical volume names are
2085         matched against the first argument of this command.</LI>
2086     <LI>G4VisManager: moved creation of top level commands to end so that
2087         they may pick up guidance and parameters from invoked commands.</LI>
2088     <LI><TT>/vis/drawVolume</TT> and <TT>/vis/draw/logicalVolume</TT>: pick up
2089         guidance and parameters from <TT>/vis/scene/add/...</TT>.</LI>
2090     <LI><TT>/vis/scene/add/trajectories</TT>: avoid adding new model if one
2091         exists. If no trajectories model exists in the scene create a new one...
2092         else it already exists and there is no need to add a new one
2093         because G4TrajectoriesModel simply describes trajectories in the
2094         trajectories store whatever the type.</LI>
2095     <LI>Added <TT>/vis/touchable/findPath</TT> UI command.</LI>
2096     <LI>Improved several other facilities for accessing touchables.</LI>
2097     <LI>Simplify scene checking and fixed minor bug.</LI>
2098     <LI>In <TT>/vis/scene/add/logicalVolume</TT>, enable overlap checking
2099         text-only output and drawing.</LI>
2100     <LI>Minor bug fixes in <TT>/vis/scene/add/userAction</TT> and
2101         <TT>/vis/drawLogicalVolume</TT>.</LI>
2102     </UL></LI>
2103 <LI><B>Modeling:</B>
2104     <UL>
2105     <LI>Implemented UI command <TT>/vis/viewer/set/colourByDensity</TT>.</LI>
2106     <LI>G4LogicalVolumeModel: added overlap checking.
2107         Fixed Coverity warning for unnecessary check on pointer.</LI>
2108     <LI>Extensive revision of handling of touchables.</LI>
2109     <LI>Added regex search. Match the string with the required match. The latter
2110         can be of the form "/regexp/", where regexp is a regular expression
2111         or a plain string, in which case there must be an exact match.</LI>
2112     <LI>Improved description of G4TrajectoriesModel.</LI>
2113     <LI>Initialise line width.</LI>
2114     <LI>G4LogicalVolumeModel: enable overlap checking text-only output and
2115         drawing.</LI>
2116     </UL></LI>
2117 <LI><B>OpenGL</B>
2118     <UL>
2119     <LI>Implemented <TT>G4OpenGLStoredViewer::AddPrimitiveForASingleFrame()</TT>.</LI>
2120     <LI>Updated G4CONDITIONWAIT(...) to new C++11 requirements.</LI>
2121     <LI>G4OpenGLQtViewer: replaced explicit usage of G4Mutex locking/unlocking
2122         with G4AutoLock pointers initialized with <TT>std::defer_lock</TT> as this
2123         enables one to avoid any deadlock or non-locked condition_variable
2124         waits by using <TT>G4AutoLock::owns_mutex()</TT>.</LI>
2125     <LI>Small bug fixes, including light front.</LI>
2126     <LI>Disable GL_LIGHTING for 3D markers.</LI>
2127     <LI>G4LogicalVolumeModel: added overlap checking (printing only for now).
2128         Avoid multiple printing of overlaps. Print only first time for a given
2129         instantiation of G4LogicalVolume.</LI>
2130     <LI>Added G4TouchableGlobalTransformScene: returning a pointer to the global
2131         transform of a touchable.</LI>
2132     <LI>Added G4TouchableUtils: implementing <TT>FindGlobalTransform()</TT>.</LI>
2133     <LI>Added <TT>setLineWidth()</TT> for trajectory models.</LI>
2134     <LI>Open header files to users. In all header files, changed guards
2135         (similarly for OPENGLX, XM, QT, WT and WIN32), so that a user may
2136         include the OpenGL headers and use the OpenGL library. This will be
2137         useful if a user (or a developer) wishes to write a new vis driver
2138         based on the existing OpenGL code.</LI>
2139     </UL></LI>
2140 <LI><B>OpenInventor</B>
2141     <UL>
2142     <LI>Implemented kernel visit for "colour by density".</LI>
2143     <LI>Enable InventorQt driver.</LI>
2144     <LI>Fixes to CMake build script; make OIQT driver installation optional.</LI>
2145     </UL></LI>
2146 <LI><B>Raytracer</B>
2147     <UL>
2148     <LI>Use HyperStep of G4ParallelWorldProcess to draw volumes defined in a
2149         parallel world.</LI>
2150     <LI>Updated use of thread-local static variables to function returning
2151         a thread-local static reference. New model for allowing support of
2152         multi-threading on Windows DLLs.</LI>
2153     <LI>Conform to revision of handling touchables.</LI>
2154     <LI>G4RTMessenger: fixed printout typos.</LI>
2155     </UL></LI>
2156 </UL>
2157 
2158 <A NAME="env-notes">
2159 <H3><I>Environments</I></H3></A>
2160 <UL>
2161 <LI>G4Py:
2162     <UL>
2163     <LI>Updated interfaces for release 10.5.</LI>
2164     <LI>Fixed setting of CMAKE_INSTALL_PREFIX; addresses problem report
2165         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1924">#1924</A>.</LI>
2166     </UL></LI>
2167 </UL>
2168 
2169 <A NAME="data-notes">
2170 <H3><I>Data sets</I></H3></A>
2171 <UL>
2172 <LI>New low-energy data set version, <B>G4EMLOW-7.7</B>:
2173     <UL>
2174     <LI>Updated microelec elastic cross-section files.</LI>
2175     <LI>Added new JAEA elastic model data files.</LI>
2176     <LI>Added new sampling table data for the Seltzer-Berger Bremsstrahlung
2177         model under brem_SB/SBTables.</LI>
2178     <LI>Added a new directory fluor_XDB_EADL with most recent data on binding
2179         energies including rare high Z elements.</LI>
2180     </UL></LI>
2181 <LI>New data files for proton and neutron density profiles <B>G4INCL-1.0</B>:
2182     <UL>
2183     <LI>New data set based on Hartree-Fock-Bogoliubov calculations for radius
2184         and diffuseness parameter for the proton and neutron density profiles.
2185         The data are used for the INCL++ model, as described in the following
2186         publications:<BR>
2187         - K.Bennaceur and J.Dobaczewski, Comput. Phys. Commun. 168, 96 (2005).<BR>
2188         - J.L.Rodriguez-Sanchez, J.-C.David, D.Mancusi, A.Boudard, J.Cugnon
2189           and S.Leray, Phys. Rev. C 96, 054602 (2017).</LI>
2190     </UL></LI>
2191 <LI>New data set version <B>G4PhotonEvaporation-5.3</B> for nuclear de-excitation
2192     data:
2193     <UL>
2194     <LI>Set IC coefficient = 1e20 for E0 gamma/IC transition of 809.907 keV
2195         in U234 (z92.a234). Correction needed for Pa234m decay simulation.
2196         Addressing problem report
2197         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2076">#2076</A>.</LI>
2198     <LI>Corrected typo in Te125 (z100.a247).</LI>
2199     </UL></LI>
2200 <LI>New data set version for radioactive-decay processes, <B>G4RadioactiveDecay-5.3</B>:
2201     <UL>
2202     <LI>Added capture from N shell for I-125, z53.a125. Data taken from DDEP.</LI>
2203     <LI>Added alpha decay line in z88.a223 (Ra223). Data taken from DDEP.</LI>
2204     <LI>Updated alpha decay in z86.a219 (Rn219). Data taken from DDEP.</LI>
2205     <LI>Correction of energy level in z85.a215 (At215).</LI>
2206     <LI>Slight update for alpha decay in z84.a215 (Po215).</LI>
2207     <LI>Added firstForbidden tag in beta decay channel of z83.a211 (Bi211).
2208         Data taken from DDEP.</LI>
2209     <LI>Added firstForbidden tags in beta decay channels of z81.a207 (Tl207).
2210         Data taken frpm DDEP.</LI>
2211     <LI>Update data for  z37.a82 (Rb82). Data taken from DDEP.</LI>
2212     </UL></LI>
2213 <LI>New data files for evaluated cross-sections <B>G4PARTICLEXS-1.1</B>:
2214     <UL>
2215     <LI>New data set replacing G4NEUTRONXS; produced from G4NDL-4.5 for
2216         neutrons, G4TENDL-1.3.2 for p, d, t, He3, He4 and LEND1.3 for gamma.</LI>
2217     </UL></LI>
2218 <LI>New data set version for evaluated cross-sections from SAID database,
2219     <B>G4SAIDDATA-2.0</B>:
2220     <UL>
2221     <LI>Updated data for p,n,pi,k inelastic and elastic.</LI>
2222     <LI>Updated data for piN-->2piN and gamma induced reactions.</LI>
2223     </UL></LI>
2224 </UL></LI>
2225 
2226 <A NAME="ex-notes">
2227 <H3><I>Examples</I></H3></A>
2228 <UL>
2229 <LI>Updated reference outputs, macros and scripts.</LI>
2230 <LI>Fixes for Doxygen documentation and coding guidelines.</LI>
2231 <LI>Updated reference outputs, macros, READMEs and scripts.
2232 <LI>Updated vis/UI setup. Removed no longer needed G4VIS/UI_USE.
2233 <LI>Added inclusion of G4Types.hh in files for self-consistency.
2234 <LI>Fixed compilation warning on gcc-8.1.0.
2235 <LI><B><U>advanced</U></B>
2236     <UL>
2237     <LI><B>air_shower</B>
2238         <UL>
2239         <LI>Drop detector configuration through preprocessor directives. Use
2240             detector messenger instead.
2241             Reorganised and simplified code in UltraDetectorConstruction.
2242             Geometry can now be changed in the same interactive session.
2243             Allow to remove reflecting surface.</LI>
2244         <LI>Reorganised macros. Added new macros.</LI>
2245         <LI>No default PrimaryGeneratorAction in UserActionInitialization.</LI>
2246         </UL></LI>
2247     <LI><B>brachytherapy</B>
2248         <UL>
2249         <LI>Included new brachy source (I-125 Oncura 6711).</LI>
2250         <LI>Added directory test_macro and included more analysis files.</LI>
2251         </UL></LI>
2252     <LI><B>ChargeExchangeMC</B>
2253         <UL>
2254         <LI>CexmcException: fixed typo in printout.</LI>
2255         </UL></LI>
2256     <LI><B>composite_calorimeter</B>
2257         <UL>
2258         <LI>General clean-up of the example including user actions and SD
2259             classes.</LI>
2260         </UL></LI>
2261     <LI><B>doiPET</B>
2262         <UL>
2263         <LI>New example simulating depth-of-interaction enabled positron
2264             emission tomography (PET) scanner.</LI>
2265         </UL></LI>
2266     <LI><B>gammaray_telescope</B>
2267         <UL>
2268         <LI>Fixed issues reported by Valgrind. Addressing problem report
2269             <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1981">#1981</A>.</LI>
2270         <LI>GammaRayTelHadronPhysics, GammaRayTelIonPhysics: replaced explicit
2271             high-energy limit of hadronic physics with the one from
2272             G4HadronicParameters.</LI>
2273         </UL></LI>
2274     <LI><B>hadrontherapy</B>
2275         <UL>
2276         <LI>Added function DefineMaterial() in DetectorConstruction to define
2277             materials not contained in the NIST database.</LI>
2278         <LI>Added the Phase Space; PrimaryGenerator and DetectorSD modified
2279             accordingly.</LI>
2280         <LI>Added HadrontherapyRBE class for RBE calculation.</LI>
2281         <LI>Removed analysis for LET and dose.</LI>
2282         <LI>In HadrontherapyDetectorSD, added histograms for the energy
2283             deposited and kinetic energy in the phantom slices.</LI>
2284         <LI>TrentoProtonPassiveBeamLine changed in TIFPAProtonPassiveBeamLine.</LI>
2285         <LI>LET class completely renewed with new calculation approaches.</LI>
2286         <LI>Updated user interface initialisation in main().</LI>
2287         <LI>Code cleanup.</LI>
2288         </UL></LI>
2289     <LI><B>iort_therapy</B>
2290         <UL>
2291         <LI>Removed readout geometry together with Hit class. Including
2292             scoring mesh.</LI>
2293         <LI>Fixed bug in the way to delete the geometry of the disk.</LI>
2294         <LI>Removed analysis class.</LI>
2295         <LI>Removed G4Decay and IORTMatrix as no longer needed.</LI>
2296         <LI>Removed Protontherapy.</LI>
2297         <LI>IORTDetectorConstruction: fixed initialisation setting of inner
2298             radius for "DiscoIORT0" and "DiscoIORT1" components.
2299             Fixed typos in printout.</LI>
2300         </UL></LI>
2301     <LI><B>lAr_calorimeter</B>
2302         <UL>
2303         <LI>FCALTBEventAction: fixed typo in printout.</LI>
2304         </UL></LI>
2305     <LI><B>medical_linac</B>
2306         <UL>
2307         <LI>Simplified PhysicsList; fixing problems on Windows.</LI>
2308         <LI>Do not explicitly delete singletons, added extra initialisation.</LI>
2309         <LI>Do not trigger /run/beamOn during detector construction in
2310             ML2AcceleratorConstructionMessenger and ML2PhantomConstructionMessenger.</LI>
2311         <LI>Fixed typos in macros. Set Nloop=10 if the exp data are not provided.</LI>
2312         </UL></LI>
2313     <LI><B>microbeam</B>
2314         <UL>
2315         <LI>DetectorConstruction: removed user limits per volume; added
2316             protection from double initialisation.</LI>
2317         <LI>Use default random engine in <TT>main()</TT>.</LI>
2318         <LI>PhysicsListMessenger: set default step limit to 1 mm.</LI>
2319         <LI>StepMax: use thread safe class from EM extended examples.</LI>
2320         <LI>PhysicsList, PhysicsListMessenger: use StepMax.</LI>
2321         </UL></LI>
2322     <LI><B>nanobeam</B>
2323         <UL>
2324         <LI>Relaxed EM field settings.</LI>
2325         <LI>Simplified UI session and updated default.mac macro.</LI>
2326         </UL></LI>
2327     <LI><B>purging_magnet</B>
2328         <UL>
2329         <LI>Removed useless buffer singleton PurgMagAnalysisManager and
2330             call directly G4AnalysisManager tools.</LI>
2331         <LI>Clean-up in the SteppingAction.</LI>
2332         </UL></LI>
2333     <LI><B>underground_physics</B>
2334         <UL>
2335         <LI>DMXPhysicsList: replaced explicit high-energy limit of hadronic
2336             physics with the one from G4HadronicParameters.</LI>
2337         </UL></LI>
2338     <LI><B>xray_fluorescence</B>
2339         <UL>
2340         <LI>XrayFluoMercuryDetectorMessenger: fixed typo in printout.</LI>
2341         </UL></LI>
2342     </UL></LI>
2343 <LI><B><U>basic</U></B>
2344     <UL>
2345     <LI><B>B2</B>
2346         <UL>
2347         <LI>Modified default input macro exampleB2.in to reduce the output.</LI>
2348         </UL></LI>
2349     <LI><B>B3</B>
2350         <UL>
2351         <LI>Replaced explicit printing of Run ID with /run/printProgress.</LI>
2352         <LI>Added StatAnalysis to example B3b to demonstrate statistical
2353             computations.</LI>
2354         </UL></LI>
2355     <LI><B>B4</B>
2356         <UL>
2357         <LI>Replaced deprecated <TT>/vis/ogl/set/</TT> with
2358             <TT>/vis/viewer/set/timeWindow</TT> command in visualization
2359             macros.</LI>
2360         <LI>Fix to CMake configuration script.</LI>
2361         </UL></LI>
2362     </UL></LI>
2363 <LI><B><U>extended</U></B>
2364     <UL>
2365     <LI><B>analysis</B>
2366         <UL>
2367         <LI>Macro & commands review: removed obsolete /N03 top command
2368             directory; added protection against warnings issued from
2369             <TT>ReinitializeGeometry()</TT> if called in PreInit phase;
2370             added test for all commands defined in this example.</LI>
2371         <LI>Added missing include in DetectorConstruction source.</LI>
2372         <LI>New examples B3aScoreWriter and B4dScoreWriter based on basic
2373             example B3a and B4d respectively, demonstrating saving of scorers
2374             hits in form of n-tuples in a Root file using Geant4 analysis
2375             tools.</LI>
2376         </UL></LI>
2377     <LI><B>biasing</B>
2378         <UL>
2379         <LI><B>B03</B>
2380             <UL>
2381             <LI>B03PhysicsList: replaced explicit high-energy limit of
2382                 hadronic physics with the one from G4HadronicParameters.</LI>
2383             </UL></LI>
2384         <LI><B>GB03</B>
2385             <UL>
2386             <LI>Fixed bug in GB03BOptnSplitOrKillOnBoundary in the
2387                 computation of the killing probability.</LI>
2388             </UL></LI>
2389         </UL></LI>
2390     <LI><B>electromagnetic</B>
2391         <UL>
2392         <LI><B>TestEm2</B>
2393             <UL>
2394             <LI>DetectorConstruction: improved method names, do not allow to
2395                 clear geometry between runs.</LI>
2396             <LI>StepMax: use thread safe instantiation, messenger merged with
2397                 PhysicsListMessenger.</LI>
2398             <LI>Use MixMax default random number generator.</LI>
2399             <LI>PhysicsList: make Opt0 default, removed local instantiation of
2400                 G4Decay.</LI>
2401             <LI>PhysListEm5DStandard: experimental PhysList with the new 5D
2402                 gamma conversion model.</LI>
2403             <LI>Corrected input macros to optimise output.</LI>
2404             <LI>Run: added protection for division by zero.</LI>
2405             </UL></LI>
2406         <LI><B>TestEm3</B>
2407             <UL>
2408             <LI>DetectorConstruction: improved method names, do not allow to
2409                 clear geometry between runs.</LI>
2410             <LI>StepMax: use thread safe instantiation, messenger merged with
2411                 PhysicsListMessenger.</LI>
2412             <LI>Use MixMax default random number generator.</LI>
2413             <LI>Removed radioactive.mac input macro.</LI>
2414             <LI>PhysicsList: make Opt0 default, removed local instantiation
2415                 of G4Decay.</LI>
2416             <LI>Corrected input macros to optimise output.</LI>
2417             </UL></LI>
2418         <LI><B>TestEm5</B>
2419             <UL>
2420             <LI>PhysListEm5DStandard: experimental PhysList with the new
2421                 5D gamma conversion model.</LI>
2422             <LI>Added test of new ion ionisation model, which is included in
2423                 the new physics constructor PhysListEm19DStandard;
2424                 added atima.mac macro file to compare results with known data.</LI>
2425             <LI>StepMax: use thread safe instantiation, messenger merged with
2426                 PhysicsListMessenger.</LI>
2427             <LI>Use MixMax default random number generator.</LI>
2428             <LI>Removed obsloete class PhysListEmStandardSSM.</LI>
2429             <LI>PhysicsList: make Opt4 default, removed local instantiation
2430                 of G4Decay.</LI>
2431             <LI>Corrected input macros to optimise output.</LI>
2432             </UL></LI>
2433         <LI><B>TestEm7</B>
2434             <UL>
2435             <LI>SteppingAction: added edep at end of step for photo-electric.</LI>
2436             </UL></LI>
2437         <LI><B>TestEm8</B>
2438             <UL>
2439             <LI>Fix for thread safety in PrimaryGeneratorAction.</LI>
2440             <LI>Disabled tracking cuts in input macro TestEm8.in.</LI>
2441             <LI>Corrected input macros to optimise output.</LI>
2442             </UL></LI>
2443         <LI><B>TestEm11</B>
2444             <UL>
2445             <LI>SteppingAction: added edep at end of step for photo-electric.</LI>
2446             </UL></LI>
2447         <LI><B>TestEm12</B>
2448             <UL>
2449             <LI>Updated dna.mac input macro.</LI>
2450             </UL></LI>
2451         <LI><B>TestEm14</B>
2452             <UL>
2453             <LI>Extended with gamma -> e+ e- 5D conversion code.</LI>
2454             <LI>PhysicsList: added G4EmStandardPhysicsWVI, GS, SS.</LI>
2455             <LI>Use G4RotationMatrix to convert to gamma reference system.</LI>
2456             <LI>Use default random number generator.</LI>
2457             </UL></LI>
2458         <LI><B>TestEm15</B>
2459             <UL>
2460             <LI>SteppingAction: no conversion case protection, use directly
2461                 <TT>G4ThreeVector::orthogonal()</TT> for coordinate axis
2462                 definition.</LI>
2463             <LI>DetectorConstruction: use G4NistManager to allow predefined
2464                 materials.</LI>
2465             <LI>Minor cosmetics in DetectorConstruction and SteppingAction
2466                 classes.</LI>
2467             </UL></LI>
2468         <LI><B>TestEm18</B>
2469             <UL>
2470             <LI>Updated PhysListEmStandard, livermore, penelope.</LI>
2471             </UL></LI>
2472         </UL></LI>
2473     <LI><B>error_propagation</B>
2474         <UL>
2475         <LI>Use implicit destructor in ExErrorMagneticField.</LI>
2476         </UL></LI>
2477     <LI><B>exoticphysics</B>
2478         <UL>
2479         <LI><B>monopole</B>
2480             <UL>
2481             <LI>Changed G4MonopoleEquation to use G4MagneticField instead of
2482                 not use G4ElectroMagneticField, as equations of motion do not
2483                 use electric field.</LI>
2484             <LI>G4MonopolePhysics: fixed static analyzer warning.</LI>
2485             <LI>G4MonopoleTransportation: removed several static variables;
2486                 fixed code layout.</LI>
2487             <LI>Define the field setup data in the DetectorConstruction class
2488                 to be thread-local using G4Cache utility.</LI>
2489             <LI>Macro review and code clean-up.</LI>
2490             <LI>Updated <TT>main()</TT> to make possible passing the monopole
2491                 setup in both batch and interactive mode.
2492                 Removed run initialization and added init_vis.mac macro for
2493                 interactive session.</LI>
2494             <LI>Added warning in G4MonopolePhysics when setting monopole
2495                 parameters fails.</LI>
2496             <LI>Explicitly define physics lists (FTFP_BERT default).</LI>
2497             <LI>Added the default value of magnetic field to <TT>0.2 tesla</TT>
2498                 and also setting of this value in monopole.in and init_vis.mac.</LI>
2499             <LI>Fixed updating geometry parameters after initialization
2500                 by calling G4RunManager::ReinitializeGeometry() instead of
2501                 GeometryHasBeenModified().</LI>
2502             <LI>Added printing production cuts table in
2503                 RunAction::EndOfRunAction.</LI>
2504             </UL></LI>
2505         <LI><B>phonon</B>
2506             <UL>
2507             <LI>Update references for caustic and timing.</LI>
2508             </UL></LI>
2509         </UL></LI>
2510     <LI><B>field</B>
2511         <UL>
2512         <LI>Macro review and code clean-up: removed EventAction, RunAction,
2513             RunActionMessenger used only for storing random numbers, already
2514             available in kernel; added test for commands
2515             defined in the example at the end of the main input macro;
2516             improved visualization of geometry; added <TT>beamOn 10</TT> button
2517             in gui.mac; updated README files.</LI>
2518         <LI><B>BLineTracer</B>
2519             <UL>
2520             <LI>Fixed compilation error for missing header inclusion.</LI>
2521             </UL></LI>
2522         <LI><B>field01</B></LI>
2523             <UL>
2524             <LI>Added code in <TT>main()</TT> to demonstrate use of
2525                 G4PhysicsListHelper's <TT>UseLowLooperThresholds()</TT> and
2526                 <TT>UseHighLooperThresholds()</TT> methods.</LI>
2527             <LI>Added F01RunAction class to demonstrate fine grained control
2528                 of G4[Coupled]Transportation's parameters for (killing) looping
2529                 tracks (tracks which take too many iterations to finish
2530                 integration; typically due to electrons in vacuum, but also
2531                 can affect other charged particles).</LI>
2532             <LI>Enable use of FSAL stepper and driver (to use it uncomment
2533                 line in <TT>main()</TT>).</LI>
2534             <LI>Added command <TT>/field/setField Bx By Bz unit</TT>.</LI>
2535             </UL></LI>
2536         <LI><B>field02</B></LI>
2537             <UL>
2538             <LI>Added command <TT>/field/setField Bx By Bz unit</TT>.</LI>
2539             </UL></LI>
2540         <LI><B>field03</B>
2541             <UL>
2542             <LI>Added commands <TT>/field/setField Bx By Bz unit</TT> and
2543                 <TT>/field/setLocalField Bx By Bz unit</TT>.</LI>
2544            </UL></LI>
2545         <LI><B>field05</B></LI>
2546         <LI><B>field06</B>
2547            <UL>
2548            <LI>Macro review and code clean-up;
2549                added <TT>beamOn 10</TT> button in gui.mac.</LI>
2550            </UL></LI>
2551         </UL></LI>
2552     <LI><B>geometry/transforms</B>
2553         <UL>
2554         <LI><TT>DetectorConstruction::PlaceWithAxialRotations()</TT>: use
2555             <TT>rotate(angle, axis)</TT>.</LI>
2556         </UL></LI>
2557     <LI><B>hadronic</B>
2558         <UL>
2559         <LI>envHadronic: added env variables for particleHP.</LI>
2560         <LI><B>Hadr00</B>
2561             <UL>
2562             <LI>DetectorConstruction: cleanup geometry.</LI>
2563             </UL></LI>
2564         <LI><B>Hadr01</B>
2565             <UL>
2566             <LI>Cleaned up geometry definition.</LI>
2567             <LI>DetectorConstruction: minor improvement of printout.</LI>
2568             <LI>Added test macros.</LI>
2569             </UL></LI>
2570         <LI><B>Hadr02</B>
2571             <UL>
2572             <LI>Introduced CRMC (Cosmic Ray Monte Carlo) interface and created
2573                 a physics list which uses this interface for very high energy
2574                 hadronic interactions, while using FTFP_BERT for the rest.</LI>
2575             <LI>Replaced explicit high-energy limit of hadronic physics with
2576                 the one from G4HadronicParameters.</LI>
2577             </UL></LI>
2578         <LI><B>Hadr03</B>
2579             <UL>
2580             <LI>PhysicsList: added G4HadronElasticPhysicsXS.</LI>
2581             </UL></LI>
2582         <LI><B>Hadr06</B>
2583             <UL>
2584             <LI>PhysicsList: use G4IonPhysicsXS.</LI>
2585             </UL></LI>
2586         <LI><B>Hadr07</B>
2587             <UL>
2588             <LI>PhysicsList: use G4IonPhysicsXS.</LI>
2589             <LI>SteppingAction: added edep at end of step for photo-electric.</LI>
2590             </UL></LI>
2591         <LI><B>NeutronSource</B>
2592             <UL>
2593             <LI>PhysicsList: activated use of GetHadronicModel() in
2594                 <TT>ConstructProcess()</TT>.</LI>
2595             <LI>PhysicsList: use G4IonElasticPhysics and G4IonPhysicsXS.</LI>
2596             </UL></LI>
2597         </UL></LI>
2598     <LI><B>medical/DICOM</B>
2599         <UL>
2600         <LI>Enabled CMake package configuration. Added DICOM_USE_DCMTK and
2601             DICOM_USE_HEAD options backwards compatible with environment
2602             variables. Updated CMake scripts to handle DICOM_USE_HEAD setup
2603             and installation.</LI>
2604         <LI>DicomHandler implements GetDicomData{Path,File} which provides
2605             a fallback path to data libraries directory for DICOM2 and handles
2606             DICOM_USE_HEAD situation.
2607             Skipping 2 bytes in implicit VR (problem report
2608             <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2101">#2101</A>).
2609             Corrected reading for 'fPixelSpacingY' (problem report
2610             <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2102">#2102</A>).</LI>
2611         <LI>Phantom parameterization classes take an argument specifying color
2612             file.</LI>
2613         <LI>DicomEventAction doesn't print every event; removed
2614             <TT>DicomRun::RecordEvent()</TT> incrementing numberOfEvent (done
2615             by <TT>G4Run::RecordEvent()</TT>).</LI>
2616         <LI>Cleaned up output; now just a summary is provided and per-voxel
2617             is output to file only.</LI>
2618         <LI>Moved Data.dat to Data.dat.old and CMake copies correct
2619             Data.dat.{old,new} to Data.dat in binary directory based on
2620             DICOM_USE_DCMTK setting.</LI>
2621         <LI>Use canonical definition for DICOMRunAction; removed wrong
2622             singleton specification.</LI>
2623         <LI>DicomPartialDetectorConstruction: fixed shadowing of base class
2624             data for 'fMateIDs'. Fixed type conversion.</LI>
2625         <LI>Updated DICOMUtilities.cmake to handle Windows builds; using
2626             modern CMake DICOM::target library alias.</LI>
2627         </UL></LI>
2628     <LI><B>medical/DICOM2</B>
2629         <UL>
2630         <LI>New example demonstrating how to specialise and extend
2631             functionalities from DICOM example.</LI>
2632         </UL></LI>
2633     <LI><B>medical/dna</B>
2634         <UL>
2635         <LI>Removed use of obsolete RanecuEngine.</LI>
2636         <LI>chem5:
2637             <UL>
2638             <LI>New example, variation of chem4, showing how to activate
2639                 chemistry code and score the radiochemical yield G.</LI>
2640             </UL></LI>
2641         <LI>dnaphysics:</LI>
2642         <LI>icsd:
2643             <UL>
2644             <LI>Activated ntuple merging.</LI>
2645             <LI>Updated plot.C for reading ntuples merged with row-wise
2646                 mode (now default).</LI>
2647             </UL></LI>
2648         <LI>mfp:
2649             <UL>
2650             <LI>Rewritten physics list and macro mfp.in to avoid factory
2651                 usage.</LI>
2652             </UL></LI>
2653         <LI>microyz:
2654             <UL>
2655             <LI>Activated ntuple merging.</LI>
2656             <LI>Updated plotting function.</LI>
2657             <LI>Updated plot.C for reading ntuples merged with row-wise
2658                 mode (now default).
2659             </UL></LI>
2660         <LI>neuron:
2661             <UL>
2662             <LI>Fixed PhysicsList to allow running on Windows.</LI>
2663             </UL></LI>
2664         <LI>pdb4dna:
2665             <UL>
2666             <LI>Fixed analysis code.</LI>
2667             </UL></LI>
2668         <LI>slowing:
2669             <UL>
2670             <LI>Updated input script and code cleanup.</LI>
2671             </UL></LI>
2672         <LI>spower:
2673             <UL>
2674             <LI>Rewritten physics list and macro spower.in to avoid factory
2675                 usage.</LI>
2676             </UL></LI>
2677         </UL></LI>
2678     <LI><B>medical/fanoCavity</B>
2679         <UL>
2680         <LI>ActionInitialization: added printout of Run::EndOfRun().</LI>
2681         <LI>PhysListEmStandard_GS, PhysListEmStandard_SS, PhysListEmStandard,
2682             PhysListEmStandard_WVI, PhysListEmStandard_option3: use the same
2683             EM parameters as in physics_lists module.</LI>
2684         <LI>Added PhysListEmStandard_option4.</LI>
2685         <LI>Updated physics lists according to settings in main module.</LI>
2686        </UL></LI>
2687     <LI><B>medical/fanoCavity2</B>
2688         <UL>
2689         <LI>Updated physics lists according to settings in main module.</LI>
2690         </UL></LI>
2691     <LI><B>optical/LXe</B>
2692         <UL>
2693         <LI>LXeDetectorConstruction: moved DefineMaterials() to constructor.</LI>
2694         <LI>Replaced local physics configuration with FTFP_BERT +
2695             G4OpticalPhysics/</LI>
2696         <LI>Deleted LXeEMPhysics, LXeGeneralPhysics, LXeMuonPhysics and
2697             LXePhysicsList.</LI>
2698         <LI>Removed class LXeSteppingVerbose.</LI>
2699         <LI>In input macros, removed <TT>/LXe/detector/update</TT> and added
2700             <TT>/run/initialize</TT>. General cleanup.</LI>
2701         <LI>Addressing problem report
2702             <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2042">#2042</A>.</LI>
2703         <LI>Replaced local physics with FTFP_BERT + G4OpticalPhysics; deleted
2704             custom lists LXeEMPhysics, LXeGeneralPhysics, LXeMuonPhysics and
2705             LXePhysicsList; use G4EmStandard_option4 EM physics.</LI>
2706         <LI>Added LXeRun to record and print results at the end.</LI>
2707         <LI>Removed LXeSteppingVerbose and cleanup of macros.</LI>
2708         <LI>Removed LXeUserEventInformation, use LXeEventAction instead;
2709             removed LXeRecorderBase, replaced with LXeHistoManager.</LI>
2710         <LI>Removed unneeded direction named random.</LI>
2711         <LI>Fixed MT issue: random directory should not be set via EventAction,
2712             this functionality is moved to DetectorConstruction.</LI>
2713         <LI>LXeDetectorConstruction: removed definition of random number
2714             directory from the code, user may define this via UI command.</LI>
2715         </UL></LI>
2716     <LI><B>optical/OpNovice</B>
2717         <UL>
2718         <LI>Macro review: added test for <TT>/OpNovice/phys/cerenkovMaxPhotons</TT>
2719             command at the end of OpNovice.in macro; updated README files.</LI>
2720         </UL></LI>
2721     <LI><B>optical/OpNovice2</B>
2722         <UL>
2723         <LI>New example OpNovice2 for investigation of optical properties and
2724             parameters. Details of optical photon boundary interactions on a
2725             surface are recorded, as well as the details of optical photon
2726             generation and transport.</LI>
2727         </UL></LI>
2728     <LI><B>parallel</B>
2729         <UL>
2730         <LI><B>MPI</B>
2731            <UL>
2732            <LI>New example exMPI04 demonstrating merging n-tuples via MPI.</LI>
2733            <LI>Adapted g4mpi to allow to define an extra worker for collecting data
2734                from processing workers (needed for merging n-tuples).</LI>
2735            <LI>Added classes for n-tuple merging.
2736            <LI>In exMPI03: fixed warning from analysis when opening the second
2737                output file (dose-merged) within the same run.</LI>
2738            </UL></LI>
2739         <LI><B>TBB</B>
2740            <UL>
2741            <LI>Updated to work with migration from POSIX threads to C++11
2742                threads.</LI>
2743            </UL></LI>
2744         <LI><B>ThreadsafeScorers</B>
2745            <UL>
2746            <LI>TSPhysicsLists no longer declares G4VPhysicsConstructors in
2747                header.</LI>
2748            <LI>Added TiMemory timing to TSPrimaryGeneratorAction and G4Run.</LI>
2749            <LI>Added TiMemory ASCII output and serialization to <TT>main()</TT>.</LI>
2750            <LI>Fixed shadowing warnings.</LI>
2751            <LI>Removed G4MUTEX_INITIALIZER from constructors of G4TAtomicHits.</LI>
2752            <LI>Added scorers with G4StatAnalysis and G4ConvergenceTester.</LI>
2753            <LI>Improved scheme for using TiMemory to time how long the scoring
2754                takes w.r.t. storage container and PS.</LI>
2755            <LI>Included plot generation in main.</LI>
2756            </UL></LI>
2757         </UL></LI>
2758     <LI><B>persistency</B>
2759         <UL>
2760         <LI><B>gdml/G02</B></LI>
2761         <LI><B>gdml/G03</B>
2762            <UL>
2763            <LI>RunAction: removed visualisation command.</LI>
2764            </UL></LI>
2765         <LI><B>P02</B>
2766            <UL>
2767            <LI>Updated selection.xml file with new members of
2768                G4MaterialPropertiesTable.</LI>
2769            <LI>Fixed crash on reading due to duplication of materials in
2770                .root file. Addressing problem report
2771                <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2065">#2065</A>.</LI>
2772            </UL></LI>
2773         </UL></LI>
2774     <LI><B>physicslist</B>
2775         <UL>
2776         <LI><B>shared</B>
2777            <UL>
2778            <LI>Copy script works whether include/src directories exist or not.</LI>
2779            </UL></LI>
2780         </UL></LI>
2781     <LI><B>radioactivedecay</B>
2782         <UL>
2783         <LI><B>Activation</B>
2784            <UL>
2785            <LI>envHadronic: added env variables for particleHP.</LI>
2786            <LI>PhysicsList: use G4IonElasticPhysics and G4IonPhysicsXS.</LI>
2787            </UL></LI>
2788        <LI><B>rdecay01</B>
2789            <UL>
2790            <LI>Add timeWindowBiased.mac input macro and data.</LI>
2791            </UL></LI>
2792        <LI><B>rdecay02</B>
2793            <UL>
2794            <LI>PhysicsList: in constructor, set nuclide table half-life
2795                threshold to <TT>0.1 ps</TT> and level tolerance to
2796                <TT>1.0 eV</TT>, to not miss short-lived nuclides.</LI>
2797            <LI>HistoManager, TrackingAction: added two histograms to look
2798                at <TT>0-0.1 MeV</TT>, and <TT>0-1 MeV</TT> ranges in particle
2799                emission spectra.</LI>
2800            <LI>Input macros: updated to latest UserEvapData_z83.a210,
2801                UserRadData_z82.a210, UserEvapData_z102.a252 database formats.
2802                Removed energy unit (<TT>keV</TT>) from call to <TT>/gun/ion</TT> in
2803                u238b.mac, po201m.mac and UserEvapDataBiTest.mac.</LI>
2804            </UL></LI>
2805         </UL></LI>
2806     </UL>
2807 </UL>
2808 
2809 <HR>
2810 
2811 </BODY>
2812 </HTML>