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&) 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 & 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 & 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>