File indexing completed on 2025-01-18 09:16:07
0001 <HTML>
0002 <HEAD>
0003 <TITLE>Geant4 10.2 Release Notes</TITLE>
0004 </HEAD>
0005 <BODY BGCOLOR='F0F0F0'>
0006
0007 <P> </P>
0008 <BR>
0009 <P> </P>
0010
0011 <P ALIGN="Center">
0012 <FONT SIZE="+4" COLOR="#238E23">
0013 <B>Geant4 10.2 Release Notes</B>
0014 </FONT>
0015
0016 <TABLE WIDTH="100%">
0017 <TR><TD ALIGN="Right">
0018 <FONT SIZE="-1" COLOR="#5C3317">
0019 <B><I>December 4<SUP>th</SUP>, 2015</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.3.<BR>
0067 Tested on 64 bit architectures (Intel or AMD) with
0068 CERN CentOS Linux 7 (CC7) (based on CentOS Linux 7).</LI>
0069 <LI>MacOSX 10.11 with clang-3.7 (Apple LLVM/Clang-7.0.0)</LI>
0070 <LI>Windows7 with Visual C++ 14.0 (Visual Studio 2015)</LI>
0071 </UL>
0072
0073 More verified and tested configurations (64 bits):
0074 <UL>
0075 <LI>Linux, gcc-4.9.3, gcc-5.2.0, clang-3.6</LI>
0076 <LI>Linux, Intel-icc 15.0, 16.0</LI>
0077 <LI>MacOSX 10.10 with clang-3.6</LI>
0078 <LI>MacOSX 10.9 with clang-3.5</LI>
0079 <LI>Windows7 with Visual C++ 12.0 (Visual Studio 2013)</LI>
0080 <LI>Linux for Intel Xeon Phi with Intel-icc 15.0, 16.0
0081 (gcc-4.9 compatibility layer)</LI>
0082 </UL>
0083 Note: Windows platforms are supported/verified only for the sequential mode.
0084 Multi-threading capability is not yet supported on Windows.
0085
0086 <P> </P>
0087 <A NAME="2."></A>
0088 <HR>
0089
0090
0091
0092 <H2>2. Supported CLHEP version</H2>
0093
0094 This release of Geant4 requires and has been verified with
0095 <A TARGET="ext" HREF="http://cern.ch/clhep/">CLHEP</A>, release <B>2.3.1.1</B>.
0096 Use of a different CLHEP version may cause incorrect simulation results.<BR>
0097 NOTE: an internal module of the relevant CLHEP classes is provided and can be
0098 used as alternative to an external CLHEP library installation.
0099
0100
0101 <P> </P>
0102 <A NAME="3."></A>
0103 <HR>
0104
0105
0106
0107 <H2>3. Items for migration of the user code</H2>
0108
0109 Listed here is some relevant information on developments included in this
0110 release.
0111 Note that for all users a full re-installation of libraries (or a full
0112 re-compilation) and a re-compilation of user applications is required.
0113
0114 <P> </P>
0115 <B>General</B>
0116 <P> </P>
0117 <UL>
0118 <LI>Compilation using the C++11 Standard is now enabled by default, therefore
0119 requiring compilers supporting at minimum the following C++11 Standard features:
0120 <UL>
0121 <LI>Template aliases, as defined in <A HREF="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf">N2258</A>.</LI>
0122 <LI>Automatic type deduction, as defined in <A HREF="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf">N1984</A>.</LI>
0123 <LI>Delegating constructors, as defined in <A HREF="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf">N1986</A>.</LI>
0124 <LI>Enum forward declarations, as defined in <A HREF="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf">N2764</A>.</LI>
0125 <LI>Explicit conversion operators, as defined in <A HREF="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf">N2437</A>.</LI>
0126 <LI>Override control final keyword, as defined in <A HREF="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm">N2928</A>,
0127 <A HREF="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm">N3206</A>
0128 and <A HREF="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm">N3272</A>.</LI>
0129 <LI>Lambda functions, as defined in <A HREF="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2927.pdf">N2927</A>.</LI>
0130 <LI>Null pointer, as defined in <A HREF="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf">N2431</A>.</LI>
0131 <LI>Override control override keyword, as defined in <A HREF="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm">N2928</A>,
0132 <A HREF="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm">N3206</A>
0133 and <A HREF="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm">N3272</A>.</LI>
0134 <LI>Range-based for, as defined in <A HREF="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html">N2930</A>.</LI>
0135 <LI>Strongly typed enums, as defined in <A HREF="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf">N2347</A>.</LI>
0136 <LI>Uniform intialization, as defined in <A HREF="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2640.pdf">N2640</A>.</LI>
0137 </UL>
0138 </LI>
0139 <LI>Minimum required version of CMake to build Geant4 is 3.3.
0140 User applications can still use CMake 2.8.X or above for configuration
0141 and compilation. It is however recommended to migrate to CMake 3.3 or
0142 above for its improved support of C++ compile and target features.</LI>
0143 </UL>
0144
0145 <P> </P>
0146 <B>Geometry</B>
0147 <P> </P>
0148 <UL>
0149 <LI>A new minor release of the GDML schema, GDML-3.1.3, is used,
0150 supporting optional export of physical volumes copy-numbers and
0151 geometrical regions dump.
0152 The new schema is fully compatible with old schema versions
0153 and schema validation thorugh network is already activated against it.</LI>
0154 <LI>Optional adoption of the
0155 <A HREF="https://cern.ch/aidasoft/USolids">Unified Solids Library</A>,
0156 can now be achieved after installation of the library as external
0157 package.</LI>
0158 </UL>
0159
0160 <P> </P>
0161 <B>Electromagnetic and optical physics</B>
0162 <P> </P>
0163 <UL>
0164 <LI>Updated Goudsmit-Sounderson multiple scattering model for e+-
0165 can be tested in various applications. A new electromagnetic (EM)
0166 physics constructor G4EmStandardPhysicsGS is provided
0167 for that.</LI>
0168 <LI>For applications which are using C++ interface to define parameters
0169 of EM physics, it is recommended to switch from usage of the
0170 G4EmProcessOptions class to the G4EmParameters class.
0171 This will guarantee coherent parameters definition also for multi-thread
0172 setup.</LI>
0173 <LI>Public methods and corresponding UI commands have been added to
0174 activate PAI, MicroElec, or DNA models in one or more Geant4 regions.</LI>
0175 <LI>In all ionisation processes which simulate energy loss along step
0176 the models' lowest energy limits, which force full energy deposition at
0177 a step independently on the material, are reviewed. A coherent and common
0178 approach is introduced, allowing the user to set the value of this limits
0179 via UI commands or the new interface class G4EmParameters.
0180 Introduction of a lowest energy allows to remove hidden tracking cuts
0181 and limits from elastic scattering and ionisation models.
0182 For very low-energy simulations these lowest energy limits may be set
0183 to zero.</LI>
0184 <LI>Added alternative Geant4-DNA physics models for liquid water.</LI>
0185 <LI>The data file G4EMLOW-6.48 should be used.</LI>
0186 </UL>
0187
0188 <P> </P>
0189 <B>Hadronic physics</B>
0190 <P> </P>
0191 <UL>
0192 <LI>The new data sets <TT>G4PhotonEvaporation-3.2</TT>,
0193 <TT>G4RadioactiveDecay-4.3</TT> and <TT>G4ENSDFSTATE-1.2</TT>
0194 should be used.</LI>
0195 <LI>The environment variable <TT>G4ENSDFSTATEDATA</TT> must be set
0196 to <TT>G4ENSDFSTATE-1.2</TT>.</LI>
0197 <LI>The <TT>NeutronHP</TT> module has been replaced by <TT>ParticleHP</TT>:
0198 no change in the user code is required.</LI>
0199 </UL>
0200
0201 <P> </P>
0202 <B>Data Sets</B>
0203 <P> </P>
0204 This release introduces new data set versions.
0205 Please see the corresponding details in
0206 <A href="#data-notes">Section 9</A> of this document.
0207 <UL>
0208 <LI>New data set versions: <TT>G4EMLOW-6.48, G4ENSDFSTATE-1.2,
0209 G4RadioactiveDecay-4.3, G4PhotonEvaporation-3.2</TT>.</LI>
0210 <LI>The G4ENSDFSTATE data set has now become mandatory, therefore it is
0211 required to have it installed and the appropriate environment variable
0212 <TT>G4ENSDFSTATEDATA</TT> for its path to be set.</LI>
0213 <LI>In order to use <TT>ParticleHP</TT> for charged particles
0214 (protons, deuterons, tritons, He3 and alphas), an optional data
0215 set <TT>G4TENDL-1/0</TT> is required, and should be downloaded in
0216 addition from the Geant4 web site.</LI>
0217 </UL>
0218
0219 <P> </P>
0220 <A NAME="4."></A>
0221 <HR>
0222
0223 <!-- ============================================== -->
0224
0225 <H2>4. New Developments and Capabilities </H2>
0226
0227 <B>Analysis</B>
0228 <UL>
0229 <LI>Added "batch plotting" facility.</LI>
0230 <LI>Added classes for users parameters management.</LI>
0231 <LI>Added ability to send/receive histograms through MPI.</LI>
0232 </UL>
0233
0234 <B>Geometry</B>
0235 <UL>
0236 <LI>In this release, an option allows an installation to use the
0237 <A HREF="https://cern.ch/aidasoft/USolids">Unified Solids Library</A>
0238 primitives, to replace the original Geant4 solids, as in the
0239 previous release. The path to an external installation of the USolids
0240 library (VecGeom version <TT>v00.01.00</TT>) should be specified.
0241 See the associated instructions file for configuration and installation.</LI>
0242 </UL>
0243
0244 <B>Electromagnetic physics</B>
0245 <UL>
0246 <LI>New UI commands and C++ interfaces to define parameters
0247 of EM physics are now provided. PAI models may be enabled per particle type
0248 and detector region on top of any EM physics configuration.
0249 For example, the UI command <TT>"/process/em/AddPAIRegion all Tracker"</TT>
0250 defines PAI model for all charged particles in Tracker region.
0251 MicroElec models for the Silicon and set of DNA default models for the liquid
0252 water may be also enabled via UI commands and C++ interface.</LI>
0253 <LI>In all ionization processes which simulate energy loss along step
0254 a lowest energy limit is introduced, which forces full energy
0255 deposition at a step independently on material. Its value may be
0256 changed via a new UI commands or through the interface class
0257 G4EmParameters. The default value is <TT>1 keV</TT>, for Opt3, Opt4,
0258 Livermore, and Penelope physics constructors lowest e+- energy is
0259 <TT>100 eV</TT>.</LI>
0260 <LI>By default lateral displacement sampling is disabled for muons, hadrons,
0261 and ions. To enable lateral displacement a new UI command should be used:
0262 <TT>"/process/msc/MuHadLateralDisplacement true"</TT>.</LI>
0263 <LI>G4UrbanMscModel has been updated: e+ corrections are added and a new
0264 optional algorithm to sample lateral displacement is introduced.
0265 The new lateral displacement sampling is used only in Opt3, Opt4,
0266 Livermore, and Penelope EM physics constructors.</LI>
0267 <LI>A new implementation of the Goudsmit-Saunderson model for multiple-scattering
0268 is now used for e+- below 100 MeV in the G4EmStandardPhysicsGS
0269 constructor. It is available in the experimental physics-list
0270 FTFP_BERT_TRV.</LI>
0271 <LI>The single scattering model with Mott corrections may be enabled in the
0272 G4EmStandardPhysicsSS physics constructor using the new UI command:
0273 <TT>"/process/msc/UseMottCorrection true"</TT>.</LI>
0274 <LI>Ion/ion stopping power tables have been updated using new
0275 computations of A. Schinner.</LI>
0276 <LI>Introduced new G4LowEPPolarizedComptonModel for simulation of the
0277 Compton scattering of linear polarized gamma.</LI>
0278 <LI>Full Auger atomic de-excitation cascade simulation may be enabled
0279 via the new UI command: <TT>"/process/em/augerCascade true"</TT>.</LI>
0280 <LI>The usage of the more accurate atomic transition energies (Bearden data)
0281 can be enabled via the UI command:
0282 <TT>"/process/em/fluoBearden true"</TT>.</LI>
0283 <LI>Added alternative Geant4-DNA physics models for liquid water
0284 and extra DNA physics constructors.</LI>
0285 </UL>
0286
0287 <B>Hadronic physics</B>
0288 <UL>
0289 <LI>Improved simulation of low-energy, evaporated nucleons by Fritiof model
0290 coupled with Precompond-de-excitation model.
0291 It affects the energy response in hadronic showers: the visible energy
0292 in simplified calorimeters increases in not heavy absorber materials,
0293 e.g. Iron and Copper.</LI>
0294 <LI>A new model for nuclear gamma de-excitation model has been introduced.
0295 It affects the lateral shapes of hadronic showers: narrower showers
0296 are produced, especially for heavy absorber materials.</LI>
0297 <LI>The model <TT>NeutronHP</TT> has been merged into the <TT>ParticleHP</TT>
0298 model, which now extends the treatment of low-energy neutrons (below
0299 <TT>20 MeV</TT>) to charged particles: proton, deuteron, triton, 3He and
0300 alpha, with energies up to <TT>200 MeV</TT>.
0301 Note: users should be careful when using this model for charged particles,
0302 for various reasons: validation is not yet completed; only the inelastic
0303 interactions are included in this model, while the elastic interaction
0304 is treated independently by other Geant4 models; the TENDL data library is
0305 deployed, which means that ENDF VII(.r1) evaluated data is used only for
0306 the few cases where it is available, while, in all other cases,
0307 the data from TALYS nuclear model is utilized, which can lead to
0308 large uncertainties.
0309 In order to use ParticleHP for charged particles, the optional data set
0310 G4TENDL-1.0 is required.</LI>
0311 <LI>Substantial revision of the Radioactive Decay model:
0312 now using G4UAtomicDeexcitation to handle fluorescence and Auger electrons;
0313 improved energy conservation for IT and EC modes to order <TT>30 eV</TT>
0314 by using approximate shell energy method of A. Zoglauer;
0315 adapted to changes in particle category by providing a mass defect check
0316 between parent and daughter nuclei; removed dependence on local
0317 isotope table in favor of that in G4NuclideTable.</LI>
0318 </UL>
0319
0320 <B>Particles</B>
0321 <UL>
0322 <LI>Mass width is taken into account in Phase Space Decay when daughter
0323 particles are resonant particles; dynamic mass is given to daughter
0324 particles according to the Breit-Wigner formula.</LI>
0325 </UL>
0326
0327 <B>Physics Lists</B>
0328 <UL>
0329 <LI>New experimental EM physics constructors: G4EmStandardPhysicsGS,
0330 G4EmStandardPhysicsWVI, G4EmSTandardPhysicsSS.</LI>
0331 <LI>Replaced the Chips neutron elastic cross-section with NeutronElasticXS
0332 one in all (non-HP) physics lists.</LI>
0333 <LI>The Glauber-Gribov kaon inelastic cross-sections are used in all physics lists
0334 (instead of either Chips or Gheisha cross-sections). </LI>
0335 <LI>In the QBBC physics list, the upper limit of Bertini has been reduced
0336 from <TT>12</TT> to <TT>4 GeV</TT>.</LI>
0337 <LI>The <TT>FTFP_BERT_TRV</TT> physics list uses now the standard EM option
0338 with the new Goudsmit-Saunderson multiple scattering model
0339 (i.e. G4EmStandardPhysicsGS). Moreover, the transition region
0340 between Bertini and Fritiof models has been reduced from <TT>[3, 12] GeV</TT>
0341 to <TT>[2, 4] GeV</TT>.</LI>
0342 <LI>The physics list <TT>QGSP_BIC_AllHP</TT> uses the <TT>ParticleHP</TT>
0343 model for charged particles (p, d, t, 3He, alpha) below <TT>200 MeV</TT>.
0344 Note: this requires some optional data libraries, which the user needs
0345 to download from the Geant4 web site.</LI>
0346 </UL>
0347
0348 <B>Run</B>
0349 <UL>
0350 <LI>New UI command for running in multi-threading mode by forcing the
0351 random generator engine to use a specified state (stored in a file)
0352 for each event. This allows to test strong reproducibility in pure
0353 multi-threading mode.</LI>
0354 <LI>Increased granularity of MT methods to allow easier subclassing
0355 of run-manager classes and ease integration with external frameworks.</LI>
0356 </UL>
0357
0358 <B>Visualization and Interfaces</B>
0359 <UL>
0360 <LI>New dedicated thread for visualization in MT mode</LI>
0361 <LI>New commands for multithreading:
0362 <UL>
0363 <LI><TT>"/vis/multithreading/actionOnEventQueueFull"</TT>: when event
0364 queue for drawing gets full, wait or discard events.</LI>
0365 <LI><TT>"/vis/multithreading/maxEventQueueSize"</TT>: defines maximum
0366 event queue size.</LI>
0367 </UL></LI>
0368 <LI>Added viewer menu button in Open Inventor for PDF output.</LI>
0369 </UL>
0370
0371 <A NAME="5."></A>
0372 <HR>
0373
0374 <!-- ============================================== -->
0375
0376 <H2>5. Expected effects on physics and computing performance</H2>
0377
0378 <B>Electromagnetic physics</B>
0379 <UL>
0380 <LI>Expected reduction of memory per thread in multi-treaded mode.</LI>
0381 <LI>Due to increased precision in some models, the measured CPU performance
0382 for some cases of high energy EM shower in HEP calorimeters
0383 is ~1% slower with respect to the previous Geant4 release.</LI>
0384 </UL>
0385
0386 <B>Hadronic physics</B>
0387 <UL>
0388 <LI>Hadronic showers have changed in two aspects: increased visible energy
0389 in not heavy absorber materials (e.g. Fe and Cu);
0390 narrower lateral showers in heavy absorber materials (e.g. W and Pb).
0391 The change in energy response is mostly due to the development in the
0392 formation of the excited nuclear remnant in the Fritiof model.
0393 The change in the lateral shape is mostly due to the new model for
0394 nuclear gamma de-excitation.</LI>
0395 <LI>In some cases simulations of hadronic showers in HEP calorimeters
0396 are faster up to 5% with respect to the previous Geant4 release.</LI>
0397 </UL>
0398
0399 <P> </P>
0400 <A NAME="6."></A>
0401 <HR>
0402
0403 <!-- ============================================== -->
0404
0405 <H2>6. Known Run-Time Problems and Limitations</H2>
0406 For a complete list of outstanding run-time problems and to submit any
0407 problem you may find while running this version of Geant4, please refer
0408 to the
0409 <A TARGET="ext" HREF="http://cern.ch/geant4/problemreport">Geant4 Problem
0410 Reporting System</A>.
0411
0412 <P> </P>
0413 <A NAME="7."></A>
0414 <HR>
0415
0416 <!-- ============================================== -->
0417
0418 <H2>7. Compilation Warnings</H2>
0419
0420 There may be a few compilation warnings on some platforms.
0421 We do not believe that any of these lead to incorrect run-time behaviour.
0422
0423 <P> </P>
0424 <A NAME="8."></A>
0425 <HR>
0426
0427 <!-- ============================================== -->
0428
0429 <H2>8. Geant4 Software License</H2>
0430
0431 A Software License applies to the Geant4 code.
0432 Users must accept this license in order to use it. The details and the list of
0433 copyright holders is available at
0434 <A href="http://cern.ch/geant4/license">http://cern.ch/geant4/license</A>
0435 and also in the text file <TT>LICENSE</TT> distributed with the source code.
0436
0437 <P> </P>
0438 <A NAME="9."></A>
0439 <HR>
0440
0441 <!-- ============================================== -->
0442
0443 <H2>9. Detailed list of changes and fixes</H2>
0444
0445 These are the main new features/fixes included in this release since the
0446 last patched public release (for more detailed lists of fixes/additions,
0447 please refer to the corresponding History files provided in most packages):
0448
0449 <P> </P>
0450
0451 <A NAME="conf-notes">
0452 <H3><I>Configuration</I></H3></A>
0453 <UL>
0454 <LI>Use CMake Compile Features to setup C++ Standard.
0455 Removed setup of C++ Standard selection via compiler version checking.
0456 Created list of compile features required by Geant4.
0457 Maintain GEANT4_BUILD_CXXSTD option to allow user to choose between
0458 C++11 and C++14 standards. When newer standard is chosen, require that
0459 compiler supports at least one feature from that standard, and add all
0460 supported features of that standard to the required list.
0461 Updated setting of flags and standard used to obtain information from
0462 compile features.</LI>
0463 <LI>Always use libc++ with Apple Clang so that std-supporting library is
0464 used for C++11 mode on older Mac systems where libstdc++ is the default.</LI>
0465 <LI>Migrate output directories for build products to use same layout as
0466 install tree. For single mode generators (Makefiles/Ninja), products
0467 are output to a 'BuildProducts' subdir of the main binary dir which
0468 holds bin/lib directories as derived from requested install dirs.
0469 With multimode generators (Xcode/VS), 'BuildProducts' holds an extra
0470 directory layer, one per build mode, under which the same bin/lib
0471 structure is used.</LI>
0472 <LI>Updates for migration to CMake >= 2.8.12. Use generator expressions in
0473 setting of per-mode compile definitions for Geant4 libs.</LI>
0474 <LI>Removed -no-gcc in CMAKE_CXX_FLAGS when using Intel compiler, as gcc
0475 interoperability is required for use of C++11 features in cxxlib.
0476 Removed -i-dynamic from LDFLAGS, no longer supported.
0477 Corrected checking of Intel compiler to use better CMAKE_CXX_COMPILER_ID
0478 variable.</LI>
0479 <LI>Only allow use of system USolids, i.e. external installation of the
0480 package.</LI>
0481 <LI>Updated Apple Clang detection to work on Xcode-7.</LI>
0482 <LI>Correction to allow for both static and shared libs to be built on
0483 Windows.</LI>
0484 <LI>Added new GEANT4_USE_FREETYPE option (OFF by default), to allow user to
0485 enable Freetype support in analysis library.
0486 Added export of TOOLS_FONT_PATH to environment when Freetype support is
0487 enabled, pointing to the fonts/ subdirectory of Geant4's share directory.
0488 Added TOOLS_FONT_PATH to test environment when Freetype support enabled.</LI>
0489 <LI>Updated FindROOT.cmake script to provide compatibility with Root-6 and
0490 allow usage of ROOTConfig.cmake, if available.</LI>
0491 <LI>Changed default build mode for single config generators to RelWithDebInfo
0492 to match testing system and UNIX conventions.</LI>
0493 <LI>Added new MSVC only option GEANT4_BUILD_MSVC_MP, defaulting to OFF.
0494 When ON, it prepends /MP to CMAKE_CXX_FLAGS to enable file level parallel
0495 compilation on Windows.</LI>
0496 <LI>Allow user to force search for Qt4 only when GEANT4_USE_QT is selected.
0497 Requested on HN User Forum #1766.</LI>
0498 <LI>Put CLHEP version 2.3.1.x as the minimum required.</LI>
0499 <LI>Updated data-sets versions.</LI>
0500 </UL>
0501
0502 <A NAME="ana-notes">
0503 <H3><I>Analysis</I></H3></A>
0504 <UL><LI><B>Plotting</B>
0505 <UL>
0506 <LI>Added "batch plotting" facility for histograms and profiles.</LI>
0507 <LI>Implemented <TT>"/analysis/xx/setPlotting"</TT> commands to activate
0508 plotting for selected histograms or profiles.</LI>
0509 <LI>Introduced the plot configuration parameters that can be set
0510 via UI commands: the plotting style, page layout and the viewer dimensions.
0511 <LI>A single plot file, possibly with multiple pages, is generated.</LI>
0512 <LI>Implemented support for Freetype.</LI>
0513 </UL></LI>
0514 <LI><B>Parameteres</B>
0515 <UL>
0516 <LI>Added a new sub-category, parameters, with first implementation of
0517 G4ParameterManager and G4Parameter<T> classes for handling user
0518 parameters.</LI>
0519 <LI>Users can define their parameters objects as named parameters registered
0520 to the parameter manager, which then provides the acces to them by name
0521 and performs their merging in multi-threading mode.</LI>
0522 <LI>See their usage in basic examples B1 or B3a.</LI>
0523 </UL></LI>
0524 <LI><B>MPI</B>
0525 <UL>
0526 <LI>Added code to send/receive histograms through MPI:<BR>
0527 G4VAnalysisManager::Merge(tools::histo::hmpi*) method and G4MMPIToolsManager
0528 class which implements histogram and profiles MPI merging using
0529 tools/histo/hmpi interface.</LI>
0530 </UL></LI>
0531 <LI><B>Histograms & Profiles </B>
0532 <UL>
0533 <LI>Implemented <TT>"/analysis/xx/setX,Y,Z"</TT> commands for setting
0534 histograms/profiles parameters per dimension. They can be used as an
0535 alternative to the complex set commands.</LI>
0536 <LI>Removed profile directory; the profiles are put in the histograms directory,
0537 if its name is set by the user.</LI>
0538 </UL></LI>
0539 <LI><B>Ntuples </B>
0540 <UL>
0541 <LI>Implemented activation of ntuples.</LI>
0542 <LI>Implemented support for the ntuple columns of vector type with Csv output.</LI>
0543 </UL></LI>
0544 <LI><B>General </B>
0545 <UL>
0546 <LI>Added <TT>Set/GetCompressionLevel()</TT> functions to G4AnalysisManager
0547 and changed its default value to 1 (was 9).</LI>
0548 </UL></LI>
0549 <LI><B>Fixes </B>
0550 <UL>
0551 <LI>Fixed false warnings about unknown column type when an ntuple contains
0552 a column of a vector type and is created via ntuple booking.</LI>
0553 <LI>Fixed parameter range in <TT>'setAscii'</TT> command.</LI>
0554 <LI>Fixed handling of n-tuples created in MT mode on master thread; this fixes
0555 the problem reported in Hypernews Analysis Forum (#495) and the problem
0556 of deleting non-empty Root file containing only n-tuples.</LI>
0557 <li>Fixed <TT>G4AnalysisManager::IsActive()</TT>, now taking into account all
0558 histogram and profiles types.</LI>
0559 <LI>Fixed <TT>G4Analysis::Tokenize()</TT> which was failing when processing a
0560 string containing opening double quota without a closing one.
0561 This function is used in messengers.</LI>
0562 </UL></LI>
0563 <LI><B>Internal </B>
0564 <UL>
0565 <LI>Introduced C++11 features. Added classes for common handling of tools
0566 objects and restructured existing classes to avoid code duplication.</LI>
0567 <LI>Added G4AnalysisOutput type (as class enum) and G4AnalysisManager
0568 functions needed to connect analysis to Geant4 scorers.</LI>
0569 </UL></LI>
0570 <LI><B>g4tools</B>
0571 <UL>
0572 <LI>Updated the g4tools version to g4tools-1.26.2.</LI>
0573 </UL></LI>
0574 </UL>
0575
0576 <A NAME="digits-notes">
0577 <H3><I>Digitization & Hits</I></H3></A>
0578 <UL>
0579 <LI>Added new G4MultiSensitiveDetector functionality, allowing to assign
0580 multiple sensitive-detectors to a single logical-volume.
0581 Sensitive-detectors are added to this proxy class and an instance of the
0582 proxy is assigned to the logical volume. Calls to the sensitive-detectors
0583 methods are forwarded to all user-defined sensitive-detectors that are
0584 added.</LI>
0585 </UL>
0586
0587 <A NAME="emstd-notes">
0588 <H3><I>Electromagnetic Processes</I></H3></A>
0589 <UL>
0590 <LI><B>Adjoint</B>
0591 <UL>
0592 <LI>G4AdjointhMultipleScattering: make it coherent with the forward
0593 multiple-scattering processes.</LI>
0594 <LI>G4AdjointCSManager: use G4ThreadLocalSingleton pattern, fixed
0595 computation of A of an element, added initialisation of all
0596 class members in the constructor.</LI>
0597 <LI>Fixed coverity defect in G4VEmAdjointModel.</LI>
0598 <LI>Checked code for potential never-ending loops.</LI>
0599 </UL></LI>
0600 <LI><B>DNA</B>:
0601 <UL>
0602 <LI>Added elastic model by H.Tran.</LI>
0603 <LI>Vector of products becomes a pointer instead of a reference in
0604 <TT>G4UserTimeStepAction::UserReactionAction()</TT>.</LI>
0605 <LI>G4DNAMillerGreenExcitationModel, G4DNABornExcitationModel: added
0606 <TT>GetPartialCrossSection()</TT> method.</LI>
0607 <LI>Updated G4DNABrownianTransportation and G4Scheduler classes.</LI>
0608 <LI>Updated G4TrackState & related classes.</LI>
0609 <LI>Born headers: include both model versions when proxy header is
0610 included.</LI>
0611 <LI>Added classes G4DNAEmfietzoglouExcitationModel,
0612 G4DNAEmfietzoglouIonisationModel and
0613 G4DNAUeharaScreenedRutherfordElasticModel.</LI>
0614 <LI>Added temporary classes G4DNABornIonisationModel2 and
0615 G4DNABornExcitationModel2.</LI>
0616 <LI>Added preliminary implementation of G4DNASmoluchowskiDiffusion.</LI>
0617 <LI>G4ITTrackHolder: replaced use of <TT>G4Threading::IsWorkerThread()</TT> by
0618 <TT>G4Threading::IsMasterThread()</TT>.</LI>
0619 <LI>G4DNAElastic: added check on name.</LI>
0620 <LI>G4DNAIonElasticModel: cleanup and fixed potential double free.</LI>
0621 <LI>Removed unnecessary <TT>using namespace std</TT> from few headers.</LI>
0622 <LI>G4DNA processes: corrected setup of energy boundaries.</LI>
0623 <LI>Added new classes G4ITLeadingTracks, G4ITSteppingVerbose,
0624 G4IosFlagsSaver, G4DNAElectronHoleRecombination.</LI>
0625 <LI>Added new UI command <TT>"/chem/tracking/verbose 1,2,3..."</TT> in
0626 G4VITSteppingVerbose and G4ITSteppingVerbose.</LI>
0627 <LI>Added methods <TT>SetFormatedName(), NewConfiguration(), NewConfiguration(),
0628 AddDecayChannel()</TT> per G4MolecularConfiguration, <TT>Finalize()</TT> to
0629 G4MoleculeDefinition; replaced <TT>AddDecayChannel()</TT> for a molecule model.</LI>
0630 <LI>G4MolecularConfiguration: new configuration can be defined by labels;
0631 added <TT>Finalize()</TT> method and added exception if attempt to modified
0632 the G4MolecularConfiguration is done after finalization.</LI>
0633 <LI>G4MolecularDissociationChannel, G4DNAMolecularReactionTable and
0634 G4DNAMolecularEncounterStepper: use G4MolecularConfiguration rather
0635 than molecule models.</LI>
0636 <LI>G4Molecule: added constructor where only G4MolecularConfiguration is
0637 specified.</LI>
0638 <LI>G4Scheduler: removed entirely track specification from this class.
0639 Added <TT>GetGun()</TT> method.</LI>
0640 <LI>G4ITXProcess: deal with tracks.</LI>
0641 <LI>G4ITTrackingManager is a "service" to start and finish tracking.</LI>
0642 <LI>G4ITModelProcessor, G4ITStepProcessor: added macro to prevent warnings
0643 in verbose mode.</LI>
0644 <LI>G4DNADingfelderChargeDecreaseModel: added hole creation.</LI>
0645 <LI>G4DNAEmfietzoglouXModel: specify energy boundaries in constructor.</LI>
0646 <LI>G4DNAEmfietzoglouIonisationModel: removed condition for faster code
0647 usage on shell selection.</LI>
0648 <LI>Added easier handling of cumulative probabilities in SR elastic models.</LI>
0649 <LI>Added new class G4Serialize.</LI>
0650 <LI>Added accessors in G4MolecularReactionTable.</LI>
0651 <LI>G4MoleculeGun, G4MoleculeGunMessenger: place gun randomly in a box.</LI>
0652 <LI>G4DNAAttachment, G4DNAChargeDecrease, G4DNADissociation,
0653 G4DNAExcitation, G4DNAIonisation: updated processes & models
0654 initialisation.</LI>
0655 <LI>Use standard <TT>shared_ptr</TT> types instead of old CLHEP wrappers.</LI>
0656 <LI>Added stationary regime to all inelastic models.</LI>
0657 <LI>Updated ion selection in G4DNARuddIonisationExtendedModel for Z>2.</LI>
0658 <LI>Added proton ionisation scaling in G4DNABornIonisationModel1* classes.</LI>
0659 <LI>Fixed issue of vector out-of-bounds in Sanche model.</LI>
0660 <LI>Added base class G4VDNAPTBModel.</LI>
0661 <LI>Removed <TT>dynamic_cast</TT> to G4VITProcess in G4ITStepProcessor.</LI>
0662 <LI>Renamed G4DNAOneStepSolvatationModel to G4DNAOneStepThermalizationModel.
0663 Avoid placing products outside volume of the mother track and delete
0664 navigator state when model is deleted.</LI>
0665 <LI>G4MoleculeCounter: fixed bug and made class compatible with
0666 G4DNAElectronHoleRecombination.
0667 Added a flag to check or not against scheduler time.</LI>
0668 <LI>G4MoleculeTable: no longer store G4MolecularConf as G4MolecularConfMan is
0669 taking care of this.</LI>
0670 <LI>Added classes G4VITDiscreteProcess and G4ReactionTableMessenger.</LI>
0671 <LI>Added class G4DNARevertProbability, now used by
0672 G4DNAWaterDissociationDisplacer.</LI>
0673 <LI>G4Scheduler: Update time before <TT>G4ITStepProcessor::DoIt()</TT>.</LI>
0674 <LI>Reset leading tracks at the end of the call in
0675 <TT>G4ITStepProcessor::DoIt()</TT>.</LI>
0676 <LI>G4ITModelProcessor: added <TT>RegisterModel()</TT> and <TT>GetComputeTimeStep()</TT>
0677 methods.</LI>
0678 <LI>G4DNAMolecularReactionTable: delete reaction data when table is
0679 deleted.</LI>
0680 <LI>G4DNAElectronHoleRecombination: enable using this model even when not
0681 all dissociation products have been defined (they will just not be taken
0682 into account).</LI>
0683 <LI>G4DNAWaterDissociationDisplacer: fix and speed up distributions.</LI>
0684 <LI>Requires G4EMLOW-6.48 data-set.</LI>
0685 </UL></LI>
0686 <LI><B>High Energy</B>
0687 <UL>
0688 <LI>Checked code for potential never-ending loops.</LI>
0689 <LI>Replaced use of variable 'L' to avoid
0690 shadowing of new volumetric units.</LI>
0691 </UL></LI>
0692 <LI><B>Low Energy</B>
0693 <UL>
0694 <LI>New Monash Compton model G4LowEPPolarizedComptonModel including
0695 polarization.</LI>
0696 <LI>Migrated G4LowEPComptonModel to multi-threading.</LI>
0697 <LI>G4MicroElecElastic, G4MicroElecInelastic: fixed definition of default
0698 models at initialisation; by default use G4DummyModel.</LI>
0699 <LI>G4UAtomicDeexcitation: added optional implementation of Auger cascade,
0700 based on proposal by B.Suerfu (see problem report
0701 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1727">#1727</A>).</LI>
0702 <LI>G4LowECapture: added capture process needed for MicroElec and DNA
0703 applications.</LI>
0704 <LI>G4AtomicTransitionManager: improved Exception printout.</LI>
0705 <LI>Fixed issue of over-generation of atomic deexcitation in
0706 PenelopeIonisation model when PIXE activated. Addressing problem report
0707 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1761">#1761</A>.</LI>
0708 <LI>Updated G4UAtomicDeexcitation for Bearden UI command.
0709 Cleanup initialisation, use only G4EmParameters.</LI>
0710 <LI>Fixed cross-section names in G4UAtomicDeexcitation, G4empCrossSection
0711 and G4teoCrossSection.</LI>
0712 <LI>G4PenelopeIonisationModel: use G4EmParameters.</LI>
0713 <LI>Migrated MT-compliant Livermore polarized models for gammas.</LI>
0714 <LI>Upgraded models for pair and triplet production.</LI>
0715 <LI>Replaced G4Exception in G4PenelopeIonisationModel with printout.</LI>
0716 <LI>Checked while/do loop in G4PenelopeBremsstrahlungFS.</LI>
0717 <LI>G4LivermoreIonisationModel: increased intrinsic low limit from <TT>10 eV</TT>
0718 to <TT>12 eV</TT>.</LI>
0719 <LI>G4UAtomDeexcitation: comment out unnecessary G4Exceptions.</LI>
0720 <LI>Replaced use of variable 'L' to avoid
0721 shadowing of new volumetric units.</LI>
0722 <LI>Checked code for potential never-ending loops.</LI>
0723 <LI>Requires G4EMLOW-6.48 data set.</LI>
0724 </UL></LI>
0725 <LI><B>Muons</B>
0726 <UL>
0727 <LI>G4MuMultipleScattering: do not redefine step limit type.</LI>
0728 <LI>Checked code for potential never-ending loops.</LI>
0729 </UL></LI>
0730 <LI><B>Polarisation</B>
0731 <UL>
0732 <LI>G4PolarizedCompton, G4ePolarizedIonisation, G4eplusPolarizedAnnihilation:
0733 changed initialisation taking into account MT mode; added method
0734 <TT>ComputeSaturationFactor()</TT> used in mean-free-path and step-limit
0735 corrections; removed <TT>PreparePhysicsTable()</TT> method (use one from the
0736 base class); fixed computation of the value of number of interaction
0737 lengths left which is responsible for the problem report
0738 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1698">#1698</A>.</LI>
0739 <LI>G4PolarizedComptonModel: revised do/while loop in sampling of gamma
0740 scattering angle.</LI>
0741 <LI>Checked code for potential never-ending loops.</LI>
0742 </UL></LI>
0743 <LI><B>Standard</B>
0744 <UL>
0745 <LI>G4GoudsmitSaundersonMscModel, G4GoudsmitSaundersonTable:
0746 completely revised and
0747 improved implementation of the model.</LI>
0748 <LI>G4GoudsmitSaundersonTable: fix for problem report
0749 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1767">#1767</A>.</LI>
0750 <LI>New class G4PWATotalXsecTable for GS model.</LI>
0751 <LI>G4UrbanMscModel: new positron correction dependent on e+ energy and
0752 material is added; new lateral displacement sampling algorithm
0753 is added as an alternative (disabled by default); flag is added to
0754 switch between lateral displacement sampling methods; repeat check on safety
0755 for each new step; added extra limit for very small step regime;
0756 use "distance" instead of "range" to compare with safety; fixed for rare
0757 long running event; <TT>facsafety</TT> parameter is set to 0.6 (was 0.3) to
0758 provide some CPU speedup for calorimeter simulation and tiny change of
0759 calorimeter response.</LI>
0760 <LI>G4hMultipleScattering: do not redefine step limit type.</LI>
0761 <LI>G4IonCoulombScatteringModel, G4eSingleCoulombScatteringModel: removed
0762 unnecessary <TT>using namespace std</TT> from header files.</LI>
0763 <LI>G4IonCoulombScatteringModel, G4eCoulombScatteringModel,
0764 G4hCoulombScatteringModel: removed low-energy limits from scattering
0765 models, because it is now implemented inside ionisation.</LI>
0766 <LI>G4IonCoulombScatteringModel, G4IonCoulombCrossSection: fixed wrong
0767 kinematics for the recoil. Addressing problem report
0768 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1763">#1763</A>.</LI>
0769 <LI>G4IonCoulombScatteringModel, G4hCoulombScatteringModel: fixed recoil
0770 kinematics. Addressing problem report
0771 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1778">#1778</A>.</LI>
0772 <LI>G4hCoulombScatteringModel, G4WentzelVIRelXSection: fully implemented
0773 scattering in CM rest frame of projectile/target.</LI>
0774 <LI>Updated G4ScreeningMottCrossSection and G4eSingleCoulombScatteringModel;
0775 make optimal usage of vectors.</LI>
0776 <LI>G4PAIModel, G4PAIPhotModel: fixed re-initilisation in MT mode.</LI>
0777 <LI>Removed obsolete class G4PAIPhotonModel.</LI>
0778 <LI>G4BraggIonModel: fixed non reproducibility problem.
0779 Addressing problem report
0780 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1771">#1771</A>.</LI>
0781 <LI>G4ASTARStopping, G4ESTARStopping, G4PSTARStopping: build Spline at
0782 initialisation of a vector.</LI>
0783 <LI>G4UrbanMscModel, G4IonFluctuations, G4MollerBhabhaModel: take from
0784 material class the value of effective Z instead of computing it;
0785 fixing potential source of event non-reproducibility.</LI>
0786 <LI>Use <TT>nullptr</TT> in models implementation.
0787 Use <TT>rndmEngine->flatArray(n, rndm)</TT> in sampling algorithms.</LI>
0788 <LI>Checked code for potential never-ending loops.</LI>
0789 <LI>Fixes for Coverity defects.</LI>
0790 <LI>Requires G4EMLOW-6.48 data set.</LI>
0791 </UL></LI>
0792 <LI><B>Utils</B>
0793 <UL>
0794 <LI>G4VEmModel: added extra interface <TT>ComputeCrossSectionPerShell()</TT>;
0795 added new feature, a flag allowing a user to "lock" model
0796 parameters protecting from overwrite by default values. Currently needed
0797 for the new Goudsmit-Saunderson multiple-scattering model.</LI>
0798 <LI>G4VEmModel, G4VEmFluctuationModel: removed pointers to random engine,
0799 now handled by individual models (this fix is responsible for small
0800 CPU performance degradation).</LI>
0801 <LI>G4VMscModel: compute distance to boundary even if a particle is inside
0802 the world volume (identified use-case when the world volume is filled
0803 not by vacuum but some material).</LI>
0804 <LI>G4VEmProcess, G4VEnergyLossProcess, G4VMultipleScattering, G4VEmModel:
0805 added new interfaces for automatic description of processes/models to
0806 generate HTML pages.</LI>
0807 <LI>G4VEnergyLossProcess: use lowest energy from G4EmParameters.
0808 Minor optimisation at the last step.</LI>
0809 <LI>G4VEmProcess, G4VEnergyLossProcess, G4LossTableManager,
0810 G4EmConfigurator: removed tabs and improve code formatting.</LI>
0811 <LI>G4VEmProcess, G4VEnergyLossProcess: avoid destruction of
0812 G4PhysicsModelCatalog at end of run.</LI>
0813 <LI>G4VMultipleScattering: fixed algorithm of displacement beyond the boundary.
0814 <LI>G4EmParameters, G4EmParametersMessenger: added new methods and
0815 respective UI commands for muon/hadron/ion multiple scattering:
0816 <TT>SetMscMuHadRangeFactor(), SetMscMuHadStepLimitType()</TT>,
0817 <TT>"/process/msc/RangeFactorMuHad", "/process/msc/StepLimitMuHad"</TT> and
0818 use these methods in G4VMultipleScattering;
0819 added vector of regions, public interface and corresponding UI commands by
0820 which PAI, MicroElec, or DNA models may be activated on top of any
0821 EM physics builders.</LI>
0822 <LI>G4EmParameters, G4EmParametersMessenger: added
0823 added extra flag AugerCascade and its use in G4VAtomDeexcitation;
0824 added extra parameters accessors and UI command
0825 (<TT>"/process/em/printParameters"</TT>) to dump EM parameters,
0826 for lowest energy for e+- and muons/hadrons; added <TT>SetDefaults()</TT> method
0827 for initialisation of EM parameters; define allowed names for PIXE
0828 cross-sections and to multiple-scattering step limits; fixed PIXE
0829 cross-sections names; added UI command (<TT>"/process/em/fluoBearden"</TT>) for
0830 Bearden files and its use in G4VAtomicDeexcitation.
0831 Added <TT>useMottCorrection</TT> parameter, Get/Set, and UI command
0832 <TT>"/process/msc/UseMottCorrection"</TT>.</LI>
0833 <LI>G4LossTableManager: moved run time methods to be inlined.</LI>
0834 <LI>G4VAtomDeexcitation, G4LossTableManager: changed initialisation, now
0835 happening before <TT>BuildPhysicsTable()</TT> in each thread.</LI>
0836 <LI>G4VAtomDeexcitation, G4EmProcessOptions: use only G4EmParameters for
0837 de-excitation module parameters.</LI>
0838 <LI>G4EmCalculator: moved simple methods to inline; added public method
0839 <TT>SetupMaterial()</TT> for computation of cross-section per atom, to add
0840 initialisation of material (problem observed in Bremsstrahlung
0841 cross-section); added ComputeCrossSectionPerShell, minor fixes of
0842 printout; added special computation of dEdx for ICRU'73 based ion
0843 ionisation model. Addressing problem report
0844 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1792">#1792</A>.</LI>
0845 <LI>Checked code for potential never-ending loops.</LI>
0846 <LI>Fixed Coverity defects.</LI>
0847 </UL>
0848 <LI><B>Xrays</B>
0849 <UL>
0850 <LI>Calculate <TT>deltaTime</TT> more accurately in G4Scintillation and G4Cerenkov.</LI>
0851 <LI>Checked code for potential never-ending loops.</LI>
0852 </UL></LI>
0853 </UL>
0854
0855 <A NAME="errprop-notes">
0856 <H3><I>Error Propagation</I></H3></A>
0857 <UL>
0858 <LI>Checked for potential never-ending loops.</LI>
0859 </UL>
0860
0861 <A NAME="event-notes">
0862 <H3><I>Event</I></H3></A>
0863 <UL>
0864 <LI>Fixed Coverity defects.</LI>
0865 <LI>Fixed logical bug in GPS relative to the use of
0866 <TT>"/gps/source/clear"</TT> UI command when old sources could still be used
0867 (addressing problem report
0868 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1744">#1744</A>).</LI>
0869 <LI>Fixed problem report
0870 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1706">#1706</A>.</LI>
0871 </UL>
0872
0873 <A NAME="externals-notes">
0874 <H3><I>Externals</I></H3></A>
0875 <UL>
0876 <LI>Removed internal USolids module. Adapted scripts for optional builds
0877 against an installation of the
0878 <A HREF="https://cern.ch/aidasoft/USolids">Unified Solids Library</A>
0879 in a different, outside location.</LI>
0880 <LI>Updated CLHEP module to version 2.3.1.1:
0881 <UL>
0882 <LI>Added MixMax random engine classes implementing the "Matrix Generator
0883 of Pseudorandom Numbers", as described in J. Compt. Phy. 97, 573 (1991).</LI>
0884 <LI>Added liter and its sub units to SystemOfUnits.h: <TT>liter, L, dL, cL,
0885 mL</TT>.</LI>
0886 <LI>Fixed usage of <TT>std::abs()</TT> in RandGaussZiggurat.</LI>
0887 <LI>Moved static methods handling static data in G4RandGauss from inline
0888 to source. Addressing problem report
0889 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1754">#1754</A>.</LI>
0890 <LI>Switch off gcc-5 warnings for deprecated calls to <TT>auto_ptr</TT> in Utility
0891 headers. Switch off gcc-5 warning for unused variable in Randomize.h
0892 header.</LI>
0893 <LI>Use <TT>std::shared_ptr</TT> in random classes instead of internal Boost-derived
0894 implementation. In the Utility module, removed Boost derived
0895 implementation of <TT>shared_ptr</TT> and <TT>weak_ptr</TT>; removed no longer used
0896 type_traits.h header.</LI>
0897 <LI>Corrected RandExpZiggurat to use shared_ptr as for all other
0898 distributions.</LI>
0899 </UL></LI>
0900 <LI>Upgraded expat module to version 2.1.0.
0901 Use pragmas to suppress trivial warnings for GNU and Clang compilers.</LI>
0902 <LI>Upgraded zlib module to version 1.2.8.
0903 Keeping local modifications, like function declarationss, and removed
0904 obsolete register keyword; added type casts to fix compilation errors
0905 on Windows.</LI>
0906 </UL>
0907
0908 <A NAME="gen-notes">
0909 <H3><I>General Processes</I></H3></A>
0910 <UL>
0911 <LI><B>Biasing</B>
0912 <UL>
0913 <LI><U>management</U>:
0914 <UL>
0915 <LI>Migrated to use G4VAuxiliaryTrackInformation: removed classes
0916 G4BiasingTrackData and G4BiasingTrackDataStore.
0917 Removed no longer applicable methods in G4VBiasingOperator.</LI>
0918 <LI>G4VBiasingOperator : added <TT>Configure()</TT> and <TT>ConfigureForWorker()</TT>
0919 virtual methods, primarely intended to handle the G4VAuxiliaryTrackInformation
0920 ID's creation (ID's to be created using the G4PhysicsModelCatalog).</LI>
0921 </UL></LI>
0922 <LI><U>generic</U>:
0923 <UL>
0924 <LI>Migrated to use G4VAuxiliaryTrackInformation: created
0925 G4BOptrForceCollisionTrackData and rewritten G4BOptrForceCollision
0926 biasing operator accordingly. The bookkeeping of tracks to be biased
0927 is no longer made through state variables stored by the operator but
0928 through the G4BOptrForceCollisionTrackData; this makes the bookeeping
0929 much simpler, eliminates non-reliable cases, and allows for warnings
0930 to be issued in case a track to be biased is undeservedly deleted.</LI>
0931 <LI>Removed dependency on deleted G4BiasingTrackData in 'management' module.</LI>
0932 </UL></LI>
0933 </UL></LI>
0934 <LI><B>Cuts</B>
0935 <UL>
0936 <LI>G4VRangeToEnergyConverter: added back call to <TT>Reset()</TT> in destructor.</LI>
0937 <LI>Checked code for potential never-ending loops.</LI>
0938 </UL></LI>
0939 <LI><B>Decay</B>
0940 <UL>
0941 <LI>Fixed issue in <TT>G4Decay::DecayIt()</TT> to check that the parent mass is
0942 enough for decay products.</LI>
0943 <LI>Check on parent mass for decay products moved to method
0944 <TT>G4VDecayChannel::IsOKWithParentMass()</TT>.</LI>
0945 <LI>Fix for spin treatment in decay in-flight. Addressing problem report
0946 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1783">#1783</A>.</LI>
0947 </UL></LI>
0948 <LI><B>Management</B>
0949 <UL>
0950 <LI>Cleanup source code of messengers.</LI>
0951 <LI>Fixed Coverity defects in G4ProcessTable.</LI>
0952 <LI>Checked code for potential never-ending loops.</LI>
0953 </UL></LI>
0954 <LI><B>Optical</B>
0955 <UL>
0956 <LI>Change calculation of NewPolarization in G4OpRayleigh to avoid
0957 potential division by zero. If the polarization is perpendicular to
0958 the scattering plane, it will not change after the scattering.</LI>
0959 <LI>Added call to <TT>ProposeLocalEnergyDeposit()</TT> for particle-change in
0960 G4OpAbsorption.</LI>
0961 <LI>Corrected reflectivity calculation with complex refractive index;
0962 include the index of refraction of the PreStepPoint medium; allow
0963 for a real and imaginary part of the index of refraction.
0964 Addressing problem report
0965 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1762">#1762</A>.</LI>
0966 <LI>Checked code for potential never-ending loops.</LI>
0967 </UL></LI>
0968 <LI><B>Scoring</B>
0969 <UL>
0970 <LI>G4ParallelWorldProcess: added verbosity to check update of field-track.</LI>
0971 <LI>Fixed Coverity defects.</LI>
0972 </UL></LI>
0973 </UL>
0974
0975 <A NAME="geo-notes">
0976 <H3><I>Geometry</I></H3></A>
0977 <UL>
0978 <LI>Checked code for potential never-ending loops.</LI>
0979 <LI>Protected compilation of USolid wrappers with G4GEOM_USE_USOLIDS flag.</LI>
0980 <LI><B>Division</B>
0981 <UL>
0982 <LI>Fix for use of rotation matrix in G4VDivisionParameterisation in
0983 MT-mode; use thread-local pointer for rotation matrix as member of
0984 the class G4VDivisionParameterisation and set it to suto-delete.
0985 Removed unnecessary thread-local verbose flag.
0986 Addressing problem reports
0987 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1743">#1743</A>
0988 and <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1758">#1758</A>.</LI>
0989 <LI>Set as unsupported divisions of polycone and polyhedra in MT-mode.</LI>
0990 </UL></LI>
0991 <LI><B>Magnetic field</B>
0992 <UL>
0993 <LI>Change assignment to field instead of field array in G4RepleteEofM.
0994 Included <TT>NumberOfVariables</TT> in G4RepleteEofM constructor argument
0995 list.</LI>
0996 <LI>Added check against number of iterations in
0997 <TT>G4ChordFinder::FindNextChord()</TT>, to identify potential cases of lack
0998 of convergence.</LI>
0999 </UL></LI>
1000 <LI><B>Management</B>
1001 <UL>
1002 <LI>Added shadow pointers to shared data structures in G4LogicalVolume
1003 and G4VPhysicalVolume for exclusive use by object persistency.</LI>
1004 <LI>Return const reference in G4LogicalVolume::GetName().
1005 Addressing report
1006 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1757">#1757</A>.</LI>
1007 <LI>Use <TT>G4Threading::IsMasterThread()</TT> function in splitters.</LI>
1008 <LI>In G4VSolid, moved <TT>EstimateCubiVolume()</TT> and <TT>EstimateSurfaceArea()</TT>
1009 to public section for specific use-cases and customisation of precision.</LI>
1010 <LI>Replaced use of <TT>sprintf</TT> with C++ streams in G4AffineTransform.</LI>
1011 </UL></LI>
1012 <LI><B>Navigation</B>
1013 <UL>
1014 <LI><TT>G4MultiLevelLocator::EstimateIntersectionPoint()</TT>: fix for logic error
1015 in keeping consistent candidate intersection. Copes with case that a
1016 candidate intersection is not found in the next segment (typically in
1017 the 'second half' part).
1018 Ensure that splitting of step (new level/depth) advances the required
1019 length, used when adding a new level/depth.
1020 Revised condition of 'while' loop which ensures that a new candidate
1021 intersection exists. Corrected the resetting of 'first_section' flag.
1022 Replaced fatal error for exceeding max steps with warning and signal
1023 'looping' for too many steps; G4PropagatorInField detects this
1024 condition, and identifies it as a 'Looping Particle' which is then
1025 flagged; the calling class (Transportation, PathFinder) is expected
1026 to stop the tracking of this particle after a few of these steps.
1027 Addressing issue seen by ALICE (non-finishing of step due to poor
1028 advances).</LI>
1029 <LI>G4VIntersectionLocator: added new logging methods & revised interfaces.</LI>
1030 <LI>G4NavigationLogger: added method to report issue with normal that
1031 is the result of applying a rotation.</LI>
1032 <LI>G4NormalNavigation, G4VoxelNavigation: added check of rotated exit
1033 normal.</LI>
1034 <LI>Removed unused leftover header file G4GeomTestVolPoint.hh.</LI>
1035 </UL></LI>
1036 <LI><B>Solids (CSG)</B>
1037 <UL>
1038 <LI>Added USolids/VecGeom wrapper for G4Torus.</LI>
1039 <LI>Introduced check in <TT>G4Sphere::DistanceToIn(p,v)</TT> for concave
1040 Theta and point located on the origin. Also make proper use of radial
1041 tolerance in <TT>DistanceToOut(p,v)</TT>.</LI>
1042 <LI>Fixed Coverity defect in <TT>G4CutTubs::GetMaxMinZ()</TT>.</LI>
1043 </UL></LI>
1044 <LI><B>Solids (Specific)</B>
1045 <UL>
1046 <LI>Added USolids/VecGeom wrapper for G4Paraboloid.</LI>
1047 <LI>Added specialised implementation for <TT>GetCubicVolume()</TT> in
1048 G4TessellatedSolid.</LI>
1049 <LI>G4PolyhedraSide: moved internal struct definitions to public section
1050 to overcome deficiencies in object-persistency class parsing.</LI>
1051 <LI>Removed redundant condition in G4Polyhedra and G4Polycone
1052 <TT>SetOriginalParameters()</TT> method.</LI>
1053 <LI>Minor code cleanup in G4SurfaceVoxelizer.</LI>
1054 </UL></LI>
1055 <LI><B>Volumes</B>
1056 <UL>
1057 <LI>Enabled paramerisation by solid type in G4GeometryWorkspace in MT-mode.
1058 Assumes solids being parameterised are declared thread-local in the
1059 user's parameterisation class and allocated just once.</LI>
1060 </UL></LI>
1061 </UL>
1062
1063 <A NAME="glob-notes">
1064 <H3><I>Global</I></H3></A>
1065 <UL>
1066 <LI>First implementation of G4UniformRandPool for serial generation of
1067 uniform random numbers. Feature not actived yet.</LI>
1068 <LI>Introduced <TT>IsMasterThread()</TT> function in G4Threading header.</LI>
1069 <LI>Added type-info information to G4Allocator to aid debugging.</LI>
1070 <LI>Force use of G4MT wrappers for Intel-icc compiler for random numbers.
1071 Explicit settings for Intel-icc compiler in tls.hh.</LI>
1072 <LI>Added missing <TT>inline</TT> specification to functions in G4String.icc.
1073 Added string length check in <TT>G4String::operator==()</TT>.</LI>
1074 <LI>Tune radial tolerance to same value as for Cartesian tolerance in
1075 G4GeometryTolerance.</LI>
1076 <LI>Added units in G4SystemOfUnits.hh: <TT>liter, L, dL, cL, mL</TT>.
1077 Updated G4SIunits.hh and G4UnitsTable accordingly.</LI>
1078 <LI>G4PhysicsVector, G4Physics2DVector, G4PhysicsOrderedFreeVector:
1079 use <TT>std::lower_bound()</TT> instead of do/while loops.</LI>
1080 <LI>G4Pow: added protections against zero value of argument of methods
1081 <TT>powN()</TT>, <TT>powA()</TT> and <TT>A13()</TT>. Minor cleanup.</LI>
1082 <LI>Update date of release for 10.2.</LI>
1083 </UL>
1084
1085 <A NAME="greps-notes">
1086 <H3><I>Graphical Representations</I></H3></A>
1087 <UL>
1088 <LI>HepPolyhedron: corrected a long-standing spelling mistakes.
1089 This is reflected in the method names, but the old names have been
1090 kept for backwards compatibility. Fixed Coverity defect.</LI>
1091 </UL>
1092
1093 <A NAME="had-notes">
1094 <H3><I>Hadronic Processes</I></H3></A>
1095 <UL>
1096 <LI>Fixed Coverity defects.</LI>
1097 <LI><B>Cross sections</B>
1098 <UL>
1099 <LI>G4CrossSectionDataSetRegistry, G4VCrossSectionDataSet: defined as
1100 G4ThreadLocalSingleton; delete all x-sections at exit except HP.</LI>
1101 <LI>G4KokoulinMuonNuclearXS: fixed initialisation for the case of multiple
1102 runs.</LI>
1103 <LI>G4DiffElasticRatio: added protection for hydrogen; added energy
1104 thresholds to skip treatment of low-energy particles.</LI>
1105 <LI>Added description method to cross-section classes.</LI>
1106 <LI>G4CrossSectionDataStore: additions to print Html documentation.</LI>
1107 <LI>G4NeutronInelasticXS, G4NeutronCaptureXS: fixed isotope cross-sections
1108 including retrieve, data management, isotope x-section and isotope
1109 selection.</LI>
1110 <LI>Deleted old classes G4GlauberGribovCrossSection, G4GGNuclNuclCrossSection,
1111 and replaced them with new, recommended ones G4ComponentGGHadronNucleusXsc
1112 and G4ComponentGGNuclNuclXsc, respectively.</LI>
1113 <LI>Added artificial cross-section data set G4ZeroXS which always replies
1114 zero.</LI>
1115 <LI>G4HadronNucleonXsc: fixed energies for K-p data in order to avoid crash
1116 when bounds check is applied.</LI>
1117 <LI>G4ComponentGGHadronNucleusXsc: added <TT>Default_Name()</TT> method.</LI>
1118 <LI>G4HadronNucleonXsc, G4ComponentGGHadronNucleusXsc: clean up of
1119 kaon-nucleon cross-section vector-arrays, no longer used.</LI>
1120 <LI>G4CrossSectionDataSetRegistry: added same ad-hoc trick of NeutronHP to
1121 ParticleHP models to prevent problem at termination.</LI>
1122 <LI>First implementation of fast-path (ASCR style) cross-section feature
1123 (currently OFF by default).</LI>
1124 <LI>Properly treat initialisation of float quantities in
1125 G4HadronCrossSections.</LI>
1126 <LI>Replaced use of variable 'L' in G4ElectroNuclearCrossSection.cc to
1127 avoid shadowing of new volumetric units.</LI>
1128 <LI>Migrated code to use faster G4Exp, G4Log and G4Pow where possible.</LI>
1129 </UL></LI>
1130 <LI><B>Management</B>
1131 <UL>
1132 <LI>G4HadronicProcessStore, G4HadronicProcess: fixed procedure of
1133 deletion at exit.</LI>
1134 <LI>G4HadronicProcess: improved method <TT>GetElementCrossSection()</TT> to be used
1135 also with neutronHP (which needs a material defined).</LI>
1136 <LI>G4HadronicProcessStore: print "/n", i.e. "per nucleon", in the kinetic
1137 energy limits of hadronic models in the case of ions.
1138 Addressing problem report
1139 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1775">#1775</A>.</LI>
1140 <LI>Replace condition in G4HadronicProcess::BiasCrossSectionByFactor()
1141 with initial capital letter for strings being compared.
1142 Addressing problem report
1143 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1740">#1740</A>.</LI>
1144 <LI>Updates to G4HadronicProcessStore for Html documentation.</LI>
1145 <LI>Checked code for potential never-ending loops.</LI>
1146 <LI><U>Models Management</U>:
1147 <UL>
1148 <LI>G4HadronicInteractionRegistry, G4HadronicInteraction: fixed
1149 deletion of models at exit. Made G4HadronicInteractionRegistry
1150 thread-local singleton.
1151 <LI>G4HadronicInteractionRegistry: more accurate check on HP
1152 models.</LI>
1153 </UL></LI>
1154 </UL></LI>
1155 <LI><B>Processes</B>
1156 <UL>
1157 <LI>Changed default argument of G4He3InelasticProcess constructor to avoid
1158 confusion with triton. Addressing problem report
1159 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1782">#1782</A>.</LI>
1160 <LI>G4HadronElasticProcess: switch to <TT>ProcessDescription()</TT> interface.</LI>
1161 <LI>Added G4PhotoCaptureProcess and G4PhotoFissionProcess classes.</LI>
1162 <LI>Inline some methods in G4UCNBoundaryProcess.</LI>
1163 <LI>Checked code for potential never-ending loops.</LI>
1164 </UL></LI>
1165 <LI><B>Stopping</B>
1166 <UL>
1167 <LI>G4AntiNeutronAnnihilationAtRest: migration to G4Exp, G4Log and G4Pow.</LI>
1168 <LI>G4HadronStoppingProcess: removed call to DeRegistration() to fix
1169 memory corruption reported by Valgrind.</LI>
1170 <LI>Checked code for potential never-ending loops.</LI>
1171 </UL></LI>
1172 <LI><B>Utility</B>
1173 <UL>
1174 <LI>G4NuclearPolarization: new container class keeping nuclear polarisation
1175 tensor.</LI>
1176 <LI>G4Nucleus, G4Bessel and G4LightMedia: use G4Exp, G4Log and G4Pow.</LI>
1177 <LI>Checked code for potential never-ending loops.</LI>
1178 <LI><U>Models Utilities</U>:
1179 <UL>
1180 <LI>New implementations of G4Clebsch, G4LegendrePolynomial and
1181 G4PolynomialPDF for correlated gamma nuclear de-excitation.</LI>
1182 <LI>G4Fragment: fixed copy constructor; fixed leak in operator=().
1183 Use initialisers in constructors.
1184 Add usage of G4NuclearParameterization.</LI>
1185 <LI>G4GeneralPhaseSpaceDecay, G4KineticTrack : extension to deal with
1186 decays with maximum 4 daughters (instead of 3).</LI>
1187 <LI>G4KineticTrack: fixed final products list.</LI>
1188 <LI>Use G4Exp, G4Log and G4Pow in place of std functions.</LI>
1189 <LI>Checked code for potential never-ending loops.</LI>
1190 </UL></LI>
1191 </UL></LI>
1192 <LI><B>ABLA</B>
1193 <UL>
1194 <LI>Checked code for potential never-ending loops.</LI>
1195 </UL></LI>
1196 <LI><B>Abrasion</B>
1197 <UL>
1198 <LI>Use G4Exp and G4Pow in G4NuclearAbrasionGeometry and
1199 G4WilsonAbrasionModel.</LI>
1200 <LI>Checked code for potential never-ending loops.</LI>
1201 </UL></LI>
1202 <LI><B>Bertini Cascade</B>
1203 <UL>
1204 <LI>G4InuclCollider: added special end-of-cascade test to require
1205 low-energy photo-nuclear and lepto-nuclear events to produce at least
1206 one non-gamma secondary. Currently hidden behind
1207 G4CASCADE_CHECK_PHOTONUCLEAR flag; will address problem report
1208 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1680">#1680</A>
1209 to increase neutron yield around the giant dipole resonance, without
1210 model changes.</LI>
1211 <LI>G4KaonSampler, G4HyperonSampler: new copies of G4KaonHypSampler, which
1212 will eventually diverge with different energy binning, in order to
1213 extend kaon and hyperon final state tables to <TT>~30 GeV</TT>.</LI>
1214 <LI>G4KaonSampler: modified to 30 bins, finely divided up to <TT>1.5 GeV</TT>, very
1215 coarsely grained above <TT>10 GeV</TT>. Binning optimized to isolate various
1216 resonances in Kp and Kn spectra.</LI>
1217 <LI>G4CascadeKplusPChannel: use new G4KaonSampler binning, with final states
1218 tabulated up to 9-body. Should dramatically improve match to data.</LI>
1219 <LI>Follow new G4cbrt() by moving powers of Z and A out of argument.</LI>
1220 Lookup table only covers real nuclei (up to about 300 or so).</LI>
1221 <LI>G4CascadeInterface: call static Initialize() function in constructor,
1222 for sequential builds or master thread.</LI>
1223 <LI>Migrated "TLS" local buffers in G4InuclSpecialFunctions and
1224 G4NucleiModel to use G4AutoDelete mechanism. This removes them as
1225 spurious memory leaks at end of job.</LI>
1226 <LI>G4CascadeCoalescence: added explicit inclusion of G4InuclElementaryParticle
1227 header to address compiler error from Cray (as reported in Configuration
1228 Hypernews Forum #1764).</LI>
1229 <LI>G4CascadeKplusNChannel: extended to 9-body final states and <TT>32 GeV</TT>
1230 using same energy bins as G4CascadeKplusPChannel.</LI>
1231 <LI>Migrated code to use G4Pow, G4Log, and G4Exp.</LI>
1232 <LI>Verified while-do loops conditions for potential non-termination.</LI>
1233 </UL></LI>
1234 <LI><B>Binary Cascade</B>
1235 <UL>
1236 <LI>Improved fragmentation of fast residual nuclei in
1237 G4GeneratorPrecompoundInterface, with energies of the order of some
1238 TeV/nucleon. A residual is transformed in its rest frame. After
1239 fragmentation, all produced fragments are transformed to Lab.
1240 system.</LI>
1241 <LI>G4GeneratorPrecompoundInterface: propagate for hA interactions. Fixed
1242 bug for a case when the actual mass of a residual nucleus is less than
1243 the ground state mass of the residual.
1244 Introduced CaptureThreshold variable and improved calculation of
1245 excitation energies of projectile and target nuclear residuals.
1246 Improved calculation of excitation energies of nuclear residuals for
1247 QGS model.</LI>
1248 <LI>Migrated code to use G4Exp, G4Log, and G4Pow.</LI>
1249 <LI>Checked code for potential never-ending loops.</LI>
1250 </UL></LI>
1251 <LI><B>De-excitation</B>
1252 <UL>
1253 <LI>G4NuclearLevelStore: taken out access to G4LevelManager.</LI>
1254 <LI>G4NuclearLevelData: new data class for nuclear levels and gamma
1255 transitions; pure singleton with data shared among threads.
1256 Adapted classes G4LevelReader, G4LevelManager and G4NucLevel
1257 accordingly.</LI>
1258 <LI>G4LevelReader: added factor to transform half life time into life
1259 time.</LI>
1260 <LI>G4NuclearLevelData, G4LevelReader: cleanup of reading of the data.
1261 Implemented lazy initialisation per isotope (before data for all isotopes
1262 for a given Z were uploaded); reduces initial memory footprint.</LI>
1263 <LI>Moved new nuclear data structure classes to 'management' module.
1264 Removed obsolete G4E1SingleProbability1, G4VPhotonEvaporation
1265 classes.</LI>
1266 <LI>G4VEvaporationChannel, G4VEvaporation, G4VEvaporationChannel: moved
1267 setters from G4PhotonEvaporation to reduce number of new/delete at
1268 initialisation.</LI>
1269 <LI>G4VEvaporationChannel, G4LevelManager, G4EvaporationFactory,
1270 G4EvaporationDefaultGEMFactory, G4EvaporationGEMFactory: added new
1271 method <TT>GetNearestLevel()</TT> providing access to the nuclear level data
1272 from any nuclear decay channel. Providing implementation of
1273 <TT>GetNearestLevel()</TT> in G4PromptPhotonEvaporation.</LI>
1274 <LI>G4Evaporation: access random engine before the loop.</LI>
1275 <LI>Renamed G4PromptPhotonEvaporation as G4PhotonEvaporation, the old
1276 G4PhotonEvaporation class
1277 is renamed as G4PhotonEvaporationOLD.</LI>
1278 <LI>G4PhotonEvaporation: added prototype of gamma transition class with
1279 correlated gamma emission. Computation of probability of gamma emission
1280 does not use level data information (and does not require uploading files);
1281 this reduces CPU used by de-excitation module.</LI>
1282 <LI>G4PhotonEvaporation, G4GammaTransition, G4PolarizedGammaTransition:
1283 added protection against fragments with Z > 100. Added protection
1284 against wrong shell index.</LI>
1285 <LI>Replaced use of variable 'L' in G4LevelReader.cc and
1286 G4PolarizationTransition to avoid shadowing of new volumetric units.</LI>
1287 <LI>More accurate use of G4float, make explicit conversion to G4double
1288 when needed, use float const for initialisation of float.</LI>
1289 <LI>G4WilsonAblationModel, G4EvaporationFactory, G4EvaporationFactory,
1290 G4ExcitationHandler: use default constructor of G4Evaporation and
1291 access photon evaporation class from G4Evaporation.</LI>
1292 <LI>G4VEvaporationChannel, G4PhotonEvaporation: removed "timeType"
1293 which is no longer used; removed name of channel.</LI>
1294 <LI>G4ChatterjeeCrossSection, G4KalbachCrossSection: new cross-section
1295 classes to be used for all evaporation fragments.</LI>
1296 <LI>G4AlphaEvaporationProbability, G4DeuteronEvaporationProbability,
1297 G4EvaporationProbability, G4He3EvaporationProbability,
1298 G4NeutronEvaporationProbability, G4ProtonEvaporationProbability,
1299 G4TritonEvaporationProbability: use new classes above; reduced
1300 number of virtual calls and number of computations in the
1301 integration loop.</LI>
1302 <LI>G4FissionParameters, G4CompetitiveFission: fixed kinematics;
1303 code cleanup.</LI>
1304 <LI>G4EvaporationChannel, G4EvaporationProbability: optimisation of
1305 the sampling of final state.</LI>
1306 <LI>G4WilsonAblationModel: complete migration to G4PromptPhotonEvaporation.
1307 Use G4Exp and G4Pow; fixed Coverity defect.</LI>
1308 <LI>G4VGammaDeexcitation, G4PhotonEvaporation, G4E1Probability,
1309 G4DiscreteGammaTransition, G4DiscreteGammaDeexcitation,
1310 G4ContinuumGammaTransition, G4ContinuumGammaDeexcitation:
1311 tolerance is reduced from <TT>1-10 keV</TT> to <TT>0.1 keV</TT>.
1312 Required in order to address problem report
1313 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1760">#1760</A>.</LI>
1314 <LI>G4PolarizationTransition: new class for correlated gamma emission.</LI>
1315 <LI>G4VEvaporationChannel, G4VEvaporationChannel, G4LevelManager: added
1316 extra method GetMaxLevelEnergy() needed for decay channels to
1317 distinguish continue and discrete excitation states.</LI>
1318 <LI>G4FermiPhaseSpaceDecay: removed obsolete method to sample N-body
1319 decay and left only Kopylov one. Fixed compilation on Windows.</LI>
1320 <LI>G4ExcitationHandler: increased limit for multi-fragmentation model from
1321 <TT>4</TT> to <TT>400 GeV</TT>, so rare cases when a fragment with very
1322 high excitation is sent to the de-excitation module are not treated any
1323 longer with this model.</LI>
1324 <LI>Fixed cases of event non-reproducibility.</LI>
1325 <LI>Checked code for potential never-ending loops.</LI>
1326 </UL></LI>
1327 <LI><B>Elastic scattering</B>
1328 <UL>
1329 <LI>G4ElasticHadrNucleusHE : share cross-section tables among threads.
1330 <LI>G4LMsdGenerator: modification in angle distribution to reduce angles
1331 at high energies. Changed final state for pi+- DD, according to recent
1332 COMPASS data.</LI>
1333 <LI>Migration to use <TT>ModelDescription()</TT> for G4ChipsElasticModel,
1334 G4ElasticHadrNucleusHE, and G4HadronElastic.</LI>
1335 <LI>G4ElasticHadrNucleusHE: added check on max Z. Fixed Coverity defect.</LI>
1336 <LI>G4LMsdGenerator: disactivated internal elastic scattering of
1337 dissociated hadron.</LI>
1338 <LI>G4NuclNuclDiffuseElastic: fixed trivial Coverity reports.</LI>
1339 <LI>Removed unnecessary "using namespace std" statement from some
1340 headers.</LI>
1341 <LI>G4LMsdGenerator: improved resonance masses, taking them from
1342 G4ParticleTable.</LI>
1343 <LI>G4LMsdGenerator: included resonances recommended by the COMPASS
1344 experiment in diffraction dissociation.
1345 Fixed uninitialized variable responsible for event
1346 non-reproducibility.</LI>
1347 <LI>G4DiffuseElastic: bug-fix in BuildAngleTable() to improve the angle bin
1348 accuracy at high energies.</LI>
1349 <LI>Use G4Exp, G4Log and G4Pow in several classes.</LI>
1350 <LI>Properly treat initialisation of float quantities.</LI>
1351 <LI>Checked code for potential never-ending loops.</LI>
1352 </UL></LI>
1353 <LI><B>Electromagnetic dissociation</B>
1354 <UL>
1355 <LI>G4EMDissociation: fixed memory leaks. Removed useless header file
1356 dependency on G4GeneralPhaseSpaceDecay.</LI>
1357 </UL></LI>
1358 <LI><B>Fission</B>
1359 <UL>
1360 <LI>Migrated to use ParticleHP instead of NeutronHP.</LI>
1361 <LI>Adapted interface in G4FissionLibrary with particle-hp module.</LI>
1362 <LI>Set A and Z of actual target of reaction to "targetNucleus" from
1363 HadronicProcess. Reset isotope pointer to the target G4Nucleus object
1364 of reaction; fixing warning message about 'ReactionWhiteBoard
1365 disappeared'.</LI>
1366 <LI>Migration to fast-math functions.</LI>
1367 <LI>Checked code for potential never-ending loops.</LI>
1368 </UL></LI>
1369 <LI><B>High Energy Theoretical</B>
1370 <UL>
1371 <LI>Migrated code to use fast math functions.</LI>
1372 <LI>Properly treat initialisation of float quantities.</LI>
1373 <LI>Checked code for potential never-ending loops.</LI>
1374 </UL></LI>
1375 <LI><B>Im_r_matrix</B>
1376 <UL>
1377 <LI>Moved G4Clebsch class to 'models/util' module.</LI>
1378 <LI>Cleared compilation warning on clang-3.6.</LI>
1379 </UL></LI>
1380 <LI><B>INCLXX</B>
1381 <UL>
1382 <LI>Updated to INCL++ v5.2.9.5.</LI>
1383 <LI>Removed unnecessary <TT>using namespace std</TT> statement in
1384 G4INCLXXInterface.</LI>
1385 <LI>Introducing possibility to perform calculations with a limited number
1386 of outgoing pions in multi-pion collisions.
1387 Checked all the while loops in the code and added guards and comments.</LI>
1388 <LI>Added some setters for configuration; added UI commands to control the
1389 INCL physics and the coupled de-excitation model; removed
1390 INCL_INVERSE_KINEMATICS compile-time symbol.</LI>
1391 <LI>Omit use of real masses from incl42 physics option.</LI>
1392 <LI>Fixed nuclide name parsing.</LI>
1393 </UL></LI>
1394 <LI><B>Lend</B>
1395 <UL>
1396 <LI>Updated LEND code to LEND v1.3.</LI>
1397 <LI>fixed case of energy non-conservation in Capture and Inelastic.</LI>
1398 <LI>Migrated code to use fast math functions.</LI>
1399 <LI>Fixed compilation problem on Intel-icc with c++11 enabled.</LI>
1400 <LI>Checked code for potential never-ending loops.</LI>
1401 </UL></LI>
1402 <LI><B>Lepto-nuclear</B>
1403 <UL>
1404 <LI>G4MuonVDNuclearModel: defined G4KokoulinMuonNuclearXS via factory
1405 interface allowing reuse of already instantiated class; keep pointer
1406 of G4KokoulinMuonNuclearXS instead of object in order to avoid double
1407 deletion at exit.</LI>
1408 <LI>Migrated code to use fast math functions.</LI>
1409 <LI>Checked code for potential never-ending loops.</LI>
1410 </UL></LI>
1411 <LI><B>Particle High Precision</B>
1412 <UL>
1413 <LI>Fixing problem of possible infinite loop in
1414 G4ParticleHPEnAngCorrelation.</LI>
1415 <LI>Fixed rare core dump in thermal scattering.</LI>
1416 <LI>Uncomment out para/ortho hydrogen and liquid/solid methane.</LI>
1417 <LI>Adjust A and Z in the case of mismatch between selected data and
1418 target nucleus.</LI>
1419 <LI>Added G4ParticleHPMessenger class.
1420 Added UI commands for controlling options of HP package and verbose
1421 level.</LI>
1422 <LI>Delete unnecessary issue of BuildPhysicTable.</LI>
1423 <LI>Introducing ThreadLocalManager for storing information related to each
1424 individual reactions.</LI>
1425 <LI>Avoid using the cache of cross-section, as the same feature is offered
1426 in G4CrossSectionDataStore.</LI>
1427 <LI>Improved sharing of static data among threads.</LI>
1428 <LI>Added model and cross-section descriptions.</LI>
1429 <LI>Fixed problem on photon distribution. Addressing problem report
1430 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1745">#1745</A>.</LI>
1431 <LI>Fixed issue in MT-mode in Wendt-Fission-Fragment model.</LI>
1432 <LI>Use G4Threading::IsMasterThread() instead of calls to
1433 IsWorkerThread().</LI>
1434 <LI>Fixed cases of array out-of-bound errors.</LI>
1435 <LI>Fixed problems at deletion and reproducibility in multi-threading mode.</LI>
1436 <LI>Use <TT>G4Threading::IsMasterThread()</TT>.</LI>
1437 <LI>Enable to use dynamically generated materials.</LI>
1438 <LI>Improved memory consumption.</LI>
1439 <LI>Fix problem in G4InterpolationIterator.</LI>
1440 <LI>Fixes in G4ParticleHPProduct and G4ParticleHPEnAngCorrelation for solving
1441 event reproducibility issues.
1442 <LI>Moved header files from old 'neutron_hp' module as typedefs to new
1443 types for backward compatibility. Added NeutronHP.History and
1444 FissFragGen.History, copies of the History files in the old neutron_hp
1445 module.</LI>
1446 <LI>Replaced use of variable 'L' in G4ParticleHPThermalScattering.cc and
1447 G4PolarizationTransition to avoid shadowing of new volumetric units.</LI>
1448 <LI>Migrated code to use fast math functions.</LI>
1449 <LI>Checked code for potential never-ending do-while loops.</LI>
1450 <LI>Note: if <TT>ParticleHP</TT> is used only for neutrons, as replacement
1451 for <TT>NeutronHP</TT>, then the usual neutron data library
1452 (G4NDL4.5) is utilized.
1453 In order to use <TT>ParticleHP</TT> for charged particles
1454 (protons, deuterons, tritons, He3 and alphas), the optional data
1455 set G4TENDL-1.0 is required, downloadable from the Geant4 web site.</LI>
1456 </UL></LI>
1457 <LI><B>Parton-String</B>
1458 <UL>
1459 <LI>G4FTFParameters: tuning to improve the description of evaporated
1460 neutrons, based on an analysis of ITEP and Leray experimental data.</LI>
1461 <LI>G4LundStringFragmentation: improved reaction cross-sections of:
1462 Pbar + P -> Pi+ Pi-, K+ K-.</LI>
1463 <LI>G4FTFModel: changed lower energy limit from <TT>2</TT> to <TT>1 GeV</TT>.</LI>
1464 Introduced smearing of the excitation energy associated with an
1465 involved nucleon.</LI>
1466 <LI>Implemented correct coupling of FTF with BIC. Energy-momentum is
1467 conserved.</LI>
1468 <LI>Improved sampling of nucleon momenta after the Reggeon cascading in
1469 the method <TT>G4FTFModel::SamplingNucleonKinematics()</TT>.
1470 Added protection to Elastic hN scattering.</LI>
1471 <LI>Added new methods <TT>Set/GetCofNuclearDestructionPr()</TT> in G4FTFParameters,
1472 for projectile nucleus, according to last studies that Reggeon
1473 cascading depends on nuclear mass number.</LI>
1474 <LI>Tuned parameters in G4LundStringFragmentation according to NA49 data.
1475 Fixed case of potential FPE in <TT>FragmentString()</TT> function.</LI>
1476 <LI>G4ExcitedStringDecay: fixed bug leading to energy-momentum
1477 non-conservation in QGSM.</LI>
1478 <LI>Fixed bug in <TT>G4QGSMFragmentation::SplitEandP()</TT> for rare
1479 energy-momentum non-conservation.</LI>
1480 <LI>G4FTFParameters: fixed Valgrind error for uninitialized variables.</LI>
1481 <LI>Use G4Exp, G4Log and G4Pow.</LI>
1482 <LI>Checked code for potential never-ending loops.</LI>
1483 </UL></LI>
1484 <LI><B>Pre-equilibrium</B>
1485 <UL>
1486 <LI>G4PreCompoundFragment: use classes G4KalbachCrossSection and
1487 G4ChatterjeeCrossSection; removed duplicate computations of these
1488 cross-sections; fixed sampling of kinetic energy of emitted fragment.</LI>
1489 <LI>Fixed compilation problem on icc-16 in G4PreCompoundFragment.</LI>
1490 <LI>Checked code for potential never-ending loops.</LI>
1491 </UL></LI>
1492 <LI><B>QMD Reaction</B>
1493 <UL>
1494 <LI>Added model and cross-section descriptions.</LI>
1495 <LI>Added new method GetExcitationHandler() in G4QMDReaction and deleted
1496 obsolete code.</LI>
1497 <LI>Fixed bug in handling forgiven decay in G4QMDCollision.</LI>
1498 <LI>Migrated to use fast-math functions.</LI>
1499 <LI>Checked code for potential never-ending loops.</LI>
1500 </UL></LI>
1501 <LI><B>Quasi-elastic</B>
1502 <UL>
1503 <LI>Fixed problem of double deletion.</LI>
1504 <LI>Migrated code to use fast math functions.</LI>
1505 </UL></LI>
1506 <LI><B>Radioactive Decay</B>
1507 <UL>
1508 <LI>Added new classes G4BetaMinusDecay, G4BetaPlusDecay, G4ECDecay
1509 and G4ITDecay to streamline inheritance chain and reduce
1510 non-reproducibility.</LI>
1511 <LI>Use G4NuclearDecay as the new base class for all decay channels.
1512 This replaces G4NuclearDecayChannel.</LI>
1513 <LI>Removed G4NuclearDecayChannel from G4RadioactiveDecay.</LI>
1514 <LI>G4RadioactiveDecay: register G4UAtomicDeexcitation to
1515 G4LossTableManager in BuildPhysicsTable() so that electron shells can
1516 be found. Set Fluo and Auger flags to true, PIXE to false.
1517 Change code to create new atomic deexcitation only if one doesn't
1518 already exist.</LI>
1519 <LI>Temporary removal of decay table map sharing for threads, to resolve
1520 observed failures in MT mode.</LI>
1521 <LI>Activated Auger in <TT>G4RadioactiveDecay::BuildPhysicsTable()</TT>.</LI>
1522 <LI>Re-enable setting of ARM on/off (default is on) in G4ITDecay and
1523 G4ECDecay.</LI>
1524 <LI><TT>G4RadioactivedDecay::LoadDecayTable()</TT>: implemented changes back to
1525 level search using tolerance (now <TT>0.1 keV</TT>).</LI>
1526 <LI><TT>G4RadioactivedDecay::AddDecayTable()</TT>: bug fix in combination of
1527 branching ratios (brs[1] -> brs[2] in beta+ decay).</LI>
1528 <LI>G4ECDecay: use of daughter atom instead of parent atom when calling
1529 atomic relaxation.</LI>
1530 <LI>Addressing problem report
1531 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1727">#1727</A>
1532 for Auger electron cascade missing vacancies.</LI>
1533 <LI>G4ITDecay: fix memory leak of G4Fragment objects.
1534 Addressing problem report
1535 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1787">#1787</A>.</LI>
1536 <LI>G4RIsotopeTable: added object name in constructor; removed
1537 G4RIsotopeTable (now redundant) and all associated pointers from
1538 G4RadioactiveDecay.</LI>
1539 <LI>Changed G4ProtonDecayChannel by G4ProtonDecay.</LI>
1540 <LI>G4NeutronDecay added to work with the "Neutron" key in the radfiles.</LI>
1541 <LI>Fixed cases of energy non-conservation in IT and EC modes due to
1542 incomplete atomic relaxation model. Addresses problem report
1543 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1756">#1756</A>.</LI>
1544 <LI>G4RadioactiveDecay::DoDecay(): pass parent mass + <TT>30 MeV</TT> to
1545 G4DecayTable::SelectADecayChannel() in order to account for difference
1546 in mass defects between parent and daughter.Addresses problem report
1547 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1793">#1793</A>.</LI>
1548 <LI>Removed obsolete class G4BetaFermiFunction and references to it in
1549 G4NuclearDecayChannel. Addresses problem report
1550 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1785">#1785</A>.</LI>
1551 <LI>Checked code for potential never-ending loops.</LI>
1552 <LI>Requiring new data set RadioactiveDecay.4.3.</LI>
1553 </UL></LI>
1554 <LI><B>RPG</B>
1555 <UL>
1556 <LI>Migrated code to use fast math functions.</LI>
1557 <LI>Properly treat initialisation of float quantities.</LI>
1558 <LI>Checked code for potential never-ending loops.</LI>
1559 </UL></LI>
1560 </UL>
1561
1562 <A NAME="interc-notes">
1563 <H3><I>Intercoms</I></H3></A>
1564 <UL>
1565 <LI>Deal with implementation of <TT>remove_reference()</TT> in G4AnyMethod for cases
1566 where one is compiling with the C++11 standard.</LI>
1567 <LI>Fixed Coverity defects in G4UImanager.</LI>
1568 </UL>
1569
1570 <A NAME="interf-notes">
1571 <H3><I>Interfaces</I></H3></A>
1572 <UL>
1573 <LI><U>G4UIQt</U>:
1574 <UL>
1575 <LI>Added method <TT>GetCoutDockWidget()</TT> returning a QDockWidget.</LI>
1576 </UL></LI>
1577 </UL>
1578
1579 <A NAME="materials-notes">
1580 <H3><I>Materials</I></H3></A>
1581 <UL>
1582 <LI>G4IonisParamMat: corrected density effect parameterisation when density
1583 of a simple (one component) material differs from the nominal value;
1584 use G4Exp and G4Log;
1585 added protection for the case of large difference between nominal density
1586 and defined density of the material; for big difference Sternheimer-1971
1587 parameterisation is used, while Sternheimer-1984 is normally applied
1588 (important for vacuum and low-density gas), this fix addressing problem report
1589 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1765">#1765</A>.</LI>
1590 <LI>G4Element: always define effective number of nucleons <TT>fNeff</TT> as
1591 <TT>fAeff/(g/mole)</TT>; addressing post on Hadronic Processes Forum on Hypernews
1592 #1495; it is recommended to use <TT>element->GetN()</TT> for average atomic mass,
1593 for number of nucleons to use <TT>G4lrint(element->GetN())</TT>.</LI>
1594 <LI>G4NistManager: added method <TT>FindOrBuildSimpleMaterial(Z)</TT> and
1595 <TT>GetNominalDensity()</TT>; removed method <TT>GetLOGA()</TT>,
1596 duplicated from G4Pow.</LI>
1597 <LI>G4NistMaterialBuilder: fixed computation of gas density in method
1598 <TT>ConstructNewGasMaterial()</TT>. Added <TT>FindOrBuildSimpleMaterial(Z)</TT>;
1599 splitted implementation in longest private method.</LI>
1600 <LI>G4NistMaterialBuilder, G4SandiaTable: fixed minor Coverity defects.</LI>
1601 <LI>Checked code for potential never-ending loops.</LI>
1602 </UL>
1603
1604 <A NAME="para-notes">
1605 <H3><I>Parameterisations</I></H3></A>
1606 <UL>
1607 <LI>Gflash: Fix for Zeff wrongly computed as <TT>( W1*Z2 ) + ( W2*Z1 )</TT>,
1608 with Z1 and Z2 swapped. Addressing problem report
1609 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1719">#1719</A>.</LI>
1610 </UL>
1611
1612 <A NAME="part-notes">
1613 <H3><I>Particles</I></H3></A>
1614 <UL>
1615 <LI>Added new method <TT>G4VDecayChannel::IsOKWithParentMass()</TT> to check
1616 that parent mass (dynamical mass) is enough for decay products.
1617 Added 'parentMass' as argument of <TT>G4DecayTable::SelectADecayChannel()</TT>.
1618 Channels which give false with <TT>IsOKWithParentMass()</TT> are ignored.
1619 Added parent_polarization.</LI>
1620 <LI>Added new method <TT>G4PhaseSpaceDecayChannel::SetDaughterMasses()</TT> to give
1621 daughter masses instead of sampling masses according to PDG mass and width.
1622 A new method of SampleDaughterMasses() switches back to sampling masses.</LI>
1623 <LI>Fixed bug in K-K* decay modes in G4ExitedMesonConstructor; K-K* modes in
1624 pi2(1670) decay were missing.</LI>
1625 <LI>Clean up of G4IonTable class; simplified <TT>GetLifeTime()</TT> and make sure
1626 worker threads know G4NuclideTable. Introducing a utility method
1627 <TT>GetLifeTime(A,Z,E)</TT>, returning the lifetime of a nuclide without
1628 instantiating a G4Ion object.</LI>
1629 <LI>Updated G4NuclideTable: deleted hard-coded state data, now retrieved from
1630 the G4ENSDFSTATE data set. Enabled to change tolerance value for finding
1631 state.Added messenger.</LI>
1632 <LI>Added methods to cleanly delete particle dictionaries when worker
1633 threads are deleted.</LI>
1634 <LI>Fixed Coverity defects and checked code for potential never-ending loops.</LI>
1635 </UL>
1636
1637 <A NAME="pers-notes">
1638 <H3><I>Persistency</I></H3></A>
1639 <UL>
1640 <LI>GDML:
1641 <UL>
1642 <LI>New GDML schema version 3.1.3 (files: gdml.xsd, gdml_core.xsd):
1643 Added 'userinfo' to GDML schema to allow 'global' auxiliary fields.
1644 Extended auxiliary field in the schema by <TT>auxunit</TT> and pointer to
1645 sub-auxiliary fields (no limit on the number of levels).
1646 Added optional field for specifying copy-numbers associated to normal
1647 volume placements.</LI>
1648 <LI>Added support for writing and reading copy-numbers associated to
1649 placements.</LI>
1650 <LI>Added writer support for auxiliary info (global and volume-specific).
1651 <LI>Implemented import/export of geometrical regions associated to volumes
1652 for importing and storing production cuts and user-limits, as global
1653 auxiliary_info entity.
1654 Updated G4GDMLParser to optionally activate export of regions (default
1655 is OFF). Export of regions can be activated/de-activated by means of
1656 the new UI command <TT>"/persistency/gdml/export_regions [true/false]"</TT>.</LI>
1657 <LI>Implemented ability to optionally export energy cuts associated to
1658 logical volumes (default is OFF). Export of energy cuts for
1659 volumes can be activated/de-activated by means of a new UI command
1660 <TT>"/persistency/gdml/export_Ecuts [true/false]"</TT>.</LI>
1661 <LI>Fixed writing out of reflected volumes. No more redundant duplicated
1662 logical volumes in the store after import of geometry.</LI>
1663 <LI>Allow for return of NULL pointer in call to GetWorldVolume() in case
1664 read command for importing a GDML file has not been yet issued.
1665 Addressing enhancement request
1666 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1412">#1412</A>.</LI>
1667 <LI>Use relaxed precision constant for matrix to angle formula evaluation
1668 in G4GDMLWriteDefine, to allow for proper treatment of singularities.
1669 Fixes issues of misplaced volumes in exported geometries of complex
1670 detectors.</LI>
1671 <LI>Rectify rotation matrices in reading and writing GDML files to reduce
1672 spurious roundoff errors in stored values.</LI>
1673 <LI>Protected compilation of G4MultiUnion wrapper with G4GEOM_USE_USOLIDS
1674 flag.</LI>
1675 <LI>Code cleanup and formatting.</LI>
1676 </UL></LI>
1677 </UL>
1678
1679 <A NAME="lst-notes">
1680 <H3><I>Physics lists</I></H3></A>
1681 <UL>
1682 <LI>Migrated to 'particle_hp' module.</LI>
1683 <LI>Fixed Coverity defects.</LI>
1684 <LI>Builders:
1685 <UL>
1686 <LI>G4INCLXXPionBuilder: fixed pion cross-section for pi-.</LI>
1687 <LI>Do not delete model and x-section at exit to avoid double deletion.</LI>
1688 </UL></LI>
1689 <LI>Constructors:
1690 <UL>
1691 <LI>electromagnetic:
1692 <UL>
1693 <LI>Added G4EmDNAPhysics_option2 and G4EmDNAPhysics_option3
1694 constructors.</LI>
1695 <LI>G4EmLivermorePhysics, G4EmLowEPPhysics, G4EmPenelopePhysics,
1696 G4EmStandardPhysics_option1, G4EmStandardPhysics_option2,
1697 G4EmStandardPhysics_option3, G4EmStandardPhysics_option4:
1698 parameters for multiple scattering are defined via G4EmParameters
1699 class.</LI>
1700 <LI>G4EmLivermorePhysics, G4EmLowEPPhysics, G4EmPenelopePhysics,
1701 G4EmStandardPhysics_option3,4: set lowest e+- energy to <TT>100 eV</TT>.
1702 <LI>G4EmStandardPhysicsWVI, G4EmStandardPhysicsSS,
1703 G4EmStandardPhysicsGS: set lowest e+- energy to <TT>10 eV</TT>.</LI>
1704 <LI>G4EmLivermorePhysics, G4EmLowEPPhysics, G4EmPenelopePhysics,
1705 G4EmStandardPhysics_option[1,2,3,4], G4EmStandardPhysicsWVI,
1706 G4EmStandardPhysicsSS, G4EmStandardPhysics,
1707 G4EmLivermorePolarizedPhysics, G4EmDNAPhysics_option[1,2,3,4,5]:
1708 call G4EmParameters::SetDefaults() in constructor for each
1709 electromagnetic physics-list.</LI>
1710 <LI>Updated G4EmDNAPhysics_option1 for GenericIon usage.</LI>
1711 <LI>G4DNAPhysics_option5: added Born models for energy regions where
1712 Emfietzoglou models do not apply.</LI>
1713 <LI>G4EmDNAChemistry: adapted for new elastic model.
1714 Use G4MolecularConfiguration instead of G4Molecule.</LI>
1715 <LI>G4EmModelActivator: added Ion elastic model + cosmetics.</LI>
1716 <LI>New helper class G4EmModelActivator to activate PAI, MicroElec
1717 and DNA models per G4Region. Adapted constructor classes
1718 G4EmLivermorePhysics, G4EmLowEPPhysics, G4EmPenelopePhysics,
1719 G4EmStandardPhysics_option1, G4EmStandardPhysics_option2,
1720 G4EmStandardPhysics_option3, G4EmStandardPhysics_option4
1721 G4EmStandardPhysicsWVI, G4EmStandardPhysicsSS and
1722 G4EmLivermorePolarizedPhysics to use G4EmModelActivator.</LI>
1723 <LI>G4EmStandardPhysicsSS: full activation of the atomic de-excitation
1724 module.</LI>
1725 <LI>Added constructor G4EmDNAPhysics_option4.
1726 Added G4EmStandardPhysicsGS constructor to use the
1727 Goudsmit-Saunderson multiple-scattering model for e+e- below
1728 <TT>100 MeV</TT>. Enable Rayleigh scattering and fluorescence.</LI>
1729 <LI>G4EmStandardPhysics_option4: configure Penelope ionisation for e+-
1730 below <TT>1 MeV</TT>.</LI>
1731 <LI>G4EmStandardPhysics_option4: use WVI+SS for pions, kaons, p,
1732 pbar.</LI>
1733 <LI>G4EmStandardPhysicsGS: use PWA screening option for e+;
1734 set RangeFactor to 0.15; use <TT>SafetyPlus</TT> step limit.</LI>
1735 <LI>G4EmStandardPhysicsWVI: set <TT>RangeFactor</TT> to 0.15.</LI>
1736 <LI>Corrected proton energy limits in G4EmDNAPhysics_option2.</LI>
1737 <LI>Added G4EmDNAPhysics_option5 constructor.</LI>
1738 <LI>G4EmStandardPhysicsSS, G4EmStandardPhysicsWVI: enable Rayleigh
1739 scattering and fluorescence.</LI>
1740 <LI>Define 'fluo' flag in constructors of all EM constructors.</LI>
1741 <LI>G4EmStandardPhysics_option3, G4EmStandardPhysicsWVI,
1742 G4EmStandardPhysicsSS, G4EmStandardPhysicsGS: use
1743 G4LivermorePhotoElectricModel and G4KleinNishinaModel.</LI>
1744 <LI>G4EmStandardPhysics, G4EmStandardPhysics_option1,2: set new Urban
1745 multiple-scattering lateral displacement off.</LI>
1746 <LI>G4EmStandardPhysicsGS: tuned parameters; now compatible with
1747 standard Opt0.</LI>
1748 <LI>G4EmStandardPhysicsSS: allowing Mott correction for e-.</LI>
1749 </UL></LI>
1750 <LI>decay
1751 <UL>
1752 <LI>Added constructor for Spin decay, G4SpinDecayPhysics.</LI>
1753 </UL></LI>
1754 <LI>gamma_lepto_nuclear:
1755 <UL>
1756 <LI>G4EmExtraPhysics: removed use of G4AutoDelete.</LI>
1757 <LI>Fixed text in History (problem report
1758 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1788">#1788</A>).</LI>
1759 </UL></LI>
1760 <LI>hadron_elastic
1761 <UL>
1762 <LI>Replaced Chips neutron elastic cross-section with NeutronElasticXS
1763 cross-section.</LI>
1764 <LI>G4HadronHElasticPhysics: fixed Coverity report for memory leak at
1765 exit.</LI>
1766 <LI>G4IonElasticPhysics: replaced old class G4GlauberGribovCrossSection
1767 with new recommended one G4ComponentGGHadronNucleusXsc.</LI>
1768 </UL></LI>
1769 <LI>hadron_inelastic:
1770 <UL>
1771 <LI>G4HadronPhysicsFTFP_BERT_TRV: changed the transition region between
1772 BERT and FTF from <TT>[3, 12] GeV</TT> to <TT>[2, 4] GeV</TT>.</LI>
1773 <LI>G4HadronInelasticQBBC: reduced upper limit of Bertini from <TT>12</TT> to
1774 <TT>4 GeV</TT>; use BGG inelastic cross-sections for pions.</LI>
1775 <LI>Use G4ComponentGGHadronNucleusXsc for the kaon inelastic
1776 cross-sections consistently everywhere (instead of either Chips
1777 or Gheisha cross-sections). According to LHCb, this class
1778 describes well the charged kaon cross section asymmetry.</LI>
1779 </UL></LI>
1780 <LI>limiters:
1781 <UL>
1782 <LI>Added utility methods to G4GenericBiasingPhysics for selection of
1783 particles to bias: by PDG ranges, all charged (with option to exclude
1784 short lived particles), all neutral (with option to exclude short lived
1785 particles).</LI>
1786 <LI>Added option for verbosity.</LI>
1787 </UL></LI>
1788 </UL></LI>
1789 <LI>Lists:
1790 <UL>
1791 <LI>FTFP_BERT_TRV: now using G4EmStandardPhysicsGS.</LI>
1792 <LI>Updates to g4alt::G4PhysListFactory to do more passthrough to
1793 underlying G4PhysListRegistry singleton.</LI>
1794 <LI>G4PhysListRegistry more checking that all the requested physics
1795 constructor additions are available; updated output to closer match
1796 old factory.</LI>
1797 <LI>Enable registration of ShieldingLEND, ShieldingM and
1798 G4GenericPhysicsList to g4alt::G4PhysListFactory.</LI>
1799 <LI>G4PhysListFactory: added QGSP_BIC_AllHP.
1800 Addresses problem report
1801 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1732">#1732</A>.</LI>
1802 <LI>G4PhysListFactory: added extra EM option "_GS" where
1803 G4GoudsmithSoundersonMscModel is used for e+-; registered
1804 new QGSP_BIC_AllHP physics list to mirror original factory.</LI>
1805 <LI>LBE: replaced old G4GGNuclNuclCrossSection class with the new
1806 recommended one, G4ComponentGGNuclNuclXsc.</LI>
1807 <LI>Migrate responsibility for pulling the $PHYSLIST down to
1808 G4PhysListRegistry.</LI>
1809 <LI>Allow user to set a preferred default in case $PHYSLIST is not set;
1810 initial value (and value when set to "") is system default "FTFP_BERT".</LI>
1811 </UL></LI>
1812 </UL>
1813
1814 <A NAME="run-notes">
1815 <H3><I>Run</I></H3></A>
1816 <UL>
1817 <LI>New functionalities for MT:
1818 <UL>
1819 <LI>Added new method <TT>G4WorkerRunManager::DoWork()</TT>, called by
1820 <TT>G4MTRunManagerKernel::StartThread()</TT> to process requests of new runs
1821 from kernel.</LI>
1822 <LI>Moved setting of pin affinity from <TT>G4MTRunManagerKernel::StartThread()</TT>
1823 to G4WorkerThread.</LI>
1824 <LI>Corrected handling of deletion of worker run-managers.</LI>
1825 <LI>G4MTRunManager: removed explicit initialization of Bertini Cascade
1826 (now done in Bertini module).</LI>
1827 <LI>Replaced calls to IsWorkerThread() by <TT>G4Threading::IsMasterThread()</TT>.</LI>
1828 <LI>Fixed issue for random-number strong-reproducibility in MT mode.
1829 A new UI command has been introduced to allow to run in MT mode
1830 by forcing the random generator engine to use a specified state
1831 (stored in a file) for each event:
1832 <TT>"/random/resetEngineFromEachEvent true"</TT>. It looks for
1833 the files <TT>runXevtY.rndm</TT>, where <TT>X</TT> is the
1834 run-number (starting from 0), and <TT>Y</TT> is the event-number
1835 (starting from 0): if these files are not found, then the reseeding
1836 is ignored and the run proceeds as usual.
1837 This command allows to test the strong reproducibility in pure MT mode,
1838 e.g. to re-run a single event with the starting random engine status
1839 <TT>G4Worker3_run0evt5.rndm</TT> it is enough to rename (or copy) it
1840 as <TT>run0evt0.rndm</TT> and use the above UI command.
1841 </LI>
1842 <LI>Invoking <TT>G4ParticleTable::DestroyWorkerG4ParticleTable()</TT> in
1843 G4WorkerRunManagerKernel destructor to cleanly delete thread-local
1844 particle dictionaries.</LI>
1845 </UL></LI>
1846 <LI>Other changes (non MT related):
1847 <UL>
1848 <LI>Added new G4MultiSensitiveDetector functionality.</LI>
1849 <LI>G4VUserPhysicsList: lookup for default-world-region in G4RegionStore
1850 instead of accessing the store at index 0. It's not always guaranteed
1851 the default world region is the first element in the store!</LI>
1852 <LI>Added MixMaxRng to the list of possible engines to use in
1853 <TT>G4UserWorkerThreadInitialization::SetupRNGEngine()</TT>.
1854 Requires installation of CLHEP version 2.3.1.1.</LI>
1855 <LI>Fixes for Coverity defects.</LI>
1856 </UL></LI>
1857 </UL>
1858
1859 <A NAME="track-notes">
1860 <H3><I>Track & Tracking</I></H3></A>
1861 <UL>
1862 <LI>New G4VAuxiliaryTrackInformation class to be associated to G4Track.</LI>
1863 <LI>Added 'Creator Model ID' and 'Creator Model Name' to G4Atts of
1864 G4RichTrajectory. Fixed Coverity defect.</LI>
1865 <LI>Fix in <TT>G4ParticleChange::UpdateStepForPostStep()</TT>.</LI>
1866 <LI>Added <TT>GetNumberOfSecondariesInCurrentStep()</TT> method to G4Step.</LI>
1867 </UL>
1868
1869 <A NAME="vis-notes">
1870 <H3><I>Visualization</I></H3></A>
1871 <UL>
1872 <LI><B>Management</B>
1873 <UL>
1874 <LI>Now adopting dedicated thread for visualization in MT mode.</LI>
1875 <LI>New interface in G4VViewer for multi-threading.</LI>
1876 <LI>Re-implemented graphics system fallback strategy. A graphics system may
1877 have more than one nickname. This is used for finding a fallback graphics
1878 systems when, for example, a Qt session is requested but the user has not
1879 instantiated a Qt session, or when interactive graphics systems are
1880 prohibited, as in batch mode.<BR>
1881 This allows the user to run an application
1882 that is fully configured with all available graphics systems, even under
1883 circumstances for which the primary graphics system is inappropriate. For
1884 example, it allows one to make a image with these commands in a batch
1885 macro: <TT>"/vis/open OGL"</TT>, <TT>"/vis/drawVolume"</TT>,
1886 <TT>"/vis/ogl/export"</TT>.</LI>
1887 <LI>Improved guidance for UI command <TT>"/vis/scene/add/extent"</TT>.</LI>
1888 <LI>Fixed <TT>"/vis/scene/add/eventID"</TT> UI command for MT mode.</LI>
1889 <LI>Introduced use of std chrono for queue handling in MT mode.</LI>
1890 <LI>G4VisManager: corrected end-of-run printing for the case of
1891 <TT>"/vis/multithreading/actionOnEventQueueFull discard"</TT>.</LI>
1892 <LI>G4VisCommandsViewer: improved guidance and confirmation printing for
1893 UI command <TT>"/vis/viewer/save"</TT>.</LI>
1894 <LI>Improvements to help and verbosity printing.</LI>
1895 <LI>New UI commands for multi-threading:
1896 <TT>"/vis/multithreading/actionOnEventQueueFull"</TT> and
1897 <TT>"/vis/multithreading/maxEventQueueSize"</TT>.</LI>
1898 <LI>Added "light" representation to <TT>"/vis/scene/add/magneticField"</TT>.</LI>
1899 <LI>Fixed Coverity defects.</LI>
1900 </UL></LI>
1901 <LI><B>Modeling:</B>
1902 <UL>
1903 <LI>Augmented G4PhysicalVolumeModel interface.
1904 Added local transformation attribute.</LI>
1905 <LI>G4TouchableDumpScene: added polyhedron dump for use with
1906 <TT>"/vis/touchable/dump"</TT>.</LI>
1907 <LI>G4PhysicalVolumeSearchScene: optimised <TT>ProcessVolume()</TT> by setting
1908 variables only when needed and by comparing string length before
1909 comparing all string.</LI>
1910 <LI>G4PhysicalVolumeSearchScene.cc: minor improvement; replaced an
1911 assignment by a reference.</LI>
1912 </UL></LI>
1913 <LI><B>HepRep</B>
1914 <UL>
1915 <LI>Fixed compilation warnings on Windows/VC-14.</LI>
1916 </UL></LI>
1917 <LI><B>OpenGL</B>
1918 <UL>
1919 <LI>Added methods to manage GLContext in Qt.</LI>
1920 <LI>Fixing Qt visualization in MT mode on clang.</LI>
1921 <LI>Fixed problem when zooming on small volumes.</LI>
1922 <LI>Introduced sleep while waiting for pick action</LI>
1923 <LI>Migrated to new G4VViewer interface.</LI>
1924 <LI>A bit of cleaning in managing OpenGL context for Qt.</LI>
1925 <LI>Fixed "SetVisible" problem on various platforms.</LI>
1926 <LI>G4OpenGLViewer: fixed small problem in picking list.</LI>
1927 <LI>Improved graphics system fallback strategy: implemented
1928 <TT>IsUISessionCompatible()</TT> in G4OpenGLQt and G4OpenGLXm; Qt not allowed
1929 unless a Qt session has been instantiated; interactive graphics systems
1930 (Qt, Xm) are not allowed in batch.</LI>
1931 <LI>Fixed minor problem for Qt driver: open/close icons on scene
1932 tree/viewer properties and pick were not good at start.</LI>
1933 <LI>Minor improvements to the interface on scene tree/viewer properties
1934 and pick item menu.</LI>
1935 <LI>Fixed bug when launching OGL driver from a macro file (in batch mode).</LI>
1936 <LI>Fixed Coverity defects in G4OpenGLViewer and G4OpenGLStoredViewer.</LI>
1937 </UL></LI>
1938 <LI><B>OpenInventor</B>
1939 <UL>
1940 <LI>G4OpenInventorViewer, G4OpenInventorXtExtendedViewer:
1941 added viewer menu button and methods for PDF output.</LI>
1942 <LI>G4OpenInventor: added IsUISessionCompatible(); set OI graphics system
1943 not compatible with a batch job.</LI>
1944 </UL></LI>
1945 <LI><B>Tree</B>
1946 <UL>
1947 <LI>G4ASCIITreeSceneHandler: added physical volume dump for
1948 verbosity >=7.</LI>
1949 <LI>Tidied and cleaned up att values after use.</LI>
1950 </UL></LI>
1951 <LI><B>Externals</B>
1952 <UL>
1953 <LI>G4OpenGL2PSAction: added method <TT>setBufferSize()</TT>.</LI>
1954 </UL></LI>
1955 </UL>
1956
1957 <A NAME="env-notes">
1958 <H3><I>Environments</I></H3></A>
1959 <UL>
1960 <LI>G4Py:
1961 <UL>
1962 <LI>Updated interfaces for release 10.2.</LI>
1963 <LI>Added exported methods as suggested in enhancement request
1964 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1613">#1613</A>.</LI>
1965 <LI>Updated CMakeLists.txt for C++11 migration and minimum required
1966 version for CMake to 3.3.</LI>
1967 </UL></LI>
1968 </UL>
1969
1970 <A NAME="data-notes">
1971 <H3><I>Data sets</I></H3></A>
1972 <UL>
1973 <LI>New low-energy data set version, G4EMLOW.6.48:
1974 <UL>
1975 <LI>Added elastic files by H.Tran for Geant4-DNA.</LI>
1976 <LI>Added files by D. Emfietzoglou for Geant4-DNA.</LI>
1977 <LI>Added files by M.Novak for upgraded version of the
1978 Goudthmit-Sounderson multiple-scattering model.</LI>
1979 <LI>Substituted 2016 files in ion_stopping_data by new PASS
1980 computations.</LI>
1981 <LI>New files for upgraded version of the Goudthmit-Sounderson multiple
1982 scattering model in the sub-directory 'msc_GS'.</LI>
1983 <LI>Added directories livermore/tripdata and livermore/pairdata used by
1984 the new Livermore polarized gamma models.</LI>
1985 </UL></LI>
1986 <LI>New data files for nuclides properties G4ENSDFSTATE-1.2:
1987 <UL>
1988 <LI>Updated state data based on February 2015 input data from ENSDF.</LI>
1989 <LI>Fixed missing ground state of Cl35.</LI>
1990 <LI>Fixed duplicated entry for ground state of 21N.</LI>
1991 <LI>Fixed formatting in ground state of 223Rn.</LI>
1992 </UL></LI>
1993 <LI>New data set version PhotonEvaporation.3.2 for nuclear de-excitation data:
1994 <UL>
1995 <LI>New photon evaporation database meant to be consistent with version
1996 4.3 of the radioactive-decay database. Also formatted to remove
1997 scientific notation where possible and to remove trailing zeros.</LI>
1998 </UL></LI>
1999 <LI>New data set version for radioactive-decay processes, G4RadioactiveDecay.4.3:
2000 <UL>
2001 <LI>New files with February 2015 input data from ENSDF and nuclear wallet cards.
2002 Q values are computed with QCalc. Data overlapping with those in
2003 G4PhotonEvaporation-3.2 and G4ENDSFSTATE are intended to be consistent.</LI>
2004 <LI>Added proton, neutron emission and spontaneuos fission lines.</LI>
2005 </UL></LI>
2006 <LI>New <U>optional</U> data set, G4TENDL-1.0 for incident proton data:
2007 <UL>
2008 <LI>Set translated from the TENDL-2014 incident proton, deuteron, triton, He3
2009 and alpha data libraries (written in ENDF-6 format), excluding the elastic
2010 channel. Of the about 2600 isotopes contained in the TENDL-2014 libraries,
2011 only those present in the G4NDL-4.5 neutron data library have been included.
2012 For the few isotopes available in the corresponding ENDF/B-VII.1 data
2013 libraries, the data are taken from the latter instead of TENDL-2014..</LI>
2014 </UL></LI>
2015 </UL></LI>
2016
2017 <A NAME="ex-notes">
2018 <H3><I>Examples</I></H3></A>
2019 <UL>
2020 <LI>Updated reference outputs, macros and scripts.</LI>
2021 <LI><B>advanced</B>
2022 <UL>
2023 <LI><B>air_shower</B>
2024 <UL>
2025 <LI>Replaced call to obsolete <TT>GetDz()</TT> for G4Tubs to
2026 <TT>GetZHalfLength()</TT> in UltraDetectorConstruction.</LI>
2027 </UL></LI>
2028 <LI><B>composite_calorimeter</B>
2029 <UL>
2030 <LI>Migrated to use 'particle_hp' module.</LI>
2031 </UL></LI>
2032 <LI><B>gammaray_telescope</B>
2033 <UL>
2034 <LI>GammaRayTelIonPhysics: replaced use of G4GGNuclNuclCrossSection
2035 with recommended one, G4ComponentGGNuclNuclXsc.</LI>
2036 </UL></LI>
2037 <LI><B>hadrontherapy</B>
2038 <UL>
2039 <LI>General revision and fixed comments.</LI>
2040 </UL></LI>
2041 <LI><B>iort_therapy</B>
2042 <UL>
2043 <LI>Migrated to use g4tools.</LI>
2044 </UL></LI>
2045 <LI><B>lAr_calorimeter</B>
2046 <UL>
2047 <LI>Fixed internal array overflow in FCALTestSetupSD, causing crashes
2048 in MT.</LI>
2049 </UL></LI>
2050 <LI><B>microbeam</B>
2051 <UL>
2052 <LI>Added stronger constraints on <TT>SetMinimumEpsilonStep()</TT> and
2053 <TT>SetMaximumEpsilonStep()</TT>.</LI>
2054 <LI>Switched to use G4UIExecutive.</LI>
2055 </UL></LI>
2056 <LI><B>nanobeam</B>
2057 <UL>
2058 <LI>Updated analysis script.</LI>
2059 </UL></LI>
2060 <LI><B>underground_physics</B>
2061 <UL>
2062 <LI>DMXPhysicsList: replaced use of G4GGNuclNuclCrossSection
2063 with recommended one, G4ComponentGGNuclNuclXsc.</LI>
2064 <LI>Migrated to use 'particle_hp' module.</LI>
2065 </UL></LI>
2066 <LI><B>xray_fluorescence</B>
2067 <UL>
2068 <LI>Updated livermore.mac macro.</LI>
2069 </UL></LI>
2070 </UL></LI>
2071 <LI><B>basic</B>
2072 <UL>
2073 <LI><B>B1</B>
2074 <UL>
2075 <LI>B1Run class replaced with a code based on G4Parameter.</LI>
2076 </UL></LI>
2077 <LI><B>B3</B>
2078 <UL>
2079 <LI>Split example in two variants of merging data:
2080 B3a (new) with the code based on G4Parameter;
2081 B3b (as previous B3) with the code based on G4Run.</LI>
2082 </UL></LI>
2083 <LI><B>B5</B>
2084 <UL>
2085 <LI>Extended n-tuple with two columns of a vector type in order to provide
2086 an example of this analysis use case.</LI>
2087 </UL></LI>
2088 </UL></LI>
2089 <LI><B>extended</B>
2090 <UL>
2091 <LI><B>analysis</B>
2092 <UL>
2093 <LI>AnaEx01: Updated hbook for developments in analysis category:
2094 implemented interfaces for activations of ntuples.</LI>
2095 <LI>Introduced meaningful histograms and ntuple names instead of
2096 numbers in all AnaEx0N examples and use histogram ids starting
2097 from 0.</LI>
2098 <LI>Simplified HistoManager class and fixed function names to follow
2099 coding guidelines.</LI>
2100 <LI>Updated hbook for developments in analysis category.</LI>
2101 </UL></LI>
2102 <LI><B>biasing</B>
2103 <UL>
2104 <LI><B>biasing/GB02</B>
2105 <UL>
2106 <LI>Biasing scheme evolved to use G4VAuxiliaryTrackInformation.
2107 Adapted example to these changes: second <TT>OperationApplied()</TT> method
2108 implemented in GB02BOptrMultiParticleForceCollision.</LI>
2109 </UL></LI>
2110 <LI><B>biasing/GB04</B>
2111 <UL>
2112 <LI>Bug fix in GB04BOptnBremSplitting for missing call to
2113 <TT>SetSecondaryWeightByProcess(true)</TT>.</LI>
2114 </UL></LI>
2115 <LI><B>biasing/ReverseMC01</B>
2116 <UL>
2117 <LI>RMC01AnalysisManager: added variable <TT>fNentry</TT> in order to
2118 correctly compute mean and error of energy deposition.</LI>
2119 </UL></LI>
2120 </UL></LI>
2121 <LI><B>common</B>
2122 <UL>
2123 <LI>Added a client-specific prefix to common library and test
2124 to avoid name clashes when building all extended examples at
2125 once.</LI>
2126 </UL></LI>
2127 <LI><B>electromagnetic</B>
2128 <UL>
2129 <LI><B>electromagnetic/TestEm0</B>
2130 <UL>
2131 <LI>Removed local <TT>SetCutFor*()</TT> methods from PhysicsList and 'setCut'
2132 command from PhysicsListMessenger, to use <TT>"/run/setCut"</TT> UI command.</LI>
2133 </UL></LI>
2134 <LI><B>electromagnetic/TestEm1</B>
2135 <UL>
2136 <LI>Added EM standards physics builders GS, WVI.</LI>
2137 <LI>PhysicsList: removed <TT>SetICM()</TT> method.</LI>
2138 </UL></LI>
2139 <LI><B>electromagnetic/TestEm2</B>
2140 <UL>
2141 <LI>PhysicsList: use GS, WVI, SS EM physics from main library.</LI>
2142 </UL></LI>
2143 <LI><B>electromagnetic/TestEm3</B>
2144 <UL>
2145 <LI>PhysicsList: use GS physics from main library.</LI>
2146 <LI>TestEm3: use default 4 threads, improved vis.mac macro.</LI>
2147 <LI>PhysListEmStandard: use G4EmParameters.</LI>
2148 </UL></LI>
2149 <LI><B>electromagnetic/TestEm5</B>
2150 <UL>
2151 <LI>PhysicsList: use GS physics from main library.</LI>
2152 <LI>DetectorConstruction: do not remove volumes when sizes
2153 are changed.</LI>
2154 <LI>SteppingVerbose: restored usage of this class.</LI>
2155 <LI>TrackingAction: cleanup logic of transmitted/reflected
2156 particles.</LI>
2157 </UL></LI>
2158 <LI><B>electromagnetic/TestEm6</B>
2159 <UL>
2160 <LI>Added more standard EM physics builders.</LI>
2161 </UL></LI>
2162 <LI><B>electromagnetic/TestEm7</B>
2163 <UL>
2164 <LI>Replaced CLHEP header inclusion for units in G4ScreenedNuclearRecoil.</LI>
2165 </UL></LI>
2166 <LI><B>electromagnetic/TestEm8</B>
2167 <UL>
2168 <LI>RunAction, Run, StackingAction: improved histogram handling.</LI>
2169 <LI>PhysicsList: added SS, GS, WVI physics-lists.</LI>
2170 <LI>Macro files: added alternative configuration of PAI models
2171 via UI command.</LI>
2172 <LI>PhysicsList: removed configuration of PAI models via
2173 G4EmConfigurator and left only method via UI command; set
2174 default verbosity to zero to reduce length of reference output;
2175 fixed initialisation of StepMax in MT mode.</LI>
2176 <LI>DetectorConstruction: allowed to change geometry sizes between runs.</LI>
2177 <LI>TestParameters: added parameters needed for ALICE TRD simulation.</LI>
2178 <LI>Use one thread for interactive mode; improved vis.mac macro.</LI>
2179 <LI>Updated macro files.</LI>
2180 </UL></LI>
2181 <LI><B>electromagnetic/TestEm9</B>
2182 <UL>
2183 <LI>Added physics lists G4EmStandardPhysicsGS, SS, WVI.</LI>
2184 <LI>Applied code guidelines, removed tabulation.</LI>
2185 </UL></LI>
2186 <LI><B>electromagnetic/TestEm10</B>
2187 <UL>
2188 <LI>Em10PhysicsList: removed obsolete header.</LI>
2189 </UL></LI>
2190 <LI><B>electromagnetic/TestEm11</B>
2191 <UL>
2192 <LI>RunAction: corrected bin width of histogram #1.</LI>
2193 <LI>Added EM physics builders G4EmStandardGS, WVI.</LI>
2194 <LI>Added EM physics builders G4EmStandardPhysicsMP which uses
2195 G4DiscreteScatteringModel for e-.</LI>
2196 <LI>Use G4EmParameters in local Physics List classes.</LI>
2197 </UL></LI>
2198 <LI><B>electromagnetic/TestEm12</B>
2199 <UL>
2200 <LI>PhysicsList: use GS physics from main library.</LI>
2201 <LI>RunAction: corrected bin width of histogram #1.</LI>
2202 </UL></LI>
2203 <LI><B>electromagnetic/TestEm13, TestEm14</B>
2204 <UL>
2205 <LI>DetectorConstruction::SetMatetial(): allow NIST materials.</LI>
2206 </UL></LI>
2207 <LI><B>electromagnetic/TestEm17</B>
2208 <UL>
2209 <LI>Set default EmParameters in PhysListEmStandard.</LI>
2210 <LI>PhysicsList, PhysListEmStandard: fixed upper energy for physics
2211 tables.</LI>
2212 </UL></LI>
2213 </UL></LI>
2214 <LI><B>eventgenerator/userPrimaryGenerator</B>
2215 <UL>
2216 <LI>New example showing how to create a primary event including several
2217 vertices and several primary particles per vertex.</LI>
2218 </UL></LI>
2219 <LI><B>eventgenerator/exgps</B>
2220 <UL>
2221 <LI>Added in ctest with distribution from histogram for
2222 PhysicsChecks.</LI>
2223 <LI>Updated macros with new commands for H2.</LI>
2224 <LI>Fixed documentation.</LI>
2225 </UL></LI>
2226 <LI><B>eventgenerator/particleGun</B>
2227 <UL>
2228 <LI>PrimaryGeneratorAction1: added randomization of time zero of each
2229 event.</LI>
2230 </UL></LI>
2231 <LI><B>eventgenerator/pythia/decayer6</B>
2232 <UL>
2233 <LI>Set a specific prefix to common library and test
2234 to avoid name clashes when building all extended examples
2235 at once.</LI>
2236 </UL></LI>
2237 <LI><B>exoticphysics/channeling</B>
2238 <UL>
2239 <LI>Added full integration of particle trajectory into the channeling
2240 process.</LI>
2241 <LI>Added beampipe and detector box to the detector construction.</LI>
2242 <LI>Modified wrapper classes to correct bugs in energy loss calculation
2243 under channeling.</LI>
2244 <LI>Added to the wrapper class the InCrystal parameter in order to be
2245 completely transparent if the particle is outside a volume with a
2246 lattice. Added InCrystal parameter to the user info to switch
2247 between single and multiple scattering.</LI>
2248 <LI>Single and multiple scattering are enabled/disabled if the volume
2249 has or not a lattice.</LI>
2250 <LI>Added data files for Si110 and Si111 planar nuclei density, planar
2251 electron density and planar electric field.</LI>
2252 <LI>Minor modification to XPhysicalLattice.</LI>
2253 <LI>Minor modification to the macro to analyze the output data.</LI>
2254 </UL></LI>
2255 <LI><B>exoticphysics/monopole</B>
2256 <UL>
2257 <LI>Removed EventAction and EventActionMessenger classes, now obsolete, and
2258 replaced <TT>"/testex/event/printModulo"</TT> UI commands in macros with
2259 <TT>"/run/printProgress"</TT>.</LI>
2260 </UL></LI>
2261 <LI><B>exoticphysics/phonon</B>
2262 <UL>
2263 <LI>XAluminumElectrodeHit: make simple container with public data
2264 members.</LI>
2265 <LI>XAluminumElectrodeSensitivity: improved MT robustness, make HC
2266 local, make file streams shared-static, with protective mutexes.</LI>
2267 <LI>Updated output reference logs.</LI>
2268 </UL></LI>
2269 <LI><B>exoticphysics/ucn</B>
2270 <UL>
2271 <LI>Corrected way to access <TT>G4Transportation::EnableUseMagneticMoment()</TT>.</LI>
2272 <LI>Removed <TT>AddBetaDecay()</TT> method. Added <TT>NumberOfVariables</TT> in
2273 G4RepleteEofM constructor.</LI>
2274 </UL></LI>
2275 <LI><B>field/field01, 02, 03</B>
2276 <UL>
2277 <LI>Removed EventActionMessenger classes, now obsolete, and replaced
2278 <TT>"/event/printModulo"</TT> UI commands in macros with
2279 <TT>"/run/printProgress"</TT>.</LI>
2280 <LI>Code cleanup.</LI>
2281 </UL></LI>
2282 <LI><B>field/field04</B>
2283 <UL>
2284 <LI>Removed obsolete commands from macros.</LI>
2285 </UL></LI>
2286 <LI><B>field/field05</B>
2287 <UL>
2288 <LI>Use new G4SpinDecayPhysics constructor in PhysicsList.</LI>
2289 </UL></LI>
2290 <LI><B>field/field06</B>
2291 <UL>
2292 <LI>Removed AddBetaDecay() method.</LI>
2293 </UL></LI>
2294 <LI><B>g3tog4</B>
2295 <UL>
2296 <LI>Set a specific prefix to common library and test to avoid name
2297 clashes when building all extended examples at once.</LI>
2298 </UL></LI>
2299 <LI><B>geometry/transforms</B>
2300 <UL>
2301 <LI>Updated vis.mac macro to draw axes.</LI>
2302 </UL></LI>
2303 <LI><B>hadronic/FissionFragment</B>
2304 <UL>
2305 <LI>Limit number of worker threads of one.</LI>
2306 </UL></LI>
2307 <LI><B>hadronic/Hadr01</B>
2308 <UL>
2309 <LI>PhysicsList: updated according to developments in reference physics-lists.</LI>
2310 </UL></LI>
2311 <LI><B>hadronic/Hadr02</B>
2312 <UL>
2313 <LI>Removed obsolete interface to DPMJET.</LI>
2314 </UL></LI>
2315 <LI><B>hadronic/Hadr03</B>
2316 <UL>
2317 <LI>Fix in SteppingAction for setting pointer to hadronic process.</LI>
2318 </UL></LI>
2319 <LI><B>hadronic/Hadr04</B>
2320 <UL>
2321 <LI>Migrated to use 'particle_hp' module.</LI>
2322 </UL></LI>
2323 <LI><B>hadronic/Hadr06</B>
2324 <UL>
2325 <LI>Migrated to use 'particle_hp' module.</LI>
2326 </UL></LI>
2327 <LI><B>medical/dna</B>
2328 <UL>
2329 <LI>chem2
2330 <UL>
2331 <LI>In G4UserTimeStepAction::UserReactionAction(), vector of
2332 reaction products becomes a pointer instead of a reference.
2333 <LI>CommandLine option: -mt option restaured with 2 as default
2334 number of threads.
2335 <LI>Updated visualization macros.</LI>
2336 </UL></LI>
2337 <LI>chem3
2338 <UL>
2339 <LI>In G4UserTimeStepAction::UserReactionAction(), vector of
2340 reaction products becomes a pointer instead of a reference.
2341 <LI>CommandLine option: -mt option restaured with 2 as default
2342 number of threads.
2343 <LI>Updated visualization macros.</LI>
2344 </UL></LI>
2345 <LI>clustering
2346 <UL>
2347 <LI>New example simulating protons tracks in liquid water using
2348 Geant4-DNA processes and models. Energy deposit are clustered
2349 with a dedicated clustering algorithm to assess strand breaks.
2350 The default parameters of the clustering algorithm have been
2351 tuned to reproduce data published by Francis et al. 2011
2352 Comput. Meth. Programs. Biomed. 2011 101(3).</LI>
2353 </UL></LI>
2354 <LI>dnaphysics
2355 <UL>
2356 <LI>Switched to use G4UIExecutive.</LI>
2357 <LI>Use G4EmModelActivator to define DNA physics.</LI>
2358 <LI>Added <TT>"ignoreCut"</TT> UI command in dnaphysics.in macro.</LI>
2359 </UL></LI>
2360 <LI>pdb4dna
2361 <UL>
2362 <LI>Removed modulo printing at EventAction level.</LI>
2363 </UL></LI>
2364 <LI>range
2365 <UL>
2366 <LI>New example showing how to calculate range of electrons in liquid water
2367 using the Geant4-DNA physics processes and models.</LI>
2368 </UL></LI>
2369 <LI>svalue
2370 <UL>
2371 <LI>New example showing how to calculate mono-energetic S values
2372 in liquid water using the Geant4-DNA physics processes and
2373 models.</LI>
2374 </UL></LI>
2375 <LI>wvalue
2376 <UL>
2377 <LI>New example showing how to calculate w in liquid water for e- using
2378 the Geant4-DNA physics processes and models.</LI>
2379 </UL></LI>
2380 </UL></LI>
2381 <LI><B>medical/DICOM</B>
2382 <UL>
2383 <LI>Fixed coding guidelines (long lines).</LI>
2384 </UL></LI>
2385 <LI><B>medical/electronScattering2</B>
2386 <UL>
2387 <LI>Removing from master unnecessary instance of GPS.</LI>
2388 <LI>Added physics-list G4EmStandardGS to PhysicsList.</LI>
2389 <LI>Modifid primary foil parameters by setting class variables and calling
2390 G4RunManager [Physics/Geometry]HasBeenModified.</LI>
2391 <LI>Removed local physics lists.</LI>
2392 <LI>Correction to only instantiate VisManager if no macro file is specified
2393 on command line.</LI>
2394 </UL></LI>
2395 <LI><B>medical/fanoCavity[1,2]</B>
2396 <UL>
2397 <LI>Migrated code to support multi-threading.</LI>
2398 <LI>Use G4EmParameters instead of G4EmProcessOptions.</LI>
2399 <LI>Removed EventActionMessenger class.
2400 Replaced printModulo by <TT>"/run/printProgress"</TT> UI command.</LI>
2401 </UL></LI>
2402 <LI><B>optical/OpNovice</B>
2403 <UL>
2404 <LI>Use <TT>G4Threading::IsMasterThread()</TT>.
2405 Introduced G4ThreadLocal in OpNovicePhysicsList.</LI>
2406 </UL></LI>
2407 <LI><B>optical/WLS</B>
2408 <UL>
2409 <LI>Removed obsolete commands from macros.</LI>
2410 </UL></LI>
2411 <LI><B>parallel/MPI</B>
2412 <UL>
2413 <LI>Fixed bug in exMPI02 using wrong calls to random generator for
2414 generation of primaries.</LI>
2415 <LI>Introduced new functionality in G4mpi library to merge G4Run,
2416 scorers and g4tools histograms/profiles across MPI ranks.</LI>
2417 <LI>Introduced new example exMPI03, based on same geometry and physics
2418 of exMPI02 to demonstrate merging capabilities.</LI>
2419 <LI>Added implementation of histo merger with use of g4analysis and
2420 g4tools; kept temporarily old merger class.</LI>
2421 <LI>Optimized merging for G4Run and scorer.</LI>
2422 <LI>Improved CMake scripts for standalone use: allow for library
2423 and examples to be built together.</LI>
2424 <LI>Increased verbosity during build phase to print out location of MPI
2425 library and headers. Updated CMake scripts.</LI>
2426 <LI>Building of MPI library requires
2427 CMake minimum version to be 3.3.</LI>
2428 </UL></LI>
2429 <LI><B>parallel/ThreadsafeScorers</B>
2430 <UL>
2431 <LI>New example demonstrating a very simple application where an energy
2432 deposit and # of steps is accounted in thread-local (i.e. one instance
2433 per thread) hits maps with underlying types of plain-old data (POD) and
2434 global (i.e. one instance) hits maps with underlying types of atomics.</LI>
2435 </UL></LI>
2436 <LI><B>parameterisations/gflash</B>
2437 <UL>
2438 <LI>ExGflashPhysicsList replaced with ExGflashPhysics builder.</LI>
2439 <LI>Code clean-up, coding guidelines.</LI>
2440 </UL></LI>
2441 <LI><B>parameterisations/Par02</B>
2442 <UL>
2443 <LI>New example implementing a simplified version of a Geant4-based
2444 fast simulation program for Future Circular Collider (FCC),
2445 showing how to do "track and energy smearing".</LI>
2446 </UL></LI>
2447 <LI><B>persistency/gdml/G01</B>
2448 <UL>
2449 <LI>Added example code showing how to import and export auxiliary
2450 information.</LI>
2451 <LI>Enabled export of geometrical regions.</LI>
2452 </UL></LI>
2453 <LI><B>persistency/gdml/G02</B>
2454 <UL>
2455 <LI>Added mbb.geom mbb.tree to G02_SCRIPTS.</LI>
2456 </UL></LI>
2457 <LI><B>persistency/gdml/G04</B>
2458 <UL>
2459 <LI>Migrated code to support multi-threading.</LI>
2460 </UL></LI>
2461 <LI><B>persistency/P01, P02</B>
2462 <UL>
2463 <LI>Upgraded to work with Root-6.</LI>
2464 </UL></LI>
2465 <LI><B>persistency/P03</B>
2466 <UL>
2467 <LI>Removed ExTGPhysicsList class.</LI>
2468 </UL></LI>
2469 <LI><B>radioactivedecay/rdecay01</B>
2470 <UL>
2471 <LI>PhysicsList: removed call to SetICM().
2472 Removed initialization of UAtomicDeexcitation.</LI>
2473 <LI>Compute total visible energy in TrackingAction, EventAction, Run
2474 and HistoManager.</LI>
2475 <LI>Removed EventMessenger classe, now obsolete, and replaced
2476 <TT>"/event/printModulo"</TT> UI commands in macros with
2477 <TT>"/run/printProgress"</TT>.</LI>
2478 <LI>PhysicsList: added LevelTolerance (<TT>100*eV</TT>) and HalfLife (<TT>0.1*ps</TT>).</LI>
2479 <LI>Updated it1.mac and it2.mac macros.</LI>
2480 </UL></LI>
2481 <LI><B>radioactivedecay/rdecay02</B>
2482 <UL>
2483 <LI>Migrated to support multi-threading.</LI>
2484 <LI>Migrated to use g4tools for analysis.</LI>
2485 </UL></LI>
2486 <LI><B>runAndEvent/RE06</B>
2487 <UL>
2488 <LI>Added new macro file for testing on Xeon Phi with limited
2489 statistics.</LI>
2490 </UL></LI>
2491 </UL>
2492
2493 <HR>
2494
2495 </BODY>
2496 </HTML>