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.4 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.4 Release Notes</B>
0014 </FONT>
0015 
0016 <TABLE WIDTH="100%">
0017 <TR><TD ALIGN="Right">
0018 <FONT SIZE="-1" COLOR="#5C3317">
0019 <B><I>December 8<SUP>th</SUP>, 2017</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.shtml">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/userdocuments.shtml">Geant4
0040 User Documentation</A> for further information about using Geant4.
0041 </P>
0042 
0043 <H2><I>Contents</I></H2>
0044 <OL>
0045 <LI><A HREF="#1.">Supported and Tested Platforms</A></LI>
0046 <LI><A HREF="#2.">Supported CLHEP version</A></LI>
0047 <LI><A HREF="#3.">Items for migration of the user code</A></LI>
0048 <LI><A HREF="#4.">New Developments and Capabilities</A></LI>
0049 <LI><A HREF="#5.">Expected effects on physics and performance</A></LI>
0050 <LI><A HREF="#6.">Known Run-Time Problems and Limitations</A></LI>
0051 <LI><A HREF="#7.">Compilation Warnings</A></LI>
0052 <LI><A HREF="#8.">Geant4 Software License</A></LI>
0053 <LI><A HREF="#9.">Detailed list of changes and fixes</A></LI>
0054 </OL>
0055 
0056 <P> </P>
0057 <A NAME="1."></a>
0058 <HR>
0059 
0060 <!-- ============================================== -->
0061 
0062 <H2>1. Supported and Tested Platforms</H2>
0063 
0064 Platforms:
0065 <UL>
0066 <LI>Linux, gcc-4.8.5.<BR>
0067     Tested on 64 bit architectures (Intel or AMD) with
0068     CERN CentOS Linux 7 (CC7) (based on CentOS Linux 7).</LI>
0069 <LI>MacOSX 10.13 High-Sierra with clang-4.0 (Apple LLVM/Clang-9.0.0)</LI>
0070 <LI>Windows-10 with Visual C++ 14.11 (Visual Studio 2017)</LI>
0071 </UL>
0072 
0073 More verified and tested configurations (64 bits):
0074 <UL>
0075 <LI>Linux, gcc-4.9.3, gcc-5.3.0, gcc-6.3.0, gcc-7.2.0, clang-3.9</LI>
0076 <LI>Linux, Intel-icc 18.0</LI>
0077 <LI>MacOSX 10.10, 11, 12 with clang-3.6, 3.7, 3.8</LI>
0078 <LI>Windows-7, 10 with Visual C++ 14.0 (Visual Studio 2015)</LI>
0079 <LI>Linux for Intel Xeon Phi with Intel-icc 16.0
0080     (gcc-4.9 compatibility layer)</LI>
0081 </UL>
0082 Note: Windows platforms are supported/verified only for the sequential mode.
0083 Multi-threading capability is not yet supported on Windows.
0084 
0085 <P> </P>
0086 <A NAME="2."></A>
0087 <HR>
0088 
0089 <!-- ============================================== -->
0090 
0091 <H2>2. Supported CLHEP version</H2>
0092 
0093 This release of Geant4 requires and has been verified with
0094 <A TARGET="ext" HREF="http://cern.ch/clhep/">CLHEP</A>, release <B>2.4.0.0</B>.
0095 Use of a different CLHEP version may cause incorrect simulation results.<BR>
0096 NOTE: an internal module of the relevant CLHEP classes is provided and can be
0097 used as alternative to an external CLHEP library installation.
0098 
0099 
0100 <P> </P>
0101 <A NAME="3."></A>
0102 <HR>
0103 
0104 <!-- ============================================== -->
0105 
0106 <H2>3. Items for migration of the user code</H2>
0107 
0108 Listed here is some relevant information on developments included in this
0109 release.
0110 Note that for all users a full re-installation of libraries (or a full
0111 re-compilation) and a re-compilation of user applications is required.
0112 
0113 <P> </P>
0114 <B>General</B>
0115 <P> </P>
0116 <UL>
0117 <LI>Minimum required version of CMake to build Geant4 is 3.3.</LI>
0118 <LI>USolids specific flags have been fully replaced with VecGeom. From now on,
0119     configurations requiring the optional USolids/VecGeom component, will
0120     require to set VecGeom_DIR instead of USolids_DIR as path for the
0121     installation of VecGeom.</UL>
0122 
0123 <P> </P>
0124 <B>Geometry</B>
0125 <P> </P>
0126 <UL>
0127 <LI>A new minor release of the GDML schema, GDML-3.1.6, is used.
0128     The new schema is fully compatible with old schema versions
0129     and schema validation thorugh network is already activated against it.</LI>
0130 </UL>
0131 
0132 <P> </P>
0133 <B>Particles</B>
0134 <P> </P>
0135 <UL>
0136 <LI>Particle data is updated to PDG-2017.</LI>
0137 </UL>
0138 
0139 <P> </P>
0140 <B>Electromagnetic and optical physics</B>
0141 <P> </P>
0142 <UL>
0143 <LI>The new data sets G4EMLOW-7.3 and G4RealSurface-2.1 should be used.</LI>
0144 <LI>New UI commands and parameters for electromagnetic physics
0145     are added (see details in Application Development Manual).</LI>
0146 <LI>New interfaces are added to G4MaterialPropertyTable providing 
0147     more CPU performant simulation for optical photon transport.</LI>
0148 </UL>
0149 
0150 <P> </P>
0151 <B>Hadronic physics</B>
0152 <P> </P>
0153 <UL>
0154 <LI>The new data sets <TT>G4PhotonEvaporation-5.2</TT>, <TT>G4ABLA-3.1</TT>,
0155     <TT>G4RadioactiveDecay-5.2</TT> and <TT>G4ENSDFSTATE-2.2</TT> 
0156     should be used. Updated also the optional data-set <TT>G4TENDL-1.3.2</TT></LI>
0157 </UL>
0158 
0159 <P> </P>
0160 <B>Analysis</B>
0161 <P> </P>
0162 <UL>
0163 <LI>The <I>G4AnalysisManager::SetNtupleMerging()</I> function, applicable with
0164     the ROOT output only, can take now four arguments instead of three.
0165     This changes the meaning of the last two optional arguments: the third
0166     one handles a selection of the merging mode (<I>rowWise/columnWise</I>)
0167     and the fourth one the basket size value.</LI>
0168 </UL>
0169 <P> </P>
0170 
0171 <P> </P>
0172 <B>Data Sets</B>
0173 <P> </P>
0174 This release introduces new data set versions.
0175 Please see the corresponding details in
0176 <A href="#data-notes">Section 9</A> of this document.
0177 <UL>
0178 <LI>New data set versions: <TT>G4EMLOW-7.3, G4ENSDFSTATE-2.2,
0179     G4RadioactiveDecay-5.2, G4PhotonEvaporation-5.2, G4ABLA-3.1,
0180     G4RealSurface-2.1</TT>.</LI>
0181 <LI>In order to use <TT>ParticleHP</TT> for charged particles
0182     (protons, deuterons, tritons, He3 and alphas), an optional data
0183     set <TT>G4TENDL-1.3.2</TT> is required, and should be downloaded in
0184     addition from the
0185     <A HREF="http://cern.ch/geant4/support/download.shtml">Geant4 web site</A>.</LI>
0186 </UL>
0187 
0188 <A NAME="4."></A>
0189 <HR>
0190 
0191 <!-- ============================================== -->
0192 
0193 <H2>4. New Developments and Capabilities </H2>
0194 
0195 <B>Analysis</B>
0196 <UL>
0197 <LI>Added support for the input/output in HDF5 format. It requires the HDF5
0198     libraries installation and Geant4 libraries built with the
0199     -DGEANT4_USE_HDF5=ON CMake option.</LI>
0200 <LI>Preserving row-wise ntuple access when ntuple merging is activated with
0201     the ROOT output in multi-threading mode. The optional column-wise merging
0202     mode can be selected by the user via the SetNtupleMerging() call to
0203     G4AnalysisManager.
0204 </UL>
0205 
0206 <B>Geometry</B>
0207 <UL>
0208 <LI>A configuration option allows an installation to use the
0209     <A HREF="https://gitlab.cern.ch/VecGeom/VecGeom/">VecGeom Unified Solids Library</A>
0210     primitives, to replace the original Geant4 solids, as in the
0211     previous release. The path to an external installation of the VecGeom
0212     library (VecGeom version <TT>v00.05.00</TT>) should be specified.
0213     See the associated instructions file for configuration and installation.</LI>
0214 <LI>A new stepper, G4DormandPrince457, is now set as the default stepper for
0215     magnetic fields, if a driver/stepper is not explicitly specified. This is
0216     the recommended stepper for any type of field, as it requires fewer
0217     field evaluations per step, and provides higher accuracy than
0218     G4ClassicalRK4, the old default.</LI>
0219 <LI>A new construct, G4MultiUnion, is now available as native type.  It
0220     implements a multiple-union of several volumes, each of which is a solid
0221     with a displacement and a rotation. As with simple unions, the resulting
0222     volume is a solid filled with a single material.</LI>
0223 </UL>
0224 
0225 <B>Electromagnetic physics</B>
0226 <UL>
0227 <LI>New UI commands and parameters for electromagnetic physics
0228     are added (see details in Application Development Manual).</LI>
0229 <LI>Updated version of the Goudsmit-Saunderson model of multiple scattering
0230     is available.</LI>
0231 <LI>Revised version of the LivermorePhotoelectricModel is available.</LI>
0232 <LI>A new interface allows user to define density effect 
0233     parameterisation for a material.</LI>
0234 <LI>New interfaces are added to G4MaterialPropertyTable providing 
0235     more CPU performant simulation for optical photon transport.</LI>
0236 <LI>Updated G4LivermorePhotoElectricModel from EPICS 2014.</LI>
0237 <LI>New Geant4-DNA models from the CPA100 Monte Carlo code for electrons
0238     in liquid water.</LI>
0239 <LI>New Geant4-DNA cross sections for DNA related materials from PTB.</LI>
0240 
0241 </UL>
0242 
0243 <B>Hadronic physics</B>
0244 <UL>
0245 <LI>Introduced smearing of resonance masses in Fritiof (FTF) string model.</LI>
0246 <LI>Extended INCLXX intranuclear cascade model to the strangeness sector, i.e.
0247     treatment of primary kaons and hyperons, and production of secondary kaons
0248     and hyperons.</LI>
0249 <LI>New gamma-nuclear combined final-state model (G4LENDorBERTModel) that uses
0250     LEND for low-energy (below 20 MeV) gammas, if data available, else BERT model;
0251     the latter is also used for gammas above 20 MeV.
0252     For cross-sections, LEND is used for gammas below 20 MeV if data available,
0253     else the default G4PhotoNuclearCrossSection is used.</LI>
0254 <LI>Production and transport of long-lived isomers is enabled in hadronic
0255     models which use native de-excitation module (e.g. not in Bertini if 
0256     it is used with its own precompound/de-excitation).
0257     Only isomers with a half-life above a time threshold are created: 
0258     by default it is set to 1000 seconds, unless radioactive decay is enabled
0259     in which case this threshold is 1 microsecond.</LI>
0260 <LI>Correlated gamma emission in radioactive decay is implemented but
0261     disabled by default.</LI>
0262 <LI>When radioactive decay is activated, atomic de-excitation 
0263     (in particular fluorescence and Auger emission) are switched on
0264     by default (overriding any EM default settings). 
0265 <LI>Added an experimental, alternative implementation of muon stopping
0266     using muonic atoms. Disabled by default.</LI>
0267 </UL>
0268 
0269 <B>Particles</B>
0270 <UL>
0271 <LI>Basic functionality of handling muonic atom is introduced.
0272     To use this functionality, <I>G4MUATOMS_INUSE</I> option
0273     has to be set at installation.</LI>
0274 </UL>
0275 
0276 <B>Physics Lists</B>
0277 <UL>
0278 <LI>The default EM physics includes the Livermore proto-electric model and 
0279     the Rayleigh scattering process.</LI>
0280 <LI>Opt4 EM physics includes the Goudsmit-Saunderson model of multiple scattering.</LI>
0281 <LI>FTFQGSP_BERT: new experimental physics list which is similar to FTFP_BERT, but
0282     with QGS fragmentation of strings (instead of the Lund string fragmentation).</LI>
0283 <LI>Added ShieldingLEND as a new physics list, which is similar to Shielding, but
0284     with LEND for low-energy neutrons and gammas (below 20 MeV if data is available,
0285     else BERT model is used).</LI>
0286 </UL>
0287 
0288 <B>Run</B>
0289 <UL>
0290 <LI>Most of thread-local objects including physics processes
0291     are now properly deleted at the end of program.</LI>
0292 </UL>
0293 
0294 <B>Visualization and Interfaces</B>
0295 <UL>
0296 <LI><TT>/vis/scene/add/gps</TT>: shows Geant4 General Particle Source sources.
0297     Consult guidance for details.</LI>
0298 <LI><TT>/vis/drawOnlyKeptEvents</TT>: draws a selection at run time.
0299     Consult guidance for details.</LI>
0300 <LI>More colours from X11 (via g4tools).
0301     Use <TT>/vis/list</TT> to see.</LI>
0302 <LI>Improved picking for OGLSX and OGLQt.</LI>
0303 <LI>Arbitrary size of Ray Tracer rendering.</LI>
0304 </UL>
0305 
0306 <B>Examples</B>
0307 <UL>
0308 <LI>A new set of extended examples, <I>physicslists</I>, is introduced to
0309     demonstrate usage of Geant4 reference physics lists and physics builders.</LI>
0310 </UL>
0311 
0312 <A NAME="5."></A>
0313 <HR>
0314 
0315 <!-- ============================================== -->
0316 
0317 <H2>5. Expected effects on physics and computing performance</H2>
0318 
0319 <B>Geometry</B>
0320 <UL>
0321 <LI>Improvements in the computation of the extent of the geometrical
0322     shapes and consequent more optimal organisation of the 3D voxels
0323     structure for navigation, was measured to provide few percents
0324     speedup on complex geometry setups. According to the complexity
0325     and shapes composition, additional speedup may come from the revised
0326     algorithms introduced in this release for basic shapes.</LI>
0327 </UL>
0328 
0329 <B>Electromagnetic physics</B>
0330 <UL>
0331 <LI>More accurate simulation of gamma transport with the default EM physics.</LI>
0332 <LI>More accurate electron transport with Opt4 EM physics.</LI>
0333 <LI>Small (~1%) speedup of gamma/electron transport for calorimeters.</LI>
0334 <LI>Substantial speedup of optical photons transport.</LI>
0335 </UL>
0336 
0337 <B>Hadronic physics</B>
0338 <UL>
0339 <LI>Hadronic showers remain very similar to those of version 10.3.</LI>
0340 </UL>
0341 
0342 <P> </P>
0343 <A NAME="6."></A>
0344 <HR>
0345 
0346 <!-- ============================================== -->
0347 
0348 <H2>6. Known Run-Time Problems and Limitations</H2>
0349 For a complete list of outstanding run-time problems and to submit any
0350 problem you may find while running this version of Geant4, please refer 
0351 to the
0352 <A TARGET="ext" HREF="http://cern.ch/geant4/problemreport">Geant4 Problem
0353 Reporting System</A>.
0354 
0355 <P> </P>
0356 <A NAME="7."></A>
0357 <HR>
0358 
0359 <!-- ============================================== -->
0360 
0361 <H2>7. Compilation Warnings</H2>
0362 
0363 There may be a few compilation warnings on some platforms.
0364 We do not believe that any of these lead to incorrect run-time behaviour.
0365 
0366 <P> </P>
0367 <A NAME="8."></A>
0368 <HR>
0369 
0370 <!-- ============================================== -->
0371 
0372 <H2>8. Geant4 Software License</H2>
0373 
0374 A Software License applies to the Geant4 code.
0375 Users must accept this license in order to use it. The details and the list of
0376 copyright holders is available at
0377 <A href="http://cern.ch/geant4/license">http://cern.ch/geant4/license</A>
0378 and also in the text file <TT>LICENSE</TT> distributed with the source code.
0379 
0380 <P> </P>
0381 <A NAME="9."></A>
0382 <HR>
0383 
0384 <!-- ============================================== -->
0385 
0386 <H2>9. Detailed list of changes and fixes</H2>
0387 
0388 These are the main new features/fixes included in this release since the
0389 last patched public release (for more detailed lists of fixes/additions,
0390 please refer to the corresponding History files provided in most packages):
0391 
0392 <P> </P>
0393 
0394 <A NAME="conf-notes">
0395 <H3><I>Configuration</I></H3></A>
0396 <UL>
0397 <LI>CMake:
0398     <UL>
0399     <LI>Removed support for modulefile generation, as not used and generated
0400         files not compatible with relocatability. It's expected that software
0401         stack managers will generate a modulefile file according to their
0402         requirements.</LI>
0403     <LI>Added new module G4CMakeMain.cmake for refactoring core implementation.</LI>
0404     <LI>Added new GEANT4_USE_HDF5 option (OFF by defaults), to allow user to
0405         enable Hdf5 support in analysis library. Created a G4HDF INTERFACE target
0406         for uniform access to HDF5 headers and libraries at build, test and install
0407         time. Added check for HDF5 installation; requiring HDF5 >= 1.8.</LI>
0408     <LI>Removed obsolete modules for interfaces provided by CMake built-in
0409         tools CMakeParseArguments, GNUInstallDirs and commands.</LI>
0410     <LI>Refactored core Configure/Build and client script modules for clarity
0411         and cohesion.</LI>
0412     <LI>Removed obsolete FindCLHEP.cmake module; updated internal/system
0413         CLHEP selection; simplified location/setup of system CLHEP as CLHEP
0414         (>= 2.3.3.0) now provides CLHEP_LIBRARIES set with appropriate
0415         single/granular targets with full usage requirements.
0416         Addressing enhancement request
0417         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1934">#1934</A>.</LI>
0418     <LI>Do not set or modify DYLD_LIBRARY_PATH in setup scripts on macOS.
0419         Addressing problem report
0420         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1960">#1960</A>.</LI>
0421     <LI>Set INSTALL_RPATH for MacOS systems; loading dylibs in Python can lead to
0422         resolution errors as they cannot locate each other. The option allows to
0423         append "@loader_path" to the INSTALL_RPATH for all Geant4 libraries.</LI>
0424     <LI>Updated minimum version for system expat package to be >= 2.0.1,
0425         according to features required in the g4tools analysis package.
0426         Addressing problem report
0427         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2003">#2003</A>.</LI>
0428     <LI>Added GEANT4_INSTALL_EXAMPLES advanced option, ON by default; for use
0429         to disable/enable installation of examples code.
0430         Removed GEANT4_BUILD_EXAMPLES option.</LI>
0431     <LI>Modules/Geant4OptionalComponents.cmake: added CTUBS, HYPE and PARA flags
0432         to enable wrapping of G4CutTubs, G4Hype and G4Para for VecGeom in
0433         GEANT4_USOLIDS_SHAPES.</LI>
0434     <LI>Replaced USolids specific flags with VecGeom. From now on
0435         VecGeomConfig.cmake will be required and used instead of
0436         USolidsConfig.cmake, as well as VecGeom_DIR instead of USolids_DIR.</LI>
0437     <LI>Corrected setting of USOLIDS_BASE_DIR path for GNUmake setup.</LI>
0438     <LI>Added new advanced build option GEANT4_BUILD_MUONIC_ATOMS_IN_USE, set to
0439         OFF by default; when ON, adding G4MUTOMS_INUSE to compile definitions.</LI>
0440     <LI>Restored reporting of C++ standard configuration.</LI>
0441     <LI>Removed obsolete FindROOT module.</LI>
0442     <LI>Updated data-sets versions.</LI>
0443     </UL></LI>
0444 <LI>GNUMake:
0445     <UL>
0446     <LI>binmake-gmk: added 'processes/solidstate' and 
0447         'processes/hadronic/models/gamma_nuclear' modules to include path.</LI>
0448     <LI>geomconf.gmk: added selectors for G4GEOM_USE_UCTUBS, G4GEOM_USE_UHYPE
0449         and G4GEOM_USE_UPARA flags, to enable wrapping of G4CutTubs, G4Hype
0450         and G4Para for VecGeom. Updated flags for Scalar build of VecGeom.</LI>
0451     <LI>In architecture.gmk, removed references to old USolids library;
0452         just use VecGeom.</LI>
0453     </UL></LI>
0454 </UL>
0455 
0456 <A NAME="ana-notes">
0457 <H3><I>Analysis</I></H3></A>
0458 <UL><LI><B>Profiles</B>
0459     <UL>
0460     <LI>Added GetP[1,2]Id(const G4String&amp;) functions to the
0461         G4AnalysisManager public interface. Addressing problem report
0462         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1949">#1949</A>.</LI>
0463     </UL>
0464     <LI><B>Ntuples</B>
0465     <UL>
0466     <LI>Added rowWise option to G4RootAnalysisManager::SetNtupleMerging().</LI>
0467     <LI>Moved common implementation from G4V[R]NtupleManager in new
0468         G4Base[R]NtupleManager classes.</LI>
0469     <LI>Introduced G4TRNtupleDescription, G4TRNtupleManager template classes.</LI>
0470     <LI>Always create an ntuple from ntuple booking (removed usage of
0471         ntuple::create_column).</LI>
0472     </UL></LI>
0473     <LI><B>Output types</B>
0474     <UL>
0475     <LI>Added full support for HDF5. Added optional directoryName argument
0476         in Read[Hn][Pn][Ntuple] functions in G4VAnalysisReader (needed for HDF5).</LI> 
0477     </UL></LI>
0478     <LI><B>Fixes</B>
0479     <UL>
0480     <LI>Fixed generation of file name on workers (adding _tN extension).
0481         Addressing Hypernews post #537 in analysis Forum.</LI>
0482     </UL></LI>    
0483     <LI><B>g4tools</B>
0484     <UL>
0485     <LI>Updated the g4tools version to g4tools-4.2.1.</LI>
0486     <LI>Added support for HDF5, improved tests.</LI>
0487     <LI>Updates in colorf, colors to make possible to use the tools/colors
0488         color table in G4Colour class.</LI>
0489     <LI>Changes in wroot, rroot in order to handle row wise ntuple in case
0490         of MT or MPI.</LI>
0491     <LI>See History_tools for the complete list of modifications.</LI>
0492     </UL></LI>
0493 </UL>
0494 
0495 <A NAME="digits-notes">
0496 <H3><I>Digitization &amp; Hits</I></H3></A>
0497 <UL>
0498 <LI>Renamed G4THitsMap to G4VTHitsMap: although G4VTHitsMap is not a pure
0499     virtual class, it has an additional template parameter for the map type,
0500     so it is not intended to be used directly; made G4VTHitsMap more generic
0501     in accepting the type of data stored (with more generic template overloads
0502     not specific to G4double and G4StatDouble).
0503     Fixed initialisation of G4StatDouble entries.</LI>
0504 <LI>Added G4THitsMultiMap, which functions like G4THitsMap but all entries
0505     are stored.</LI>
0506 <LI>Added G4THitsUnorderedMap, which functions like G4THitsMap but uses an
0507     unordered_map.</LI>
0508 <LI>Added G4THitsUnorderedMultiMap, which functions like G4THitsMap but
0509     stores all entries in an unordered multimap.</LI>
0510 <LI>Typedefs for map_type, value_type, iterator, and const_iterator
0511     for future generic usage.</LI>
0512 <LI>Defined begin(), end(), cbegin(), cend() so now G4VTHitsMap can be used
0513     in range-based loops.</LI>
0514 </UL>
0515 
0516 <A NAME="emstd-notes">
0517 <H3><I>Electromagnetic Processes</I></H3></A>
0518 <UL>
0519 <LI>Requires data-set G4EMLOW-7.3.</LI>
0520 <LI><B>Adjoint</B>
0521     <UL>
0522     <LI>Correction for FPE cases in G4AdjointForcedInteractionForGamma.</LI>
0523     <LI>G4eAdjointMultipleScattering: changed index of the default according to
0524         recent modifications in utils module.</LI>
0525     </UL></LI>
0526 <LI><B>DNA</B>:
0527     <UL>
0528     <LI>Added new CPA100 classes. Added new G4DNAPTB* classes and the structure
0529         of the new material management system.</LI>
0530     <LI>Added tagging of atomic de-excitation products in the ionisation models.</LI>
0531     <LI>Extended upper energy limit of protons for
0532         G4DNARuddIonisationExtendedModel.</LI>
0533     <LI>Introducing G4PhysChemIO class.</LI>
0534     <LI>Moved call to G4TrackList::Pop(track) from G4ITTrackingManager
0535         to G4ITTrackHolder and make sure track status is set to fStopAndKill
0536         when G4ITTrackHolder::PushToKill is called.</LI>
0537     <LI>G4DNAMolecularMaterial: removed newly introduced methods; added fatal
0538         exception if used. Added doxygen documentation.</LI>
0539     <LI>Added new G4DNADummyModel and allow the combination of G4VEmModel and
0540         G4VDNAModel in G4DNAModelInterface.</LI>
0541     <LI>Updated G4DNAModelInterface to correctly use G4DNAMolecularMaterial.</LI>
0542     <LI>G4DNAExcitation, G4DNAIonisation: make coherent model initialisation.</LI>
0543     <LI>G4DNAEmfietzoglouIonisationModel: added protection for out of bound access.</LI>
0544     <LI>Updated variable types in models.</LI>
0545     </UL></LI>
0546 <LI><B>High Energy</B>
0547     <UL>
0548     <LI>G4eeToHadrons, G4hhIonisation, G4mplIonisation: make coherent model
0549         initialisation.</LI>
0550     <LI>G4GammaConversionToMuons: changed parameterisation of nuclear elastic
0551         form-factor; use integer Z; speeded-up sampling algorithm.</LI>
0552     <LI>G4eeToHadrons, G4eeToHadronsMultiModel: implemented new method 
0553         StreamProcessInfo() instead of PrintInfo().</LI>
0554     <LI>G4hBremsstrahlung, G4hPairProduction: updated process description text.</LI>
0555     <LI>Added dummy StreamProcessInfo() for html doc.</LI>
0556     </UL></LI>
0557 <LI><B>Low Energy</B>
0558     <UL>
0559     <LI>G4LivermoreNuclearGammaConversionModel, G4BoldyshevTripletModel:
0560         Added possibility of triplet production; use G4Log; code cleanup.</LI>
0561     <LI>Extended coverage of shell ionisation models.</LI>
0562     <LI>G4LivermorePhotoElectricModel:
0563         new parameterisations using two intervals (in place of unique
0564         parameterisation), using the new EPICS-2014 data.
0565         The resulting data-sets are provided in the data directory
0566         livermore/phot_epics2014. 
0567         Fixed resetting of pointer to nullptr, addressing problem report
0568         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1980">#1980</A>.
0569         Fixed diagnostic text in case of G4Exception.
0570     Requires new data set G4EMLOW-7.3.</LI>
0571     <LI>G4LivermoreRayleighModel: minor code cleanup and optimisations, 
0572         added process description text.</LI>
0573     <LI>Added protection against (rare) infinite loops in 
0574         G4PenelopeOscillatorManager, which occurred for materials made of more
0575         than 20 elements.</LI>
0576     <LI>G4MicroElecElastic, G4MicroElecInelastic: improved coherence of model
0577         initialisation.</LI>
0578     <LI>G4LowECapture: added scaling of energy threshold for ions.</LI>
0579     </UL></LI>
0580 <LI><B>Muons</B>
0581     <UL>
0582     <LI>G4MuBremmstrahlungModel, G4MuPairProductionModel: make all data members
0583         protected, allowing to reuse these classes as base for dark matter
0584         photons.</LI>
0585     <LI>G4MuIonisation, G4MuMultipleScattering, G4MuPairProduction,
0586         G4ePairProduction: make coherent model initialisation.
0587         Switched from ProcessDescription() to StreamProcessInfo() for html output.</LI>
0588     </UL></LI>
0589 <LI><B>Polarisation</B>
0590     <UL>
0591     <LI>G4PolarizedCompton, G4PolarizedGammaConversion, G4ePolarizedIonisation:
0592         make coherent model initialisation.</LI>
0593     </UL></LI>
0594 <LI><B>Standard</B>
0595     <UL>
0596     <LI>G4GoudsmitSaundersonTable: new representation of the GS angular
0597         distributions (data size reduced from 16MB down to 5 MB).
0598         Fixed scattering power correction table.</LI>
0599     <LI>G4GoudsmitSaundersonMscModel, G4GoudsmitSaundersonTable: added option to
0600         apply Mott-correction to the default GS model.
0601         The new class G4GSMottCorrection handles the Mott-correction to the angular
0602         distributions as well as correction factors to elastic, mfp, first and
0603         second moments.</LI>
0604     <LI>G4MottCoefficients, G4ScreeningMottCrossSection,
0605         G4eSingleCoulombScatteringModel: tuned performance of the model making
0606         as fast as the default single scattering.</LI>
0607     <LI>New form of PWA corrections in the Goudsmit-Saunderson multiple-scattering
0608         model that is active now both for e- and e+; improved scattering power
0609         correction computation in case of Mott-correction; changed step limit
0610         flag conventions in the GS model.</LI>
0611     <LI>G4PairProductionRelModel: fixed inconsistency in calculating the LPM
0612         suppression for the pair-production model.</LI>
0613     <LI>G4WentzelOKandVIxSection, G4WentzelVIRelXSection: added
0614         "ScreeningFactor" parameter to study accuracy of scattering models.</LI>
0615     <LI>G4SauterGavrilaAngularDistribution: introduced more efficient algorithm
0616         of sampling using Penelope-2014 prescription; expected that simulation
0617         will be faster.</LI>
0618     <LI>G4UniversalFluctuation: added extra parameter in the model and improved
0619         sampling for thin layers; added correction for small cuts.
0620         Added corrections for better E_mp and FWHM in the case of small steps.</LI>
0621     <LI>G4BetheHeitlerModel, G4PairProductionRelModel: minor change in angular
0622         sampling. Use G4Pow in both classes instead of G4NistManager for fast
0623         math computations.</LI>
0624     <LI>G4BetheHeitlerModel, G4PairProductionRelModel: code cleanup and 
0625         optimisations; replaced remaining use of log, exp with G4Log and G4Exp.</LI>
0626     <LI>G4eBremsstrahlungRelModel: use new interface to triplet model.
0627         Added class members and cross-sections for sampling of electron recoil.</LI>
0628     <LI>G4WentzelVIRelModel: fixed typo responsible for numerical crash.</LI>
0629     <LI>G4WentzelOKandVIxSection, G4eCoulombScatteringModel, G4WentzelVIModel,
0630         G4hCoulombScatteringModel: code and interface cleanup.
0631         G4WentzelVIRelModel: use inheritance from G4WentzelVIModel.
0632         G4WentzelVIRelXSection: use inheritance from G4WentzelOKandVIxSection.</LI>
0633     <LI>G4UrbanMscModel: renamed and use flag for lateral displacement algorithm;
0634         if its value is "true" then the old lateral displacment algorithm is
0635         used, else a new one is applied. Cleanup of inline methods.</LI>
0636     <LI>G4hIonisation: fixed energy intervals per EM model for super-heavy particles.
0637     <LI>G4NuclearStopping: use activation limit for energy per nucleon.
0638         Fixed initialisation.</LI>
0639     <LI>G4PAIModel. G4PAIPhotModel: added implementation of virtual method
0640         MinEnergyCut(), always return 25 eV, as PAI models are not applicable for
0641         smaller energy transfers. Set MinEnergyCut() to 12.5 eV, based on results
0642         study of gaseous detector simulations.</LI>
0643     <LI>Switched from ProcessDescription() to StreamProcessInfo().
0644         Added dummy ProcessDescription() to other processes.</LI>
0645     <LI>Make coherent models initialisation.</LI>
0646     <LI>Requires new data set G4EMLOW-7.3.</LI>
0647     </UL></LI>
0648 <LI><B>Utils</B>
0649     <UL>
0650     <LI>G4EmParameters: added method with more correct name AddPhysics() 
0651         in order to replace AddMsc in future (no change in functionality).
0652         G4EmSaturation may be created at any moment (added mutex).
0653         Fixed SetDeexcitationIgnoreCut() method.
0654         Set lateral displacement algorithm to 9.6 version as the default,
0655         Fixed typo in dump of parameters.</LI>
0656     <LI>G4EmParametersMessenger, G4EmParameters: added parameter
0657         "ScreeningFactor", related modifiers and UI command.
0658         Allow atomic de-excitation commands in Init state.</LI>
0659     <LI>G4VEmProcess: added DNA ionisation process to the list of discrete
0660         processes, which have auger and fluo flags for secondary particles.
0661         Added DNA ionisation process for hydrogen and helium to the list of
0662         processes, which have auger and fluo flags.
0663         Select models for ions by using energy per nucleon.
0664         Added method StreamInfo() allowing to print in any stream.</LI>
0665     <LI>G4VEmModel: added triplet model pointer and Get/Set methods.</LI>
0666     <LI>G4EmCorrections: removed computation of nuclear stopping power.</LI>
0667     <LI>G4EmDataHandler: new class to keep physics tables in easy way.</LI>
0668     <LI>G4EmParametersMessenger, G4EmParameters: added parameters "DNAFast",
0669         "DNAStationary" and "DNAMsc"; added Get/Set methods and UI command.</LI>
0670     <LI>G4VMultipleScattering, G4VMscModel, G4VEnergyLossProcess, G4VEmProcess,
0671         G4EmConfigurator, G4EmConfigurator: new scheme of model initialisation
0672         in order to not create extra fake model objects and reduce number of
0673         calls at run time. Added initialisation printout for DNA particles.
0674         Code cleanup</LI>
0675     <LI>G4EmParameters: changed to fully thread-safe singleton.</LI>
0676     <LI>G4LossTableManager: added new method PrintHtml() to generate html doc.</LI>
0677     <LI>G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering: added new
0678         protected method StreamProcessInfo() to be used by derived processes.
0679         Modified doc outputs to set end-of-line string.</LI>
0680     <LI>Fixed Coverity defects.</LI>
0681     </UL>
0682 <LI><B>Xrays</B>
0683     <UL>
0684     <LI>Changed material property keys by the enum (index) type defined in 
0685         G4MaterialPropertiesIndex.</LI>
0686     </UL></LI>
0687 </UL>
0688 
0689 <A NAME="errprop-notes">
0690 <H3><I>Error Propagation</I></H3></A>
0691 <UL>
0692 <LI>Precision correction in G4ErrorFreeTrajState.
0693     Addressing problem report
0694     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2010">#2010</A>.</LI>
0695 <LI>Migrated code to use new types for G4(Mag)IntegrationDriver and use its
0696     new GetEquation() method.</LI>
0697 </UL>
0698 
0699 <A NAME="event-notes">
0700 <H3><I>Event</I></H3></A>
0701 <UL>
0702 <LI>G4SPSPosDistribution: added GetRotx,y,z() access functions and other
0703     accessors for use by G4GPSModel for visualisation.</LI>
0704 <LI>G4StackManager: added #ifdef protection for the case when a particle is a
0705     muonic atom.</LI>
0706 </UL>
0707 
0708 <A NAME="externals-notes">
0709 <H3><I>Externals</I></H3></A>
0710 <UL>
0711 <LI>Adapted CMake scripts to new configuration for internal/external
0712     packages of CLHEP, expat and zlib.</LI>
0713 <LI>Updated CLHEP module to version 2.4.0.0:
0714     <UL>
0715     <LI>Updated MixMaxRng class to include latest C++ revision based on
0716         MixMax-2.0. Replaced skipping coefficients optional set for N=256
0717         with N=240. Removed old C implementation files.
0718         Set MixMax as the default random number generator in HepRandom.</LI>
0719     <LI>Fix in HepRotation::axis() for proper treatment of degenerating cases.</LI>
0720     <LI>Added missing DLL_API specification for static data member in
0721         Transform3D class.</LI>
0722     </UL></LI>
0723 <LI>Zlib:
0724     <UL>
0725     <LI>Disabled warning on fallthrough in case statements on gcc-7.1.</LI>
0726     </UL></LI>
0727 </UL>
0728 
0729 <A NAME="gen-notes">
0730 <H3><I>General Processes</I></H3></A>
0731 <UL>
0732 <LI><B>Biasing</B>
0733     <UL>
0734     <LI>Fix in G4BiasingProcessInterface for wrong setting of first/last GPIL/DoIt
0735         flags in case of charged particles, according to the fact that the multiple-
0736         scattering is now a pure along step process.</LI>
0737     <LI>Removed duplicate class definition G4TrackTerminator.hh, which
0738         is part of the processes/transportation module.</LI>
0739     </UL></LI>
0740 <LI><B>Decay</B>
0741     <UL>
0742     <LI>Moved muonic atom files to hadronic stopping module.</LI>
0743     <LI>Replaced DECAY_MuonicAtomDecay process type with DECAY_MuAtom.</LI>
0744     <LI>Added ProcessDescription to decay process.</LI>
0745     <LI>Use nullptr in place of NULL or 0.</LI>
0746     </UL></LI>
0747 <LI><B>Management</B>
0748     <UL>
0749     <LI>Added virtual method ProcessDescription(std::ostream& outfile) to G4VProcess
0750         so that all processes can output a description to html documentation.</LI>
0751     <LI>Use G4Log in G4VProcess.</LI>
0752     </UL></LI>
0753 <LI><B>Optical</B>
0754     <UL>
0755     <LI>Added DAVIS model for optical physics. Use the new model with
0756         reflection and added capability of transmitting photons based on LUTs.
0757         Requires new data set G4RealSurface-2.1.</LI>
0758     <LI>Change material property keys by the enum type defined in 
0759         G4MaterialPropertiesIndex.</LI>
0760     </UL></LI>
0761 <LI><B>Solid State</B>
0762     <UL>
0763     <LI>New module including channeling and phonon modeling.</LI>
0764     </UL></LI>
0765 <LI><B>Transportation</B>
0766     <UL>
0767     <LI>G4Transportation, G4CoupledTransportation: obtain equation of motion using
0768         dedicated method now provided through G4ProgatorInField.</LI>
0769     <LI>Make appropriate setting/use of verbosity from base class G4VProcess,
0770         instead of re-defining/using local verbosity flag in G4Transportation
0771         and G4CoupledTransportation.
0772         Addressing problem report
0773         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1999">#1999</A>.</LI>
0774     </UL></LI>
0775 </UL>
0776 
0777 <A NAME="geo-notes">
0778 <H3><I>Geometry</I></H3></A>
0779 <UL>
0780 <LI><B>Magnetic field</B>
0781     <UL>
0782     <LI>Made G4DormandPrince457 the default stepper for magnetic fields in
0783         G4ChordFinder, when a driver/stepper is not specified.</LI>
0784     <LI>G4FieldManager: revised behaviour of SetDetector(); it now passes the
0785         Field to the Equation, as is the natural user expectation.
0786         The previous behaviour is possible, using extra argument 'failMode' 
0787         flag (values: 0 = silent;  1 (default) = warning;  2 or other = fatal
0788         exception).
0789         If the field is changed for an existing, working stepper it must be
0790         propagated to the equation of motion.
0791         Note: Error reporting behaviour of SetDetector is 'soft'. It does not 
0792         complain by default if G4ChordFinder is not (yet) set (the default
0793         values of failMode is 0, i.e. quiet); if a chord-finder exists, it
0794         will still warn for other errors.</LI>
0795     <LI>Introduced G4VIntegrationDriver base class for any driver algorithm.
0796         New concrete classes added: G4IntegrationDriver, implementation of
0797         templated driver algorithm for non-FSAL explicit Runge-Kutta steppers;
0798         G4FSALIntegrationDriver, implementation of driver algorithm for
0799         FSAL explicit Runge-Kutta steppers. G4MagInt_Drv, the old class,
0800         remains, and can be used with any Runge-Kutta stepper.</LI>
0801     <LI>Added new steppers G4RK547FEq{1,2,3} which implement 7 stage embedded 
0802         Runge-Kutta pairing 4th and 5th order formulae, with: FSAL property
0803         ('First Same As Last' steppers return derivative at endpoint for use
0804         in next step); stable equilibrium states (better stability in choosing
0805         step sizes). Each one can be used with all existing Runge-Kutta drivers.
0806     <LI>A reduction in the number of field evaluations can be realised
0807         by using a FSAL steppers (including G4RK547FEq{1,2,3}) together with
0808         G4FSALIntegrationDriver. This driver is the only one to reuse the
0809         derivative of a successful step in a potential subsequent step.</LI>
0810     <LI>Added G4FieldUtils utilities class, to extract data from arrays in
0811         conventions of the magneticfield integration.</LI>
0812     <LI>Renamed G4FieldManager::SetFieldChangesEnergy() method to
0813         InitialiseFieldChangesEnergy() to clarify its utility.</LI>
0814     <LI>Corrected destructor in G4FieldManagerStore and added simple accessor
0815         to return singleton pointer.</LI>
0816     <LI>Fixed initialisation of coefficients in G4FSALBogackiShampline45 in
0817         method PrepareConstants() called by constructor.</LI>
0818     <LI>Fixed significant memory leak in G4DormandPrinceRK56, in method
0819         SetupInterpolate_low(); improved initialisation of data.</LI>
0820     <LI>G4BogackiShampine23: fixed initialisation of data and suppressed duplicate
0821         method isFSAL(), as existing in base class G4MagIntegratorStepper.
0822         Made copy constructor and equal operator private and not unimplemented.</LI>
0823     <LI>G4MagInt_Driver: added GetEquationOfMotion() method for enabling common
0824         code with future development.</LI>
0825     <LI>Fixed Coverity defects in several classes.</LI>
0826     </UL></LI>
0827 <LI><B>Management</B>
0828     <UL>
0829     <LI>Added adapter class G4UAdapter for interfacing G4U* wrappers with
0830         VecGeom. Will replace G4USolid bridge class, and now deprecating
0831         USolids API in favour of direct use of VecGeom signatures and removal
0832         of one extra-level of indirection/inheritance.
0833         Requires new version 0.5 for VecGeom external library.</LI>
0834     <LI>Removed G4USolid base wrapper for USolids. Only native VecGeom
0835         implementation through G4UAdapter is now supported.</LI>
0836     <LI>Renamed ambiguous name Extent() in G4VSolid to BoundingLimits().
0837         Modified G4ReflectedSolid accordingly. Change required in order to
0838         avoid signature conflict with VecGeom in G4U* wrappers.</LI>
0839     <LI>Moved few key methods to be inline in G4USolid.</LI>
0840     <LI>Fixed static memory leak from G4LogicalVolume, G4VPhysicalVolume and
0841         G4Region, for offsets allocated at initialisation.</LI>
0842     <LI>Removed additional wrong lock in G4GeomSplitter for function
0843         SlaveReCopySubInstanceArray().</LI>
0844     <LI>Added simple accessor to return singleton pointer for G4GeometryManager.
0845         Define IsGeometryClosed() as a static method, to avoid call to
0846         GetInstance(). Made related Boolean flag thread-local.</LI>
0847     <LI>Enabled deletion of solids in G4SolidsStore destructor also for MT mode.</LI>
0848     <LI>Added methods TriangelAreaNormal(), QuadAreaNormal(), 
0849         PolygonAreaNormal(), ClosestPointOnSegment(), EllipsePerimeter(),
0850         EllipticConeLateralArea(), comp_ellint_2() and
0851         ClosestPointOnTriangle() to G4GeomTools.
0852         Added PointInPolygon() function, to determine the position
0853         of a point relative to a polygon in 2D.</LI>
0854     <LI>Precision correction in G4ErrorPlaneSurfaceTarget.
0855         Addressing problem report
0856         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2011">#2011</A>.</LI>
0857     </UL></LI>
0858 <LI><B>Navigation</B>
0859     <UL>
0860     <LI>G4Navigator: loosened check on normal vector in GetGlobalExitNormal(),
0861         whether it is a unit vector; set tolerance to 10^-3 (was 10^-6).
0862         Improved clarity by using a constant 'perThousand' in this check.</LI>
0863     <LI>Fix in G4PathFinder to cope with zero proposed step; the correction
0864         ensures that the 'physical' length of a step is used in minimum, rather
0865         than 'logical' value (i.e. kInfinity).
0866     <LI>Modification in  G4PathFinder, G4PropagatorInField and locator classes
0867         to use GetEquationOfMotion() method from G4MagIntegratorDriver.</LI>
0868     <LI>Correction in destructors of G4TransportationManager and G4PathFinder.
0869         Avoid deletion of field-manager pointer in destructor of
0870         G4TransportationManager, as it is being deleted by G4FieldManagerStore.
0871     <LI>Added simple accessor (to return singleton pointer - and not create it  
0872         if has not already been instantiated) in G4PathFinder and
0873         G4TransportationManager.</LI>
0874     </UL></LI>
0875 <LI><B>Solids (Boolean)</B>
0876     <UL>
0877     <LI>Added G4MultiUnion class, importing original implementation for a
0878         multiple-union structure from the USolids library.
0879         Removed the wrapper G4UMultiUnion, no longer necessary.</LI>
0880     <LI>Revised SurfaceNormal() in G4UnionSolid, to correctly return average
0881         normal if point is on common surface.</LI>
0882     <LI>Renamed ambiguous name Extent() in all shapes to BoundingLimits().</LI>
0883     <LI>Fixed minor Coverity defects in G4MultiUnion.</LI>
0884     </UL></LI>
0885 <LI><B>Solids (CSG)</B>
0886     <UL>
0887     <LI>Reviewed implementation of G4Box, G4Trap, G4Trd, G4Para and G4Orb;
0888         revised to make them more compact and performant.</LI>
0889     <LI>G4Trap: modified computation of side planes; bounding box/envelope
0890         are computed directly from side planes. Added CheckParameters() and
0891         MakePlanes(pt), simplified constructors and SetAllParameters().
0892         In G4UTrap, bounding box/envelope are computed directly from side
0893         planes as for G4Trap. Increased tolerance in the check of consistency
0894         of bounding boxes in Extent().
0895         Added private method GetVertices(), calculating vertices of the trap
0896         from its side planes; removed private methods GetFaceArea() and
0897         GetPointOnPlane(). Improved GetCubicVolume() and GetSurfaceArea();
0898         calculation of the volume and surface area is now done by using
0899         vertices calculated by GetVertices(). Improved/simplified other
0900         methods: StreamInfo(), MakePlanes(), MakePlanes(pt), Extent() and
0901         CalculateExtent(). Added more strict condition for trap definition
0902         in case when YZ section is a rectangle.
0903         Use specialization (fTrapType 3) for traps that could be also
0904         defined as G4Trd, where isosceles trapeziod is in the XY section,
0905         instead of XZ (faces at Xmin/Xmax symmetrical and have Z-component of
0906         normals equal to zero). Factorised code with case statements for the
0907         different specialisations.</LI>
0908     <LI>Renamed ambiguous name Extent() in all solids and G4U* wrappers to
0909         BoundingLimits().</LI>
0910     <LI>Removed clone class G4OTubs no longer necessary and removed inheritance
0911         from G4Tubs for G4CutTubs. Improved calculation of bounding-box in
0912         G4CutTubs.</LI>
0913     <LI>Use G4RandomRadiusInRing() in G4CSGSolid::GetRadiusInRing().</LI>
0914     <LI>Enabled adapter for VecGeom shapes in G4U* wrappers for all wrapped
0915         shapes. From now on, wrappers depends directly on VecGeom shapes
0916         implementation. USolids API is deprecated and no longer supported.</LI>
0917     <LI>Removed redundant overloaded implementation for StreamInfo() in G4UBox
0918         wrapper.</LI>
0919     </UL></LI>
0920 <LI><B>Solids (Specific)</B>
0921     <UL>
0922     <LI>G4ExtrudedSolid: added specialised implementation for constructs
0923         defining a convex or non-convex right prism.
0924         Temporarly disabled G4UExtrudedSolid wrapper, pending implementation
0925         of extruded solid in VecGeom.
0926     <LI>Renamed G4SurfaceVoxelizer to G4Voxelizer and extended to support
0927         voxelisation of shapes in 3D space. Adapted G4TessellatedSolid
0928         accordingly.</LI>
0929     <LI>G4TessellatedSolid: print also solid's name in StreamInfo().</LI>
0930     <LI>Revised implementation of GetCubicVolume() and GetSurfaceArea() for
0931         G4EllipticalTube, to return exact values.</LI>
0932     <LI>G4EllipticalCone: reviewed implementation of Inside(), DistanceToIn/Out(p),
0933         SurfaceNormal() and GetPointOnSurface(); made more compact and performant.
0934         Addressing problem report
0935         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1974">#1974</A>.
0936         Improved GetPointOnSurface() to have uniform sampling of points, using
0937         function G4RandomPointOnEllipse().
0938         Revised implementation of GetSurfaceArea() to return exact value;
0939         moved both GetCubicVolume() and GetSurfaceArea() to be not inline.</LI>
0940     <LI>G4SolidsWorkspacePool: implemented CleanUpAndDestroyAllWorkspaces(),
0941         to be called by worker threads. Removed declaration (i.e. not
0942         implemented) of protected method ReleaseAndDestroyWorkspace().
0943         Use DLL export flag for static thread-local symbol of the workspace.</LI>
0944     <LI>Renamed ambiguous name Extent() in all solids and G4U* wrappers to
0945         BoundingLimits().</LI>
0946     <LI>Enabled adapter for VecGeom shapes in G4U* wrappers for: paraboloid,
0947         polyhedra, polycone and GenericTrap. From now on, wrappers depends
0948         directly on VecGeom shapes implementation. USolids API is deprecated
0949         and no longer supported.</LI>
0950     <LI>Temporarly disabled wrappers for G4Tet and G4GenericPolycone, pending
0951         their corresponding implementation in VecGeom. Added VecGeom wrapper
0952         G4UHype for G4Hype, not yet activated, pending fixes in VecGeom.</LI>
0953     </UL></LI>
0954 <LI><B>Volumes</B>
0955     <UL>
0956     <LI>G4GeometryWorkspacePool: implemented CleanUpAndDestroyAllWorkspaces(),
0957         to be called by worker threads. Removed declaration (i.e. not
0958         implemented) of protected method ReleaseAndDestroyWorkspace().
0959         Use DLL export flag for static thread-local symbol of the workspace.</LI>
0960     </UL></LI>
0961 </UL>
0962 
0963 <A NAME="glob-notes">
0964 <H3><I>Global</I></H3></A>
0965 <UL>
0966 <LI>New structure for G4coutDestination functionality with division
0967     between sink and filter.</LI>
0968 <LI>Removed obsolete internal definition of abs() in templates.hh.</LI>
0969 <LI>Added function G4RandomDirection(G4double cosTheta) to
0970     G4RandomDirection.hh. Addressing enhancement request
0971     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1961">#1961</A>.
0972     Use more performant G.Marsaglia (1972) algorithm for G4RandomDirection.</LI>
0973 <LI>G4TWorkspacePool: implemented CleanUpAndDestroyAllWorkspaces(),
0974     and Recycle() to be called by worker threads.</LI>
0975 <LI>Added G4RandomRadiusInRing(), G4RandomPointInEllipse(),
0976     G4RandomPointOnEllipse() and G4RandomPointOnEllipsoid() to functions
0977     collection in G4RandomTools utility class.</LI>
0978 <LI>Updated date of release for 10.4.</LI>
0979 </UL>
0980 
0981 <A NAME="greps-notes">
0982 <H3><I>Graphical Representations</I></H3></A>
0983 <UL>
0984 <LI>Added implementation of G4Colour::operator+=(), as required by RayTracer
0985     in its use of G4THitsMap. Adding colours, without also taking brightness
0986     into account, does not make sense, so made it synonymous with operator=(),
0987     which is equivalent to covering the old colour with the new, like a coat
0988     of paint.</LI>
0989 <LI>Rationalised code for colour map: made map no longer thread-local, as not
0990     needed, can be used from non-master threads; moved InitialiseColourMap()
0991     from private to public.</LI>
0992 <LI>G4Colour: added Set functions for components.</LI>
0993 <LI>HepPolyhedron: reverted default number of line segments per circle, from
0994     72 to 24 (72 lines per circle cause troubles in the Boolean Processor).</LI>
0995 <LI>G4AttDefStore: made it shared (i.e., no longer thread-local).</LI>
0996 <LI>Removed G4VisExtent::NullExtent.</LI>
0997 </UL>
0998 
0999 <A NAME="had-notes">
1000 <H3><I>Hadronic Processes</I></H3></A>
1001 <UL>
1002 <LI><B>Cross sections</B>
1003     <UL>
1004     <LI>G4NeutrinoElectronNcXsc: new class for the cross-section of elastic
1005         neutrino-electron scattering, for use in dark matter and neutrino
1006         experiments. Note that the cross section is small: ~10^-44 - 10^-42
1007         cm^2 in the neutrino energy range 1-100 GeV.</LI>
1008     <LI>G4NeutrinoElectronCcXsc: new class for the cross-section of
1009         neutrino-electron inelastic interaction (charge current).</LI>
1010     <LI>G4NeutronElectronElXsc: new class for the cross-section of neutrons on
1011         atomic electrons. Ultra-relativistic approximation of the Rosenbluth
1012         formula is used, as more relevant for detector applications.
1013         In particular, for dark matter searches, this process can produce
1014         electrons with high energy, if there are high energy neutrons (more
1015         than 10 GeV).</LI>
1016     <LI>Added possibility of biasing these new cross-sections.</LI>
1017     <LI>Added G4MuNeutrinoNucleusTotXsc class implementing total muon
1018         (anti)neutrino-nucleus cross-sections in the simplified form as
1019          A-multiplied nu_mu-nucleon cross-sections.</LI>
1020     <LI>Added method AddDataSet(G4VCrossSectionDataSet*,size_t), where the second
1021         argument specifies the priority of the data set in list.</LI>
1022     <LI>G4ElectroNuclearCrossSection: fixed minor memory leak.</LI>
1023     </UL></LI>
1024 <LI><B>Management</B>
1025     <UL>
1026     <LI>G4HadronicProcess: correctly check charge and energy balance in the
1027         case of e- internal conversion; improved initialisation for
1028         constructors.</LI>
1029     <LI>G4HadronicProcessStore: in DumpHtml(), added printing for generic ion;
1030         added loop in PrintHtml() to print descriptions of "extra" processes;
1031         in Clean(), added exception to prevent deletion of G4RadioactiveDecay
1032         already deleted somewhere else.</LI>
1033     <LI>Added fMuAtomicCapture in G4HadronicProcessType.</LI>
1034     </UL></LI>
1035 <LI><B>Stopping</B>
1036     <UL>
1037     <LI>Define G4MuonMinusAtomicCapture as a process at rest.
1038         Added G4MuonicAtomDecay class.</LI>
1039     </UL></LI>
1040 <LI><B>Utilities</B>
1041     <UL>
1042     <LI>G4NuclearPolarization: added extra members and updated for correlated
1043         gamma emission.</LI>
1044     <LI><U>Models Utilities</U>:
1045         <UL>
1046         <LI>G4Fragment: added non-const method NuclearPolarization() allowing to
1047             get non-const pointer to the G4NuclearPolarization object.
1048             Do not delete G4NuclearPolarization object; from now on, other
1049             classes are responsible for its allocation/deletion.</LI>
1050         <LI>G4NuclearPolarizationStore: new class to handle G4NuclearPolarization
1051             objects for correlated gamma emission simulation.
1052             Use fix length array instead of vector of pointers.</LI>
1053         <LI>G4SampleResonance: added protection for rare cases when a wide parent
1054             resonance, with a very small dynamic mass, decays into another wide
1055             (daughter) resonance.</LI>
1056         <LI>G4LegendrePolynomial: apply caching to speed up calculations.</LI>
1057         <LI>Removed debug printout in G4NuclearPolarizationStore desctructor.</LI>
1058         </UL></LI>
1059     </UL></LI>
1060 <LI><B>Abla</B>
1061     <UL>
1062     <LI>Updated code to new C++ version of ABLA-07.</LI>
1063     </UL></LI>
1064 <LI><B>Abrasion</B>
1065     <UL>
1066     <LI>G4WilsonAbrasionModel: removed dependence on G4FermiBreakUp,
1067         G4Evaporation, and G4MultiFragmentation; not needed redefinition
1068         of default objects. Fixed case of crash at initialisation.</LI>
1069     <LI>Fixed memory leak in G4WilsonAbrasionModel; use nullptr instead of NULL.</LI>
1070     </UL></LI>
1071 <LI><B>Bertini Cascade</B>
1072     <UL>
1073     <LI>G4CascadeParameters: use G4HadronicDeveloperParameters as a tool for
1074         sharing parameters between developers and experienced users.
1075         Need to set enviroment variable of "TEST_HDP" for testing the tool.
1076         Added FERMI_SCALE and RAD_TRAILING to changeable parameters from HDP.
1077         Lower and upper limits of changeable parameters from HDP are registered.
1078         Removed protection for using G4HadronicDeveloperParameters.</LI>
1079     <LI>G4CascadeInterface: removed unnecessary rotation to z-axis in
1080         createBullet() and ApplyYourself(), which may cause irreproducibility.
1081         Addressing problem report
1082         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1964">#1990</A>.</LI>
1083     </UL></LI>
1084 <LI><B>Binary Cascade</B>
1085     <UL>
1086     <LI>Setting creator model for particles it creates; pass through time info.</LI>
1087     </UL></LI>
1088 <LI><B>De-excitation</B>
1089     <UL>
1090     <LI>G4LevelReader, G4LevelManager, G4PhotonEvaporation: for stable states 
1091         (ground state isotopes) life time is set to "-1"; changed all checks 
1092         accordingly. Added extra G4Exception in file reading method.</LI>
1093     <LI>G4LevelReader, G4NuclearLevelData: removed code for reading of old 
1094         data structure.</LI>
1095     <LI>G4LevelReader, G4LevelManager, G4NucLevel, G4PhotonEvaporation: use
1096         G4double for energy and life time.
1097         Addressing problem report
1098         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1964">#1964</A>.</LI>
1099     <LI>G4LevelReader: by default issue G4Exception only for Z<6,
1100         Fixed fill of 'mpRatio' parameter of a transition (was always zero
1101         before). Read updated data structure where "correlated_gamma"
1102         directory is located.
1103         Always create G4LevelManager for stable isotopes including light
1104         stable p, d, t, He3, He4.</LI>
1105     <LI>G4LevelManager: removed obsolete method.</LI>
1106     <LI>G4NuclearLevelData, G4NucLevel, G4LevelManager: added possibility to
1107         print nuclear level information into output stream; interface cleanup
1108         and fixed reading of user data file.</LI>
1109     <LI>G4DeexPrecoParameters: set default time threshold for isomer production
1110         to 1000 seconds (if radioactive decay is enabled this time threshold
1111         is set to the limit of the G4NuclideTable, which is of 1 microsecond);
1112         this allows to limit the extra isomers which would be created when
1113         radioactive decay is not included in the physics-list.
1114         Disable possibility to read old data; throw fatal exception soon if
1115         the first file in the dataset cannot be read.
1116         Restore Get/SetInternalConversionFlag() methods; flag set to true by
1117         default. Use flag for internal conversion in G4PhotonEvaporation; for
1118         radioactive decay do not sample transition if no transition information
1119         is available.
1120         Added dummy variant of de-excitation when excitation energy transformed
1121         to kinetic energy of a fragment and no secondaries are produced; added
1122         also method to disable both precompound and de-excitation sampling.</LI>
1123     <LI>G4DeexPrecoParameters, G4DeexParametersMessenger: added UI commands 
1124         for configuration of de-excitation module and radioactive decay.</LI>
1125     <LI>G4ExcitationHandler, fermi_breakup, photon_evaporation modules: 
1126         removed obsolete FermiBreakUp model and corresponding classes.
1127         Implemented dummy variant of de-excitation.</LI>
1128     <LI>G4ExcitationHandler, G4DeexPrecoParameters: define index of e- internal
1129         conversion and propagate it to reaction products.</LI>
1130     <LI>G4ExcitationHandler, G4NeutronRadCapture: propagate index of e- internal
1131         conversion to base class G4HadronicProcess.</LI>
1132     <LI>G4ExcitationHandler: added protection from incomplete initialisation
1133         when external evaporation instance is defined; improved debug printout.</LI>
1134     <LI>G4NuclearLevelData: synchronise the list of isotopes with the 
1135         current set of data files; extra rare isotopes are allowed; 
1136         Z max is extended from 102 to 117.
1137         Hold and have access method to G4PairingCorrection and G4ShellCorrection
1138         classes; made it a fully thread safe singleton.</LI>
1139     <LI>G4PhotonEvaporation: added handling of nuclear polarization for
1140         simulation of correlated gamma emission. Fixed problem of data race.
1141         Use new parameters to enable/disable correlated gamma.</LI>
1142     <LI>G4FermiFragmentsPoolVI: fixed selection of decay chains for
1143         unphysical fragments, which happens when used by INCL++.</LI>
1144     <LI>G4VEmissionProbability: added private method for general treatment 
1145         of PDF functions.</LI>
1146     <LI>G4EvaporationProbability, G4CompetitiveFission, G4CompetitiveFission,
1147         G4GEMProbability: modified according to updated base class.</LI>
1148     <LI>G4EvaporationChannel: make choice of minimal evaporation energy
1149         Z-dependent.</LI>
1150     <LI>G4FermiFragmentsPoolVI: improved handling of internal data structure.</LI>
1151     <LI>G4PolarizationTransition: added warning  in GenerateGammaCosTheta() and
1152         GenerateGammaPhi() when polarization entries are empty and return
1153         isotropic random in that case. Fixes rare crash.
1154         Added Jason warning of zero coefficient.
1155         Fix to avoid integer overflow in the argument of sqrt(), and caching
1156         to speed up the calculations. Use G4double, and std::sqrt().
1157         Added new interface SampleGammaTransition(), which replaced 4 old
1158         methods. Use this new method in G4GammaTransition.
1159         Added protections inside GenerateGammaPhi() to avoid reading outside
1160         vector; reduced sampling loop from 1000 to 100.</LI>
1161     <LI>G4GammaTransition: temporary workaround to avoid very long computations,
1162         by skipping polarization if initial state has angular momentum 2J > 6.
1163         Do not sample nuclear polarization if initial state has momentum
1164         2J > 12.</LI>
1165     <LI>G4PhotonEvaporation, G4GammaTransition, G4PolarizationTransition:
1166         improved debug printout. Cleanup creation and deletion of
1167         G4NuclearPolarization objects.</LI>
1168     <LI>G4NeutronRadCapture, G4StatMFChannel, G4StatMFFragment, G4GEMChannel,
1169         G4CompetitiveFission, G4FermiPhaseSpaceDecay: use G4RandomDirection()
1170         for better CPU performance.</LI>
1171     <LI>G4PairingCorrection, G4ShellCorrection: no longer singletons.</LI>
1172     <LI>G4WilsonAblationModel: fixed case of crash at initialisation.</LI>
1173     <LI>Fixed Coverity defects.</LI>
1174     </UL></LI>
1175 <LI><B>Elastic scattering</B>
1176     <UL>
1177     <LI>G4NeutrinoElectronNcModel: new class for the final-state model of
1178         elastic neutrino-electron scattering, for use in dark matter and
1179         neutrino experiments.</LI>
1180     <LI>G4NeutronElectronElModel: new model for neutron-electron elastic
1181         scattering. It produces recoil electrons resulting in visible energy
1182         deposition. The model is based on ultra-relativistic approximation of
1183         the Rosenbluth formula, since recoil electrons will have enough energy
1184         to be detected in the case of high energy neutrons, roughly > 1 GeV.</LI>
1185     <LI>Fixed intialisation of data in G4NuclNuclDiffuseElastic constructor
1186         responsible for cases of zero scattering angle and no elastically
1187         scattered target particle. Addressing problem report
1188         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1979">#1979</A>.
1189         Simplified implementation to fix reproducibility violations in ion-ion
1190         elastic scattering. On-the-fly sampling of the nucleus-nucleus elastic
1191         scattering is done according to the Coulomb law in the limits
1192         0 < theta < thetaC, where thetaC is the Coulomb grazing angle;
1193         this means that hadron elastic works like Coulomb in the limits.</LI>
1194     </UL></LI>
1195 <LI><B>Electromagnetic Dissociation</B>
1196     <UL>
1197     <LI>G4EMDissociation: removed unnecessary explicit instantiation of
1198         FermiBreakUp, Evaporation and MultiFragmentation models.</LI>
1199     </UL></LI>
1200 <LI><B>Gamma-Nuclear</B>
1201     <UL>
1202     <LI>New module including G4LENDorBERTModel combined model; LEND is the first
1203         choice as final state generator (for gamma energies below 20 MeV); 
1204         if no LEND data available for a target, then BERT model is used as
1205         the final state generator of the reaction.</LI>
1206     </UL></LI>
1207 <LI><B>High Energy Theoretical</B>
1208     <UL>
1209     <LI>G4ParticleTypeConverter: all methods become const.</LI>
1210     <LI>G4ConcreteMesonBaryonToResonance: fixed memory leak. Adding static
1211         objects with const only methods.</LI>
1212     <LI>G4TheoFSGenerator: pass through creator model and time.</LI>
1213     </UL></LI>
1214 <LI><B>INCLXX</B>
1215     <UL>
1216     <LI>Updated to INCL++ v6.0.</LI>
1217     <LI>Implementation of strangeness.</LI>
1218     <LI>Few nucleon removal improved; improved separation energies and
1219         added hypercluster emission.</LI>
1220     <LI>Fixed bugs in eta/omega channels.</LI>
1221     <LI><U>Note</U>: native Geant4 de-excitation module is used by default,
1222         but ABLA can be used as alternative.</LI>
1223     </UL></LI>
1224 <LI><B>Lend</B>
1225     <UL>
1226     <LI>Added G4LENDCombinedModel class.</LI>
1227     <LI>G4LENDCrossSection: IsIsoApplicable() returns false for the case of
1228         target not existing.</LI>
1229     <LI>G4LENDModel: ApplyYourself() returns unchanged final state for the case
1230         of target not existing, with warning message.</LI>
1231     <LI>Fixed bug in G4LENDElastic.</LI>
1232     <LI>Added DumpLENDTargetInfo() method. Reduced default (VerboseLevel=0) output
1233         from models and cross-sections.</LI>
1234     <LI>Fixed gamma(2.2MeV) emission from n captured by H.</LI>
1235     <LI>Fixed typo in names of cross-section data set.</LI>
1236     </UL></LI>
1237 <LI><B>Lepto-nuclear</B>
1238     <UL>
1239     <LI>G4NeutrinoElectronCcModel: new class for the final-state model of
1240         neutrino-electron inelastic interaction (charge current).</LI>
1241     </UL></LI>
1242 <LI><B>Particle High Precision</B>
1243     <UL>
1244     <LI>Added NRESP71 model for n on C reaction.</LI>
1245     <LI>Fixed bug in coherent elastic scattering.</LI>
1246     <LI>Changed tolerance value and implementation in calculation of
1247         KallbachZero, to overcome cases of FPE errors.</LI>
1248     <LI>Code cleanup. Fixed Coverity defects.</LI>
1249     </UL></LI>
1250 <LI><B>Parton-String</B>
1251     <UL>
1252     <LI>G4ExcitedStringDecay: introduced smearing of resonance masses (as
1253         requested by the PANDA Collaboration).</LI>
1254     <LI>G4FTFAnnihilation: improved anisotropy of secondary pions in annihilation.</LI>
1255     <LI>G4DiffractiveExcitation: added protection and improved kinematics.</LI>
1256     <LI>G4LundStringFragmentation: a dependence of <Pt> on S is introduced only
1257         for AntiP P annihilations.</LI>
1258     <LI>Added FTF/diffraction configuration interface for baryon projectile:
1259         using G4HadronicDeveloperParameters as a tool for sharing parameters
1260         between developers and experienced users.</LI>
1261     <LI>Minor code cleanup.</LI>
1262     </UL></LI>
1263 <LI><B>Pre-equilibrium</B>
1264     <UL>
1265     <LI>G4PreCompoundModel: in ApplyYourself(), pass creator model and time.
1266         Added 'isActive' flag, which can be defined via G4DeexPrecoParameters
1267         interface.</LI>
1268     <LI>G4PreCompoundEmission: use G4RandomDirection() if angular sampling
1269         is disabled.</LI>
1270     </UL></LI>
1271 <LI><B>QMD Reaction</B>
1272     <UL>
1273     <LI>Set type of de-excitation channels to 'combined'.</LI>
1274     </UL></LI>
1275 <LI><B>Radioactive Decay</B>
1276     <UL>
1277     <LI>G4RadioactiveDecay: in BuildPhysicsTable(), removed all settings of photon 
1278         evaporation; now done in G4PhotonEvaporation and in physics list.
1279         Modified LoadDecayTable() to divide the branching ratio of a specific
1280         decay channel read in the database by 100 to avoid that it is higher
1281         than 1 as prevented by G4VDecayChannel.
1282         This branching ratio is given in pc in the database while it should be
1283         smaller than 1 when setting it by G4VDecayChannel::SetBR() method.
1284         Added method ProcessDescription().
1285         Added StreamInfo() method for printing radioactive decay parameters;
1286         call this method in BuildPhysicsTable().
1287         Disabled correlated gamma and removed unused EM headers.
1288         In DecayIt() use GetPDGStable() in the variance reduction branch, to
1289         allow the stable nucleus at the end of the decay chain to be added to
1290         the final state particle stack; addresses problem report
1291         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2007">#2007</A>.</LI>
1292     <LI>G4ITDecay: removed all manipulations of nuclear polarization in DecayIt(),
1293         now done in G4PhotonEvaporation.</LI>
1294     <LI>G4ECDecay: set the probability for selection of L and M subshells to
1295         PL1/PL=0.995, PL2/PL=0.005, PM1/PM=0.995 and PM2/PM=0.005. Close to Fe55
1296         case.</LI>
1297     <LI>New classes G4Radioactivation and G4RadioactivationMessenger for 
1298         biased use only. New classes G4RadioactiveDecayBase and
1299         G4RadioactiveDecayBaseMessenger for unbiased use only.</LI>
1300     <LI>Changed name of classes G4RadioactiveDecayRateVector to
1301         G4RadioactiveDecayChainsFromParent and G4RadioactiveDecayRate to 
1302         G4RadioactiveDecayRatesToDaughter.</LI>
1303     <LI>Requiring new data set RadioactiveDecay-5.2.</LI>
1304     <LI><U>Note</U>: when radioactive decay is activated, atomic de-excitation
1305         (in particular fluorescence and Auger emission) are switched on
1306         by default (overriding any EM default settings).</LI>
1307     </UL></LI>
1308 </UL>
1309 
1310 <A NAME="interc-notes">
1311 <H3><I>Intercoms</I></H3></A>
1312 <UL>
1313 <LI>Use DLL export flags for static symbols in classes. Removed inline
1314     specification for two static methods in G4UImanager.</LI>
1315 </UL>
1316 
1317 <A NAME="materials-notes">
1318 <H3><I>Materials</I></H3></A>
1319 <UL>
1320 <LI>Added DAVIS model for optical surfaces. Use the new model with reflection
1321     and the capability of transmitting photons based on LUTs.</LI>
1322 <LI>G4NistManager, G4NistElementBuilder, G4NistMaterialBuilder: fixed potential
1323     thread safety issues when building element or material.</LI>
1324 <LI>G4Material, G4IonisParMat: fixed definition of state of a material,
1325     when a material is constructed via based material.
1326     Addressing problem report
1327     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1997">#1997</A>.</LI>
1328 <LI>G4Material: improved printout; always print temperature and pressure 
1329     independently on the state of the material.
1330     Apply mutex lock when defining material properties table.</LI>
1331 <LI>Added class G4MaterialPropertiesIndex defining indices and names for
1332     G4MaterialProperties; use the enum type instead of G4String for keys in the
1333     material (constant) property table maps and provide necessary accessors and
1334     interfaces. Keep property and constant property maps and public methods in
1335     G4MaterialPropertiesTable; these methods, GetPropertiesMap() and
1336     GetPropertiesCMap() become obsolete from the next release; GetPropertyMap()
1337     and GetConstPropertyMap() should be used instead.</LI>
1338 <LI>G4IonisParMat: added possibility of defining custom density effect parameters
1339     and another possibility to request parameters of a base material, which may
1340     have not exactly the same atomic composition.
1341     Set lock when user defines density effect parameters.</LI>
1342 <LI>G4MaterialPropertiesTable: renamed SetGROUPVEL() to CalculateGROUPVEL()
1343     and moved it from GetProperty() to AddProperty() to resolve a MT scaling
1344     problem. SetGROUPVEL() will be removed in next major release.</LI>
1345 </UL>
1346 
1347 <A NAME="part-notes">
1348 <H3><I>Particles</I></H3></A>
1349 <UL>
1350 <LI>Updated properties of particles according to PDG-2017.</LI>
1351 <LI>Fixed inconsistency between enum definition of G4FloatLevelBase 
1352     and initialization of G4Ions::G4FloatLevelBase data.
1353     Addressing problem report
1354     <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1968">#1968</A>.</LI>
1355 <LI>Fixed leak at construction for data allocated through G4ParticleDefinition
1356     for the sub-instance offset in the splitter. Added static method Clean()
1357     to G4ParticleDefinition, called as last in the destructor of
1358     G4ParticleTable.</LI>
1359 <LI>Set life time to -1.0 for all stable particles.</LI>
1360 <LI>Fixed problem of G4DecayTable::SelectADecayChannel() in case of sum of BR
1361     is not equal to 1.0.</LI>
1362 <LI>Added protection for BR<0 or BR>1 in G4VDecayChannel.</LI>
1363 <LI>Introduced G4GenericMuonicAtom class, used only by G4IonTable and not for
1364     tracking; processes for G4MuonicAtoms should be registered with this class.
1365     Revised G4MuonicAtomHelper, added G4MuonicAtom support.</LI>
1366 <LI>Requiring new data-set G4ENSDFSTATE-2.2.</LI>
1367 <LI>Fixed Coverity defects.</LI>
1368 </UL>
1369 
1370 <A NAME="pers-notes">
1371 <H3><I>Persistency</I></H3></A>
1372 <UL>
1373 <LI>GDML:
1374     <UL>
1375     <LI>Fixed schema for replicas along angular axis.
1376         Addressing problem report\
1377         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1917">#1917</A>.</LI>
1378     <LI>Added possibility to specify material properties tables for optical
1379         surfaces. Addressing enhancement request
1380         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1947">#1947</A>.</LI>
1381     <LI>Added ability to export limited number of levels in the geometry
1382         hierarchy, by specifying this through the
1383         G4GDMLParser::SetMaxExportLevel(G4int) method.</LI>
1384     <LI>Enabled import/export of G4MultiUnion as a native type, no longer
1385         bound to USolids module only.</LI>
1386     <LI>Added commands to G4GDMLMessenger for enable/disable stripping of names
1387         for reading and for appending or not pointers to names for writing.</LI>
1388     <LI>Handle all possible variants for G4TwistedTubs, included asymmetric ones.
1389         Updated TwistedtubsRead/Write() in G4GDMLRead/WriteSolids accordingly.
1390         Fixed export of shape to correctly export end-inner/outer radii.</LI>
1391     <LI>Added handling of null pointer to material in case of parallel geometries.
1392         Addressing problem report
1393         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1984">#1984</A>.</LI>
1394     <LI>Use GetPropertyMap() and GetConstPropertyMap() instead of GetPropertiesMap()
1395         and GetPropertiesCMap() in G4GDMLWriteMaterials and G4GDMLWriteSolids.</LI>
1396     <LI>New GDML schema version 3.1.6 (files: gdml.xsd, gdml_solids.xsd).
1397         Added general optical surface properties block to schema.
1398         Extended schema for coping with all possible parameters for
1399         G4TwistedTubs shape.</LI>
1400     </UL></LI>
1401 </UL>
1402 
1403 <A NAME="lst-notes">
1404 <H3><I>Physics lists</I></H3></A>
1405 <UL>
1406 <LI><B>Builders</B>:
1407     <UL>
1408     <LI>New design with base class for all builders, to properly clean memory
1409         in MT mode; added c++11 compatibility; G4BuilderInterface renamed to
1410         G4PhysicsBuilderInterface and moved to run category. Removed unused
1411         class G4TheoModelFactory.
1412     <LI>OrderingParameterTable: disabled PostStep multiple-scattering.</LI>
1413     <LI>G4NeutronLENDBuilder: modified setting for selection of target data.</LI>
1414     </UL></LI>
1415 <LI><B>Constructors</B>:
1416     <UL>
1417     <LI><U>decay</U>
1418         <UL>
1419         <LI>G4RadioactiveDecayPhysics: use a new method AddPhysics() instead
1420             of old AddMsc(). Set time limit for the de-excitation module
1421             the same as in G4NuclideTable, so only states from this table will
1422             be created as ions.
1423             Defined new set of default parameters; enabled only X-ray emission
1424             for atomic de-excitation; internal conversion sampling in nuclear
1425             de-excitation is left fully enabled. Enabled Auger cascade.</LI>
1426         <LI>G4MuonicAtomDecayPhysics use new G4MuonicAtomDecay.</LI>
1427         </UL></LI>
1428     <LI><U>electromagnetic</U>:
1429         <UL>
1430         <LI>G4EmStandardPhysics_option4: set final step for all particles to
1431             10 um (except for GenericIon). Note: expected to slightly slow down
1432             the simulation but increase accuracy of range simulation.
1433             Changed msc model for e-/e+ below 100 MeV from (Urban +
1434             UseDistanceToBoundary stepping) to (GS + Mott-correction + error-free
1435             stepping). Use different G4NuclearStopping instance for G4GenericIon
1436             and other baryons. Enable Auger cascade.
1437             Set default HEP settings of the GS physics constructor.</LI>
1438         <LI>G4EmStandardPhysicsWVI: use G4WentzelVIRelModel and
1439             G4hCoulombScatteringModel to take into account relativistic
1440             corrections.</LI>
1441         <LI>G4EmStandardPhysics: use RayleighScattering and
1442             LivermorePhotoElectricModel.
1443             Use new parameter SetLateralDisplacementAlg96().</LI>
1444         <LI>G4EmStandardPhysicsGS: use most accurate settings for the Goudsmit-
1445             Saunderson multiple-scattering model (error-free stepping and
1446             Mott-correction).
1447             Set default HEP settings of the GS physics constructor.</LI>
1448         <LI>G4EmLivermorePolarizedPhysics: use upper limit 100 TeV, do not apply
1449             high energy limit 1 GeV to gamma processes.</LI>
1450         <LI>G4EmLivermorePhysics, G4EmPenelopePhysics: code cleanup.</LI>
1451         <LI>G4EmStandardPhysicsSS: use G4hCoulombScatteringModel to take into 
1452             account relativistic corrections.</LI>
1453         <LI>G4EmParticleList: new class with the list of particles for which EM
1454             processes are instantiated</LI>
1455         <LI>G4EmModelActivator: use new access methods RegionsPhysics() and
1456             TypesPhysics() instead of RegionsMsc() and TypesMsc().
1457             Allow to use both "PAIphoton" and "pai_photon" names when
1458             activating PAIphoton model.</LI>
1459         <LI>All EM physics constructors now do not share multiple and single
1460             scattering processes between proton and anti_proton.
1461             All now using G4EmParticleList.</LI>
1462         <LI>All DNA physics constructors use gamma configuration as in Livermore;
1463             fixed usage of SetEmModel() and AddEmModel().</LI>
1464         <LI>Added G4EmDNAPhysics_option6 constructor.
1465             Added elastic scattering process for ions to all DNA constructors.</LI>
1466         <LI>G4EmDNAPhysicsActivator: apply solatation model below 7.4 eV
1467             (was 4 eV) in order to absorb low-energy e- and coherently initialise
1468             models; fix for hydrogen and for helium and generic ions; code
1469            cleanup.</LI>
1470         <LI>Added Geant4-DNA stationary constructors.</LI>
1471         <LI>Fixed Coverity defects.</LI>
1472         </UL></LI>
1473     <LI><U>factory</U>:
1474         <UL>
1475         <LI>Added Geant4-DNA stationary constructors.</LI>
1476         </UL></LI>
1477     <LI><U>gamma_lepto_nuclear</U>:
1478         <UL>
1479         <LI>G4EmExtraPhysics, G4EmMessenger, G4BertiniElectroNuclearBuilder:
1480             added option and UI command to enable/disable e+- nuclear process.
1481             Added extra UI commands to define cross-section factors for rare
1482             processes (requirement of ShiP experiment for dark matter search).</LI>
1483         <LI>Added G4LENDBertiniGammaElectroNuclearBuilder, which uses LEND 
1484             for low energy gamma-nuclear interaction. Added option and UI command
1485             to use the new builder in the physics constructor of EmExtraPhysics.</LI>
1486         </UL></LI>
1487     <LI><U>hadron_elastic</U>:
1488         <UL>
1489         <LI>G4ThermalNeutrons: new class for addition of thermal neutron
1490             scattering below 4 eV (backported from CMS simulation).</LI>
1491         <LI>G4HadronHElasticPhysics: use G4NuclNuclDiffuseElastic for the elastic
1492             scattering of light and generic ions (this is possible now because
1493             the latest version of G4NuclNuclDiffuseElastic satisfies event
1494             reproducibility).</LI>
1495         <LI>G4HadronElasticPhysicsLEND: modified setting for selection of
1496             target data. Dump LEND target information.</LI>
1497         </UL></LI>
1498     <LI><U>hadron_inelastic</U>:
1499         <UL>
1500         <LI>G4HadronPhysicsFTFQGSP_BERT: new hadron physics similar to
1501             G4HadronPhysicsFTFP_BERT, but with QGS fragmentation of strings
1502             (instead of the Lund string fragmentation).</LI>
1503         <LI>Refactored code for FTFP_BERT and register physics builders.</LI>
1504         <LI>Code refactoring of QGSP_BERT, QGSP_BIC variants.</LI>
1505         <LI>Added G4HadronPhysicsShieldingLEND.</LI>
1506         <LI>Fix registration of cross-section data set in G4HadronPhysicsShielding.</LI>
1507         </UL></LI>
1508     <LI><U>limiters</U>:
1509         <UL>
1510         <LI>G4StepLimiterPhysics: fixed thread safety issue; removed potential
1511             race condition.</LI>
1512         </UL></LI>
1513     </UL></LI>
1514 <LI><B>Lists</B>:
1515     <UL>
1516     <LI>FTFQGSP_BERT: new experimental physics list which is similar to
1517         FTFP_BERT, but with QGS fragmentation of strings (instead of the Lund
1518         string fragmentation).
1519         Added the new list to G4RegisterPhysLists, to make available to
1520         G4PhysListFactory.</LI>
1521     <LI>Added messenger with two commands to G4PhysListFactory to enable
1522         radioactive decay or optical physics.</LI>
1523     <LI>Added ShieldingLEND as a new physics list.</LI>
1524     <LI>Fixed problem in LBE physics-list for radio-active decay model.
1525         Fixed initialisation of G4RadioactiveDecay.</LI>
1526     <LI>Added __SS option to g4alt::G4PhysListFactory.</LI>
1527     <LI>Allow g4alt factory to use bare physics constructor names as things to
1528         replace/add as well as the shorter predefined extensions (e.g."EMX").</LI>
1529     <LI>Code formatting.</LI>
1530     </UL></LI>
1531 <LI><B>Util</B>:
1532     <UL>
1533     <LI>Fixed address of site for downloading LEND data. Improved instructions
1534         about download file and environment variable for the LEND data.</LI>
1535     </UL></LI>
1536 </UL>
1537 
1538 <A NAME="run-notes">
1539 <H3><I>Run</I></H3></A>
1540 <UL>
1541   <LI><U>New functionalities for MT</U>:
1542   <UL>
1543   <LI>Modified design of physics-lists for allowing cleanup of memory in MT
1544       mode. Introduced new class G4PhysicsBuilderInterface which all
1545       physics-lists builders inherit from.
1546       Worker threads now call G4VUserPhysicsList::TerminateWorker() to clean up
1547       physics-list thread-specific objects. G4VPhysicsConstructor holds list of
1548       TLS builders.</LI>
1549   <LI>G4WorkerThread: use CleanUpAndDestroyAllWorkspaces() from workspace
1550       pools in DestroyGeometryAndPhysicsVector(). Minor code cleanup.</LI>
1551   <LI>Delete G4TransportationManager, G4FieldManagerStore, G4GeometryManager
1552       and G4PathFinder singletons in G4RunManagerKernel, clearing static leaks
1553       at exit.</LI>
1554   <LI>Transform G4VPhysicsConstructor split-class to adopt pointers.</LI>
1555   <LI>G4MTRunManager, G4WorkerRunManager: protect against null pointer for
1556       SetUserAction() method.</LI>
1557   <LI>Properly delete G4RNGHelper singleton object at the end of program.</LI>
1558   </UL></LI>
1559 <LI><U>Other changes (non MT related)</U>:
1560   <UL>
1561   <LI>Prevent adding multiple times the same sensitive-detector to the same
1562       logical volume via G4VUserDetectorConsturction::SetSensitiveDetector().
1563       In case skip and issue a warning.</LI>
1564   <LI>G4RunManager: notify visualization-manager when world volune is
1565       re-initialized.</LI>
1566   <LI>Added MuAtomicCapture and DecayMuAtom to G4PhysicsListHelper.</LI>
1567   </UL></LI>
1568 </UL>
1569 
1570 <A NAME="track-notes">
1571 <H3><I>Track &amp; Tracking</I></H3></A>
1572 <UL>
1573 <LI>G4VelocityTable: use G4ThreadLocalSingleton pattern for proper instance
1574     deletion at the end of run; use G4Log and G4Exp consistently.</LI>
1575 <LI>Added a case, protected by #ifdef, when a particle is a muonic atom
1576     in G4SteppingManager.</LI>
1577 </UL>
1578 
1579 <A NAME="vis-notes">
1580 <H3><I>Visualization</I></H3></A>
1581 <UL>
1582 <LI><B>Management</B>
1583     <UL>
1584     <LI>Deprecated SetUserAction(). Use RegisterRunDurationUserVisAction().</LI>
1585     <LI>Replaced G4VisExtent::NullExtent by G4VisExtent() throughout.</LI>
1586     <LI>Added UI command '/vis/scene/add/gps'.</LI>
1587     <LI>Improved commands guidance.</LI>
1588     <LI>Fix to "/vis/viewer/interpolate" for file writing viewers.</LI>
1589     <LI>Added G4VVisCommand::ConvertToColour. Now used throughout vis commands.</LI>
1590     <LI>Added G4VVisCommand::ConvertToColourGuidance. This avoids having to
1591         repeat it for every command that uses it.</LI>
1592     <LI>"/vis/viewer/save": added .g4view if an extension is not supplied by
1593         the user.</LI>
1594     <LI>"/vis/viewer/set/defaultTextColour": changed default to blue and opaque
1595         to agree with default text vis attributes.</LI>
1596     <LI>Added user-selected colour to "/vis/scene/add/gps".</LI>
1597     <LI>Implemented UI command /vis/drawOnlyKeptEvents.
1598         To draw selected events, the user should set this flag, then in a user
1599         action select the event to keep from G4EventManager according to a
1600         certain criterion.</LI>
1601     <LI>Improved end of run printing when /vis/disable.</LI>
1602     <LI>Protect /vis/enable issued before run is established.</LI>
1603     <LI>Initialise G4Colour colour map.</LI>
1604     <LI>Reverted default number of line segments per circle to 24.</LI>
1605     </UL></LI>
1606 <LI><B>Modeling:</B>
1607     <UL>
1608     <LI>Added class G4GPSModel for visualisation of General Particle Source.
1609         Can be used with new UI command '/vis/scene/add/gps'.
1610         Added user-selectable colour.</LI>
1611     <LI>Improved checking of G4PhysicalVolumeModel.</LI>
1612     <LI>Added G4ModelingParameters::PVPointerCopyNo.</LI>
1613     <LI>Improved arrow drawing. Reduced default 'lineSegmentsPerCircle' to
1614         6 for rapid yet adequate drawing. Similar improvement to magnetic
1615         field drawing.</LI>
1616     <LI>Default can be changed with new command:
1617         /vis/set/arrow3DLineSegmentsPerCircle.</LI>
1618     </UL></LI>
1619 <LI><B>HepRep</B>
1620     <UL>
1621     <LI>Fixed Coverity defect.</LI>
1622     </UL></LI>
1623 <LI><B>OpenGL</B>
1624     <UL>
1625     <LI>G4OpenGLViewer: minor improvement to picking (suppressing "no hits"
1626         message). Code cleanup.</LI>
1627     <LI>G4OpenGLXViewer: Reverted to XA_RGB_BEST_MAP.</LI>
1628     <LI>Fixed picking on MacOS, which was not working for retina display
1629         due to a screen factor *2.</LI>
1630     <LI>Refine content of output of picking.</LI>
1631     </UL></LI>
1632 <LI><B>Raytracer</B>
1633     <UL>
1634     <LI>Changed back to XA_RGB_BEST_MAP (seems OK now).</LI>
1635     <LI>Simplified passing of ray-tracer pointer.</LI>
1636     <LI>Fixed a bug whereby the jpeg for RayTracer was always 600x600.</LI>
1637     <LI>Expanded filename numbering to 4 digits.</LI>
1638         Useful for producing many files for a movie.</LI>
1639     </UL></LI>
1640 </UL>
1641 
1642 <A NAME="env-notes">
1643 <H3><I>Environments</I></H3></A>
1644 <UL>
1645 <LI>G4Py:
1646     <UL>
1647     <LI>Updated interfaces for release 10.4.</LI>
1648     </UL></LI>
1649 <LI>ZMQ:
1650     <UL>
1651     <LI>New module zmq including ZeroMQ interface (experimental).</LI>
1652     </UL></LI>
1653 </UL>
1654 
1655 <A NAME="data-notes">
1656 <H3><I>Data sets</I></H3></A>
1657 <UL>
1658 <LI>New low-energy data set version, <B>G4EMLOW-7.3</B>:
1659     <UL>
1660     <LI>Improved and reorganized GS data.</LI>
1661     <LI>Added Mott-correction data to the GS angular distributions.
1662         Updated PWA- data to the GS multiple-scattering model..</LI>
1663     <LI>Added new photoeffect parameterisation using EPICS-2014.</LI>
1664     <LI>Updated ecpssr shell cross section proton and alpha files.</LI>
1665     <LI>Added G4DNA-CPA100 files.</LI>
1666     <LI>Added PTB cross sections to dna module.</LI>
1667     <LI>Updated ecpssr shell cross-section proton and alpha files.</LI>
1668     <LI>Updated photoeffect parameterisation using EPICS-2014 data.</LI>
1669     <LI>Updated ion elastic data files for Geant4-DNA.</LI>
1670     </UL></LI>
1671 <LI>New data files for nuclides properties <B>G4ENSDFSTATE-2.2</B>:
1672     <UL>
1673     <LI>Corrected some levels for compliance with PhotonEvaporation data-base.</LI>
1674     </UL></LI>
1675 <LI>New data set version <B>G4PhotonEvaporation-5.2</B> for nuclear de-excitation data:
1676     <UL>
1677     <LI>Changes in U234 (z92.a234): corrected decay from 809.907 to the ground
1678         according to gamma input in DDEP pdf table. Info is missing in ENSDF.
1679         Correction addressing problem report #1967.
1680         Corrected gamma intensities from level 1040.536 according to input in
1681         ENSDF file from DDEP.</LI>
1682     <LI>Removed old data; correlated_gamma files moved to main module.</LI>
1683     <LI>Correction of transitions for floating levels in last 60
1684         correlated_gamma files.</LI>
1685     </UL></LI>
1686 <LI>New data set version for radioactive-decay processes, <B>G4RadioactiveDecay-5.2</B>:
1687     <UL>
1688     <LI>Modified z33.a83 to force beta- decay of As83 directly to the ground
1689         of 83Se. The populating of the excited levels of 83SE is poorly known
1690         and the gamma spectrum will be anyway not correct (not enough ENSDF data).</LI>
1691     </UL></LI>
1692 <LI>New data files for nuclear shell effects <B>G4ABLA-3.1</B>:
1693     <UL>
1694     <LI>Updated data for ABLA-07 model version.</LI>
1695     </UL></LI>
1696 <LI>New data set version for optical processes, <B>G4RealSurface-2.1</B>:
1697     <UL>
1698     <LI>Added data for support of DAVIS model.</LI>
1699     <LI>Updated and more compact LUT data.</LI>
1700     </UL></LI>
1701 <LI>New <U>optional</U> data set, <B>G4TENDL-1.3.2</B> for incident proton data:
1702     <UL>
1703     <LI>Fixed Alpha/Inelastic/CrossSection/6_12_Carbon.z.</LI>
1704     <LI>Deleted F37 directories, "F37" is not defined in ParticleHPInelastic.</LI>
1705     <LI>New data files for d on p, t on p and d, and he3 on p, d and t,
1706         generated by inverse reactions of p on d, p on t,,, of ENDF/B-VII.1.</LI>
1707     <LI>Replaced data files for p on C13 by data based on TENDL-2014; ENDF/B-VII.1
1708         proton file only provides radiative capture final state.</LI>
1709     <LI>Updated READMEs.</LI>
1710     </UL></LI>
1711 </UL></LI>
1712 
1713 <A NAME="ex-notes">
1714 <H3><I>Examples</I></H3></A>
1715 <UL>
1716 <LI>Updated reference outputs, macros and scripts.</LI>
1717 <LI>Fixes for Doxygen documentation and coding guidelines.</LI>
1718 <LI><B><U>advanced</U></B>
1719     <UL>
1720     <LI><B>brachytherapy</B>
1721         <UL>
1722         <LI>Avoid setting the initial seed to zero.</LI>
1723         </UL></LI>
1724     <LI><B>ChargeExchangeMC</B>
1725         <UL>
1726         <LI>Fixed build scripts; fixed shadowing compilation warnings.</LI>
1727         <LI>Cleaned up init macro.</LI>
1728         </UL></LI>
1729     <LI><B>eRosita</B>
1730         <UL>
1731         <LI>Fixed compilation errors and updated build scripts.</LI>
1732         </UL></LI>
1733     <LI><B>hadrontherapy</B>
1734         <UL>
1735         <LI>Corrected carbon beam line geometry and added new modulators.</LI>
1736         <LI>Corrected definition of geometry region.</LI>
1737         <LI>Added cuts definition in PhysicsList.</LI>
1738         <LI>Removed HadrontherapyAnalysisManager class; now using G4tools
1739             in HadrontherapyMatrix.</LI>
1740         <LI>RippleFilter geometry on PassiveCarbonBeamLine.</LI>
1741         <LI>Fix geometry build in LaserDrivenBeamLine.</LI>
1742         <LI>Added TIFPA beam line.</LI>
1743         <LI>Removed local obsolete ion-ion physics-list. Cleanup of physics-list
1744             and local data.</LI>
1745         </UL></LI>
1746     <LI><B>iort_therapy</B>
1747         <UL>
1748         <LI>Clean up visualization from batch.mac.</LI>
1749         <LI>Fixed CMake script for Root flags.</LI>
1750         </UL></LI>
1751     <LI><B>medical_linac</B>
1752         <UL>
1753         <LI>Updated batch.mac macro.</LI>
1754         </UL></LI>
1755     <LI><B>microbeam</B>
1756         <UL>
1757         <LI>PhysicsList, PhysicsListMessenger: removed obsolete way of cut
1758             definition.</LI>
1759         <LI>DetectorConstruction: thread safe definition of magnetic field.</LI>
1760         <LI>SteppingAction: simplified implementation, added check on alpha
1761             leaving the world volume.</LI>
1762         <LI>Cleanup and relaxed step size constraints.</LI>
1763         <LI>Modified voxel dose normalisation; updated plot.C.</LI>
1764         </UL></LI>
1765     <LI><B>nanobeam</B>
1766         <UL>
1767         <LI>Added usage of std::floor() in TabulatedField3D.</LI>
1768         <LI>Updated EM field settings for multi-threading;
1769             changed default.mac macro.</LI>
1770         <LI>Updated handling of UI commands. Code cleanup.</LI>
1771         </UL></LI>
1772     <LI><B>xray_fluorescence</B>
1773         <UL>
1774         <LI>Use units for angles explicitly in XrayFluoDetectorConstruction.</LI>
1775         </UL></LI>
1776     </UL></LI>
1777 <LI><B><U>basic</U></B>
1778     <UL>
1779     <LI><B>B3</B>
1780         <UL>
1781         <LI>PhysicsList: register EM physics before radioactive-decay.</LI>
1782         </UL></LI>
1783     <LI><B>B4</B>
1784         <UL>
1785         <LI>Added analysis scripts plotHisto.C and plotNtuple.C.</LI>
1786         </UL></LI>
1787     <LI><B>B5</B>
1788         <UL>
1789         <LI>Removed use of G4AutoDelete utility for thread-local magnetic-field
1790             and its manager, since not necessary as now automatically deleted by
1791             kernel.</LI>
1792         <LI>Use std::array for related data members in B5EventAction to reduce
1793             code.</LI>
1794         <LI>Added data members for histogram Ids and the code to retrieve them by
1795             histogram names via G4AnalysisManager.</LI>
1796         <LI>Corrected the list of 2D histograms in README.</LI>
1797         </UL></LI>
1798     </UL></LI>
1799 <LI><B><U>extended</U></B>
1800     <UL>
1801     <LI><B>analysis</B>
1802         <UL>
1803         <LI>AnaEx02: fixed CMake script for Root flags.</LI>
1804         </UL></LI>
1805     <LI><B>biasing</B>
1806         <UL>
1807         <LI><B>ReverseMC01</B>
1808             <UL>
1809             <LI>G4AdjointPhysicsList: avoid resetting lateral displacement algorithm
1810                 in the Urban msc model. Use SetEmModel() instead of AddEmModel()
1811                 where possible in order to get rid of initialisation warning.</LI>
1812             </UL></LI>
1813         </UL></LI>
1814     <LI><B>common</B>
1815         <UL>
1816         <LI>Removed generic class names prefix and introduced a meaningful one
1817             when appropriate; removed osolete event and run action classes.</LI>
1818         <LI>Replaced explicit messengers with use of G4GenericMessenger.</LI>
1819         <LI>Use c++11 constructs (nullptr, auto).</LI>
1820         </UL></LI>
1821     <LI><B>electromagnetic</B>
1822         <UL>
1823         <LI>BeginOfRunAction(): disabled storage of random seed.</LI>
1824         <LI><B>TestEm0</B>
1825             <UL>
1826             <LI>RunAction: updated max energy for CSDARange table.
1827                 Write html documentation of physics list if G4PhysListName
1828                 and G4PhysListDocDir are set.</LI>
1829             </UL></LI>
1830         <LI><B>TestEm5</B>
1831             <UL>
1832             <LI>DetectorConstruction: corrected definition of element Chrome.</LI>
1833             <LI>Run: modified normalisation of histogram 1 and 10.</LI>
1834             <LI>PhysicsList: use more uniform builder names.
1835                 Added DNA constructors.</LI>
1836             <LI>Added DNA histograms in HistoManager.</LI>
1837             <LI>Added new flags in StackingAction.</LI>
1838             <LI>Added dna.mac macro and updated pixe.mac macro.
1839                 Updated fluo.mac macro.</LI>
1840             </UL></LI>
1841         <LI><B>TestEm7</B>
1842             <UL>
1843             <LI>Fixed macros.</LI>
1844             </UL></LI>
1845         <LI><B>TestEm8</B>
1846             <UL>
1847             <LI>PhysicsList, DetectorConstruction, DetectorMesenger, StepMax:
1848                 made StepMax initialisation more thread safe.</LI>
1849             <LI>PhysicsList: restored functionality for old command
1850                 "/testem/phys/addPhysics pai".</LI>
1851             </UL></LI>
1852         <LI><B>TestEm12</B>
1853             <UL>
1854             <LI>Updated PhysicsList.</LI>
1855             </UL></LI>
1856         <LI><B>TestEm14</B>
1857             <UL>
1858             <LI>Fixed printout.</LI>
1859             </UL></LI>
1860         <LI><B>TestEm17</B>
1861             <UL>
1862             <LI>PhysicsList: fixed EM standard setting; added emstandard_opt4.</LI>
1863             </UL></LI>
1864         <LI><B>TestEm18</B>
1865             <UL>
1866             <LI>Revised implementation.</LI>
1867             <LI>Allow for optional tracking of secondary particles.</LI>
1868             <LI>Added edep.mac macro.</LI>
1869             </UL></LI>
1870         </UL></LI>
1871     <LI><B>eventgenerator/pythia/decayer6</B>
1872         <UL>
1873         <LI>Updated for changes in common module.</LI>
1874         <LI>Updated main(); removed G4UI_USE, G4VIS_USE macros and moved
1875             initialization in macros.</LI>
1876         </UL></LI>
1877     <LI><B>exoticphysics</B>
1878         <UL>
1879         <LI><B>channeling</B>
1880            <UL>
1881            <LI>Added support for G4Crystal.</LI>
1882            <LI>Added support for G4Channeling process.</LI>
1883            <LI>Modified sdht_ID to fSDHT_ID.</LI>
1884            <LI>Removed G4VIS_USE, G4UI_USE.</LI>
1885            </UL></LI>
1886        <LI><B>dmparticle</B>
1887            <UL>
1888            <LI>Simplified example for light dark matter (LDM) particles. 
1889                It consists of LDM Bremsstrahlung process for protons creating
1890                G4LDMPhotons. The latter decays creating G4LDMHi and G4LDMHiBar LDM
1891                scalar particles. They can scatter on nucleons and electrons. 
1892                The first version has electromagnetic processes only.
1893                Hadron constructors can be added similarly to hadronic examples.</LI>
1894            </UL></LI>
1895        <LI><B>monopole</B>
1896            <UL>
1897            <LI>Migrated to multi-threading and g4tools for analysis.</LI>
1898            <LI>Fixed lost functionality of histograms and monopole parameter
1899                definitions. Simplified histograms definition and filling.</LI>
1900            <LI>Fixed geometry build in G4MonopoleTransportation.</LI>
1901            </UL></LI>
1902        <LI><B>phonon</B>
1903            <UL>
1904            <LI>Split build/run/compare test into three: build and run,
1905                compare timing outputs, compare caustic outputs.
1906                Added new CMake script ComparePhonon.cmake to perform comparison of
1907                timing and caustic output/reference files.</LI>
1908            <LI>Fix in CMake macros to resolve CMP0054 related warnings on Windows.</LI>
1909            <LI>Updated timing output files.</LI>
1910            </UL></LI>
1911        <LI><B>ucn</B>
1912            <UL>
1913            <LI>ExUCNDetectorConstruction: commented out a wrong use of AddConstProperty().</LI>
1914            </UL></LI>
1915        </UL></LI>
1916     <LI><B>field</B>
1917        <UL>
1918        <LI><B>field01</B>
1919           <UL>
1920           <LI>Fixed Valgrind error in F01FieldSetup::CreateStepperAndChordFinder()
1921               method; first delete all dependent objects, then create new ones.</LI>
1922           </UL></LI>
1923        <LI><B>field02</B>
1924        <UL>
1925           <LI>Fixed F02ElectricFieldSetup::Update() method. Now all old objects are
1926               deleted first, and then new ones are created; renamed UpdateStepper()
1927               to UpdateIntegrator() to clarify its role.</LI>
1928           </UL></LI>
1929        <LI><B>field03</B>
1930           <UL>
1931           <LI>Fixed Valgrind errors in field setup's update method; first delete all
1932               dependent objects, then create new ones.</LI>
1933           </UL></LI>
1934        </UL></LI>
1935     <LI><B>g3tog4</B>
1936         <UL>
1937         <LI>Updated for changes in common module.</LI>
1938         <LI>Updated main(); removed G4UI_USE, G4VIS_USE macros and moved
1939             initialization in macros.</LI>
1940         </UL></LI>
1941     <LI><B>hadronic</B>
1942         <UL>
1943         <LI>BeginOfRunAction(): disabled storage of random seed.</LI>
1944         <LI>Archived example Hadr05, now replaced by physicslist/genericPL.</LI>
1945         <LI><B>Hadr00</B>
1946             <UL>
1947             <LI>Added possibility to enable radioactive decay.</LI>
1948             </UL></LI>
1949         <LI><B>Hadr01</B>
1950             <UL>
1951             <LI>Fixed histograms and radioactive decay.</LI>
1952             </UL></LI>
1953         <LI><B>Hadr03</B>
1954             <UL>
1955             <LI>SteppingAction: take into account e- from internal conversion.</LI>
1956             </UL></LI>
1957         <LI><B>Hadr05</B>
1958             <UL>
1959             <LI>This example has been removed from the extended/hadronic set and 
1960             refactored in a new example, <b>genericPL</b> in the extended/physicslists set. </LI>
1961             </UL></LI>
1962         <LI><B>NeutronSource</B>
1963             <UL>
1964             <LI>Run: remove normalisation of all histograms.</LI>
1965             <LI>Added comments.</LI>
1966             </UL></LI>
1967         </UL></LI>
1968     <LI><B>medical/DICOM</B>
1969         <UL>
1970         <LI>Added DICOM Digital Head model. DICOM_HEAD library can be used
1971             as input data set. Added downloading of DICOM data in CMake build
1972             (used only with DICOM_USE_HEAD option).</LI>
1973         <LI>Output files .g4dmc and .g4dcmb are now created in the user
1974             directory and no longer in the DICOM data library.</LI>
1975         <LI>Using optional DICOM data-set G4DICOM-1.1.</LI>
1976         </UL></LI>
1977     <LI><B>medical/dna</B>
1978         <UL>
1979         <LI>chem2
1980             <UL>
1981             <LI>Modified time steps.</LI>
1982             </UL></LI>
1983         <LI>dnaphysics
1984             <UL>
1985             <LI>PhysicsList: limit high energy by 1 GeV.
1986                 Updated flags for EM processes.</LI>
1987             <LI>Added more variables to ntuple; improved SteppingAction.</LI>
1988             <LI>Updated numbering scheme in SteppingAction.</LI>
1989             <LI>Added flag for Capture.</LI>
1990             <LI>Added visualisation to input macro dnaphysics.in.</LI>
1991             <LI>Updated plot.C and numbering scheme.</LI>
1992             </UL></LI>
1993         <LI>icsd
1994             <UL>
1995             <LI>New example for Ionisation Cluster Size Distribution. Allows the
1996                 calculation of the distribution concerning the number of ionisations
1997                 per event in an small cylinder of nanometers scale, typical dimensions
1998                 of a 10 base pairs piece of chromatin. First use of new DNA-like
1999                 material's cross-sections experimentally obtained at PTB
2000                 (Rad. Phys and Chem. 130 (2017) 459-479) for electrons and calculated
2001                 for protons on THF, TMP, PY and PU materials.</LI>
2002             </UL></LI>
2003         <LI>mfp
2004             <UL>
2005             <LI>New example showing how to calculate mean free path of particles 
2006                 in liquid water using the Geant4-DNA physics processes and models.</LI>
2007             </UL></LI>
2008         <LI>microdosimetry
2009             <UL>
2010             <LI>Adapted to same scheme as dnaphysics example.</LI>
2011             <LI>Fix to analysis manager call in SteppingAction.</LI>
2012             <LI>Updated physics-list; manual approach of G4DNA activator.</LI>
2013             <LI>Fixed compilation problem when Qt is enabled.</LI>
2014             <LI>Cleanup and reordering of processes.</LI>
2015             <LI>Updated flags for EM processes.</LI>
2016             </UL></LI>
2017         <LI>microyz
2018             <UL>
2019             <LI>Updated setup according to recent developments.</LI>
2020             </UL></LI>
2021         <LI>neuron
2022             <UL>
2023             <LI>New example allowing for the modelling of neuron cell irradiation,
2024                 including physical, physico-chemical and chemical processes (e.g.
2025                 production of oxidative radical species in the vicinity of neurons).
2026                 It uses realistic geometrical models of neurons generated from a
2027                 standardized SWC file representing neuron morphology.</LI>
2028             </UL></LI>
2029         <LI>range
2030             <UL>
2031             <LI>Reduced energy range in range.in macro. Code cleanup.</LI>
2032             </UL></LI>
2033         <LI>slowing
2034             <UL>
2035             <LI>New example showing how to simulate slowing down spectra for electrons
2036                 in liquid water using the Geant4-DNA physics processes and models.</LI>
2037             </UL></LI>
2038         <LI>spower
2039             <UL>
2040             <LI>New example showing how to calculate stopping power of particles 
2041                 in liquid water using the Geant4-DNA physics processes and models.</LI>
2042             </UL></LI>
2043         <LI>svalue
2044             <UL>
2045             <LI>Updated plot.C.</LI>
2046             </UL></LI>
2047         <LI>wvalue
2048             <UL>
2049             <LI>Updated plot.C and wvalue.in macro.</LI>
2050             <LI>Code cleanup.</LI>
2051             </UL></LI>
2052         </UL></LI>
2053     <LI><B>medical/fanoCavity</B>
2054         <UL>
2055         <LI>PhysListEmStandard_GS, PhysListEmStandard_SS, PhysListEmStandard_WVI,
2056             PhysListEmStandard_option3: use the same step function as in
2057             physics_list factory for corresponding constructors, ensure that step
2058             function parameters may be redefined by UI commands.</LI>
2059         <LI>Switch to NIST material description (keeping material densities
2060             defined in previous version).</LI>
2061         <LI>Set default thread number to 2 instead of maximum number of cores.</LI>
2062         <LI>Simplified default printout.</LI>
2063         </UL></LI>
2064     <LI><B>medical/fanoCavity2</B>
2065         <UL>
2066         <LI>Switch to NIST material description (keeping material densities
2067             defined in previous version).</LI>
2068         <LI>Default thread number is not set to the maximum available cores.</LI>
2069         </UL></LI>
2070     <LI><B>medical/GammaTherapy</B>
2071         <UL>
2072         <LI>Ported to work in multi-threading.</LI>
2073         <LI>Fixed bugs in PrimaryGeneratorAction and RunAction.</LI>
2074         <LI>Improved main input macro.</LI>
2075         </UL></LI>
2076     <LI><B>optical/OpNovice</B>
2077         <UL>
2078         <LI>Exercising new DAVIS LUT surface model.</LI>
2079         <LI>Fix gui.mac, which wrongly executed vis.mac.</LI>
2080         </UL></LI>
2081     <LI><B>parallel</B>
2082         <UL>
2083         <LI><B>MPI</B>
2084            <UL>
2085            <LI>Updated build scripts.</LI>
2086            </UL></LI>
2087         <LI><B>ThreadsafeScorers</B>
2088            <UL>
2089            <LI>Fixes to deletion/clearing of static maps between runs.</LI>
2090            <LI>Removed some unnecessary typedefs.</LI>
2091            <LI>Set the number of threads to the number of cores.</LI>
2092            </UL></LI>
2093         </UL></LI>
2094     <LI><B>persistency</B>
2095         <UL>
2096         <LI><B>gdml/G02</B>
2097            <UL>
2098            <LI>Added commented block in G02DetectorConstruction to show how to limit
2099                the number of levels in the geometry hierarchy to be exported.</LI>
2100            </UL></LI>
2101         <LI><B>P01, P02</B>
2102            <UL>
2103            <LI>Include ROOTNewMacros for reflex_generate_dictionary.
2104                Updated generated source name.</LI>
2105            <LI>Fixed CMake script for Root flags.</LI>
2106            </UL></LI>
2107         </UL></LI>
2108     <LI><B>physicslist</B>
2109         <UL>
2110         <LI><B>factory</B>
2111            <UL>
2112            <LI>New example demonstrating the usage of G4PhysListFactory to
2113                build the concrete physics list.</LI>
2114            </UL></LI>
2115         <LI><B>extensibleFactory</B>
2116            <UL>
2117            <LI>New example showing how to define a physics list from Geant4 physics
2118                constructors; it demonstrates the usage of g4alt::G4PhysListFactory to
2119                build the concrete physics list.</LI>
2120            </UL></LI>
2121         <LI><B>genericPL</B>
2122            <UL>
2123            <LI>New example demonstrating the usage of G4GenericPhysicsList to
2124                build the concrete physics list at run time.</LI>
2125            </UL></LI>
2126         <LI><B>shared</B>
2127            <UL>
2128            <LI>New shared classes module for physics-lists examples.</LI>
2129            </UL></LI>
2130         </UL></LI>
2131     <LI><B>radioactivedecay</B>
2132         <UL>
2133         <LI><B>Activation</B>
2134            <UL>
2135            <LI>New example for survey of the energy deposition and particle's flux
2136                from a hadronic cascade.</LI>
2137            </UL></LI>
2138        <LI><B>rdecay01</B>
2139            <UL>
2140            <LI>PhysicsList: read new PhotonEvaporation data set; set AugerCascade
2141                via G4EmParameters; in ConstructProcess(), couple SetARM() and
2142                SetAugerCascade(); SetStoreAllLevels(true).
2143                Use time limit from G4IonTable for de-excitation module.</LI>
2144            <LI>TrackingAction: simplified way to get mean-life. Count primary ions.</LI>
2145            <LI>Run: added printout of mean time life.</LI>
2146            <LI>BeginOfRunAction(): disabled storage of random seed.
2147                EndOfRun(): print time life > 0 only.</LI>
2148            <LI>Updated user data Cf238.mac and No252.mac, and related README.</LI>
2149            <LI>Fixed format of data file UserRadData_z98.a238.</LI>
2150            <LI>Added several macro files.</LI>
2151            </UL></LI>
2152        <LI><B>rdecay02</B>
2153            <UL>
2154            <LI>PhysicsList: use G4EmStandardPhysics and G4EmExtraPhysics; defined EM
2155                parameters as it was in previous version of the example, disabled
2156                electro- and muon-nuclear.</LI>
2157            <LI>Removed EmStandardPhysics and GammaPhysics.</LI>
2158            </UL></LI>
2159         </UL></LI>
2160     <LI><B>visualization/userVisAction</B>
2161         <UL>
2162         <LI>Copied exampleB1.in to userVisAction.in.
2163             Copied run1.mac and run2.mac from example B1.
2164             All macros now include /run/initialize.</LI>
2165         <LI>Removed init.mac, no longer used.
2166             /run/initialize is in the new run1.mac and run2.mac.</LI>
2167         </UL></LI>
2168     </UL>
2169 </UL>
2170 
2171 <HR>
2172 
2173 </BODY>
2174 </HTML>