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.6 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.6 Release Notes</B>
0014 </FONT>
0015 
0016 <TABLE WIDTH="100%">
0017 <TR><TD ALIGN="Right">
0018 <FONT SIZE="-1" COLOR="#5C3317">
0019 <B><I>December 6<SUP>th</SUP>, 2019</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 and VecGeom versions</A></LI>
0047 <LI><A HREF="#3.">Items for migration of the user code</A></LI>
0048 <LI><A HREF="#4.">New Developments and Capabilities</A></LI>
0049 <LI><A HREF="#5.">Expected effects on physics and performance</A></LI>
0050 <LI><A HREF="#6.">Known Run-Time Problems and Limitations</A></LI>
0051 <LI><A HREF="#7.">Compilation Warnings</A></LI>
0052 <LI><A HREF="#8.">Geant4 Software License</A></LI>
0053 <LI><A HREF="#9.">Detailed list of changes and fixes</A></LI>
0054 </OL>
0055 
0056 <P> </P>
0057 <A NAME="1."></a>
0058 <HR>
0059 
0060 <!-- ============================================== -->
0061 
0062 <H2>1. Supported and Tested Platforms</H2>
0063 
0064 Platforms:
0065 <UL>
0066 <LI>Linux, gcc-4.9.3.<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.15 Catalina with llvm/clang-8.0 (Apple LLVM/Clang-11.0)</LI>
0070 <LI>Windows-10 with Visual C++ 14.23 (Visual Studio 2019)</LI>
0071 </UL>
0072 
0073 More verified and tested configurations (64 bits):
0074 <UL>
0075 <LI>Linux, gcc-5.4.0/6.3.0/7.3.0/8.2.0/9.2.0, clang-5.0/8.0</LI>
0076 <LI>Linux, Intel-icc 19.0</LI>
0077 <LI>MacOSX 10.13, 14 with clang-7.0</LI>
0078 </UL>
0079 
0080 <P> </P>
0081 <A NAME="2."></A>
0082 <HR>
0083 
0084 <!-- ============================================== -->
0085 
0086 <H2>2. Supported CLHEP and VecGeom version</H2>
0087 
0088 This release of Geant4 requires and has been verified with
0089 <A TARGET="ext" HREF="http://cern.ch/clhep/">CLHEP</A>, release <B>2.4.1.3</B>.
0090 Use of a different CLHEP version may cause incorrect simulation results.<BR>
0091 NOTE: an internal module of the relevant CLHEP classes is provided and can be
0092 used as alternative to an external CLHEP library installation.<BR>
0093 A configuration option allows a Geant4 installation to use the
0094 <A HREF="https://gitlab.cern.ch/VecGeom/VecGeom/">VecGeom Library</A>
0095 primitives, to replace the original Geant4 solids. VecGeom version
0096 <B>1.1.5</B> is required when using such configuration.
0097 
0098 <P> </P>
0099 <A NAME="3."></A>
0100 <HR>
0101 
0102 <!-- ============================================== -->
0103 
0104 <H2>3. Items for migration of the user code</H2>
0105 
0106 Listed here is some relevant information on developments included in this
0107 release.
0108 Note that for all users a full re-installation of libraries (or a full
0109 re-compilation) and a re-compilation of user applications is required.
0110 
0111 <P> </P>
0112 <B>General</B>
0113 <P> </P>
0114 <UL>
0115 <LI>Minimum required version of CMake to build Geant4 is 3.8.</LI>
0116 <LI>Pre-processor flags are promoted to fixed <TT>#define</TT> statements in
0117     a generated header. User code relying on these macros should
0118     include the <TT>G4Types.hh</TT> header to make them available.</LI>
0119 <LI>The preprocessor macros G4UI_USE and G4VIS_USE are removed.</LI>
0120 <LI>The Debug build mode no longer enables Floating Point Exceptions.
0121     Please use the new Debug_FPE build mode if your application requires FPE.</LI>
0122 <LI>Support for Qt4 UI/Vis is deprecated.</LI>
0123 </UL>
0124 
0125 <P> </P>
0126 <B>Analysis</B>
0127 <P> </P>
0128 <UL>
0129 <LI>The last two optional arguments of the analysis manager function
0130     <TT>SetNtupleMerging()</TT> have been removed and these parameters
0131     can be changed only via the dedicated functions:
0132     <TT>SetNtupleRowWise()</TT>, <TT>SetBasketSize()</TT> and
0133     <TT>SetBasketEntries()</TT>.</LI>
0134 </UL>
0135 
0136 <P> </P>
0137 <B>Geometry, Fields and Transportation</B>
0138 <P> </P>
0139 <UL>
0140 <LI>The default integration method for propagation in magnetic fields is
0141     changed, to select between the new interpolation-capable integration
0142     scheme, for shorter steps, and a helix-based scheme which is chosen for
0143     steps larger than <TT>2*pi</TT> times the curvature radius at the initial
0144     location.</LI>
0145 <LI>Once integration in field require more than a threshold (default 200)
0146     integration substeps within a single physical step, there is a relaxation
0147     of the criteria which breaks the curved trajectory into linear segments
0148     for intersecting with the setup's geometry.
0149     This criteria is governed by the parameter <I>delta chord</I>.
0150     Once the threshold is reached, its value is temporarily doubled.
0151     So subsequent integration substeps are made so that a chord's sagitta is
0152     now less than twice the <I>delta chord</I>.
0153     <UL>    
0154     <LI>Every time the number of iterations reaches a new multiple of 100 (the
0155         increase value), the maximum sagitta distance (delta chord) is again
0156         temporarily doubled for the rest of this tracking step.</LI>
0157     <LI>This affects only particles below the 'important' energy threshold when
0158         using G4Transportation only, (currently not G4CoupledTransporation)
0159         which would otherwise be abandoned after a set maximum number of
0160         substeps (default=<TT>1000</TT>).</LI>
0161     <LI>To control the previous behaviour, use the G4PropagatorInField's method
0162         <TT>SetIterationsToIncreaseChordDistance()</TT> to set the number of
0163         iterations between increase; note that the initial threshold is twice
0164         this value. To restore previous behaviour set it to <TT>500</TT>.</LI>
0165     <LI>In a multi-threaded application, each thread must change this threshold,
0166         e.g. by calling this method in your G4UserRunAction's
0167         <TT>BeginOfRunAction()</TT>.</LI>
0168     <LI>This does not occur if the alternative transportation process
0169         G4CoupledTransportation is used, i.e. when one or more parallel  
0170         geometries are created for scoring, event biasing, parallel mass
0171         geometry or other use(s).</LI>
0172     </UL></LI>
0173 <LI>An application which uses an external gravitational field must enable the
0174     use of gravity by calling G4Transportation's static method
0175     <TT>EnableGravity()</TT>. This change was introduced in order to call
0176     the <TT>ConfigureForTrack()</TT> method of G4FieldManager only for
0177     charged particles by default. Example <I>field06</I> in
0178     <TT>examples/extended/field</TT> illustrates this.</LI>
0179 </UL>
0180 
0181 <P> </P>
0182 <B>Electromagnetic and optical physics</B>
0183 <P> </P>
0184 <UL>
0185 <LI>The new data sets <TT>G4EMLOW-7.9</TT> should be used.</LI>
0186 </UL>
0187 
0188 <P> </P>
0189 <B>Hadronic physics</B>
0190 <P> </P>
0191 <UL>
0192 <LI>The new data sets <TT>G4PhotonEvaporation-5.5</TT>,
0193     <TT>G4RadioactiveDecay-5.4</TT>, <TT>G4PARTICLEXS-2.1</TT> and
0194     <TT>G4NDL-4.6</TT> should be used.</LI>
0195 </UL>
0196 
0197 <P> </P>
0198 <B>Data Sets</B>
0199 <P> </P>
0200 <UL>
0201 <LI>This release introduces new data set versions.
0202     Please see the corresponding details in
0203     <A href="#data-notes">Section 9</A> of this document.
0204     <UL>
0205     <LI>New data set versions: <TT>G4EMLOW-7.9, G4RadioactiveDecay-5.4,
0206         G4PhotonEvaporation-5.5, G4PARTICLEXS-2.1, G4NDL-4.6</TT>.</LI>
0207     <LI>In order to use <TT>ParticleHP</TT> for charged particles
0208         (protons, deuterons, tritons, He3 and alphas), an optional data
0209         set <TT>G4TENDL-1.3.2</TT> is required, and should be downloaded in
0210         addition from the
0211         <A HREF="http://cern.ch/geant4/support/download">Geant4 web site</A>.</LI>
0212     </UL></LI>
0213 </UL>
0214 
0215 <A NAME="4."></A>
0216 <HR>
0217 
0218 <!-- ============================================== -->
0219 
0220 <H2>4. New Developments and Capabilities </H2>
0221 
0222 <B>General</B>
0223 <UL>
0224 <LI>Reviewed G4PhysicsVector adding an additional Value() method option to
0225     propagate down the known log-energy value. This helps avoiding log() calls
0226     when log-vector is used.</LI>
0227 <LI>Added functionality in G4DynamicParticle to provide log-kinetic energy
0228     value, computed only on demand if its stored value is not up-to-date with
0229     the kinetic energy. Reviewed EM processes to select the target atom by
0230     making use of the already known log-energy value in the log-vector access.
0231     Providing measurable CPU speedup.</LI>
0232 <LI>Enhanced UI commands to now return proper return code when they are not
0233     successful.</LI>
0234 <LI>Introduced ability to perform leading particle biasing.</LI>
0235 </UL>
0236 
0237 <B>Analysis</B>
0238 <UL>
0239 <LI>Added a new factory function <TT>ManagerInstance()</TT> in G4Analysis,
0240     which allows to create the analysis manager of the type selected via a
0241     string argument and so to choose the output type at run time.</LI>
0242 <LI>Switched the default Root n-tuple merge mode to new column-wise mode
0243     with preserving rows and added a second, optional, argument in the
0244     <TT>SetNtupleRowWise()</TT> function which can be used to override the
0245     defaults.</LI>
0246 </UL>
0247 
0248 <B>Digitization &amp; Hits</B>
0249 <UL>
0250 <LI>Added G4TScoreNtupleWriter and G4TScoreNtupleWriterMessenger which
0251     implement storing hits collections of G4THitsMap type vith Geant4 analysis
0252     tools, defined in G4VcoreNtupleWriter. Its usage is demonstrated in basic
0253     examples B3 and B4d.</LI>
0254 </UL>
0255 
0256 <B>Geometry and Field</B>
0257 <UL>
0258 <LI>Enabled VecGeom wrapper for G4GenericPolycone, G4EllipticalTube,
0259     G4EllipticalCone and G4Ellipsoid. Requiring VecGeom version 1.1.5.</LI>
0260 <LI>Added support for writing out assemblies envelopes in GDML.</LI>
0261 <LI>Added hooks for capability to navigate in <I>external</I> geometry with
0262     custom navigation.</LI>
0263 <LI>Completed the development of integration driver with 'interpolation'
0264     capability.
0265     It estimates the position, momentum (and potentially other state,
0266     e.g. polarisation) at intermediate values of the integration interval.
0267     During the integration, one or more intervals are used to move the track's
0268     state. For each interval a different instance of the stepper is used.
0269     Subsequent calls for intermediate points (e.g. to locate the intersection
0270     of the curved trajectory with a boundary) use the interpolation capability
0271     using the existing data (stored in the earlier stepping), instead of
0272     re-integration which involves re-evaluating the field and equation of
0273     motion. Note: currently this can be used only with G4DormandPrince745
0274     Runge Kutta integration method.</LI>
0275 <LI>Completed new multiplexing integration driver G4BFieldIntegrationDriver 
0276     for magnetic fields, that enables mixing between two methods (drivers)
0277     based on the ratio of the proposed step length and the step curvature at
0278     the track's initial position.
0279     One method is selected for shorter steps, and a different method for steps
0280     longer than <TT>2*pi</TT> (estimation for uniform field). The default driver
0281     created in G4ChordFinder's constructor and G4FieldManager's
0282     <TT>CreateChordFinder()</TT> now creates it; it uses the interpolation
0283     driver with the Dormand Prince 5/4th order Runge-Kutta method for short
0284     steps, and for longer steps it uses the G4HelixHeum method which can
0285     integrate over a large number of helical turns in a sufficiently slowly
0286     varying field.
0287     Enabled by default stepping using interpolation in field propagation.</LI>
0288 </UL>
0289 
0290 <B>Materials</B>
0291 <UL>
0292 <LI>Added G4DensityEffectCalculator: new class, providing on fly computation
0293     of the density effect correction using "exact" formulas.</LI>
0294 <LI>Added ICRU90 data for ion ionisation.</LI>
0295 </UL>
0296 
0297 <B>Electromagnetic physics</B>
0298 <UL>
0299 <LI>Optimised step limitation in G4UrbanMscModel and modified lateral
0300     displacement sampling.</LI>
0301 <LI>New helper class G4NIELCalculator, to compute NIEL in user stepping
0302     action or sensitive detector code.</LI>
0303 <LI>Added handling of UI thermalization model control in DNA physics lists.</LI>
0304 </UL>
0305 
0306 <B>Hadronic physics</B>
0307 <UL>
0308 <LI>Use Glauber-Gribov cross-sections for hyperons and anti-hyperons for
0309     both elastic and inelastic hadron-nucleus interactions.</LI>
0310 <LI>Extended hadron-nucleon cross-sections to charmed and bottom hadrons
0311     (mesons and baryons). Note: these cross-sections are meant to be used
0312      by Glauber-Gribov charmed and bottom hadron nuclear cross-sections, as
0313      well as by the FTF string model for dealing with charmed and bottom
0314      projectiles; however, the inelastic interactions of charmed and bottom
0315      projectiles are not yet included in reference physics lists.</LI>
0316 <LI>Removed tracking cut in hadron-elastic and use numerically safer
0317     computation for very low-energy projectile.</LI>
0318 <LI>Use FTFP also for the annihilation at rest of neutral anti-hadrons.</LI>
0319 <LI>Added new gamma-nuclear model based on pre-compound de-excitation.</LI>
0320 <LI>Added spontaneous fission channel in radioactive-decay.</LI>
0321 <LI>High energy extension of the neutrino-electron cross sections, 
0322     for both charged-current and neutral-current interactions
0323     (M_W and M_Z propagator factors and Glashow resonance), for all neutrino
0324     and anti-neutrino flavours.</LI>
0325 </UL>
0326 
0327 <B>Physics Lists</B>
0328 <UL>
0329 <LI>Changed transition region between hadronic string and intra-nuclear cascade
0330     models: now it is <TT>[3, 6] GeV</TT> consistently for all particle types 
0331     (nucleons, pions, kaons, hyperons, ions and gammas; for anti-baryons,
0332     instead, FTFP is still used for all energies). Note: this does not affect
0333     the physics lists FTFP_BERT_ATL, NuBeam, ShieldingM, and those based on
0334     INCLXX. Moreover, for the QGS-based physics lists, the transition between
0335     FTFP and QGSP remains unchanged in the region <TT>[12, 25] GeV</TT>.</LI>
0336 <LI>Added (consistently) RadioactiveDecay to all physics lists which use
0337     NeutronHP. Note: this affects the physics lists FTFP_BERT_HP, QGSP_BERT_HP,
0338     FTFP_INCLXX_HP and QGSP_INCLXX_HP, whereas Shielding, LBE, QGSP_BIC_HP and
0339     QGSP_BIC_AllHP had it already.</LI>
0340 <LI>A new stopping physics constructor (G4StoppingPhysicsFritiofWithBinaryCascade)
0341     has been introduced, which uses Fritiof (FTF) coupled with Binary cascade
0342     (BIC) for the anti-baryon annihilation at rest. It is used only in the
0343     physics lists FTF_BIC and QGS_BIC.</LI>
0344 </UL>
0345 
0346 <B>Visualization and Interfaces</B>
0347 <UL>
0348 <LI>New set of UI commands and improvements in visualization.
0349     Added new UI commands for view interpolation and centering.</LI>
0350 <LI>Introducing cloud drawing style in visualization, using kernel algorithms
0351     for generating points on the surface of volumes, by-passing polyhedral
0352     representations; the solid is being visualised by a polymarker of dots.</LI>
0353 </UL>
0354 
0355 <B>Examples</B>
0356 <UL>
0357 <LI><I>GB07</I>: new example (in extended/biasing) to demonstrate the usage
0358     of the leading particle biasing functionality, introduced in the generic
0359     biasing package.</LI>
0360 <LI><I>Hadr08</I>: new example (in extended/hadronic) to demonstrate the
0361     possibility of emulating hadronic-model-per-region capability 
0362     (not foreseen by the hadronic framework) via the use of generic biasing 
0363     with usual, unbiased weights of 1.0.</LI>
0364 <LI>Extended GFlash examples set by moving existing <I>gflash</I> example to
0365     <I>gflash1</I> and added: <I>gflash2</I> with envelope in parallel world;
0366     <I>gflash3</I> with SD in parallel world; <I>gflasha</I> with histogramming
0367     of shower profiles.</LI>
0368 <LI><I>dnadamage1</I>: DNA simulation of damage on a chromatin fiber.</LI>
0369 <LI><I>microprox</I>: DNA computation of proximity functions in liquid water.</LI>
0370 </UL>
0371 
0372 <A NAME="5."></A>
0373 <HR>
0374 
0375 <!-- ============================================== -->
0376 
0377 <H2>5. Expected effects on physics and computing performance</H2>
0378 
0379 <B>Electromagnetic physics</B>
0380 <UL>
0381 <LI>Expected unchanged response for calorimeter simulations.</LI>
0382 <LI>General speedup of electro-magnetic physics by 4-8% depending on the
0383     software platform. Additional speedup if the <I>general gamma process</I>
0384     mode is enabled (disabled by default).</LI> 
0385 </UL>
0386 
0387 <B>Hadronic physics</B>
0388 <UL>
0389 <LI>Increased energy response and more compact hadronic showers mostly in the
0390     projectile energy range between 5 and 20 GeV, mainly due to the change
0391     in transition energy between FTFP and BERT.</LI>
0392 </UL>
0393 
0394 <P> </P>
0395 <A NAME="6."></A>
0396 <HR>
0397 
0398 <!-- ============================================== -->
0399 
0400 <H2>6. Known Run-Time Problems and Limitations</H2>
0401 For a complete list of outstanding run-time problems and to submit any
0402 problem you may find while running this version of Geant4, please refer
0403 to the
0404 <A TARGET="ext" HREF="http://cern.ch/geant4/problemreport">Geant4 Problem
0405 Reporting System</A>.
0406 
0407 <P> </P>
0408 <A NAME="7."></A>
0409 <HR>
0410 
0411 <!-- ============================================== -->
0412 
0413 <H2>7. Compilation Warnings</H2>
0414 
0415 There may be a few compilation warnings on some platforms, particularly
0416 on Windows with Visual Studio, where warnings level has been raised when
0417 building examples.
0418 We do not believe that any of these lead to incorrect run-time behaviour.
0419 
0420 <P> </P>
0421 <A NAME="8."></A>
0422 <HR>
0423 
0424 <!-- ============================================== -->
0425 
0426 <H2>8. Geant4 Software License</H2>
0427 
0428 A Software License applies to the Geant4 code.
0429 Users must accept this license in order to use it. The details and the list of
0430 copyright holders is available at
0431 <A href="http://cern.ch/geant4/license">http://cern.ch/geant4/license</A>
0432 and also in the text file <TT>LICENSE</TT> distributed with the source code.
0433 
0434 <P> </P>
0435 <A NAME="9."></A>
0436 <HR>
0437 
0438 <!-- ============================================== -->
0439 
0440 <H2>9. Detailed list of changes and fixes</H2>
0441 
0442 These are the main new features/fixes included in this release since the
0443 last patched public release (for more detailed lists of fixes/additions,
0444 please refer to the corresponding History files provided in most packages):
0445 
0446 <P> </P>
0447 
0448 <A NAME="conf-notes">
0449 <H3><I>Configuration</I></H3></A>
0450 <UL>
0451 <LI><U>CMake</U>
0452     <UL>
0453     <LI>Set minimum required CMake version to 3.8 to fully support C++17
0454         on all systems. Addressing problem report
0455         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2044">#2044</A>.</LI>
0456     <LI>Updated Intel settings to support use of C++17 with Intel 19 when
0457         using CMake-3.8-3.10. Versions from 3.11 fully support Intel 19/C++17.</LI>
0458     <LI>Removed obsolete GEANT4_BUILD_MUONIC_ATOMS_IN_USE option
0459         and associated configuration/compiler flags.</LI>
0460     <LI>Promoting following pre-processor flags to fixed #defines in a new
0461         header generated by CMake using the chosen build options to
0462         <TT>#define/#undef</TT> as appropriate: G4USE_STD11, G4MULTITHREADED,
0463         G4_STORE_TRAJECTORY, G4VERBOSE, GEANT4_USE_TIMEMORY.
0464         Promoted VecGeom pre-processor flags to fixed <TT>#defines</TT> as well.
0465         Ensuring the header is included by primary "global" category headers
0466         so that all categories will pick up the changes transparently.
0467         Removed use of add_definitions of CMAKE_CXX_FLAGS to set these flags
0468         in Geant4 and client scripts.</LI>
0469     <LI>Removed G4FPE_DEBUG from build mode "Debug". Added new build mode
0470         "Debug_FPE" same as "Debug" mode but appending -DG4FPE_DEBUG.</LI>
0471     <LI>Set OpenGL_GL_PREFERENCE to LEGACY, to prevent warning on
0472         CMake &gt;= 3.10, and keeping existing behaviour.</LI>
0473     <LI>Only scope location of test executable when using a generator that
0474         supports multi-config; allows tests to be run with Ninja Generator as
0475         "ninja test".</LI>
0476     <LI>Do not switch off CMAKE_CXX_EXTENSIONS in Geant4Config; not required
0477         for client applications. Addresses problem report
0478         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2002">#2002</A>.</LI>
0479     <LI>Using target_XXX usage requirements to transport header paths and links.
0480         Removed requirement to use complete include_directories chain in Module
0481         sources.cmake files. Retain exported "Geant4_INCLUDE_DIR{S}" variables
0482         in case clients use Root dictionary generation (which does not
0483         understand usage requirements of targets until latest versions).
0484         Removed remaining -D flags set via add_definitions, moving to
0485         target_compile_definitions.</LI>
0486     <LI>Namespace exported targets with "Geant4::" to enforce use of targets
0487         and prevent accidental linkage via <TT>-lG4name</TT> expansion.</LI>
0488     <LI>Migrate use of all external packages to use and refind exported targets,
0489         with shim scripts to support CMake versions from 3.8 at build/use time.</LI>
0490     <LI>Store build-time locations of used external packages in an optionally
0491         installable CMake script for reuse, if present, by Geant4Config.cmake 
0492         in refinding packages.</LI>
0493     <LI>Require MSVC 19.20 (Visual Studio 2019) or newer as minimum required
0494         version to build Geant4 on Windows. Needed to support use full C++17
0495         Standard. Default C++ Standard with MSVC is now C++17.</LI>
0496     <LI>Removed old genwindef method of generating DLL symbol exports, as
0497         minimum cmake version of 3.8 fully supports direct generation via
0498         target properties.</LI>
0499     <LI>Removed GEANT4_FORCE_QT4 option, deprecating Qt4 support. Retain
0500         fallback to finding Qt4, emitting a CMake warning that use of Qt4 is
0501         deprecated.</LI>
0502     <LI>Disabled configuration for Wt UI/Vis driver, as no longer supported.</LI>
0503     <LI>Updated scripts to support the TiMemory find_package COMPONENTS and
0504         the INTERFACE library generation.</LI>
0505     <LI>Fixed logic of setting up components in Geant4Config.cmake.
0506         Addresses problem report
0507         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2139">#2139</A>.</LI>
0508     <LI>Fixed issue for path with spaces, reported in Users Forum #451.</LI>
0509     <LI>Added ELLIPSOID, ELLIPTICALCONE and ELLIPTICALTUBE flags to enable
0510         wrapping of G4Ellipsoid, G4EllipticalCone and G4EllipticalTube with
0511         correspondent VecGeom primitives.</LI>
0512     <LI>Updated data-sets versions.</LI>
0513     </UL></LI>
0514 <LI><U>GNUMake</U>
0515     <UL>
0516     <LI>Hard-code Qt version through QT_VERSION flag.
0517         Corrected Qt5 setup for Linux-g++ and Linux-clang.</LI>
0518     <LI>architecture.gmk: added -DG4GMAKE to CPPFLAGS to identify enabling
0519         of GNUmake builds.</LI>
0520     <LI>Fixed default paths for Linux architectures.</LI>
0521     <LI>geomconf.gmk: added VecGeom wrappers flags for G4EllipticalTube,
0522         G4EllipticalCone and G4Ellipsoid.</LI>
0523     <LI>Fixed compilation warning on gcc-9.2 for liblist.c.</LI>
0524     <LI>Added new analysis/factory subdirectory in includes in binmake.gmk;
0525         removed analysis/parameters which does not exist anymore.</LI>
0526     <LI>Corrected default path for XM in Darwin targets.</LI>
0527     <LI>Force use of C++17 in WIN32 targets.</LI>
0528     <LI>interactivity.gmk: added -DQT_NO_DEPRECATED_WARNINGS to Qt compilation
0529         settings, to silence warnings from Qt for use of deprecated features.</LI>
0530    </UL></LI>
0531 </UL>
0532 
0533 <A NAME="ana-notes">
0534 <H3><I>Analysis</I></H3></A>
0535 <UL><LI><U>Ntuples</U>
0536     <UL>
0537     <LI>Fixed CSV, XML ntuple file names.</LI>
0538     <LI>Added methods for setting ntuple merge mode in G4VAnalysisManager
0539         with a default implementation (issuing a warning if merging is not
0540         available).</LI>
0541     <LI>Added fRowWise data member in G4RootNtupleManager to make the
0542         parameter available in MPI.</LI>
0543     </UL></LI>
0544     <LI><U>Analysis management & plotting</U>
0545     <UL>
0546     <LI>Enhanced the G4VAnalysisManager interface: added new option for
0547         ntuple merging and updated/added functions for merging:
0548         SetNtupleMerging() - removed rowWise and basketSize optional paremeters;
0549         SetNtupleRowWise() - added parameter 'rowMode' with a default value;
0550         SetBasketSize(), SetBasketEntries() - new methods.
0551         Added functions and UI commands for setting axis log scale for
0552         plotting: <TT>Set[H,P][1,2,3][X,Y.Z]AxisIsLog()</TT> and analogous getters
0553         New UI commands <TT>/analysis/[h,p][1,2,3]/set[X,Y,Z]axisLog true|false</TT>.</LI>
0554     <LI>Added new factory function ManagerInstance() in G4Analysis, which allows
0555         to create the analysis manager of the type selected via a string
0556         argument.</LI>
0557     <LI>Added new analysis sub-category "factory".</LI>
0558     <LI>Cleaned-up analysis type definitions: G4Hn*, G4Pn* types moved out
0559         of type specific namespace.</LI>
0560     <LI>In G4PlotManager: disabled Paw encoding; this fixes a problem with
0561         unwanted axis labels in Greek.</LI>
0562     <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0563     <LI>Link directly to FreeType and HDF5 imported targets.</LI>
0564     </UL></LI>
0565     <LI><U>g4tools</U>
0566     <UL>
0567       <LI>Updated the g4tools version to g4tools-5.0.5.
0568       <UL>
0569         <LI>Handle axis label in case of freetype font.</LI>
0570         <LI>Root format: restore a "per event/row view" for the ntuple
0571             column-wise in MT and MPI.</LI>
0572         <LI>Batch plotting: fixes to avoid labels overlap when having a grid
0573             of plotters.</LI>
0574         <LI>MPI: fixed a memory leak.</LI>
0575         <LI>Fix for axis labels with log scale.</LI>
0576         <LI>Scene graph: have material for interactive plotting.</LI>
0577         <LI>Include modifications coming from other usage of inlib/exlib,
0578             for example, in Root, to be able to read TClonesArray.</LI>
0579         <LI>Fixed compilation warning from gl2ps showing up on gcc-9.2.</LI>
0580         <LI>sg/plotter: added functions set_encoding() and set_encoding_none()
0581             which allow to disable (unwanted) Paw specific encoding.</LI>
0582         <LI>Fixed memory leak in mpi_create_basket().</LI>
0583         <LI>Fixed Coverity warnings.</LI>
0584         <LI>See History_tools for the complete list of modifications.</LI>
0585       </UL></LI>
0586     </UL></LI>
0587 </UL>
0588 
0589 <A NAME="digits-notes">
0590 <H3><I>Digitization &amp; Hits</I></H3></A>
0591 <UL>
0592 <LI>Introducing G4ScoringRealWorld, allowing to define command-based scorers
0593     to a logical volume in the mass world.</LI>
0594 <LI>Revised G4ScoringQuantiryMessenger and G4ScoringMessenger to better handle
0595     the error cases.</LI>
0596 <LI>Added "ntuple" subdirectory for score ntuple writer UI commands.</LI>
0597 <LI>Added G4TScoreNtupleWriter and G4TScoreNtupleWriterMessenger
0598     which implements storing hits collections of G4THitsMap type vith
0599     Geant4 analysis tools, define them in G4VcoreNtupleWriter.
0600     The dependency on the analysis category is avoided via template.</LI>
0601 <LI>Fixed implicit type conversions from size_t to G4int in digits and hits
0602     classes (collections, vectors, maps).</LI>
0603 <LI>Pass G4String by const reference in G4SDStructure and digits/hist
0604     collections base classes.</LI>
0605 <LI>G4PSSphereSurfaceFlux: fixed track weight.</LI>
0606 </UL>
0607 
0608 <A NAME="emstd-notes">
0609 <H3><I>Electromagnetic Processes</I></H3></A>
0610 <UL>
0611 <LI><B>DNA</B>:
0612     <UL>
0613     <LI>Added G4DNAMolecule class.</LI>
0614     <LI>Added Kreipl and Meesungnoen amorphous ice models.</LI>
0615     <LI>Added new model G4DNAELSEPAElasticModel.</LI>
0616     <LI>Updated G4DNAWaterDissociationDisplacer* classes.</LI>
0617     <LI>Moved checking of position of track status in
0618         G4ITStepProcessor::SetInitialStep().</LI>
0619     <LI>Chemistry: clarified pointer ownership in G4DNAChemistryManager.</LI>
0620     <LI>Fixed reaction site issue.</LI>
0621     <LI>Fixed case of division by zero of diffusionCoefficient in 
0622         <TT>G4DNABrownianTransportation::AlongStepGetPhysicalInteractionLength()</TT>
0623         for the case of static molecules.</LI>
0624     <LI>Enabled G4ItNavigator{1,2} to flag if it encounters new type of
0625         external physical volume (meant for adapting external navigators).</LI>
0626     <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0627     <LI>Fixed compilation warnings on gcc-9.1. Code cleanup.</LI>
0628     </UL></LI>
0629 <LI><B>High Energy</B>
0630     <UL>
0631     <LI>G4GammaConversionToMuons, G4AnnihiToMuPair: added
0632         registration/de-registration mechanism.</LI>
0633     <LI>G4GammaConversionToMuons: added initialisation and optional possibility
0634         to use 5D model for the sampling of the final state.</LI>
0635     <LI>G4mplIonisationWithDeltaModel, G4mplIonisationModel: fixed dEdx for
0636         electron gas model (beta&lt;0.01). Addressing problem report
0637         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2169">#2169</A>.</LI>
0638     </UL></LI>
0639 <LI><B>Low Energy</B>
0640     <UL>
0641     <LI>G4LivermorePhotoElectricModel: use std::getenv; slightly speed-up.</LI>
0642     <LI>G4IonParametrisedLossModel: use std::getenv; allowed ICRU90 option.</LI>
0643     <LI>Use <TT>std::getenv()</TT> for thread safety.</LI>
0644     </UL></LI>
0645 <LI><B>Muons</B>
0646     <UL>
0647     <LI>G4TablesForExtrapolator: create G4LossTableBuilder and destruct at
0648         end of run.</LI>
0649     </UL></LI>
0650 <LI><B>Standard</B>
0651     <UL>
0652     <LI>In most models, make use of the new target atom selector that can
0653         reuse the already known log-energy value.</LI>
0654     <LI>G4UrbanMscModel, G4WentzelVIModel, G4GoudsmitSaundersonMscModel:
0655         make use of the new base class methods in utils module, utilising
0656         the already known log-energy value, in case of dEdx, range and
0657         transport mean free path log-vector table accesses.</LI>
0658     <LI>G4UrbanMscModel: optimised step limitation for 'UseSafetyPlus'
0659         and 'UseDistanceToBoundary'. Minor clean-up of step limit method.
0660         Modified lateral displacement sampling.</LI>
0661     <LI>G4ScreeningMottCrossSection, G4KleinNishinaModel, G4SeltzerBergerModel,
0662         G4eSingleCoulombScatteringModel: use element->GetZasInt() interface
0663         in order to reduce number of double->int conversions at run time.</LI>
0664     <LI>G4BetheHeitler5DModel: set x,y components in BoostG4LorentzVector
0665         function. Replaced local boost and rotation functions with CLHEP
0666         boost, boostZ, transform. One random generator flatArray() call in
0667         sampling loop. New parameters set for muon (30% speed up), nuclear
0668         threshold calculation. Added gamma conversion to mu+ mu- mode.</LI>
0669     <LI>G4eCoulombScatteringModel, G4WentzelOKandVIxSection: cleanup debug
0670         cout and initialisation.</LI>
0671     <LI>G4UrbanMscModel, G4GoudsmitSaundersonMscModel, G4WentzelVIModel: use
0672         <TT>lambdalimit</TT> and <TT>facsafety</TT> parameters from the base
0673         class G4VMscModel.</LI>
0674     <LI>G4SeltzerBergerModel: during initialisation data files upload only data
0675         for elements used in geometry, lazy initialisation of the data is also
0676         available for testing.</LI>
0677     <LI>G4SeltzerBergerModel, G4ICRU49NuclearStoppingModel: safer
0678         initialisation in MT mode.</LI>
0679     <LI>G4ScreeningMottCrossSection, G4eSingleCoulombScatteringModel: optimized
0680         code and data structure; fixed floating point exception for low energy;
0681         use C++11 patterns.</LI>
0682     <LI>G4hCoulombScatteringModel, G4hCoulombScatteringModel: removed unused
0683         headers.</LI>
0684     <LI>G4PairProductionRelModel, G4GammaConversion: the high energy model for
0685         e-/e+ pair production has been extended down to threshold (<TT>2mc^2</TT>)
0686         such that it gives results (both cross-section and final state) identical
0687         to those produced by the low energy (G4BetheHeitlerModel). Since this new
0688         version of the high energy model can describe e-/e+ pair production from
0689         threshold up to PeV (LPM effects are included) the G4BetheHeitlerModel
0690         is now removed from the G4GammaConversion process.</LI>
0691     <LI>G4eplusAnnihilation: set secondary weight correctly using bias manager.</LI>
0692     <LI>G4ESTARStopping, G4GSMottCorrection, G4GSPWACorrections,
0693         G4GoudsmitSaundersonTable, G4SBBremTable, G4SeltzerBergerModel: minor
0694         cleanup; use of <TT>std::getenv()</TT> and use of
0695         <TT>G4Element::GetZasInt()</TT>.</LI>
0696     <LI>Requires data-set G4EMLOW-7.9.</LI>
0697     </UL></LI>
0698 <LI><B>Utils</B>
0699     <UL>
0700     <LI>G4EmElementSelector, G4VEmModel: added extra method to select the
0701         target atom by making use of the already known log-energy value in
0702         the log-vector access.</LI>
0703     <LI>G4VEmProcess, G4VEnergyLossProcess and G4VMscModel: added extra
0704         methods to access log-vector tables by propagating the already
0705         known log-energy value.</LI>
0706     <LI>G4VMscModel, G4VMultipleScattering: added new method
0707         <TT>InitialiseParameters()</TT>, make multiple-scattering specific
0708         methods pure virtual.</LI>
0709     <LI>G4LossTableManager: added <TT>Register/DeRegister()</TT> methods and vector
0710         of pointers for G4VProcess classes for X-ray and optical processes.</LI>
0711     <LI>G4EmParameters: added polarisation flag; moved implementation of
0712         splitting parameters to source and added check on lock; added
0713         <TT>9.99 MeV</TT> low limit in the <TT>SetMaxEnergy()</TT> method,
0714         added thread lock to <TT>Dump()</TT> method.</LI>
0715     <LI>G4EmParameters, G4EmParametersMessenger: splitted classes keeping the
0716         user interface unchanged.
0717         Added new classes for complex EM parameters (G4EmExtraParameters
0718         G4EmExtraParametersMessenger) and new classes for low-energy and
0719         DNA parameters (G4EmLowEParameters, G4EmLowEParametersMessenger).
0720         Added new parameters for multiple-scattering <TT>FactorSafety</TT> and
0721         <TT>LambdaLimit</TT>; now users can customise these values, default
0722         values used are the same as in release 10.5.</LI>
0723     <LI>G4EmSaturation: do not apply saturation for zero step length, as this
0724         is possible only if a tracking cut is applied.</LI>
0725     <LI>G4EmBiasingManager: delete non-tracked particles.</LI>
0726     <LI>New helper class G4NIELCalculator, to compute NIEL in user stepping
0727         action or sensitive detector code. User should provide G4VEmModel
0728         objects, which has NIEL model.</LI>
0729     <LI>G4LossTableManager: added access and initialisation of
0730         G4NIELCalculator. Use std::getenv() for thread safety.</LI>
0731     <LI>G4VEmProcess, G4VEnergyLossProcess, G4VMscModel, G4EmElementSelector:
0732         utilise new optimised LogVectorValue() function from G4PhysicsVector
0733         (for log-vector).</LI>
0734     <LI>G4EmElementSelector: new optimised version; adopting linear
0735         interpolation to avoid redundant energy grid related computations;
0736         branches used to handle rare corner cases are eliminated by increased
0737         robustness of the algorithm.</LI>
0738     <LI>Removed no longer used members in G4EmElementSelector and G4VEmModel.</LI>
0739     <LI>G4LossTableBuilder, G4LossTableManager, G4VEmModel, G4VMscModel, 
0740         G4VEmProcess, G4VEnergyLossProcess, G4EmCalculator: allow both
0741         approaches, "General Process" and "Base Materials", work together.</LI>
0742     <LI>G4DNAModelSubType: added Kreipl and Meesungnoen amorphous ice models.
0743         G4EmLowEParametersMessenger: added corresponding commands.</LI>
0744     <LI>DummyModel: added methods to be consistent with above modifications.</LI>
0745     <LI>Fixed Coverity defects.</LI>
0746     </UL>
0747 <LI><B>Xrays</B>
0748     <UL>
0749     <LI>G4Cerenkov, G4Scintillation, G4SynchrotronRadiation,
0750         G4VTransitionRadiation: added registration/de-registration mechanism.</LI>
0751     </UL></LI>
0752 </UL>
0753 
0754 <A NAME="event-notes">
0755 <H3><I>Event</I></H3></A>
0756 <UL>
0757 <LI>G4SPSEneDistribution: added protection for potential infinite loop.
0758     Addressing problem report
0759     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2177">#2177</A>.</LI>
0760 <LI>G4SPSPosDistribution: added accessor methods for volume confinement 
0761     Addressing GitHub PR #7.</LI>
0762 <LI>Fixed implicit type conversions from size_t to G4int in G4TrackStack
0763     and G4TrajectoryContainer. Fixed typos and some code cleanup.</LI>
0764 <LI>Make -DG4_USESMARTSTACK a public compile definition of G4event
0765     to propagate it directly to CMake clients.</LI>
0766 </UL>
0767 
0768 <A NAME="externals-notes">
0769 <H3><I>Externals</I></H3></A>
0770 <UL>
0771 <LI><U>CLHEP</U>:
0772     <UL>
0773     <LI>Updated to CLHEP version 2.4.1.3.</LI>
0774     <LI>MixMaxRng: throw if seed is zero. Use throw instead of exit()
0775         elsewhere.</LI>
0776     <LI>Defaulted operator=() also for BasicVector3D andPlan3D; fixing
0777         deprecation warnings  on gcc-9.1. Fixed shadowing compilation
0778         warnings in Transform3D as reported on gcc-9.1.</LI>
0779     <LI>Added move constructor and move assignment operators in Vector and
0780         Geometry classes.</LI>
0781     <LI>Fixed compilation warnings for cases of implicit type conversions in
0782         Ziggurat classes.</LI>
0783     </UL></LI>
0784 </UL>
0785 
0786 <A NAME="gen-notes">
0787 <H3><I>General Processes</I></H3></A>
0788 <UL>
0789 <LI><B>Biasing</B>
0790     <UL>
0791     <LI>Introducing leading particle biasing.</LI>
0792     <LI>G4BOptnChangeCrossSection: added argument to <TT>SetBiasedCrossSection()</TT>
0793         method, as option to update the interaction length when setting a new
0794         cross-section value.</LI>
0795     <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0796     </UL></LI>
0797 <LI><B>Cuts</B>
0798     <UL>
0799     <LI>Added protection against premature call to G4ProductionCutsTable.</LI>
0800     <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0801     </UL></LI>
0802 <LI><B>Decay</B>
0803     <UL>
0804     <LI>G4Decay: extended printout for G4Exception DECAY101 and DECAY102.</LI>
0805     </UL></LI>
0806 <LI><B>Management</B>
0807     <UL>
0808     <LI>Made G4ProcessTable a thread-local singleton.</LI>
0809     <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0810     <LI>Some code cleanup in G4ProcessManager.</LI>
0811     </UL></LI>
0812 <LI><B>Optical</B>
0813     <UL>
0814     <LI>G4OpWLS: call <TT>SetNumberOfSecondaries()</TT> from G4VParticleChange only
0815         once. Addressing problem report
0816         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2200">#2200</A>.</LI>
0817     <LI>Improved diagnostics printout.</LI>
0818     <LI>Code cleanup and formatting, added C++11 keywords.</LI>
0819     </UL></LI>
0820 <LI><B>Parameterisation</B>
0821     <UL>
0822     <LI>Register G4FastSimulationManagerProcess with highest ordering in
0823         G4FastSimulationManagerHelper to ensure it is the only process invoked
0824         for a given step (ExclusivelyForced) and no other StronglyForced
0825         processes will be considered.</LI>
0826     </UL></LI>
0827 <LI><B>Transportation</B>
0828     <UL>
0829     <LI>The following fixes and improvements affect both G4Transportation and
0830         G4CoupledTransportation:<BR>
0831         - Fixed issues related to resetting of looper flag and other state for
0832         field propagation. Involved replacing check for 'Global' field with check for any field; this is
0833         needed to ensure that propagator-in-field state is reset when the
0834         setup inludes only local fields.
0835         Ensure that looping flag is reset (false) when a force is not exerted
0836         in <TT>G4CoupledTransportation::AlongStepGetPhysicalInteractionLength()</TT>;
0837         before it was overwritten afterwards.
0838         Addressing problem report
0839         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2144">#2144</A>.<BR>
0840         - Optimisation to avoid calling user field manager's
0841         <TT>ConfigureForTrack()</TT> method, except if particle is charged,
0842         or forces from magnetic moment or gravity are enabled.<BR>
0843         - The change above introduces a new 'flag' to enable gravity fields.
0844         The static method <TT>EnableGravity()</TT> in G4Transportation must be
0845         called if the application uses gravity fields (calling this method
0846         will enable both types of transportation to consider gravity.<BR>
0847         - Added flag to optionally silence warning about looping tracks.
0848         The method <TT>SetSilenceLooperWarnings()</TT> controls it.</LI>
0849     </UL></LI>
0850 </UL>
0851 
0852 <A NAME="geo-notes">
0853 <H3><I>Geometry</I></H3></A>
0854 <UL>
0855 <LI>Implemented minor C++11 revision and code cleanup.
0856     Use pre-increment wherever possible.</LI>
0857 <LI>Fixed minor Coverity defects.</LI>
0858 <LI><B>Divisions</B>
0859     <UL>
0860     <LI>Return correct value for multiplicity in G4PVDivision and
0861         G4ReplicatedSlice. Addressing problem report
0862         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2168">#2168</A>.</LI>
0863     <LI>G4PVDivision: added missing implementation of alternative constructor.</LI>
0864     <LI>Added new virtual <TT>VolumeType()</TT> method in Physical Volume types.</LI>
0865     </UL></LI>
0866 <LI><B>Magnetic field</B>
0867     <UL>
0868     <LI>G4ChordFinder: changed to use concrete type of Stepper as template
0869         parameter.</LI>
0870     <LI>G4InterpolationDriver: revision that uses an instance of the stepper for
0871         each substep. Fixed memory churn; use FSAL property of stepper
0872         (G4DormandPrince745) to avoid one RHS evaluation per integration
0873         substep beyond the first.
0874         Changed from G4VERBOSE to G4FIELD_DEBUG for debug checks.
0875         Now set by default.</LI>
0876     <LI>Removed division in <TT>G4DormandPrince745::Interpolate4thOrder()</TT>.
0877         Fix in 5<SUP>th</SUP> order interpolation method.</LI>
0878     <LI>Reset step estimate in G4MagInt_Driver only at the beginning of a
0879         track.</LI>
0880     <LI>Added G4SextupoleMagField, an implementation of a sextupole magnetic
0881         field.</LI>
0882     <LI>Completed implementation G4BFieldIntegrationDriver, and fixed issues.
0883         It is now used as the default driver for magnetic fields: 
0884         it instantiated in G4FieldManager's <TT>CreateChordFinder()</TT> method.
0885         Fixed case of floating point exception in and removed statistics
0886         printouts from destructor.</LI>
0887     <LI>Added method and attribute to G4VIntegrationDriver
0888         <TT>DoesReIntegrate()</TT> to inform whether the driver recomputes
0889         segment when <TT>AccurateAdvance()</TT> is called.</LI>
0890     </UL></LI>
0891 <LI><B>Management</B>
0892     <UL>
0893     <LI>G4GeomSplitter: re-enabled use or <TT>realloc()/free()</TT> and
0894         <TT>memcpy()</TT>, after adapting G4VPhysicalVolume MT splitted data
0895         to adopt only trivial types for allocation. Re-establishing original
0896         performance in initialisation of the geometry in MT mode.</LI>
0897     <LI>Properly initialise splitted data in G4VPhysicalVolume to zero.</LI>
0898     <LI>Replaced deprecated std::binary_function calls with lambdas in
0899         G4SmartVoxelStat and G4GeometryManager. Addressing GitHub PR#8.</LI>
0900     <LI>Defined move constructor and move assignment operator for
0901         G4AffineTransform.</LI>
0902     <LI>G4VSolid: use <TT>G4QuickRand()</TT> in <TT>EstimateCubicVolume()</TT>
0903         and <TT>EstimateSurfaceArea()</TT>.</LI>
0904     <LI>Changed <TT>G4VPhysicalVolume::VolumeType()</TT> to be virtual.
0905         Required for addition of External Navigation, which adds an 'external'
0906         physical volume type (for use with an External sub-Navigator).</LI>
0907     <LI>Revised G4LogicalVolume to cope with 'external' type of physical
0908         volumes. Use stored volume type in <TT>CharacteriseDaughters()</TT>.
0909         These revisions are independent and backward compatible.</LI>
0910     <LI>G4LogicalVolume: added method <TT>ChangeDaughtersType()</TT> to change
0911         the volume type for <TT>CharacterisedDaughters()</TT>. It enables the
0912         user to turn over responsibility for navigation in that volume to an
0913         external navigator.
0914         This is for use when one or more daughter volumes are created as an
0915         existing physical volume type (typically <TT>G4PVPlacement</TT>). It
0916         can also be used to enable to create a (logical) volume which containts
0917         a mixture of existing Geant4 physical volume types and user-created
0918         'external' physical volume type (with type code <TT>kExternal</TT>):
0919         Geant4 types must be created first, and then <TT>ChangeDaughtersType()</TT>
0920         must be called to change the mother's attribute to <TT>kExternal</TT>.
0921         Note: only one type of sub-navigator will be called to find a track's
0922         intersection (or the location of a point) in all daughters of one
0923         mother volume. The sub-navigator chosen will correspond to the volume
0924         type assigned.</LI>
0925     <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0926     <LI>Use header-based <TT>#define/undef</TT> symbols to configure VecGeom
0927         replacements; added new configuration headers G4GeomConfig.hh and
0928         G4GeomTypes.hh.</LI>
0929     </UL></LI>
0930 <LI><B>Navigation</B>
0931     <UL>
0932     <LI>Improved information in G4Exceptions for particles stuck due to
0933         multiple zero steps in G4Navigator.</LI>
0934     <LI>Added hooks for capability to navigate in 'external' geometry:
0935         new base class G4VExternalNavigation for external 'sub'-navigator;
0936         new type of 'External' physical volume, to flag volumes for
0937         external sub-navigator; revisions to G4Navigator to dispatch logical
0938         volumes with daughters which are of 'external' physical-volume type.
0939         An 'external' sub-navigator can be registered with G4Navigator;
0940         'placement' and 'external' physical volumes cannot be currently
0941         mixed inside the same logical volume.</LI>
0942     <LI>Added <TT>Clone()</TT> method in G4Navigator, to allow for 'cloning' the
0943         navigator for G4VIntersectionLocator's 'helper', and potentially for
0944         worker threads.</LI>
0945     <LI>G4TransportationManager: enable worker threads to clone G4Navigator if
0946         needed. Keep first navigator created; by convention that will be the
0947         navigator object of the master thread (or the only thread). Other
0948         (worker) threads will clone the first navigator, if it has an external
0949         sub-navigator registered. This ensures that they clone the ability to
0950         navigate in 'external' volume descriptions.</LI>
0951     <LI>G4MultiLevelLocator: avoid re-estimating endpoint if driver does not
0952         re-integrate when <TT>AccurateAdvance()</TT> is called.</LI>
0953     <LI>Introduced temporary 'relaxation' (increase) of the value of delta-chord,
0954         in G4PropagatorInField, to enable larger steps, after a threshold number
0955         of iterations (parameter). Added methods to get/set the parameter that
0956         controls after how many integration substeps (in one physics step) the
0957         increase of the chord distance is trigerred.</LI>
0958     <LI>Made G4RegularNavigationHelper a G4ThreadLocalSingleton.</LI>
0959     <LI>G4PhantomParameterisation: reverted precision checks as in version
0960         <TT>10.2.p02</TT>. Addressing problem report
0961         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2192">#2192</A>.</LI>
0962     <LI>Enable UI command <TT>/geometry/navigator/push_notify</TT> which was
0963         not setup properly. Addressing problem report
0964         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2173">#2173</A>.</LI>
0965     <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0966     </UL></LI>
0967 <LI><B>Solids (Boolean)</B>
0968     <UL>
0969     <LI>G4BooleanSolid: use <TT>G4QuickRand()</TT> in <TT>GetPointOnSurface()</TT>;
0970         reduced max number of tries to generate a point to 100k.</LI>
0971     <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0972     </UL></LI>
0973 <LI><B>Solids (CSG)</B>
0974     <UL>
0975     <LI>G4Tubs: Fixed normal from <TT>DistanceToOut()</TT> to be unit vector, for
0976         abnormal exit points. Added <TT>inverse-Rmax</TT> and <TT>-Rmin</TT> as
0977         data members.</LI>
0978     <LI>Re-use pre-calculated values instead of using std::cos(), std::sin()
0979         in G4Tubs, G4Cons, G4CutTubs and G4Sphere.</LI>
0980     <LI>G4CutTubs: fixed minor Coverity defects for non initialised data in
0981         constructors.</LI>
0982     <LI>Added inclusion of new G4GeomTypes.hh header to those headers allowing
0983         VecGeom replacement.</LI>
0984     </UL></LI>
0985 <LI><B>Solids (Specific)</B>
0986     <UL>
0987     <LI>Enabled VecGeom wrapper for G4GenericPolycone, G4EllipticalTube,
0988         G4EllipticalCone and G4Ellipsoid. Requiring VecGeom version 1.1.5.</LI>
0989     <LI>G4ExtrudedSolid: fixed a bug in DistanceToOut(), affecting extruded
0990         solids defined off-center along the z-axis.</LI>
0991     <LI>Fixed generation of polyhedron in <TT>G4UExtrudedSolid::CreatePolyhedron()</TT>.
0992         Addressing visualization part of the problem report
0993         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2171">#2171</A>.</LI>
0994     <LI>Avoid defining kCarTolerance as 'static const' in G4VFacet.
0995         Addressing problem report
0996         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2172">#2172</A>.</LI>
0997     <LI>Modified G4PolyconeSide and G4PolyhedraSide to use only trivial types
0998         for MT splitted data in G4PlSideData and G4PhSideData respectively.</LI>
0999     <LI>Protected check in <TT>G4TwistedTubsSide::DistanceToPlane()</TT> within debug
1000         flag.</LI>
1001     <LI>Defined move constructor and move assignment operator for
1002         G4TriangularFacet.</LI>
1003     <LI>Use <TT>GetVertices()</TT> instead of <TT>GetParametersList()</TT> in
1004         the wrapper G4UTet.</LI>
1005     <LI>G4TesselatedSolid: fixed case of potentially uninitialized array.</LI>
1006     <LI>G4GenericTrap: fixed compilation warnings for variable shadowing
1007         on clang-8.</LI>
1008     <LI>Rationalise header inclusions for faceted solids.</LI>
1009     <LI>Removed unnecessary forward declaration in G4VFacet header.</LI>
1010     <LI>Added inclusion of new G4GeomTypes.hh header to those headers allowing
1011         VecGeom replacement.</LI>
1012     </UL></LI>
1013 <LI><B>Volumes</B>
1014     <UL>
1015     <LI>Revised <TT>G4PVPlacement::CheckOverlaps()</TT> for speed up; improved
1016         diagnostics.</LI>
1017     <LI>Added enablers for external navigation capability.
1018         Added new virtual base class G4VExternalPhysicalVolume.</LI>
1019     <LI>Added new virtual <TT>VolumeType()</TT> method in Physical Volume types.</LI>
1020     <LI>Fixed registration of G4PVParameterised daughter in mother volume to
1021         enable its true volume type (kParameterised) to be recognised and
1022         registered in mother logical volume.</LI>
1023     <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
1024     </UL></LI>
1025 </UL>
1026 
1027 <A NAME="glob-notes">
1028 <H3><I>Global</I></H3></A>
1029 <UL>
1030 <LI>G4PhysicsVector: added additional <TT>Value()</TT> method option to propagate down
1031     the known log-energy value (can avoid the log call in case of
1032     log-vector). Added optimised <TT>LogVectorValue()</TT> method, implementing
1033     optimised algorithm for use with log-vectors only. All conditional branches
1034     are eliminated by increased robustness of the algorithm.</LI>
1035 <LI>Added protection against idx &gt; entries() in <TT>G4PhysicsVector::insertAt()</TT>
1036     function. Addressing problem report
1037     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2182">#2182</A>.</LI>
1038 <LI>G4PhysicsVector, G4PhysicsLogVector, G4PhysicsLinearVector and
1039     G4PhysicsLnVector: changed <TT>dBin</TT> member to <TT>invdBin(=1/dBin)</TT>
1040     to get rid of run-time divisions.</LI>
1041 <LI>Added G4QuickRand header in HEPRandom sub-module.</LI>
1042 <LI>Added 'External' (physical) volume type to geomdefs.hh.</LI>
1043 <LI>Added new LOG_EKIN_MIN constant as value taken in case of zero kin-energy
1044     in templates.hh.</LI>
1045 <LI>Defined default move constructor and move assignment operator for
1046     G4String and G4DataVector.</LI>
1047 <LI>G4SimplexDownhill: fixed minor Coverity defect.</LI>
1048 <LI>Fixed implicit type conversions in G4String internal methods.</LI>
1049 <LI>Updated settings for TiMemory.</LI>
1050 <LI>Use move semantics in G4ConsumeParameters, eliminating warning about
1051     unnecessary copy for some compilers.</LI>
1052 <LI>Added G4GlobalConfig.hh generated header to hold global, always required,
1053     pre-processor symbols instead of relying on -D flags for: G4USE_STD11,
1054     G4MULTITHREADED, G4_STORE_TRAJECTORY, G4VERBOSE and GEANT4_USE_TIMEMORY.
1055     Added inclusion of G4GlobalConfig.hh in G4Types.hh, tls.hh and
1056     G4TiMemory.hh so that global and other categories pick up the definitions
1057     transparently. Updated other headers/sources to include G4Types/G4Threading
1058     if they use G4MULTITHREADED.</LI>
1059 <LI>Updated date of release for 10.6.</LI>
1060 </UL>
1061 
1062 <A NAME="greps-notes">
1063 <H3><I>Graphical Representations</I></H3></A>
1064 <UL>
1065 <LI>G4VisAttributes: added 'cloud' and methods to force, <TT>SetForceCloud()</TT>,
1066     and <TT>SetForceNumberOfCloudPoints()</TT>.</LI>
1067 <LI>G4VisExtent: added method Transform(const G4Transform3D&).</LI>
1068 <LI>Added G4TessellatedSolid to list of solids that may be specially treated;
1069     solids that may access the graphics scene directly through G4VGraphicsScene.</LI>
1070 <LI>Removed <TT>Get/SetDrawOverlapsFlag()</TT> from G4VVisManager.</LI>
1071 <LI>HepPolyhedron: fixed defect reported by Coverity.
1072     Added move constructor and move assignment operator.</LI>
1073 <LI><TT>BooleanProcessor::createPolyhedron()</TT>: Use return
1074     <TT>std::move()</TT>.</LI>
1075 </UL>
1076 
1077 <A NAME="had-notes">
1078 <H3><I>Hadronic Processes</I></H3></A>
1079 <UL>
1080 <LI>Improved G4HadronicException: aligned behavior with std::exception:
1081     what() returns the exception explanation; moved the member definition
1082     to source file. Added some consts qualifiers.</LI>
1083 <LI><B>Cross sections</B>
1084     <UL>
1085     <LI>G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS: utilise
1086         the new <TT>Value()</TT> method from G4PhysicsVector that can make use
1087         of the already known value of the log-kinetic energy in the table of 
1088         cross-sections.</LI>
1089     <LI>G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS
1090         G4ParticleInelasticXS: code clean-up, assuming usage of the new 
1091         data-set G4PARTICLEXSDATA-2.1; removed unused variables and methods;
1092         used only methods with logarithm of energy.</LI>
1093     <LI>G4NeutronCaptureXS: restored computation of isotope cross-section as it
1094         was in release 10.5, responsible for degradation of observables on
1095         Tungsten. Upload data only for elements used in geometry.
1096         Code clean-up, use C++11.</LI>
1097     <LI>G4ParticleInelasticXS: set verbosity to 0.</LI>
1098     <LI>Corrections in G4MuNeutrinoNucleusTotXsc.cc: new name, default
1099         <TT>fCcTotRatio</TT> and high energy parameter 'bb'.</LI>
1100     <LI>G4ComponentAntiNuclNuclearXS: code clean-up and corrected the
1101         description.</LI>
1102     <LI>G4ComponentGGHadronNucleusXsc, G4ComponentGGNuclNuclXsc: removed
1103         remaining unused obsolete methods and members; use G4NuclearRadii
1104         utility to compute nuclear radius.</LI>
1105     <LI>G4ComponentGGHadronNucleusXsc: fixed correction factor for kaons.</LI>
1106     <LI>G4BGGPionElasticXS, G4BGGPionInelasticXS: fixed initialisation for
1107         pi+ and pi- by usage of separate vectors of correction factors; 
1108         fixed computation for Hydrogen target. Clean-up pi+ cross-section 
1109         below <TT>20 MeV</TT>.</LI>
1110     <LI>G4BGGPionInelasticXS: fixed low-energy parameterisation (restore
1111         one from Geant4 10.5, where low-energy limits were different for 
1112         pi+ and pi-).</LI>
1113     <LI>G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS: fixed computation
1114         for Hydrogen target. Fixed initialisation for protons and neutrons
1115         by usage of separate vectors of correction coefficients.</LI>
1116     <LI>G4HadronNucleonXsc: added extra method for hyperon cross sections.
1117         Extended to charmed and bottom hadrons (mesons and baryons).
1118         Improved K+p parameterisations (NS and VG); removed obsolete methods.</LI>
1119     <LI>G4ParticleInelasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS,
1120         G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS,
1121         G4NucleonNuclearCrossSection, G4ComponentBarNucleonNucleusXsc,
1122         G4UPiNuclearCrossSection: shared internal data vectors between threads;
1123         initialise data once; removed unused parameters; code clean-up;
1124         use C++11 keywords.</LI>
1125     <LI>G4VCrossSectionDataSet, G4CrossSectionDataStore,
1126         G4IonProtonCrossSection: use only methods with logarithm of energy.</LI>
1127     <LI>G4HadronicException is replaced by G4Exception in all classes with
1128         exceptions.</LI>
1129     <LI>G4ParticleInelasticXS, G4NeutronElasticXS, G4NeutronInelasticXS,
1130         G4NeutronCaptureXS: adopted the new G4PhysicsVector::LogVectorValue()
1131         optimised method for log-vectors.</LI>
1132     <LI>G4BGGNucleonInelasticXS, G4BGGNucleonElasticXS: use coherent low-energy
1133         threshold of <TT>14 MeV</TT>; code clean-up.</LI>
1134     <LI>G4BGGPionInelasticXS, G4BGGPionElasticXS: use coherent low-energy limit
1135         of <TT>1 MeV</TT>.</LI>
1136     <LI>G4HadronNucleonXsc: fixed K+p and K+n parameterisations.</LI>
1137     <LI>G4NeutronElasticXS: implemented isotope cross-section.</LI>
1138     <LI>G4UPiNuclearCrossSection: optimised interpolation method; moved two
1139         run-time methods to inline; improved low-energy parameterisation.
1140         Below <TT>20 MeV</TT> the cross-section is now constant, with BGGPion
1141         cross-section implementing the low-energy part. Code clean-up.</LI>
1142     <LI>G4NeutronInelasticXS, G4ParticleInelasticXS, G4NeutronElasticXS: added 
1143         special method for tritium and He3 targets (addressing problem report
1144         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2162">#2162</A>);
1145         upload data only for elements used in geometry. Code clean-up and use
1146         of C++11 features.</LI>
1147     <LI>G4HadronNucleonXsc: new interface to G4ComponentGGHadronNucleonXsc
1148         including s-,c-,b-, particles. Set protection against division by zero
1149         by introducing a minimum energy cutoff (<TT>100 keV</TT>), below which the
1150         cross-section is considered constant.</LI>
1151     <LI>G4BGGNucleonInelasticXS, G4BGGNucleonElasticXS, G4BGGPionInelasticXS,
1152         G4BGGPionElasticXS: clean-up low-energy behaviour.</LI>
1153     <LI>G4NeutrinoElectronNcXsc, G4NeutrinoElectronTotXsc: high energy
1154         extension of neutrino-electron cross sections, for both 
1155         charged-current and neutral-current interactions (M_W and M_Z
1156         propagator factors and Glashow resonance), for all neutrino and
1157         anti-neutrino flavours.</LI>
1158     <LI>G4MuNeutrinoNucleusTotXsc: high energy extension of cc/nc xsc (M_W and
1159         M_Z propagator factors) cc/tot ratio.</LI>
1160     <LI>G4MuNeutrinoNucleusTotXsc: added new method
1161         <TT>GetElementCrossSection()</TT>.</LI>
1162     <LI>Removed <TT>using namespace std</TT> and <TT>using namespace CLHEP</TT>
1163         from G4NeutronElectronElXsc header.</LI>
1164     <LI>Use <TT>std::getenv()</TT> for thread safety.</LI>
1165     </UL></LI>
1166 <LI><B>Management</B>
1167     <UL>
1168     <LI>G4HadronicInelasticProcess: removed default GHEISHA cross-sections.</LI>
1169     <LI>G4EnergyRangeManager: fixed bug regarding the kinetic energy per
1170         nucleon in the case of anti-nuclei (the bug was of little harm as one
1171         single model, FTFP, is used for all energies in the case of anti-nuclei
1172         projectiles). Streamlined algorithm in the case that only one model
1173         is registered for a process. Implemented C++11 patterns.
1174         Moved operators to be private, removed obsolete method, removed
1175         G4HadronicException; in case of problem return <TT>nullptr</TT>.</LI>
1176     <LI>G4HadronicProcess: removed try/catch pattern from computation of mean
1177         free path; removed final-state random rotation. Do not use try/catch
1178         pattern to choose hadronic interaction; decreased limit on check of
1179         offshell mass from <TT>1.5 MeV</TT> to <TT>10 keV</TT>.
1180         Removed unused headers. Addressing problem report
1181         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2175">#2175</A>.
1182         For particles out of mass shell, the kinetic energy is corrected in
1183         such a way that it is always above <TT>10 keV</TT>. 
1184         Used <TT>std::getenv()</TT>, which is recommended for concurrency.
1185         In the method <TT>CheckResult()</TT>, a short-lived secondary particle
1186         is allowed to have a dynamic mass which differs from the PDG mass
1187         by less than three times the particle's width.</LI>
1188 <LI><U>Models Management</U>:
1189     <UL>
1190     <LI>G4HadronicInteractionRegistry: fixed typo in comments; removed unused 
1191         Boolean flag. Use of C++11 patterns.</LI>
1192     <LI>G4HadronicInteraction: fixed definition of model per element and material.
1193         Use of C++11 patterns.</LI>
1194     <LI>G4VHighEnergyGenerator: used inheritance from G4HadronicInteraction,
1195         which reduces memory leaks at exit.</LI>
1196     </UL></LI>
1197     </UL></LI>
1198 <LI><B>Processes</B>
1199     <UL>
1200     <LI>G4HadronElasticProcess: removed tracking cut for all particles (charged
1201         particles may be stopped by the tracking cut of ionisation process;
1202         neutrons should be stopped by G4NeutronKiller).
1203         Added protection for zero energy of the projectile particle. 
1204         Removed final-state rotation. Removed default GHEISHA cross-sections.
1205         Clean up the sampling of the final state; 
1206         improved description and comments; added C++11 keywords; 
1207         removed unused local members.</LI>
1208     <LI>G4MuNeutrinoNucleusProcess: new process which handles the
1209         G4NuMuNucleusCc(Nc)Model models.</LI>
1210     <LI>Created new inelastic processes for heavy hadron-nucleus interactions.
1211         Notes: there is no need to create similar processes for elastic heavy
1212         hadron-nucleus interactions; only hadrons (mesons and baryons) that can
1213         fly macroscopic distances are considered; for the time being, none
1214         of these processes is used in any physics list.</LI>
1215     </UL></LI>
1216 <LI><B>Stopping</B>
1217     <UL>
1218     <LI>G4HadronicAbsorptionFritof: extended to neutral anti-hadrons
1219         (anti-neutron, anti-lambda, anti-sigma0 and anti-xi0). This extension
1220         is for completeness and practical convenience, although physically
1221         neutral hadrons should never be completely at rest.</LI>
1222     <LI>G4HadronicAbsorptionFritofWithBinaryCascade: new class for handling
1223         anti-proton and anti-neutron annihilation at rest using Fritiof coupled
1224         with Binary cascade, instead of directly with pre-compound (as in the
1225         class G4HadronicAbsorptionFritiof).</LI>
1226     <LI>Fixed Coverity defect in G4MuonMinusAtomicCapture.</LI>
1227     </UL></LI>
1228 <LI><B>Utilities</B>
1229     <UL>
1230     <LI>G4HadProjectile: clean-up for small kinetic energy of the projectile.</LI>
1231     <LI>G4HadFinalState, G4Bessel, G4ReactionProduct, G4GHEKinematicsVector:
1232         replaced <TT>fabs()</TT> with <TT>abs()</TT>.</LI>
1233     <LI>G4HadronicParameters: extended to the recommended (default) energy
1234         transition regions between FTF and cascade models (BERT and/or BIC)
1235         and between strings models (QGS and FTF).</LI>
1236 <LI><U>Models Utilities</U>:
1237     <UL>
1238     <LI>G4NuclearRadii: new utility class with several parameterisations of
1239         nuclear radius. Added extra utility methods.</LI>
1240     <LI>G4GeneralPhaseSpaceDecay: corrected message when throwing an exception
1241         due to center-of-mass energy below threshold.</LI>
1242     </UL></LI>
1243     </UL></LI>
1244 <LI><B>Bertini Cascade</B>
1245     <UL>
1246     <LI>Fixed case for potential FPEs due to un-protected sqrt() in
1247         <TT>G4NucleiModel::boundaryTransition()</TT></LI>
1248     <LI>G4LightTargetCollider: fixed crash when the gamma energy is below
1249         the deuteron disintegration threshold and improved the 
1250         exception handling.</LI>
1251     </UL></LI>
1252 <LI><B>Binary Cascade</B>
1253     <UL>
1254     <LI>G4GeneratorPrecompoundInterface: extended to include a simple
1255         coalescence model for nucleus-nucleus interactions in the interface
1256         between string and precompound models. This allows to improve the
1257         nucleon spectra and fast deuterons in ion-ion collisions.</LI>
1258     <LI>G4GeneratorPrecompoundInterface: minor fix.</LI>
1259     </UL></LI>
1260 <LI><B>De-excitation</B>
1261     <UL>
1262     <LI>G4VEmissionProbability: using simple rejection.
1263         Implemented option to force a residual nucleus to be among known
1264         discrete levels.</LI>
1265     <LI>Replaced deprecated std::binary_function calls with lambdas in
1266         G4StatMFMicroCanonical and G4StatMFChannel. Addressing GitHub PR#8.</LI>
1267     <LI>G4Evaporation, G4ExcitationHandler, G4LevelReader, G4GammaTransition,
1268         G4VEmissionProbability, G4PhotonEvaporation, G4PolarizationTransition:
1269         changed scheme of verbosity: 0- silence, 1- dump of parameters at
1270         initialisation, 2- debug printout, 3- very detailed debug printout.
1271         Addressing problem report
1272         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2098">#2098.</A></LI>
1273     <LI>G4CoulombBarrier: use G4NuclearRadii utility to compute nuclear radius.</LI>
1274     <LI>G4EvaporationChannel, G4EvaporationProbability, G4VEmissionProbability,
1275         G4FermiDecayProbability: simplified algorithm to sample kinetic energy
1276         of a fragment; minor code clean-up; removed commented lines.</LI>
1277     <LI>G4EvaporationChannel, G4EvaporationProbability, G4VEmissionProbability,
1278         G4NeutronEvaporationProbability, G4VEvaporationChannel: preparation for
1279         development of the new GEM model; for evaporation, improved selection of
1280         final excitation level for residual fragments.</LI>
1281     <LI>G4Evaporation: made coherent use of IsApplicable() from G4FermiBreakUp
1282         and forced simplified decay of exotic fragments with
1283         G4UnstableFragmentBreakUp.</LI>
1284     <LI>G4FermiFragmentsPoolVI: implemented new method HasChannels().
1285         Removed unphysical fragments and corresponding data structures.</LI>
1286     <LI>G4FermiBreakUpVI: used new method HasChannels() inside IsApplicable().
1287         Cleanup internal data after decay loop and not before.
1288         Use consistently verbosity from de-excitation module; simplified
1289         decay kinematics.</LI>
1290     <LI>G4FermiFragment: fixed Coulomb barrier correction computation.
1291         Removed unused Boolean members.</LI>
1292     <LI>G4UnstableFragmentBreakUp: changed logic, allowing decay of an exotic
1293         fragment (i.e. a fragment unknown in gamma-level database) and never
1294         release it. Allowed only residual fragments, which are present in the
1295         nuclear level database; those fragments which are not in the database
1296         are forced to decay to fragments from the database. 
1297         Improved debug printout.</LI>
1298     <LI>G4VEmissionProbability, G4Evaporation, G4UnstableFragmentBreakUp:
1299         consistently use decay channels in all components of the de-excitation
1300         module.</LI>
1301     <LI>G4LevelReader: small reduction of memory churn at initialisation.</LI>
1302     <LI>G4NuclearLevelData, G4LevelManager, G4GEMChannel, G4GEMProbability,
1303         G4GEMProbabilityVI, G4EvaporationChannel, G4EvaporationProbability:
1304         use consistently pairing correction from G4NuclearLevelData and
1305         verbosity level for debugging.</LI>
1306     <LI>G4GEMChannelVI, G4GEMProbabilityVI: new GEM model.</LI>
1307     <LI>G4ExcitationHandler: added check on upper limit of excitations; fixed
1308         initialisation sequence, reduced memory churn. Removed second photon
1309         evaporation loop, as all gamma decays are already happening in the
1310         first loop. Use more C++11 constructs. Added a limit on the number of
1311         warnings on high excitation energy of the input fragment. Fixed problem
1312         seen in medical test of fragmentation; provided full de-excitation of
1313         excited light fragments.</LI>
1314     <LI>G4DeexPrecoParameters: added upper limit of <TT>30 MeV</TT> on the
1315         excitation per nucleon. Added two new parameters.</LI>
1316     <LI>G4DeexParametersMessenger: added UI command.</LI>
1317     <LI>G4FermiFragmentsPoolVI, G4NuclearLevelData: reduced number of locks at
1318         initialisation.</LI>
1319     <LI>Modified internal interfaces to reuse some code for evaporation in the
1320         new GEM evaporation model; used more C++11 patterns.</LI>
1321     <LI>G4ExcitationHandler: removed warning on high excitation energy.</LI>
1322     <LI>G4ExcitationHandler, G4Evaporation: minor speedup improvement.</LI>
1323     <LI>G4NuclearLevelData: added new public interface to enable upload of
1324         nuclear level data before the first event.</LI>
1325     <LI>G4PhotonEvaporation: access G4NuclearPolarizationStore only if
1326         correlated gamma decay is enabled. Fixed gamma de-excitation when
1327         initial excitation energy is between ground state and 1st level.</LI>
1328     <LI>G4CompetitiveFission, G4FissionBarrier, G4FissionParameters: added
1329         numerical protections; clean-up C++11 keywords; moved headers to
1330         source code.</LI>
1331     <LI>Code clean-up and fixed Coverity defects.</LI>
1332     </UL></LI>
1333 <LI><B>Elastic scattering</B>
1334     <UL>
1335     <LI>G4HadronElastic: removed tracking cut and use numerically safer
1336         computation for very low-energy projectile. Improved description
1337         and comments; added C++11 keywords.
1338         Make resampling of scattering angle using algorithm from this class
1339         in the case that <TT>abs(cos(theta))</TT> &gt; <TT>1 m</TT>.
1340         Added protected variable <TT>pLocalTmax</TT>; added protection for
1341         projectile of zero kinetic energy. Added new parameterisations for
1342         protons and pions. Added a new method for s-,c-,b- particles.</LI>
1343     <LI>G4ChargeExchange: updated interfaces; added protection for projectile
1344         of zero kinetic energy.</LI>
1345     <LI>G4AntiNuclElastic: do not compute trigonometric functions, which are
1346         not used.</LI>
1347     <LI>G4ElasticHadrNucleusHE, G4LEpp, G4LEnp: code clean-up.</LI>
1348     <LI>G4ElasticHadrNucleusHE: reduced size of data structure and time for
1349         initialisation by about a factor of 2; general code clean-up; 
1350         added further protections. Made all data shared between threads.
1351         General code clean-up.</LI>
1352     <LI>Removed "using namespace std" and "using namespace CLHEP" from
1353         G4NeutronElectronElModel header.</LI>
1354     <LI>G4HadronElastic: changed warning printout for resampling, by
1355         protecting it by G4VERBOSE. Added limit on number of warning printouts.
1356         Addressing problem report
1357         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2204">#2204</A>.</LI>
1358     </UL></LI>
1359 <LI><B>Lend</B>
1360     <UL>
1361     <LI><TT>G4LENDCapture::ApplyYourself()</TT>: fixed memory leak reported
1362         by Coverity.</LI>
1363     <LI>Fixed compilation warnings on gcc-9.1 for missing assignment operator.</LI>
1364     </UL></LI>
1365 <LI><B>Lepto-nuclear</B>
1366     <UL>
1367     <LI>Neutrino-nucleus models and precalculated distribuitons as from
1368         new data-set G4PARTICLEXS-2.0.
1369     <LI>Fixed bug in G4NuMuNucelusCc(Nc)Model for kinematics of quasi-elastic
1370         neutrino scattering. Fix for m-&gt;e in nucleon 4-vectors,
1371         when nucleon move, iTeMax-&gt;100.
1372         Fixed cases of arrays out of boundaries for indices of x-.</LI>
1373     <LI>G4NuMuNucleusCcModel: 1p1h momentum sampling according to AS model;
1374         added precompound interface. Implemented off-shell kinematics;
1375         fixes in ApplyYourself(), SampleLVkr() and CoherenPion(); new method
1376         RecoilDeexcitation() to de-excite recoiled nucleus.</LI>
1377     <LI>G4NeutrinoNucleusModel: added two methods for excitation energy and
1378         nucleon momentum sampling.</LI>
1379     <LI>G4NuMuNucleusCcModel, G4NuMuNucleusNcModel, G4NeutrinoNucleusModel,
1380         G4NeutrinoElectronCcModel: implemented s-channel in nu-e-cc model.</LI>
1381     <LI>Removed <TT>using namespace std</TT> and <TT>using namespace CLHEP</TT>
1382         statements from headers.</LI>
1383     <LI>Fixes for Coverity warnings and clean-up.</LI>
1384     </UL></LI>
1385 <LI><B>Particle High Precision</B>
1386     <UL>
1387     <LI>Fix to deal with incorrect excitation energy when charged particles are
1388         emitted during a neutron reaction. In G4ParticleHPInelasticCompFS,
1389         changed method CompositeApply(), for very small excitation energies,
1390         changed level index from -1 to 0 only if incident and outgoing particles
1391         are the same. Addressing problem report
1392         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1838">#1838</A>.</LI>
1393     <LI>Fix to deal with un-incremented index of photons in
1394         <TT>G4ParticleHPPhotonDist::GetPhotons()</TT>.
1395         Also cleaned up dead code in that class. Addressing problem report
1396         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2167">#2167</A>.</LI>
1397     <LI>G4ParticleHPChannelList: fixed bug in the momentum change (it has to
1398         be a normalized 3-vector, but it was not) in the case where NeutronHP
1399         could not find a proper reaction channel.</LI>
1400     <LI>G4ParticleHPInelasticCompFS: fix to avoid arbitrary number of target
1401         nuclei being generated and slowing down multi-threaded operation.
1402         Addressing problem report
1403         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2166">#2166</A>.</LI>
1404     <LI>G4ParticleHPChannel, G4ParticleHPNames: allowed using of an incomplete
1405         data library name if the environment variable G4NEUTRONHP_SKIP_MISSING_ISOTOPES
1406         is set. The missing cross-sections are then set to 0.</LI>
1407     <LI>G4ParticleHPContAngularPar: redefined residual mass to consider
1408         incident particles other than neutrons.</LI>
1409     <LI>G4ParticleHPInelasticBaseFS: added protection against residual with
1410         Z&lt;0 or A&lt;Z, do not apply adjust_final_state when data is in
1411         MF=6 format (no correlated particle emission).</LI>
1412     <LI>Correction to add Q value info to G4ParticleHPNBodyPhaseSpace.</LI>
1413     <LI>G4ParticleHPInelasticCompFS: re-build method two_body_reaction() to be
1414         used by incident charged particles (now isotropic emission in the CMS).
1415         Also restrict 'nresp' use below <TT>20 MeV</TT>. Added photon emission
1416         when no data are available.</LI>
1417     <LI>G4ParticleHPEnAngCorrelation: deleted part of code trying to preserve
1418         baryon number; one has to assume that it is not preserved when using
1419         ENDF-6 data.</LI>
1420     <LI>Fixes for crashes detected only when using QGSP_BIC_AllHP physics-list:
1421         in method <TT>Sample()</TT> of G4ParticleHPContAngularPar, set
1422         protection against unphysical interpolation result; in
1423         G4ParticleHPKallbachMannSyst, added in <TT>A()</TT> the possibility of
1424         tritium and He3 projectiles, taking in this case (arbitrarily) an
1425         intermediate value between the two already considered cases,
1426         proton-neutron-deuteron and alpha.</LI>
1427     <LI>Fixes in G4ParticleHPKallbachMannSyst.</LI>
1428     <LI>G4ParticleHPInelasticBaseFS: re-calculate Q value in
1429         <TT>BaseApply()</TT> in case of no data in library.</LI>
1430     <LI>Added protection against maxE&lt;0 in
1431         G4ParticleHPNBodyPhaseSpace::Sample().</LI>
1432     <LI>G4ParticleHPNames: removed restriction of using isotopes with Z&gt;92,
1433         therefore removing the environmental variable
1434         <TT>AllowForHeavyElements</TT>.</LI>
1435     </UL></LI>
1436 <LI><B>Parton-String</B>
1437     <UL>
1438     <LI>Extended both Lund and QGS string fragmentation to allow the
1439         possibility to have charm and/or bottom quarks and diquarks in the
1440         strings. As a result of the hadronization of strings having heavy
1441         (c, b) quarks, charmed and bottom hadrons can be produced: only heavy
1442         mesons and baryons that can fly macroscopic distances are considered
1443         as candidate final states.
1444         Note: this extension has required also to extend the list of diquarks
1445         available in Geant4, to add those made with charm and bottom quarks.</LI>
1446     <LI>G4FTFParameters: extended FTF configuration interface to include
1447         parameters for pion projectile.
1448         Diffraction minimal mass is now correctly set in GeV (instead of MeV),
1449         for hadron projectiles different from pions, kaons, nucleons and
1450         anti-nucleons, in the method <TT>InitForInteraction()</TT>.
1451         In <TT>GetMinMass()</TT>, fixed a bug in the computation of the quark
1452         type (which affects the estimated minimal string mass produced in
1453         diffraction); added also protections to make sure that the quark type
1454         is always one of the five considered (u, d, s, c, b).
1455         Absolute (rather than signed) charge for antibaryon is now correctly
1456         taken in the method <TT>InitForInteraction()</TT>.
1457         Fixed creation/destruction/use of Glauber-Gribov cross-section and
1458         fixed a memory leak. Added protection for possible division by zero
1459         due to zero elastic cross-section.
1460         Replaced Chips hadron-nucleon (total and elastic) cross-sections with
1461         the Barashenkov-Glauber-Gribov (BGG) cross-sections for ordinary (i.e.
1462         non-heavy) hadrons (for heavy hadrons, only BGG cross-section are
1463         available and used).
1464         Set parameters of a string kink in the constructor (instead of setting
1465         it at each interaction, causing memory leaks). Notice that string kinks
1466         are currently switched off, so this fix does not affect any physics
1467         result.</LI>
1468     <LI>G4FTFModel: minor improvement in the annihilation at rest of light
1469         anti-ions, to avoid the possibility of unphysical production of
1470         target and projectile fragments at rest. 
1471         Improvement of the algorithm for string creation.</LI>
1472     <LI>Improvements to FTF model for nucleus-nucleus interactions (with
1473         negligible effects for hadron-nucleus).</LI>
1474     <LI>G4DiffractiveExcitation: extended range of excited hadron masses,
1475         starting from ground-state values (before, these were starting 
1476         from current hadron masses).</LI>
1477     <LI>G4ElasticHNScattering: improvement and simplification of the algorithm
1478         of elastic scattering (before the masses of resonances were sampled,
1479         now this is no longer needed). Added a few protections to avoid
1480         rare cases of floating point exceptions.</LI>
1481     <LI>Correction in the Lund string fragmentation regarding the search for
1482         final-state in the last string decay. Some code cleanup.</LI>
1483     <LI>Switch off the probability of charm and bottom hadron production in
1484         both Lund and QGS string fragmentations (temporary protection, to be
1485         removed after release 10.6).</LI>
1486     <LI>Implemented fragmentation functions of heavy (charm and bottom) quarks
1487         and diquarks for the QGS string fragmentation, based on a review of
1488         the available theoretical papers.</LI>
1489     <LI>G4LundStringFragmentation, G4QGSMFragmentation: in <TT>SplitEandP()</TT>,
1490         added a check that the string can be converted to an existing hadron
1491         (else a null momentum is returned).</LI>
1492     <LI>The same set of mixing meson parameters (for both scalar and vector
1493         mesons), as defined in the base class G4VLongitudinalStringDecay, are
1494         now used on both FTF and QGS.</LI>
1495     <LI>G4VLongitudinalStringDecay: added forgotten initialization of c-cbar
1496         and b-bbar pair production for kinks or gluons.</LI>
1497     <LI>G4ExcitedStringDecay: added protection in the sampling of resonance
1498         masses against values below threshold.</LI>
1499     <LI>G4VPartonStringModel: re-sample the string formation in the case that
1500         the (either target or projectile) nuclear residual is an unphysical
1501         combination of nucleons (i.e. more than three protons with no neutron,
1502         or more than one neutron with no proton).</LI>
1503     <LI>G4Reggeons: added extension for charmed and bottom hadrons following
1504         the ideas introduced to deal with Glauber-Gribov heavy hadron - nucleon
1505         cross-sections.</LI>
1506     <LI>Deleted unused classes G4VAnnihilationCrossSection, G4QGSMParameters,
1507         G4AnnihilationCrossSection, G4GammaAnnCrossSection, G4ASCCrossSection,
1508         G4DiffractiveHHScatterer, G4VKinkyStringDecay, G4EventGenerator,
1509         G4InteractionCode and G4VertexCode.</LI>
1510     <LI>Fixed Coverity defects.</LI>
1511     </UL></LI>
1512 <LI><B>Pre-equilibrium</B>
1513     <UL>
1514     <LI>Added new model based on pre-compound de-excitation
1515         G4LowEGammaNuclearModel.</LI>
1516     <LI>G4PreCompoundEmission, G4PreCompoundFragment, G4VPreCompoundFragment:
1517         setup minimum number of points for probability integration to 4;
1518         minor code clean-up.</LI>
1519     <LI>G4PreCompoundModel: added check on excitation energy per nucleon
1520         for the initial fragment (<TT>30 MeV</TT>) and send highly excited
1521         fragment to the de-excitation module. Code clean-up.</LI>
1522     </UL></LI>
1523 <LI><B>Radioactive Decay</B>
1524     <UL>
1525     <LI>Added spontaneous fission channel: added new class G4SFDecay to handle
1526         neutron and gamma generation using LLNL model. Read spontaneous fission
1527         data from database, insert it into decay tables and instantiate
1528         G4SFDecay.</LI>
1529     <LI>Fixed incorrect branching ratio sum for biased mode, to account for the
1530         addition of N shell EC capture and spontaneous fission.</LI>
1531     <LI>G4RadioactiveDecayBase: added StreamInfo() method; updated to new
1532         N shell EC; enable printout of parameters with G4VERBOSE in
1533         <TT>BuildPhysicsTable()</TT>.</LI>
1534     <LI>G4RadioactivationMessenger: removed obsolete "fast beta" option,
1535         internal conversion option (not part of biasing) and atomic relaxation
1536         option (not part of biasing). Added <TT>analogueMC</TT> option which was
1537         forgotten when class was developed.</LI>
1538     <LI>G4RadioactiveDecayBaseMessenger: removed obsolete <TT>fast beta</TT>
1539         option.</LI>
1540     <LI>Replaced G4ExceptionDescription in loop with simple string at
1541         exception time inG4RadioactiveDecay, G4RadioactiveDecayBase and
1542         G4Radioactivation.</LI>
1543     <LI>In <TT>G4RadioactiveDecay::CalculateChainsFromParent()</TT> and
1544         <TT>G4Radioactivation::CalculateChainsFromParent()</TT>, fixed memory
1545         leak reported by Coverity.</LI>
1546     <LI>G4RadioactiveDecay, G4RadioactiveDecayBase: make sure decay table maps
1547         are cleanly deleted at the end of program. Added passing of type of
1548         sub-models to secondary particles generated.</LI>
1549     <LI>G4RadioactiveDecayBase: in <TT>LoadDecayTable()</TT> added correction
1550         for code which was accidentally deleted when class was created from
1551         G4RadioactiveDecay. Now giving correct decay branching ratios.
1552         Split off unbiased decay part of DecayIt() and make it protected method
1553         called <TT>DecayAnalog()</TT>. Move <TT>dkmap</TT> to protected.</LI>
1554     <LI>G4Radioactivation: corrected bug in which <TT>AtRestDoIt()</TT> and
1555         PostStepDoIt() both incorrectly were calling base class method
1556         <TT>DecayIt()</TT>.
1557         Removed control of verbosity as already in the base class.
1558         Removed G4cerr printouts from G4Radioactivation and
1559         G4RadioactiveDecayBase; replaced with G4cout.</LI>
1560     <LI>Added radioactive decay mode with emission of Triton, in
1561         G4RadioctiveDecay, G4RadioctiveDecayBase, and G4Radioactivation.</LI>
1562     </UL></LI>
1563 </UL>
1564 
1565 <A NAME="interc-notes">
1566 <H3><I>Intercoms</I></H3></A>
1567 <UL>
1568 <LI>The following UI commands now return proper return code when they are
1569     not successful:<BR>
1570     <TT>/control/execute, loop, foreach, shell, getEnv</TT>.<BR>
1571     Addressing problem report
1572     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2159">#2159</A>.</LI>
1573 <LI>Eliminated global-scope enum in G4UItokenNum.</LI>
1574 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
1575 </UL>
1576 
1577 <A NAME="interf-notes">
1578 <H3><I>Interfaces</I></H3></A>
1579 <UL>
1580 <LI>Fixed square backets around optional parameters. Addressing problem report
1581     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2132">#2132</A>.</LI>
1582 <LI>Declared Win32 a GUI, i.e., it's clickable and can have buttons.</LI>
1583 <LI>Fixed deprecation compilation warning on Visual Studio 2019 in G4UIWin32.</LI>
1584 <LI>Fixed compilation warnings for use of deprecated features reported when
1585     using Qt versions greater than 5.13.</LI>
1586 <LI>Only use imported targets for X11, Xm and Wt.</LI>
1587 <LI>Removed inclusion of QT_USE_FILE from CMake scripts. All usage is now
1588     through the qtX_ macros and imported targets.</LI>
1589 <LI>Added TiMemory support; G4UIExective will grab <TT>argc, argv</TT>
1590     and customize the output directory for TiMemory.</LI>
1591 </UL>
1592 
1593 <A NAME="materials-notes">
1594 <H3><I>Materials</I></H3></A>
1595 <UL>
1596 <LI>G4DensityEffectCalculator: new class, proposing alternative computation
1597     of the density effect. Added possibility to enable on-the-fly computation of
1598     the density effect correction using "exact" formulas (added
1599     <TT>ComputeDensityEffectOnFly()</TT> method); as default the old approach
1600     is used. Added to G4IonisParamMat logic for selection of density effect
1601     parameterisation; if &gt; 70% of mass of a compound corresponds to a
1602     particular element, then density effect parameterisation for this element
1603     is used with mass correction. Addressing problem report
1604     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2121">#2121</A>.</LI>
1605 <LI>G4Material: added free electron density; use G4NistManager to instantiate
1606     element in constructor with effective Z and A. Reordered class members.</LI>
1607 <LI>G4SandiaTable, G4IonisParamMat: use const material pointer.</LI>
1608 <LI>G4AtomicShells, G4AtomicShells_XDB_EADL: added new method 
1609     GetNumberOfFreeElectrons().</LI>
1610 <LI>G4NistManager: fixed potential thread safety issue.</LI>
1611 <LI>G4IonisParamMat: set mass limit of a single element to 90%.</LI>
1612 <LI>G4IonStoppingData: fixed typo in ICRU90 material names.</LI>
1613 <LI>G4UCNMicroRoughnessHelper: corrected out-of-date URL for thesis and
1614     paper reference.</LI>
1615 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
1616 </UL>
1617 
1618 <A NAME="parameterisations-notes">
1619 <H3><I>Parameterisations</I></H3></A>
1620 <UL>
1621 <LI>GFLASH:
1622     <UL>
1623     <LI>Added possibility to use sensitive detector from parallel world.</LI>
1624     </UL></LI>
1625 </UL>
1626 
1627 <A NAME="part-notes">
1628 <H3><I>Particles</I></H3></A>
1629 <UL>
1630 <LI>G4DynamicParticle: added functionality to provide log-kinetic energy
1631     value, computed only on demand if its stored value is not up-to-date
1632     with the kinetic energy.
1633     Changed <TT>SetMass()</TT> method, now inlined and allowing setting mass of a
1634     particle to PDG value, which is needed in order to recover secondary
1635     hadrons to the mass shell.
1636     Code cleanup: moved data members to be private; aligned class members
1637     3-vectors, doubles, integer; added method <TT>SetPolarisation()</TT>;
1638     removed unused forward declarations and headers; keep formatting
1639     of the class in one style, removed extra empty lines.</LI>
1640 <LI>G4ShortLivedConstructor: extended method <TT>ConstructQuarks()</TT> to
1641     include diquarks made of charm and/or bottom quarks. The new, heavy diquarks
1642     and anti-diquarks have been defined with basic, rough properties (just
1643     those currently needed by the hadronic string models): future refinements
1644     are expected.</LI>
1645 <LI>G4NucleiProperties: added a simplified parameterisation variant with not too
1646     high mass values, to allow decaying fragments produced by some hadronic models
1647     and consisting of only neutrons or protons; also light ion masses computation
1648     is more thread safe after change of the order of mass computation.</LI>
1649 </UL>
1650 
1651 <A NAME="pers-notes">
1652 <H3><I>Persistency</I></H3></A>
1653 <UL>
1654 <LI>ASCII:
1655     <UL>
1656     <LI>Fixed printout syntax in <TT>G4tgrUtils::GetDouble()</TT>.</LI>
1657     </UL></LI>
1658 <LI>GDML:
1659     <UL>
1660     <LI>Added support for writing out assemblies envelopes.</LI>
1661     <LI>Improved reading of optical properties reader, by allowing reuse of
1662         the same G4MaterialPropertyVector object for identical properties.</LI>
1663     <LI>G4GDMLMessenger: fix to avoid UI commands from being broadcasted to
1664         worker threads.</LI>
1665     <LI>G4GDMLRead: fix to avoid double-definition of system units.</LI>
1666     </UL></LI>
1667 </UL>
1668 
1669 <A NAME="lst-notes">
1670 <H3><I>Physics lists</I></H3></A>
1671 <UL>
1672 <LI><B>Builders</B>:
1673     <UL>
1674     <LI>Replaced explicit values for the energy transition region with values
1675         from G4HadronicParameters, for nearly all builders.
1676         Note: kept unchanged the transition region between FTFP and BERT only
1677         in four cases: G4HadronPhysicsFTFP_BERT_ATL, G4HadronPhysicsINCLXX,
1678         G4HadronPhysicsNuBeam and "ShieldingM".</LI>
1679     <LI>Modified G4NeutronCrossSectionXS as consequence of code cleanup in
1680         lists and removal of G4Dataquestionaire.</LI>
1681     <LI>G4HyperonFTFPBuilder: replaced Chips inelastic cross-sections for
1682         hyperons and anti-hyperons with Glauber-Gribov ones; in this way,
1683         elastic and inelastic cross-sections follow consistently the same
1684         approach.</LI>
1685     <LI>G4BertiniKaonBuilder, G4BertiniPiKBuilder: replaced Chips inelastic
1686         cross-sections with Glauber-Gribov ones as default kaon cross-sections.</LI>
1687     <LI>G4FTFBinaryKaonBuilder, G4QGSBinaryKaonBuilder, G4QGSBinaryPiKBuilder,
1688         G4QGSPPiKBuilder, G4QGSPKaonBuilder: removed kaon cross-sections,
1689         already set by the Bertini's builder, which is always needed.</LI>
1690     </UL></LI>
1691 <LI><B>Constructors</B>:
1692     <UL>
1693     <LI><U>decay</U>
1694         <UL>
1695         <LI>G4RadioactiveDecayPhysics: replaced G4RadioactiveDecay with
1696             G4RadioactiveDecayBase. This removes the biasing functionality which
1697             is generally not used in the physics lists.</LI>
1698         </UL></LI>
1699     <LI><U>electromagnetic</U>:
1700         <UL>
1701         <LI>Added handling of UI thermalization model control in
1702             G4EmDNAPhysics_option1,2,3,4,5,6,7,8.</LI>
1703         <LI>G4EmDNAChemistry constructors: updated to follow emdna changes.</LI>
1704         <LI>Added sub-excitation processes in G4EmDNAPhysics_option8.</LI>
1705         <LI>G4EmLivermorePhysics, G4EmPenelopePhysics,
1706             G4EmStandardPhysics_option4, G4EmStandardPhysics_option3: define
1707             upper energy limit for nuclear stopping via EM parameters.
1708             In all DNA constructors, added <TT>ActivateDNA()</TT> flag to EM
1709             parameters.</LI>
1710         <LI>G4EmLivermorePhysics, G4EmLowEPPhysics, G4EmStandardPhysics_option4:
1711             use <TT>SetEmModel()</TT> instead of <TT>AddEmModel()</TT> for
1712             gamma conversion.
1713             Updated settings of the gamma conversion process to provide the
1714             original model combinations when the low energy G4BetheHeitlerModel
1715             model was replaced by the G4BetheHeitler5DModel.</LI>
1716         <LI>G4GammaGeneralProcess: fixed "Base Material" use case.
1717             Use the new, optimised log-vector access method.</LI>
1718         <LI>G4EmStandardPhysics_option2, G4EmStandardPhysics_option3:
1719             implemented "General Process" option for gamma.</LI>
1720         <LI>G4EmStandardPhysics_option4: use 5D model for gamma conversion.</LI>
1721         <LI>G4EmStandardPhysicsSS: in the case if Mott correction flag is TRUE,
1722             apply G4eSingleCoulombScatteringModel both for e+ and e-.</LI>
1723         <LI>Added G4EmDNAChemistry_option2 constructor. Added new ELSEPA
1724             elastic model for Geant4-DNA in G4EmDNAPhysics_option2.</LI>
1725         <LI>G4OpticalPhysics: set boundary process to last.
1726             Addressing problem report
1727             <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2113">#2113</A>.</LI>
1728         </UL></LI>
1729     <LI><U>gamma_lepto_nuclear</U>:
1730         <UL>
1731         <LI>G4EmExtraPhysics: changed transition region from the cascade to
1732             string model <TT>3 - 6 GeV</TT>, according to values in
1733             G4HadronicParameters class (before the transition was
1734             <TT>3 - 3.5 GeV</TT>); added muon-neutrino nucleus interactions;
1735             simplified and clean-up model creation; reduced memory leak at
1736             destruction; removed extra static members and do not use extra
1737             builder classes; use <TT>std::getenv()</TT>.</LI>
1738         <LI>G4BertiniElectroNuclearBuilder: use <TT>std::getenv()</TT> for
1739             thread safety.</LI>
1740         </UL></LI>
1741     <LI><U>hadron_elastic</U>:
1742         <UL>
1743         <LI>G4HadronElasticPhysics: use HE elastic model for the full energy
1744             range; use Glauber-Gribov cross-section for hyperons.</LI>
1745         <LI>G4HadronHElasticPhysics: use Glauber-Gribov elastic cross-section
1746             for anti-hyperons (instead of Chips).</LI>
1747         <LI>G4HadronDElasticPhysics: use Glauber-Gribov cross-section for 
1748             hyperons, d, t, He3, and He4.</LI>
1749         <LI>G4HadronElasticPhysicsXS, G4IonElasticPhysics: removed commented
1750             code.</LI>
1751         </UL></LI>
1752     <LI><U>hadron_inelastic</U>:
1753         <UL>
1754         <LI>Changed the energy transition region between hadronic string and
1755             intranuclear cascade models to <TT>3 - 6 GeV</TT> (it was
1756             <TT>3 - 12 GeV</TT> for pions, kaons and nucleons; it was
1757             <TT>2 - 6 GeV</TT> for hyperons; left unchanged for anti-baryons
1758             where FTFP is used for all energies), replacing explicit values
1759             with those from G4HadronicParameters, in nearly all constructors.
1760             Note: kept unchanged the transition region between FTFP and BERT
1761             only in four cases: G4HadronPhysicsFTFP_BERT_ATL,
1762             G4HadronPhysicsINCLXX, G4HadronPhysicsNuBeam and "ShieldingM".)</LI>
1763         <LI>G4HadronInelasticQBBC: use XS proton inelastic.</LI>
1764         <LI>G4HadronPhysicsFTFP_BERT_TRV: removed special treatment of hadronic
1765             inelastic cross-sections of hyperons and anti-hyperons; now it is
1766             the default in G4HyperonFTFPBuilder.</LI>
1767         <LI>G4HadronInelasticFTFQGSP_BERT, G4HadronInelasticQBBC: use
1768             Glauber-Gribov inelastic cross-sections instead of Chips ones,
1769             for hyperons and anti-hyperons.</LI>
1770         <LI>G4HadronPhysicsFTF_BIC, G4HadronPhysicsFTFP_BERT_HP,
1771             G4HadronPhysicsFTFP_BERT_TRV, G4HadronPhysicsFTFQGSP_BERT,
1772             G4HadronPhysicsQGS_BIC, G4HadronPhysicsQGSP_BERT,
1773             G4HadronPhysicsQGSP_BERT_HP, G4HadronPhysicsQGSP_BIC, 
1774             G4HadronPhysicsQGSP_BIC_HP, G4HadronPhysicsQGSP_BIC_AllHP,
1775             G4HadronInelasticQBBC, G4HadronPhysicsINCLXX: removed special
1776             treatment of hadronic inelastic cross-sections of kaons (now
1777             default).</LI>
1778         </UL></LI>
1779     <LI><U>ions</U>:
1780         <UL>
1781         <LI>G4IonPhysics, G4IonPhysicsPHP, G4IonQMDPhysics: 
1782             changed the transition energy region between FTFP and BIC to
1783             <TT>3 - 6 GeV</TT> (it was <TT>2 - 4 GeV</TT>), replacing explicit
1784             values with those from G4HadronicParameters.</LI>
1785         </UL></LI>
1786     <LI><U>limiters</U>:
1787         <UL>
1788         <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
1789         </UL></LI>
1790     <LI><U>stopping</U>:
1791         <UL>
1792         <LI>Use FTFP also for the annihilation at rest of neutral anti-hadrons:
1793             anti-neutron, anti-lambda, anti-sigma0 and anti-xi0. This extension is
1794             is for completeness and practical convenience, although physically
1795             neutral hadrons should never be completely at rest.</LI>
1796         <LI>G4StoppingPhysicsFritiofWithBinaryCascade: new class to handle the
1797             nuclear capture at rest of negatively charged particles.
1798             It is similar to G4StoppingPhysics, with the only difference that
1799             Fritiof coupled with Binary Cascade is used instead of FTFP, for
1800             anti-proton and anti-neutron annihilation at rest.</LI>
1801         </UL></LI>
1802     </UL></LI>
1803 <LI><B>Lists</B>:
1804     <UL>
1805     <LI>Replaced G4RadioactiveDecay with G4RadioactiveDecayBase in LBE list.</LI>
1806     <LI>FTF_BIC, QGS_BIC: use the newly introduced stopping physics constructor
1807         G4StoppingPhysicsFritiofWithBinaryCascade (instead of the default
1808         G4StoppingPhysics).</LI>
1809     <LI>Shielding: replacing explicit values for the energy transition region
1810         with values from G4HadronicParameters.</LI>
1811     <LI>Code clean-up: removed template mechanism (except for
1812         G4GenericPhysicsList, G4PhysListStamper and INCLXXPhysicsListHelper);
1813         deleted copy-constructor and assignment operator; for empty destructors,
1814         use <TT>=default</TT>; moved include/x.icc to src/x.cc for lists without
1815         template; removed <TT>SetCuts()</TT> implementation where not
1816         specialised; removed version number from lists; removed
1817         G4DataQuestionaire.</LI>
1818     <LI>FTFP_BERT_HP, QGSP_BERT_HP, INCLXXPhysicsListHelper: consistently added
1819         RadioactiveDecay to all physics lists which use NeutronHP; the rationale
1820         is that precision is more valuable than speed for these physics lists.
1821         Note: the other physics lists which use NeutronHP - such as Shielding,
1822         QGSP_BIC_HP, QGSP_BIC_AllHP, and LBE - had already RadioactiveDecay
1823         activated.</LI>
1824     </UL></LI>
1825 <LI><B>Util</B>:
1826     <UL>
1827     <LI>Removed G4DataQuestionaire class.</LI>
1828     </UL></LI>
1829 </UL>
1830 
1831 <A NAME="run-notes">
1832 <H3><I>Run</I></H3></A>
1833 <UL>
1834 <LI>Introduced use of G4ScoringRealWorld to allow to define command-based
1835     scorers to a logical volume in the mass world.</LI>
1836 <LI>G4RunManager, G4RunManagerKernel: addressing cases in which the GDML parser
1837     directly replaces the world volume without changing the user detector
1838     construction.</LI>
1839 <LI>Properly initialise luxury level for Ranlux* engines in MT mode.
1840     Addressing problem report
1841     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2184">#2184</A>.</LI>
1842 <LI>G4RunMessenger: properly enable <TT>/run/storeRndmStatToEvent 3</TT>
1843     UI command. Addressing problem report
1844     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2198">#2198</A>.</LI>
1845 <LI>Made G4PhysicsListHelper a thread local singleton. Fixed typo.</LI>
1846 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
1847 <LI>Updated scripts for TiMemory. Removed <TT>InitializeTiMemory()</TT> from
1848     G4RunManager.</LI>
1849 </UL>
1850 
1851 <A NAME="track-notes">
1852 <H3><I>Track &amp; Tracking</I></H3></A>
1853 <UL>
1854 <LI>G4Track: added forward declaration for G4VProcess.</LI>
1855 <LI>Fixed implicit type conversions from size_t to G4int.</LI>
1856 </UL>
1857 
1858 <A NAME="vis-notes">
1859 <H3><I>Visualization</I></H3></A>
1860 <LI>Fixed compilation warnings on gcc-9.1.0.</LI>
1861 <UL>
1862 <LI><B>Management</B>
1863     <UL>
1864     <LI>Introducing cloud drawing style. New parameter candidate 'cloud' in
1865         <TT>/vis/viewer/set/style</TT>.
1866         Cloud drawing uses <TT>solid-&gt;GetPointOnSurface()</TT>,
1867         i.e., uses kernel algorithms and by-passes polyhedral representations.
1868         The solid is represented by a polymarker of dots. The default number of
1869         points is 1000. This can be changed with the command
1870         <TT>/vis/viewer/set/numberOfCloudPoints</TT>; the minimum number is 100.
1871         Note that OpenGL has a fast algorithm for polymarker.
1872         This allows us to use cloud style both as a choice or as fallback when
1873         the polyhedral representation fails, for example, when BooleanProcessor
1874         fails.</LI>
1875     <LI>New and improved commands:<BR>
1876         <TT>/vis/viewer/centreOn</TT>: improved - it does not zoom.<BR>
1877         <TT>/vis/viewer/centreAndZoomInOn</TT>: new.<BR>
1878         <TT>/vis/touchable/centreOn</TT>: improved - it does not zoom.<BR>
1879         <TT>/vis/touchable/centreAndZoomInOn</TT>: new.<BR>
1880         <TT>/vis/touchable/extentForField</TT> and <TT>volumeForField</TT>: new.<BR>
1881         <TT>/vis/scene/showExtents</TT>: new.<BR>
1882         <TT>/vis/set/volumeForField</TT>: new.<BR>
1883         <TT>/vis/touchable/showExtent</TT>: new.</LI>
1884     <LI>Reworked <TT>/vis/scene/add/eventID</TT> command: just writes a summary
1885         at end of run; except when reviewing, kept events one by one, in which
1886         case it writes run and event no for each event.</LI>
1887     <LI>Ensure <TT>/vis/drawTree</TT> works even if vis is disabled.</LI>
1888     <LI>Added copy number parameter to <TT>/vis/touchable/findPath</TT>.</LI>
1889     <LI>Implemented <TT>/vis/set/extentForField</TT> command: the default is a
1890         null extent, which is to be interpreted by the field model as the whole
1891         extent of the current scene. Otherwise, with this command, one can
1892         limit the extent over which the field is drawn. This would help, for
1893         example, if drawing over the whole scene produced so many arrows or
1894         lines that it clutters the scene. Changed the default spacing:
1895         the parameter <TT>nDataPointsPerHalfExtent</TT> is changed from 10 to 3,
1896         so as not to clutter the scene. See guidance of
1897         <TT>/vis/scene/add/*Field</TT> commands for further explanation.</LI>
1898     <LI>Provide ability to draw electric fields, and eventually any other
1899         field. Added <TT>/vis/scene/add/electricField</TT> by analogy to existing
1900         <TT>.../magneticField</TT>.</LI>
1901     <LI>Refactor MagneticFieldModel class with new base to handle all kinds of
1902         vector fields; existing, and new ElectricFieldModel only have to
1903         implement a simple function to get the field vector at a location.</LI>
1904     <LI>Include parameterised volumes in overlap checking and visualisation
1905         in G4LogicalVolumeModel (in addition to ordinary placements).</LI>
1906     <LI>Add G4TessellatedSolid to list of solids that may be specially treated.</LI>
1907     <LI>Introduced <TT>/vis/viewer/centreOn</TT> and
1908         <TT>/vis/touchable/centreOn</TT> UI commands.
1909         This allows one to centre the view (zoom in) on a volume.
1910         Reset with <TT>/vis/viewer/reset</TT>.</LI>
1911     <LI>Rationalised view interpolation; encapsulate algorithm into base class
1912         G4VVisCommand, so that commands <TT>/vis/viewer/interpolate</TT>,
1913         <TT>/vis/viewer/centreOn</TT> and <TT>/vis/touchable/centerOn</TT>
1914         now use this.
1915         Might consider use by all view changing commands.</LI>
1916     <LI>Clear if scene contains no run duration models (e.g., after geometry
1917         has changed).</LI>
1918     <LI>Augment G4VUserVisAction.</LI>
1919     <LI>G4VSceneHandler: added namespace scope to MeshScoreMap.</LI>
1920     <LI>Fixed bug in <TT>/vis/viewer/set/sectionPlane</TT>.</LI>
1921     <LI>Corrected few typos in printout/comments.</LI>
1922     <LI>Improved guidance for <TT>/vis/scene/add/volume</TT>.</LI>
1923     <LI>Minor improvements to visualization manager.</LI>
1924     <LI>Fixed Boolean operators to return G4bool.</LI>
1925     <LI>Several small improvements and fixes.</LI>
1926     <LI>Replaced use of <TT>std::experimental::filesystem</TT> with
1927         <TT>std::filesystem</TT> for
1928         WIN32 target in G4VisCommandsViewer. Forcing C++17 default builds on
1929         Windows and allow for porting on Visual Studio 2019.</LI>
1930     <LI>Fixed Coverity defects.</LI>
1931     </UL></LI>
1932 <LI><B>Modeling:</B>
1933     <UL>
1934     <LI>Introduced G4BoundingExtentScene. This allows one to accumulate extents
1935         using the newly introduced <TT>G4VisExtent::Transform()</TT> and is a
1936         better way of determining the overall extent of a scene (or of any set
1937         of extents) than by the bounding sphere approach.</LI>
1938     <LI>G4VFieldModel, G4ElectricFieldModel, G4MagneticFieldModel: new
1939         abstraction for field models.</LI>
1940     <LI>Arrows and field models: introduced further protection.</LI>
1941     <LI>G4VModel: introduced <TT>GetTransformedExtent()</TT> method.</LI>
1942     <LI>G4PhysicalVolumeModel: use G4BoundingExtentScene instead of
1943         G4BoundingSphereScene. Fixed bug whereby the local extent was
1944         incorrectly calculated.</LI>
1945     <LI>G4CallbackModel: include modeling parameters in passed arguments.</LI>
1946     <LI>Fixed bug in <TT>/vis/viewer/set/sectionPlane</TT>.</LI>
1947     <LI>Fixed <TT>setLineVisible()</TT> in <TT>/vis/modeling</TT>.</LI>
1948     <LI>Added volume count (but commented out printing).</LI>
1949     <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
1950     </UL></LI>
1951 <LI><B>OpenGL</B>
1952     <UL>
1953     <LI>Improved X window opening.</LI>
1954     <LI>Removed default font size.</LI>
1955     <LI>Force double buffer context for OGLIX.</LI>
1956     <LI>Force kernel visit on change of number of cloud points.</LI>
1957     <LI>Avoid re-using display lists for markers. They may have their own
1958         position relative to the overall object transformation.</LI>
1959     <LI>Extended glFlush scaling to all circumstances.</LI>
1960     <LI>Refine DisplayListLimit command guidance and output.</LI>
1961     <LI>Rationalise headers inclusion in G4OpenGLQtViewer.</LI>
1962     <LI>Fixed compilation warnings for use of deprecated features reported when
1963         using Qt versions greater than 5.13.</LI>
1964     <LI>Only link to imported targets for Motif and X11
1965         Removed inclusion of QT_USE_FILE from CMake scripts.
1966         All usage is now through the qtX_ macros and imported targets.</LI>
1967     </UL></LI>
1968 <LI><B>OpenInventor</B>
1969     <UL>
1970     <LI>Test number of cloud points for kernel visit.</LI>
1971     <LI>Added missing protection on G4VIS_BUILD_OIX_DRIVER.</LI>
1972     <LI>Fixed compilation warning from gcc-9.1 in SoCounterAction for setting
1973         of name, apparently not allowed in OpenInventor.</LI>
1974     <LI>Corrected few typos in printout/comments.</LI>
1975     <LI>Removed inclusion of QT_USE_FILE from CMake scripts.
1976         All usage is now through the qtX_ macros and imported targets.</LI>
1977     </UL></LI>
1978 <LI><B>Raytracer</B>
1979     <UL>
1980     <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
1981     <LI>Link to X11 imported targets when building X11 driver.</LI>
1982     </UL></LI>
1983 <LI><B>Tree</B>
1984     <UL>
1985     <LI>Fixed typo in output message.</LI>
1986     </UL></LI>
1987 <LI><B>XXX</B>
1988     <UL>
1989     <LI>Force kernel visit on change of number of cloud points.</LI>
1990     </UL></LI>
1991 <LI><B>Externals</B>
1992     <UL>
1993     <LI>Updated gl2ps sub-module to version 1.4.0.</LI>
1994     <LI>Only link to imported targets for OpenGL; explicitly link to global
1995         modules to use/propagate usage requirements.</LI>
1996     </UL></LI>
1997 </UL>
1998 
1999 <A NAME="env-notes">
2000 <H3><I>Environments</I></H3></A>
2001 <UL>
2002 <LI>G4Py:
2003     <UL>
2004     <LI>Updated interfaces for release 10.6.</LI>
2005     <LI>g4pym boost_python library name can be specified in cmake.
2006         Addressing problem report
2007         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2059">#2059</A>.</LI>
2008     </UL></LI>
2009 </UL>
2010 
2011 <A NAME="data-notes">
2012 <H3><I>Data sets</I></H3></A>
2013 <UL>
2014 <LI>New low-energy data set version, <B>G4EMLOW-7.9</B>:
2015     <UL>
2016     <LI>Added ELSEPA elastic model for Geant4-DNA.</LI>
2017     </UL></LI>
2018 <LI>New data set version <B>G4PhotonEvaporation-5.5</B> for nuclear de-excitation
2019     data:
2020     <UL>
2021     <LI>Fixed z85.a217 file (217At).</LI>
2022     </UL></LI>
2023 <LI>New data set version for radioactive-decay processes,
2024     <B>G4RadioactiveDecay-5.4</B>:
2025     <UL>
2026     <LI>Updated z2.a8, z3.a8, and z4.a8 and add z4.a9 for 9Li and 8He decays.</LI> 
2027     <LI>Corrected capture data for I-1125.</LI>
2028     <LI>Updated Er-169(z68.a169) according to DDEP.</LI>
2029     <LI>Added firstForbidden flags to Tb-161 (z65.a161).</LI>
2030     <LI>Added M-shell and N-shell capture to Sc-44 (z21.a44).</LI>
2031     </UL></LI>
2032 <LI>New data files for evaluated cross-sections <B>G4PARTICLEXS-2.1</B>:
2033     <UL>
2034     <LI>Added data for neutrino.</LI>
2035     <LI>Updated cross-sections for low Z targets at low energy.</LI>
2036     <LI>Regenerated n, p, d, t, He3, He4, gamma data, providing smoother
2037         cross-section shape.</LI>
2038     </UL></LI>
2039 <LI>New data set version for high-precision neutrons, <B>G4NDL-4.6</B>:
2040     <UL>
2041     <LI>New neutron cross-sections and final states obtained from JEFF-3.3
2042         (previous were based mainly on ENDF/B-VII.1). Files not coming from
2043         JEFF-3.3 and corresponding to previous G4NDL version are: JENDL_HE,
2044         IsotopeProduction, ThermalScattering, Inelastic/Gammas, Fission/FF.
2045         Information concerning the conversion process of JEFF-3.3 to the
2046         G4NDL format can be found in: E.Mendoza and D.Cano-Ott, IAEA technical
2047         report INDC(NDS)-0758, Vienna, 2018.</LI>
2048     </UL></LI>
2049 </UL></LI>
2050 
2051 <A NAME="ex-notes">
2052 <H3><I>Examples</I></H3></A>
2053 <UL>
2054 <LI>Updated reference outputs, macros, READMEs and scripts.</LI>
2055 <LI>Fixes for Doxygen documentation and coding guidelines.</LI>
2056 <LI>Removed presence of G4VIS_USE and G4_UI_USE flags.</LI>
2057 <LI>Avoid "using namespace std" in headers.</LI>
2058 <LI><B><U>advanced</U></B>
2059     <UL>
2060     <LI><B>air_shower</B>
2061         <UL>
2062         <LI>Minor code cleanup.</LI>
2063         </UL></LI>
2064     <LI><B>brachytherapy</B>
2065         <UL>
2066         <LI>Added G4VScoringMesh:: scope identifier to BrachyUserScoreWriter.</LI>
2067         </UL></LI>
2068     <LI><B>composite_calorimeter</B>
2069         <UL>
2070         <LI>Fixed cases of type conversions from size_t to G4int.</LI>
2071         <LI>Some code cleanup.</LI>
2072         </UL></LI>
2073     <LI><B>gammaknife</B>
2074         <UL>
2075         <LI>Added G4VScoringMesh:: scope identifier to GammaKnifeController.</LI>
2076         </UL></LI>
2077     <LI><B>hadrontherapy</B>
2078         <UL>
2079         <LI>Make use of endl consistent with <TT>g4cout</TT> or <TT>std::cout</TT>.</LI>
2080         </UL></LI>
2081     <LI><B>human_phantom</B>
2082         <UL>
2083         <LI>Fix in geometry of the MIRD phantom.</LI>
2084         </UL></LI>
2085     <LI><B>nanobeam</B>
2086         <UL>
2087         <LI>Include G4Types.hh header in <TT>main()</TT>, before use of
2088             G4MULTITHREADED.</LI>
2089         </UL></LI>
2090     <LI><B>STCyclotron</B>
2091         <UL>
2092         <LI>New example modelling a solid target of a cyclotron to study the
2093             production of the radioisotope of interest for proton irradiation.</LI>
2094         </UL></LI>
2095     <LI><B>underground_physics</B>
2096         <UL>
2097         <LI>DMXPhysicsList: added Glauber-Gribov cross-section for all elastic 
2098             processes. Clean-up both EM, hadronic and radioactive decay.</LI>
2099         </UL></LI>
2100     </UL></LI>
2101 <LI><B><U>basic</U></B>
2102     <UL>
2103     <LI><B>B1</B>
2104         <UL>
2105         <LI>Use default MixMax random engine.</LI>
2106         </UL></LI>
2107     <LI><B>B2</B>
2108         <UL>
2109         <LI>Use default MixMax random engine.</LI>
2110         </UL></LI>
2111     <LI><B>B3</B>
2112         <UL>
2113         <LI>Added score ntuple writer.</LI>
2114         <LI>Use default MixMax random engine.</LI>
2115         </UL></LI>
2116     <LI><B>B4</B>
2117         <UL>
2118         <LI>Added score ntuple writer in B4d.</LI>
2119         <LI>Use default MixMax random engine.</LI>
2120         <LI>Updated B4d/run2.mac for modified score n-tuple writer UI commands.</LI>
2121         </UL></LI>
2122     <LI><B>B5</B>
2123         <UL>
2124         <LI>Use new factory method to create G4AnalysisManager.</LI>
2125         <LI>Removed B5Analysis header, no longer needed.</LI>
2126         <LI>Fixed cases of type conversions from size_t to G4int in
2127             B5HodoscopeSD.</LI>
2128         </UL></LI>
2129     </UL></LI>
2130 <LI><B><U>extended</U></B>
2131     <UL>
2132     <LI><B>analysis</B>
2133         <UL>
2134         <LI>Removed B3aScoreWriter, B4dScoreWriter examples. The score ntuple
2135             writer is now provided with Geant4 source and demonstrated in basic
2136             B3 abd B4d examples.</LI>
2137         </UL></LI>
2138     <LI><B>biasing</B>
2139         <UL>
2140         <LI><B>B03</B>
2141             <UL>
2142             <LI>B03PhysicsList: explicitly define hadronic cross-sections.
2143                 Use G4NeutronInelasticXS cross-section.</LI>
2144             </UL></LI>
2145         <LI><B>GB07</B>
2146             <UL>
2147             <LI>New example illustrating how to use the leading particle
2148                 biasing option.</LI>
2149             </UL></LI>
2150         <LI><B>ReverseMC01</B>
2151             <UL>
2152             <LI>Updated for clean-up in analysis typedefs: G4AnaHn types
2153                 replaced with G4Hn.</LI>
2154             <LI>Fixed cases of type conversions from size_t to G4int.</LI>
2155             </UL></LI>
2156         </UL></LI>
2157     <LI><B>electromagnetic</B>
2158         <UL>
2159         <LI><B>TestEm0</B>
2160             <UL>
2161             <LI>PhysicsList: define options, specific for this example after
2162                 new EM physics is selected; cleaned-up constructor; Opt0 is
2163                 the default; set BuildCSDARange to true.</LI>
2164             </UL></LI>
2165         <LI><B>TestEm1</B>
2166             <UL>
2167             <LI>Added G4NIELCalculator and corresponding histograms and
2168                 printouts; general clean-up of the code; use default random
2169                 number generator.</LI>
2170             <LI>PhysicsList: disabled GeneralProcess for EM physics.
2171                 Added <TT>BuildCSDARange()</TT> and set option3 as default.
2172                 Cleanup in initialisation.</LI>
2173             </UL></LI>
2174         <LI><B>TestEm5</B>
2175             <UL>
2176             <LI>StackinAction: fixed log histograms, which where filled in
2177                 a wrong way.</LI>
2178             <LI>PhysListEm19DStandard: use 3-gamma annihilation model.</LI>
2179             </UL></LI>
2180         <LI><B>TestEm7</B>
2181             <UL>
2182             <LI>Fixed compilation on Windows for unused exception object
2183                 in <TT>G4NativeScreenedCoulombCrossSection::LoadData()</TT>.</LI>
2184             </UL></LI>
2185         <LI><B>TestEm13, TestEm14</B>
2186             <UL>
2187             <LI>Updated PhysListEmStandard, Livermore and Penelope to return
2188                 back to register only post step part of the processes.</LI>
2189             </UL></LI>
2190         <LI><B>TestEm15</B>
2191             <UL>
2192             <LI>SteppingAction: do not fill hist #11,#12 when no recoil
2193                 returned.</LI>
2194             <LI>SteppingAction, PhysList5DStandard: added
2195                 G4GammaConversionToMuons process.</LI>
2196             </UL></LI>
2197         <LI><B>TestEm16</B>
2198             <UL>
2199             <LI>PhysicsList: use G4DecayPhysics and drop G4AutoDelete.</LI>
2200             <LI>Migrated to use default MixMax generator.</LI>
2201             </UL></LI>
2202         <LI><B>TestEm17</B>
2203             <UL>
2204             <LI>Updated for clean-up in analysis typedefs: G4AnaHn
2205                 types replaced with G4Hn.</LI>
2206             <LI>HistoManager: fixed histo title and index; fixed macro files.</LI>
2207             <LI>Code clean-up; switch to MixMax random generator.</LI>
2208             </UL></LI>
2209         </UL></LI>
2210     <LI><B>eventgenerator</B>
2211         <UL>
2212         <LI>Removed GunGPS example as obsolete.</LI>
2213         </UL></LI>
2214     <LI><B>exoticphysics</B>
2215         <UL>
2216         <LI><B>monopole</B>
2217             <UL>
2218             <LI>Use G4Threading::IsMultithreadedApplication() instead of
2219                 G4MULTITHREADED flag; this fixes compilation of code when used
2220                 in sequential application built against Geant4 libraries built
2221                 with MT.</LI>
2222             </UL></LI>
2223         <LI><B>ucn</B>
2224             <UL>
2225             <LI>Enabled use of Gravity in physics list.</LI>
2226             </UL></LI>
2227         </UL></LI>
2228     <LI><B>field</B>
2229         <UL>
2230         <LI><B>field04</B>
2231             <UL>
2232             <LI>Removed useless double-definition of copy-ctr for
2233                 F04StepMax and deleted.</LI>
2234            </UL></LI>
2235         <LI><B>field06</B>
2236            <UL>
2237            <LI>Adjusted to changes in G4Transportation (need to inform
2238                of use of gravity) and corrected creation of G4ChordFinder.</LI>
2239            </UL></LI>
2240         </UL></LI>
2241     <LI><B>hadronic</B>
2242         <UL>
2243         <LI><B>Hadr00</B>
2244             <UL>
2245             <LI>Cleaned-up macro files.</LI>
2246             </UL></LI>
2247         <LI><B>Hadr01</B>
2248             <UL>
2249             <LI>HistoManager: added linear histogram for pion energy at
2250                 production.</LI>
2251             <LI>DetectorConstruction: added "Battery" material and new macro
2252                 test_battery.in. Addressing problem report
2253                 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2175">#2175</A>.</LI>
2254             </UL></LI>
2255         <LI><B>Hadr02</B>
2256             <UL>
2257             <LI>G4CRMCModel: some improvements (e.g. considered the
2258                 energy-per-nucleon, instead of the whole projectile, in the
2259                 case of nucleus projectile) and better documentation (in the
2260                 form of comments in the class).</LI>
2261             <LI>HadronPhysicsCRMC_FTFP_BERT: use G4HadronicParameters for the
2262                 energy transition region between FTF and BERT models.</LI>
2263             </UL></LI>
2264         <LI><B>Hadr08</B>
2265             <UL>
2266             <LI>New example showing how to use the "generic biasing" feature
2267                 for setting different hadronic physics models according to
2268                 detector regions.</LI>
2269             </UL></LI>
2270         </UL></LI>
2271     <LI><B>medical/DICOM</B>
2272         <UL>
2273         <LI>Defaulted copy-ctr in DicomPhantomZSliceHeader, to fix deprecation
2274             compilation warnings on gcc-9.1.</LI>
2275         <LI>Correct DicomHandler singleton for use on Windows.</LI>
2276         <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
2277         <LI>Some minor code cleanup.</LI>
2278         </UL></LI>
2279     <LI><B>medical/DICOM2</B>
2280         <UL>
2281         <LI>Use updated DicomHandler singleton to fix crash on Windows.</LI>
2282         <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
2283         <LI>Include G4Types.hh header in main(), before use of
2284             G4MULTITHREADED.</LI>
2285         </UL></LI>
2286     <LI><B>medical/dna</B>
2287         <UL>
2288         <LI><B>chem2, chem3</B>:
2289             <UL>
2290             <LI>Clean-up of TimeStepAction.</LI>
2291             </UL></LI>
2292         <LI><B>chem4</B>:
2293             <UL>
2294             <LI>Added UI commands for one step thermalization model selection
2295                 in macro beam.in.</LI>
2296             <LI>Make Species alias of const G4MolecularConfiguration.</LI>
2297             <LI>Create the analysis manager via the new factory function.</LI>
2298             </UL></LI>
2299         <LI><B>chem5</B>:
2300             <UL>
2301             <LI>Make Species alias of const G4MolecularConfiguration.</LI>
2302             <LI>Removed unused inclusion of g4analysis_defs header from
2303                 ScoreSpecies.</LI>
2304             </UL></LI>
2305         <LI><B>dnadamage1</B>:
2306             <UL>
2307             <LI>New example showing a simple way to simulate dna direct and
2308                 indirect damages using Geant4-DNA physics and chemical processes
2309                 in a molecular DNA geometry.</LI>
2310             </UL></LI>
2311         <LI><B>icsd</B>:
2312             <UL>
2313             <LI>Reduced event statistics in icsd.mac input macro, in order to
2314                 reduce run-time in testing.</LI>
2315             </UL></LI>
2316         <LI><B>microdosimetry</B>:
2317             <UL>
2318             <LI>Updated plot.C.</LI>
2319             </UL></LI>
2320         <LI><B>microprox</B>:
2321             <UL>
2322             <LI>New example showing how to compute proximity functions in
2323                 liquid water using exclusively Geant4-DNA physics processes
2324                 and models.</LI>
2325             </UL></LI>
2326         <LI><B>microyz</B>:
2327             <UL>
2328             <LI>Added condensed history models including step size control.</LI>
2329             <LI>Added EM UI commands in microyz.in.</LI>
2330             <LI>Fixed Boolean operators to return G4bool.</LI>
2331             </UL></LI>
2332         </UL></LI>
2333     <LI><B>medical/electronScattering2</B>
2334         <UL>
2335         <LI>Fixed warning about attempting to add multiple times the same
2336             sensitive detector.</LI>
2337         <LI>Fixed compilation warning on Windows for unused out_of_range
2338             exception object in <TT>Run::Merge()</TT>.</LI>
2339         </UL></LI>
2340     <LI><B>medical/fanoCavity, fanoCavity2</B>
2341         <UL>
2342         <LI>DetectorConstruction: simplification of DefineMaterial().</LI>
2343         <LI>DetectorConstruction, DetectorMessenger: fixed usage of base
2344             materials and cleanup (should fix ~1% error for Opt4 EM physics).</LI>
2345         <LI>PhysListEmStandard_option4: set RangeFactor to 0.08 (as in the
2346             physics_list library). PhysListEmStandard_option3: set parameters as
2347             in the physics_list library.</LI>
2348         </UL></LI>
2349     <LI><B>optical/LXe</B>
2350         <UL>
2351         <LI>LXeDetectorConstruction: removed protection against rebuilding
2352             detector.</LI>
2353         <LI>LXeEventAction: commented out randomSaveEvent.</LI>
2354         <LI>Update PMT positions when changing number of PMTs.</LI>
2355         <LI>Set fewer particles in wls.mac and cerenkov.mac input macros.</LI>
2356         <LI>Use unique analysis filenames.</LI>
2357         </UL></LI>
2358     <LI><B>optical/OpNovice</B>
2359         <UL>
2360         <LI>Use G4OpticalPhysics and G4SteppingVerbose.</LI>
2361         <LI>Removed unused surface parameters.</LI>
2362         </UL></LI>
2363     <LI><B>optical/OpNovice2</B>
2364         <UL>
2365         <LI>Added surface roughness and polish commands.</LI>
2366         <LI>Recording scintillation photon creation time.</LI>
2367         <LI>Use unique analysis filenames.</LI>
2368         <LI>Updated macros.</LI>
2369         </UL></LI>
2370     <LI><B>optical/wls</B>
2371         <UL>
2372         <LI>Avoid storing random number seeds.</LI>
2373         <LI>Use G4OpticalPhysics and G4SteppingVerbose.</LI>
2374         </UL></LI>
2375     <LI><B>parallel</B>
2376         <UL>
2377         <LI><B>MPI</B>
2378            <UL>
2379            <LI>Fixed compilation error in G4MPIextraWorker.
2380                Addressing problem report
2381               <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2163">#2163</A>.</LI>
2382            <LI>Fixed exMPI03, exMPI04; compilation of G4MPIscorerMerger was
2383                broken after changes in scorers.</LI>
2384            <LI>Added new option <TT>rowMode</TT> for ntuple merging; changed the
2385                default merging mode to the new one (column-wise with preserved
2386                rows) and updated the analysis code.</LI>
2387            </UL></LI>
2388         <LI><B>ThreadsafeScorers</B>
2389            <UL>
2390            <LI>Fixed compilation warning on Windows for calling
2391                TIMEMORY_AUTO_TIMER with no arguments in
2392                <TT>TSPrimaryGeneratorAction::GeneratePrimaries()</TT>.</LI>
2393            </UL></LI>
2394         <LI><B>TopC</B>
2395            <UL>
2396            <LI>Added info/HowToTest.txt with a short summary of the build
2397                instructions.</LI>
2398            </UL></LI>
2399         </UL></LI>
2400     <LI><B>parameterisation</B>
2401         <UL>
2402         <LI><B>gflash</B>
2403            <UL>
2404            <LI>Extend GFlash examples set by moving existing 'gflash' example
2405                to gflash1.</LI>
2406            <LI>Added example gflash2 with envelope in parallel world.</LI>
2407            <LI>Added example gflash3 with SD in parallel world.</LI>
2408            <LI>Added example gflasha with histogramming of shower profiles.
2409                Allows comparing shower profiles from fast simulation with full
2410                simulation.</LI>
2411            </UL></LI>
2412         </UL></LI>
2413     <LI><B>persistency</B>
2414         <UL>
2415         <LI><B>gdml/G01</B>
2416            <UL>
2417            <LI>Added <TT>BeamOn(0)</TT> to initialize range to energy converters
2418                needed when exporting cuts per volume.</LI>
2419            <LI>Enabled overlaps checking in example.</LI>
2420            <LI>Corrected overlap in assembly.gdml sample.</LI>
2421            <LI>Corrected CMake script to install otherwise missing GDML
2422                sample file.</LI>
2423            </UL></LI>
2424         <LI><B>P01</B>
2425            <UL>
2426            <LI>Fixed definition of allocator in ExP01TrackerHit.</LI>
2427            </UL></LI>
2428         </UL></LI>
2429     <LI><B>radioactivedecay</B>
2430         <UL>
2431         <LI><B>rdecay01</B>
2432             <UL>
2433             <LI>PhysicsList: replaced G4RadioactiveDecay with refactored class
2434                 G4Radioactivation.</LI>
2435             <LI>TrackingAction: if 'fFullChain' set kinetic energy to zero.</LI>
2436             <LI>In <TT>timeWindow</TT> command, allow t1 = 0.</LI>
2437             <LI>Documented timeWindowBiased.mac input macro.</LI>
2438             </UL></LI>
2439         <LI><B>rdecay02</B>
2440             <UL>
2441             <LI>New class BiasedRDPhysics using new G4Radioactivation process
2442                 with all biasing available.</LI>
2443             <LI>In PhysicsList, replaced G4RadioactiveDecayPhysics with
2444                 BiasedRDPhysics, also removed HP option physics lists.</LI>
2445             <LI>In Run, replaced G4RadioactiveDecay with G4Radioactivation.</LI>
2446             </UL></LI>
2447         </UL></LI>
2448     <LI><B>runandevent</B>
2449         <UL>
2450         <LI><B>RE03</B>
2451            <UL>
2452            <LI>Added G4VScoringMesh:: scope identifier to RE03UserScoreWriter.</LI>
2453            </UL></LI>
2454         </UL></LI>
2455     </UL>
2456 </UL>
2457 
2458 <HR>
2459 
2460 </BODY>
2461 </HTML>