Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-22 09:39:52

0001 <HTML>
0002 <HEAD>
0003 <TITLE>Geant4 10.0 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.0 Release Notes</B>
0014 </FONT>
0015 
0016 <TABLE WIDTH="100%">
0017 <TR><TD ALIGN="Right">
0018 <FONT SIZE="-1" COLOR="#5C3317">
0019 <B><I>December 6<SUP>th</SUP>, 2013</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 Officially tested platforms:
0065 <UL>
0066 <LI>Linux, gcc-4.4.7.<BR>
0067     Tested on 64 bit architectures (Intel or AMD) with
0068     Scientific Linux CERN 6 (SLC6) (based on Red Hat Linux Enterprise 6.</LI>
0069 <LI>MacOSX 10.8 with gcc-4.2.1 and clang-3.3</LI>
0070 <LI>Windows7 with Visual C++ 11.0 (Visual Studio 2012)</LI>
0071 </UL>
0072 
0073 More verified configurations (64 bits):
0074 <UL>
0075 <LI>Linux, gcc-4.7.2, gcc-4.8.2</LI>
0076 <LI>Linux, Intel-icc 14.0</LI>
0077 <LI>MacOSX 10.9 with gcc-4.2.1 and clang-3.3</LI>
0078 <LI>Windows7 with Visual C++ 9.0, 10.0, 12.0</LI>
0079 </UL>
0080 Note: Windows platforms are supported/verified only for the sequential mode.
0081 Multi-threading capability of this release does not support Windows.
0082 
0083 <P> </P>
0084 <A NAME="2."></A>
0085 <HR>
0086 
0087 <!-- ============================================== -->
0088 
0089 <H2>2. Supported CLHEP version</H2>
0090 
0091 This release of Geant4 has been verified with
0092 <A TARGET="ext" HREF="http://cern.ch/clhep/">CLHEP</A>, release <B>2.1.4.1</B>.
0093 Use of a different CLHEP version may cause incorrect simulation results.<BR>
0094 NOTE: an internal module of the relevant CLHEP classes is provided and can be
0095 used as alternative to an external CLHEP library installation.
0096 
0097 
0098 <P> </P>
0099 <A NAME="3."></A>
0100 <HR>
0101 
0102 <!-- ============================================== -->
0103 
0104 <H2>3. Items for migration of the user code</H2>
0105 
0106 Listed here is some relevant information on developments included in this
0107 release, some of which may require migrations in order to upgrade from
0108 release 9.x series to this release.
0109 Note that for all users a full re-installation of libraries (or a full
0110 re-compilation) and a re-compilation of user applications is required.
0111 
0112 
0113 <P> </P>
0114 <B>General</B>
0115 <P> </P>
0116 <UL>
0117 <LI>Multi-threading:
0118     <UL>
0119     <LI>This release includes support for multi-threaded Geant4 applications.
0120         Parallelism is achieved at the event level, with events dispatched to
0121         different threads. To use multi-threading it is necessary to build
0122         and install Geant4 with the option of multi-threading ability activated.</LI>
0123     <LI>The default build of Geant4 is sequential. </LI>
0124     <LI>Existing (or new sequential)
0125         applications can be built and run without code changes, on either a
0126         sequential and a multi-threading capable installation of Geant4 - provided, of course,
0127         that mandatory changes are made to address other migration issues.</LI>
0128     <LI>To enable event level-paralellism first configure a build of Geant4 using the cmake switch
0129         GEANT4_BUILD_MULTITHREADED=ON (default is OFF); then build the Geant4 libraries and
0130         instantiate a G4MTRunManager (or a user-derived class) in place of G4RunManager
0131         in the relevant function of the program (e.g. the main function).</LI>
0132     </UL>
0133 </LI>
0134 <li>Migrating applications to Multi-threading:</li>
0135     <UL>
0136     <LI>The steps required to migrate an existing application to multi-threading is
0137         summerized in the 
0138         <A HREF="https://twiki.cern.ch/twiki/bin/view/Geant4/QuickMigrationGuideForGeant4V10">
0139         TWiki migration page</A>.</LI>
0140     <LI>Migrated examples for demonstrating use of multi-threading are:
0141         <UL>
0142           <LI><I>basic</I>: B1, B2 , B3, B4, B5;</LI>
0143         <LI><I>extended</I>: AnaEx01, B02, B03, GB01, GB02, TestEm1, TestEm2, TestEm4,
0144             TestEm5, TestEm11, exgps, Hadr00, Hadr04, Hadr05, DICOM, 
0145             electronScattering2, field01, field02, field03, field04,
0146             LXe, OpNovice, wls, gflash, Par01, P03, RE01, RE02, RE03,
0147             RE04, RE05, RE06;</LI>
0148         
0149         <LI><I>advanced</I>: air_shower, brachytherapy, dnaphysics, gammaknife,
0150           human_phantom, microbeam, microdosimetry, nanobeam,
0151           radioprotection.</LI>
0152         </UL>
0153     </LI>
0154     <LI>Even if Geant4 library is compiled with multi-thread support, legacy sequential
0155       application can run. </LI>
0156     </UL></LI>
0157 <LI>Removed from Geant4 headers the implicit inclusions of SystemOfUnits and PhysicalConstants headers of CLHEP  .
0158     This may trigger compilation errors in user's code. This will require making the user
0159     code self-consistent, by explicitly including these missing headers files.</LI>
0160 <LI>Introduced checks for variable/parameters shadowing. Compilation warnings
0161     may show up in user code in case it is also compiled using the Geant4 build setup, or using the same compiler flags.</LI>
0162 <LI>The old GNUMake build system is no longer supported. It is strongly
0163     recommended to adopt CMake for the installation.</LI>
0164 </UL>
0165 
0166 <P> </P>
0167 <B>Geometry</B>
0168 <P> </P>
0169 <UL>
0170 <LI>Archived GeomTest* classes for overlaps checking through grid/cylinder
0171     lines. UI commands are replaced with calls to built-in overlaps checking
0172     based on random points located in surface. User's scripts relying on old
0173     UI commands may require migration accordingly.</LI>
0174 <LI>The <TT>G4Polycone</TT> solid no longer supports the case in which
0175     either the outer or the inner surface has more than one cone or tube
0176     section over a finite interval of Z values. These shapes must use the
0177     new class <TT>G4GenericPolycone</TT> instead. The general constructor
0178     of <TT>G4Polycone</TT>, which uses a series of vertices, includes a
0179     check whether the vertices are monotonic along Z for its inner and
0180     outer surfaces, and issues an error if not.</LI>
0181 <LI>Removed deprecated BREPs module and obsolete classes G4VCellScorer and
0182     G4VCellScorerStore.</LI>
0183 </UL>
0184 
0185 <P> </P>
0186 <B>Electromagnetic and optical physics</B>
0187 <P> </P>
0188 <UL>
0189 <LI>A single <TT>G4UrbanMscModel</TT> class provides the improved tuning of the Urban 
0190     multiple-scattering model. It replaces all previous variants of 
0191     the Urban model (Urban90, 93, 95 and 96), which have been removed.</LI>
0192 <LI><TT>G4MuElec*</TT> processes and models for microdosimetry in silicon have 
0193     been renamed as <TT>G4MicroElec*</TT> processes and models.</LI>
0194 <LI>Instead of <TT>G4PAIPhotonModel</TT> of ionisation, it is recommended to use
0195     <TT>G4PAIPhotModel</TT>.</LI>
0196 </UL>
0197 
0198 <P> </P>
0199 <B>Hadronic physics</B>
0200 <P> </P>
0201 <UL>
0202 <LI>The CHIPS package, the parameterized (Gheisha-like) models LEP/HEP
0203     and the isotope_production module have been removed.</LI>
0204 <LI>GetIon() and FindIon() methods are removed from G4ParticleTable
0205     class. These methods have moved to G4IonTable class with some
0206     enhancements.</LI>
0207 </UL>
0208 
0209 <P> </P>
0210 <B>Physics Lists</B>
0211 <P> </P>
0212 <UL>
0213 <LI>Physics lists based on the CHIPS package (e.g. CHIPS, QGSC_BERT)
0214     or on the parameterized (Gheisha-like) models LEP/HEP (e.g. LHEP) 
0215     have been removed.</LI>
0216 <LI>Physics lists that  used LEP in a restricted energy range have been 
0217     retained but revised: LEP has now been replaced by Fritiof and/or 
0218     Bertini models.    
0219     Typical of this case was the use of LEP modesl to bridge the gap 
0220     between QGS and the intra-nuclear cascade model, in particular 
0221     over the region of 9.5-25 GeV in QGSP_BERT which was replaced 
0222     by use of the FTF/Fritiof model.</LI>
0223 </UL>
0224 
0225 <P> </P>
0226 <B>Data Sets</B>
0227 <P> </P>
0228 This release introduces new data set versions.
0229 Please see the corresponding details in
0230 <A href="#data-notes">Section 10</A> of this document.
0231 <UL>
0232 <LI>New data set versions: <TT>G4EMLOW-6.35, G4NDL-4.4, G4NEUTRONXS-1.4,
0233     G4RadioactiveDecay-4.0, G4PhotonEvaporation-3.0, G4ABLA-3.0,
0234     G4ENSDFSTATE-1.0</TT>.</LI>
0235 </UL>
0236 
0237 <P> </P>
0238 <A NAME="4."></A>
0239 <HR>
0240 
0241 <!-- ============================================== -->
0242 
0243 <H2>4. New Developments and Capabilities </H2>
0244 
0245 <B>General</B>
0246 <UL>
0247 <LI>Geant4 Version 10.0 supports (optional) event-level parallelism.
0248     In a multi-threaded application, at the end of first kernel initialization,
0249     worker threads are started and initialized. These worker threads are
0250     responsible for simulating events.</LI>
0251 <LI>Event each thread is tasked is in first_come_first_served basis,
0252     so that event numbers each thread has are not sequential, and order of
0253     finished events are not sequential. </LI>
0254 <LI>The objects that consume the largest fraction of memory
0255     (geometry and Electromagnetic physics tables) are shared among threads, while
0256     all other objects (in particular user-action and sensitive detectors) are thread-private.</LI>
0257 <LI>If the user employs built-in command-based scorers or makes use of g4tools histogramming
0258     facitlities, the reduction of results is performed automatically at the end of a run.
0259     To accumulate user-specified quantities, the user has to implement his/her own Run
0260     class derived from <TT>G4Run</TT> base class to implement the reduction.</LI>
0261 <LI>More information:
0262   <UL>
0263     <LI>Geant4 multi-threading capabilities are based on POSIX standards
0264         (pthreads) and on <I>Thread Local Storage</I> (TLS) extension.</LI>
0265     <LI>Several aspects of threading model can be customized by user.
0266         This includes the possibility to use an external library or package
0267         (e.g. TBB) to achieve paralelization. See the
0268         <I>examples/extended/parallel</I> directory and its content.</LI>
0269     <LI>A <A HREF="https://twiki.cern.ch/twiki/bin/view/Geant4/MultiThreadingTaskForce">dedicated
0270         Twiki page</A> contains up-to-date information of multi-threading with
0271         Geant4 including links to relevant documentation.</LI>
0272   </UL></LI>
0273 </UL>
0274 
0275 <B>Geometry</B>
0276 <UL>
0277 <LI>A new module for geometrical primitives, whose classes
0278     are imported from the
0279     <A HREF="https://aidasoft.web.cern.ch/USolids">AIDA Unified Solids Library</A>,
0280     is available.
0281     It includes alternative implementations for several shapes, aiming to
0282     provide CPU speed improvement  in most cases. The shapes currently included are:
0283     Box, Cons, GenericPolycone, Orb, Polycone, Polyhedra, Sphere, Tet, Trd,
0284     Tubs. </LI>
0285 <LI>This module can be used in two modes. The first mode is available in a standard
0286     installation; a USolid can be used as an alternative implementation of a shape, 
0287     using a different name. This provides the opportunity to test the implementations 
0288     one by one, e.g.  <TT>G4UPolycone</TT> which has shown significant speedup.</LI>
0289 <LI>In the second mode they can replace the default implementations of the 
0290     corresponding solids - this requires a special build and must be enabled 
0291     at configuration/build time, by adopting the dedicated compiler flag 
0292     <TT>G4GEOM_USE_USOLIDS</TT>.</LI>
0293 </UL>
0294 
0295 <B>Materials</B>
0296 <UL>
0297 <LI>The NIST material Manager and related classes always
0298     create an isotope vector for each element, using  natural abundances.</LI>
0299 </UL>
0300 
0301 <B>Electromagnetic physics</B>
0302 <UL>
0303 <LI>The model of electron-positron pair production by muons and hadrons 
0304     has been updated to use more detailed grid in tabulation of differential 
0305     cross-sections.</LI>
0306 <LI>The PAI and PAI-photon models were cleaned up and can be used for very 
0307     low (down to zero) cut values.</LI>
0308 <LI>A new angular generator model is added <TT>G4DeltaAngle</TT> which
0309     may be optionally used by any ionisation model. It is used by default by PAI models.</LI>
0310 <LI>Magnetic monopole ionisation models were upgraded to be applicable 
0311     for non-relativistic case for any material.</LI>
0312 </UL>
0313 
0314 <B>Hadronic physics</B>
0315 <UL>
0316 <LI>The Fritiof (FTF) model has been retuned, based on an enlarged set of
0317     thin-target data, and the modelling of nucleon-nucleon diffraction
0318     has been improved. <BR>
0319     The Fritiof model can now handle nucleus-nucleus collisions.</LI>
0320 <LI>The Bertini-like (BERT) model has been improved, in particular
0321     in the two-body angular distributions and in multibody phase space,
0322     and it can handle muon capture.
0323     </LI>
0324 <LI>Long-lived meta-stable isotopes (isomers) are now produced
0325     in hadronic interactions. By default, only isomers with half-lives
0326     above 1 microsecond are considered. However, an enlarged set of
0327     isomers can be activated by setting the environmental variable
0328     G4ENSDFSTATEDATA to point to the new (optional) data set of
0329     nuclei properties from the Evaluated Nuclear Structure Data File,
0330     G4ENSDFSTATE-1.0.</LI>
0331 <LI>The isomers that are produced can be decayed by activating the
0332     RadioactiveDecay module (which is not used by default in physics
0333     lists, with the only exception of Shielding). </LI>
0334 <LI>The new data libraries G4PhotonEvaporation-3.0 and G4RadioactiveDecay-4.0
0335     are required. </LI>
0336 <LI>The neutron high-precision (HP) model is now capable of reading
0337     compressed data files, and this allowed to reduced significantly
0338     the size of the G4NDL library.<LI>A new verbosity control allows the
0339     suppression of warning messages.</LI>
0340 <LI>A new fission fragments generator (Wendt) has been introduced.</LI>
0341 </UL>
0342 
0343 <B>Phonon Physics</b>
0344 <UL>
0345 <LI>A new minimal framework for low-temperature
0346     phonon physics has been introduced, with acoustic phonon particle types
0347     (<Code>G4PhononLong, G4PhononTransSlow, G4PhononTransFast</Code>),
0348     container classes for lattice dynamical constants, and processes for
0349     propagation and scattering of phonons, and anharmonic downconversion.</LI>
0350 <LI>The associated example
0351     (<Code>examples/extended/exoticphysics/phonons</Code> has been migrated to
0352     use the new toolkit classes.</LI>
0353 </UL>
0354 
0355 <B>Generic Biasing</b>
0356 <UL>
0357 <LI>A new biasing capability has been introduced to allow physics-based biasing
0358     --process interaction occurence biasing, process final state production biasing--
0359     and non-physics-based biasing --e.g. splitting, killing-- to be handled through
0360     a set of common classes: <Code>G4VBiasingOperator, G4VBiasingOperation</Code>.</LI>
0361 <LI>The <Code>G4VBiasingOperation</Code> class is to represent an 'atomic' biasing
0362     operation (occurence biasing, final state biasing, splitting, killing, etc.).</LI>
0363 <LI>The <Code>G4VBiasingOperator</Code> class is to pilot the biasing, it selects
0364     the biasing operations to be applied in the current step.<BR>A biasing operator
0365     may also delegate the biasing operation choices to an other operator.</LI>
0366 <LI>Biasing operations are applied by a third class <Code>G4BiasingProcessInterface</Code>
0367     which provides the interface between the tracking and the biasing. It collects the
0368     biasing operations to be applied from the current biasing operator.<BR>
0369     It can act as a wrapper class, controlling an underneath physics process on top
0370     of which it applies the biasing operations selected by the operator; it provides
0371     the statistical weight computation for the case of the occurence biasing.
0372     <BR>It can also be free of physics process, in what case it collects and applies
0373     non-physics-based biasing operations.</LI>
0374 <LI>A biasing operator is attached to a <Code>G4LogicalVolume</Code> inside which,
0375     and only inside which, it is active. Outside, the standard tracking goes.</LI>
0376 <LI>Two examples have been created:<BR>
0377     <Code>examples/extended/biasing/GB01</Code> shows how to bias process cross-sections,<BR>
0378     <Code>examples/extended/biasing/GB02</Code> shows how to use an MNCP-like
0379     'force collision' operator implemented within the present scheme (this 'force collision'
0380     consists of a track entering a volume which is cloned, one copy making a forced
0381     collision inside the volume, the other copy flying though with no interaction).</LI>
0382 </UL>
0383 
0384 
0385 <B>Physics Lists</B>
0386 <UL>
0387 <LI>In all physics lists, the neutron capture process has been
0388     significantly improved, both for the cross section (replacing
0389     Gheisha with G4NeutronCaptureXS) and the final-state modelling
0390     (now using G4NeutronRadCapture instead of G4LCapture).
0391     This affects the response and lateral width of hadronic showers
0392     in tungsten-based simplified calorimeters. </LI>
0393 <LI>The more accurate inelastic cross section G4NeutronInelasticXS is used 
0394     for the simulation of low-energy neutrons (i.e. below 20 MeV) in  all
0395     physics lists which do not contain the precise neutronHP models. 
0396     This replaces the Barashenkov cross-sections. The NeutronXS cross-sections
0397     are average in bins of kinetic energy derived from neutronHP data.
0398     They are meant as an approximated, fast approach similar to the
0399     multi-group approach of other Monte Carlo radiation transport tools.</LI>
0400 <LI>The fission process has been removed in physics lists without 
0401     the precise neutronHP models. For the HP-based physics
0402     lists, the parameterized model G4LFission is kept and used only 
0403     above 19.9 MeV.</LI>
0404 <LI>Fritiof and/or Bertini models are now used in all physics lists
0405     to replace the parameterized (Gheisha-like) model LEP/HEP,
0406     which were used in several physics lists. This is neccesary  
0407     for the QGS-based physics lists,
0408     since the QGS model has not been extended to as low energies (currently
0409     it is used above 12 GeV) as the  FTF model (which can be used above 3 GeV).</LI>
0410 <LI>Three new physics lists (all making use of the intranuclear cascade
0411     INCLXX) have been introduced: QGSP_INCLXX_HP, FTFP_INCLXX, 
0412     FTFP_INCLXX_HP.</LI>
0413 <LI>All the six electromagnetic variants of the physics lists: 
0414     _EMV, _EMX, _EMY, _EMZ, _LIV, _PEN <BR>
0415     are available only by using the physics list factory 
0416     G4PhysListFactory. This option can be specified as part of the physics 
0417     list name. As before, the name string must be either an argument of a 
0418     particular method of the factory, or else provided in the environmental 
0419     variable PHYSLIST.</LI>
0420 <LI>The following obsolete physics lists have been removed:
0421     CHIPS, CHIPS_HP, QGSC_BERT, QGSC_CHIPS, QGSP_BERT_CHIPS, LHEP, LHEP_EMV,
0422     QGSP, QGSP_QEL, QGSP_BERT_TRV, QGSP_BERT_95, QGSP_BERT_95XS,
0423     QGSP_FTFP_BERT_95, QGSP_FTFP_BERT_95XS.</LI>
0424 </UL>
0425 
0426 <B>Visualization</B> and <B>Interfaces</B>
0427 <UL>
0428 <LI>Visualization now supports multi-threading with basically the same feel as
0429     in sequential mode. Note however that if your application includes special
0430     visualization behaviors involving direct C++ calls to specific visualization
0431     draw methods, these parts of your visualization will only appear in sequential mode.</LI>
0432 <LI>Added command to display magnentic field: /vis/scene/add/magneticField.
0433     For details, see the command guidance.</LI>
0434 </UL>
0435 
0436 <A NAME="5."></A>
0437 <HR>
0438 
0439 <!-- ============================================== -->
0440 
0441 <H2>5. Expected effects on physics and computing performance</H2>
0442 
0443 <B>Electromagnetic physics</B>
0444 <UL>
0445 <LI>About 5% speedup is expected mainly due to migration from
0446     std::log, std::exp to G4Log and G4Exp functions.</LI>
0447 </UL>
0448 
0449 <B>Hadronic physics</B>
0450 <UL>
0451 <LI>Simulated hadronic showers with the recommended physics list
0452     FTFP_BERT remain similar to those obtained with Geant4 9.6,
0453     except for tungsten-based calorimeters, where the energy response
0454     becomes lower, and lateral shape narrower, mainly due to the
0455     improved simulation of neutron capture.</LI>
0456 <LI>Slight (few percent) CPU improvement for the simulation of
0457     hadronic showers with FTFP_BERT physics list with respect
0458     to Geant4 9.6.</LI>
0459 <LI>Possible larger variations (for both observables and CPU speed)
0460     for the simulation of hadronic showers with other physics lists
0461     (e.g. QGSP_BIC) with respect to Geant4 9.6, mainly due to the
0462     replacement of parameterized (Gheisha-like) model LEP/HEP with
0463     Fritiof and/or Bertini models.</LI>
0464 </UL>
0465 
0466 <B>Sequential application with multi-threaded Geant4 library</B>
0467 <UL>
0468 <LI>If a Sequential application is linked with the Geant4 library
0469     that is compiled in multi-threaded mode, a small performance
0470     overhead (~1%) may be observed.</LI>
0471 </UL>
0472 <P> </P>
0473 <A NAME="6."></A>
0474 <HR>
0475 
0476 <!-- ============================================== -->
0477 
0478 <H2>6. Known Run-Time Problems and Limitations</H2>
0479 For a complete list of outstanding run-time problems and to submit any
0480 problem you may find while running this version of Geant4, please refer 
0481 to the
0482 <A TARGET="ext" HREF="http://cern.ch/geant4/problemreport">Geant4 Problem
0483 Reporting System</A>.
0484 
0485 <P> </P>
0486 <A NAME="7."></A>
0487 <HR>
0488 
0489 <!-- ============================================== -->
0490 
0491 <H2>7. Compilation Warnings</H2>
0492 
0493 There may be a few compilation warnings on some platforms.
0494 We do not believe that any of these lead to incorrect run-time behaviour.
0495 
0496 <P> </P>
0497 <A NAME="8."></A>
0498 <HR>
0499 
0500 <!-- ============================================== -->
0501 
0502 <H2>8. Geant4 Software License</H2>
0503 
0504 A Software License applies to the Geant4 code.
0505 Users must accept this license in order to use it. The details and the list of
0506 copyright holders is available at
0507 <A href="http://cern.ch/geant4/license">http://cern.ch/geant4/license</A>
0508 and also in the text file <TT>LICENSE</TT> distributed with the source code.
0509 
0510 <P> </P>
0511 <A NAME="9."></A>
0512 <HR>
0513 
0514 <!-- ============================================== -->
0515 
0516 <H2>9. Detailed list of changes and fixes</H2>
0517 
0518 These are the main new features/fixes included in this release since the
0519 last patched public release (for more detailed lists of fixes/additions,
0520 please refer to the corresponding History files provided in most packages):
0521 
0522 <P> </P>
0523 
0524 <A NAME="conf-notes">
0525 <H3><I>Configuration</I></H3></A>
0526 <UL>
0527   <LI>CMake:
0528       <UL>
0529       <LI>Added 'multithreaded' component to indicate if Geant4 is built with
0530           multithreading. If requested, and the build is multithreaded, append
0531           the -DG4MULTITHREADED compile definitions.
0532           Added build option GEANT4_BUILD_MULTITHREADED set to OFF by default.
0533           Use -pthread flag for clang and gcc compilers.</LI>
0534       <LI>Added patch for self-location to C-shell template generation.
0535           Addressing problem report
0536           <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1399">#1399</A>.</LI>
0537       <LI>Enabled option GEANT4_USE_SYSTEM_ZLIB to locate system zlib if
0538           requested and otherwise use internal version.
0539           Addressing probem report
0540           <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1322">#1322</A>.</LI>
0541       <LI>Added build mode dependent compiler definition to the build of each
0542           target in the form GEANT4_DEVELOPER_[CONFIG] where [CONFIG] is the
0543           uppercased build mode. Addressing problem report
0544           <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1353">#1353</A>.</LI>
0545       <LI>Added build option GEANT4_BUILD_TPMALLOC (defaults to OFF) which can
0546           be enabled on UNIX platforms to optionally allow through LD_PRELOAD
0547           the use of tpmalloc in place on system malloc in multi-threaded mode.
0548           Modality currently disabled.</LI>
0549       <LI>Corrected output of "--has-feature" for CLHEP feature.
0550           Addressing problem report
0551           <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1477">#1477</A>.</LI>
0552       <LI>Added FindTBB.cmake module for Intel Threading-Building-Blocks library.</LI>
0553       <LI>Fix in FindROOT.cmake script to remove "/usr/include" from list of
0554           include directories passed to rootcint when generating dictionaries.
0555           Workaround for a bug experienced in rootcint.</LI>
0556       <LI>Set variables GEANT4_USE_BUILTIN_{CLHEP,EXPAT,ZLIB} when the builtin
0557           versions of these packages are used. This is to assist the generation
0558           of Geant4Config.cmake using simple expansion variables.</LI>
0559       <LI>Tidy up layout in scripts and removed obsolete files and documentation.</LI>
0560       <LI>Removed GEANT4_INSTALL_EXAMPLES option. Always install 'example' directory.</LI>
0561       <LI>Suppress error messages from FindAIDA module for informative options.
0562           Addressing problem report
0563           <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1485">#1485</A>.</LI>
0564       <LI>Corrected check for clang version. Fixes problem with being unable to
0565           change C++ Standard for clang when using latest version.</LI>
0566       <LI>Disabled granular libraries build model issue fatal error if
0567           GEANT4_BUILD_GRANULAR_LIBS variable is set.</LI>
0568       <LI>Added FindXvfb checking if fake X server Xvfb is installed in system.</LI>
0569       <LI>When building in multithreaded mode on a UNIX system, added verification
0570           check for support of thread local storage.</LI>
0571       <LI>Implemented new export function for datasets.
0572           Added new '--datasets' argument to print out space separated dataset
0573           name, envvar name and path, with information for each dataset on a
0574           separate line. Implemented new --check-datasets and --install-datasets
0575           tasks; the former checks that the known datasets are installed in the
0576           configured location, reporting status; the latter is a stub for
0577           implementing post-install download and unpack of datasets.</LI>
0578       <LI>Fixed bug in configuration of binary directory PATH which resulted in
0579           G4INCLUDE being overwritten.</LI>
0580       <LI>Added support for use of experimental USolids module through the compiler
0581           flag G4GEOM_USE_USOLIDS. Marked as advanced option.</LI>
0582       <LI>Fixes in geant4-config.in to add core compiler flags to cflags and
0583           added support for export of multithreading variables.
0584           Implemented post-install of datasets. Supplying the --install-data flag
0585           will perform a download and install of all datasets to the configured data
0586           directory.</LI>
0587       <LI>Fix bug in checking of status of Xmu include path and library variables
0588           that resulted in no error being emitted if these were not found.</LI>
0589       <LI>Added FindTBB to exported modules.</LI>
0590       <LI>Added section for support of Wt and new FindWt.cmake module.</LI>
0591       <LI>Provided scripts for support of Qt5 external libraries.</LI>
0592       <LI>Set compilation flags for MT mode on Intel compiler to
0593           "-ftls-model=initial-exec -pthread" as for GNU and Clang.</LI>
0594       <LI>Updated references to data libraries version for 10.0.</LI>
0595       </UL></LI> 
0596   <LI>GNUMake:
0597       <UL>
0598       <LI>No longer supported, only for development/testing use.</LI>
0599       </UL></LI> 
0600 </UL>
0601 
0602 <A NAME="ana-notes">
0603 <H3><I>Analysis</I></H3></A>
0604 <UL>
0605   <LI>Added file compression in Root manager. Added use of zlib needed for
0606       compression.</LI>
0607   <LI>Extended analysis managers for handling more than one ntuple.
0608       Updated manager classes updated for MT; added data members and functions
0609       for mergings histograms (Root, Xml) from worker to master:<BR>
0610         <TT>void AddH1Vector(std::vector<tools::histo::h1d*>& h1Vector);</TT><BR>
0611         <TT>void AddH2Vector(std::vector<tools::histo::h2d*>& h2Vector);</TT><BR>
0612       These functions are automatically called on Worker::Write().
0613       Added ThreadId to ntuple file names when processing on workers.<BR>
0614       Introduced managers per object types (H1, H2, Ntuple, File) and
0615       re-implemented G4VAnalysisManager as a composite of the objects managers;
0616       removed enum G4VAnalysisManager::ObjectType and replaced related methods
0617       with methods per object type.</LI>
0618   <LI>Fix in G4RootAnalysisManager::WriteOnAscii().
0619       Addressing problem report
0620       <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1473">#1473</A>.</LI>
0621   <LI>Improved handling of files: empty files are now removed in CloseFile().
0622       Moved generation of file name in G4VAnalysisManager.</LI>
0623   <LI>Fixed deleting fNtuple in G4RootNtupleDescription (the ntuple is deleted
0624       with Root file). Fixed the problem in Root files clean-up.</LI>
0625   <LI>Introduced subdirectories: csv, g4tools, hntools, management, root, xml.
0626       Updated build scripts accordingly.</LI>
0627   <LI>Adapted to use new interface with namespace for functions in G4Threading.</LI>
0628   <LI>Added possibility to define logarithmic binning for H1 and H2.</LI>
0629   <LI>Reorganized messenger classes per objects: they are now associated
0630       with the public interface (G4VAnalysisManager).</LI>
0631   <LI>Fixed incorrect setting of the list of free blocks in the Root file.
0632       Addressing problem report
0633       <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1523">#1523</A>.</LI>
0634   <LI>Fixed saving binScheme in H2 information.</LI>
0635   <LI>Adapted to new namespace interface from G4Threading.
0636       Use thread Id (now available) in generating file names instead 
0637       of thread Pid.</LI>
0638   <LI>Do not call WriteH1[2]() when no histograms are defined. This allows to
0639       run application which uses only ntuples without a master instance of the
0640       analysis manager.</LI>
0641   <LI>Removed static G4AnalysisManager::Create(bool) function; the master/worker
0642       is now identified automatically.</LI>
0643   <LI>Reimplemented  G4AnalysisManagerState::IsMT() with use of G4Threading
0644       functions.</LI>
0645   <LI>Removed virtual declaration for GetH1, GetH2, GetNtuple functions
0646       in manager classes (to follow NVI pattern).</LI>
0647   <LI>Updated histogramming tools to g4tools-1.7.0.</LI>
0648 </UL>
0649 
0650 <A NAME="digits-notes">
0651 <H3><I>Digitization & Hits</I></H3></A>
0652 <UL>
0653   <LI>Added Merge() methods to G4ScoringManager and G4VScoringMesh, needed
0654       for multi-threading.</LI>
0655   <LI>Changed method names in G4VScoringMesh and derived classes.</LI>
0656   <LI>Added missing options in command-based scorers in G4ScoreQuantityMessenger
0657       and G4ScoreQuantityMessengerQCmd.</LI>
0658   <LI>Added protoype cloning mechanism for sensitive-detectors, needed for
0659       multi-threaded mode.</LI>
0660   <LI>The pointer is now overwritten if a detector of same name is registered
0661       to G4SDManager. Issuing warning from G4SDStructure whene same detector name
0662       is used, if verbose level is set to 1 or higher..</LI>
0663   <LI>Issuing warning message if G4VReadOutGeometry is used. Readout geometry
0664       is no longer supported in version 10.0.</LI>
0665   <LI>Replaced deprecated calls to G4Sphere accessor methods in scorer classes.</LI>
0666 </UL>
0667 
0668 <A NAME="emstd-notes">
0669 <H3><I>Electromagnetic Processes</I></H3></A>
0670 <LI><B>Adjoint</B>:
0671     <UL>
0672     <LI>G4AdjointPhotoElectricModel: use G4PEEffectFluoModel instead of
0673         obsolete G4PEEffectModel.</LI>
0674     <LI>Modifications for limitation of convergence peak.</LI>
0675     <LI>G4AdjointBremsstrahlungModel: biased the gamma->e.- reverse brem CS
0676         by factor 100.</LI>
0677     <LI>G4AdjointComptonModel: biased the CS by a factor 0.1.</LI>
0678     <LI>G4ContinuousGainOfEnergy: changed interface to G4VEmFluctuation.</LI>
0679     <LI>G4AdjointhMultipleScattering: use G4UrbanMscModel instead of Urban95.</LI>
0680     </UL></LI>
0681 <LI><B>DNA</B>:
0682     <UL>
0683     <LI>Promoted to thread-global storage following classes:
0684         G4DNAGenericIonManager, G4DNAMolecularMaterial and
0685         G4DNAMolecularReactionTable.</LI>
0686     <LI>G4DNASmoluchowskiReactionModel: enhanced exception description.</LI>
0687     <LI>G4ITTrackingInteractivity: added Initialize() method to simplify 
0688         initialization of daughter classes.</LI>
0689     <LI>G4DNAChemistryManager: added AddEmptyLineInOuputFile() method.</LI>
0690     <LI>Added G4KDMap utility class.</LI>
0691     <LI>Requires new data-set G4EMLOW version 6.35.</LI>
0692     <LI>Added G4DNAIons. Adapted G4DNAGenericIonsManager to use of G4DNAIons.
0693     <LI>Fix in G4VITProcess to not override SubtractNumberOfInteractionLengthLeft()
0694         method from G4VProcess, as no longer a virtual methood since release 9.6.</LI>
0695     <LI>Enhanced G4DNAChemistryManager to be the main interface exposed to user.</LI>
0696     <LI>Removed G4VERBOSE testing in G4DNABrownianTransportation::BuildPhysicsTable().</LI>
0697     <LI>Improved MT compatibility.</LI>
0698     </UL></LI>
0699 <LI><B>High Energy</B>
0700     <UL>
0701     <LI>G4mplIonisationModel, G4mplIonisationWithDeltaModel: changed interface
0702         to G4VEmFluctuations.</LI>
0703     <LI>G4hPairProductionModel: substituted SetCurrentElement() by SetElement()
0704         to avoid clash with the base class method.</LI>
0705     <LI>G4hBremsstrahlung: use inheritence of G4MuBremsstrahlung; removed
0706         unused headers.</LI>
0707     <LI>G4hPairProduction: use inheritence of G4MuPairProduction; removed
0708         unused headers; lowestEnergy limit should not be lower than 8*mass
0709         because in that case the model is not applicable.</LI>
0710     <LI>G4hPairProductionModel: do not call obsolete SetElement() method;
0711         use G4Log and G4Exp.</LI>
0712     <LI>G4hBremsstrahlungModel: use G4Log.</LI>
0713     <LI>G4mplIonisationModel, G4mplIonisationWithDeltaModel: fixed electron
0714         gas ionisation part; before models were working correctly for 
0715         very heavy monopoles in Silicon and not accurate for other media.</LI>
0716     </UL></LI>
0717 <LI><B>Low Energy</B>
0718     <UL>
0719     <LI>G4IonDEDXHandler, G4LivermoreGammaConversionModel,
0720         G4IonParametrisedLossModel, G4PenelopeBremsstrahlungAngular: moved
0721         call to SetSpline(true) to be always after vector is filled; only in
0722         that case Spline interpolation is enabled, according to the most
0723         recent version of G4PhysicsVector.</LI>
0724     <LI>G4LowEPComptonModel: fixed numerical problem detected with FPE.
0725         Withdrawn dependency on G4HadTmpUtil.</LI>
0726     <LI>Fixed Mi shell cross-section computation in G4teoCrossSection.</LI>
0727     <LI>G4AtomicDeexcitation is cloned from G4UAtomicDeexcitation.</LI>
0728     <LI>Added protection for MT mode in G4PenelopeRaylModel.</LI>
0729     <LI>G4LivermoreRayleighModel, G4LivermoreGammaConversionModel,
0730         G4LivermorePhotoElectricModel: migration to MT. Sharing of internal tables
0731         between threads; added two new methods InitialiseLocal() and
0732         InitialiseForElement().</LI>
0733     <LI>Migrated G4LivermoreComptonModel and G4LivermoreBremsstrahlungModel to MT.
0734         Migrated to MT Penelope Bremsstrahlung and e+ annihilation.models; the
0735         angular generator of Penelope Bremsstrahlung is kept thread-local.
0736         Migrated to MT Penelope Compton asnd Ionisation models and related
0737         helper classes (including Penelope PIXE).
0738         Migrated to MT G4PenelopePhotoElectricModel, G4PenelopeRayleighModel
0739         and G4PenelopeGammaConversionModel.
0740         Enforce const for G4PenelopeBremsstrahlungFS methods used by the workers.</LI>
0741     <LI>G4IonDEDXScalingICRU73: removed GetIon() for reference Fe and Ar, but use
0742         G4IonTable::GetIonMass() instead to prevent unnecessary instantiation of
0743         ion objects for individual threads.</LI>
0744     <LI>Improved CPU performances of G4PenelopePhotoElectricModel.</LI>
0745     <LI>G4LivermoreComptonModel, G4LivermoreGammaConversionModel,
0746         G4RayleighAngularGenerator: use G4Log, G4Exp.</LI>
0747     <LI>Fixed Exception on G4PenelopeOscillatorManager for specific materials.</LI>
0748     <LI>Adopt G4Cache in G4PenelopeBremsstrahlungFS, to better dynamic allocation
0749         in a MT-mode. Avoid deletion of physics-vectors in destruction of Livermore
0750         and Penelope models.</LI>
0751     <LI>G4LivermoreGammaConversionModel, G4LivermoreRayleighModel,
0752         G4LivermorePhotoElectricModel, G4LivermoreComptonModel: more accurate read
0753         of data from file at run time. Do not upload data in SampleSecondaries()
0754         method in G4LivermorePhotoElectricModel, instead kill the gamma.</LI>
0755     <LI>Added G4MicroElec* processes and models in replacement of G4MuElec*.</LI>
0756     <LI>Fixed Coverity defects.</LI>
0757     </UL></LI>
0758 <LI><B>Muons</B>
0759     <UL>
0760     <LI>G4MuPairProductionModel: extended grid of differential cross-section
0761         tables (from 8 to 40 points in muon energy); 
0762         Added check on max energy to reduce number of bins in muon energy.
0763         Providing different initialisation for master and worker threads,
0764         sharing element selectors. Added protection and warning message
0765         if 'p1=p2' in SampleSecondaries().
0766         Changed signature of the method MinPrimaryEnergy().
0767         Replaced calls to pow() with G4Pow.
0768         Reimplemented sampling table as G4ElementData with 2D-tables per
0769         atomic number; rewritten sampling algorithm, data fully shared
0770         between threads. Fixed bining to 1000 for internal sampling table.
0771         Perform common initialisation
0772         of internal variables for all threads; fixes remaining cases of event
0773         non-reproducibility in MT mode.
0774         Merged SetElement() and MaxSecondaryEnergy() methods into one
0775         MaxSecondaryEnergyForElement() to improve performance and event
0776         reproducibility.
0777         Fixed problem with the end of the spectra by cleanup initialisation of
0778         sampling table.</LI>
0779     <LI>G4MuMultipleScattering: G4UrbanMscModel is now the default.</LI>
0780     <LI>G4MuBremsstrahlungModel: removed 'partialSubSigma' data structure,
0781         use  G4ElementSelectors instead; providing different initialisation for
0782         master and worker threads sharing element selectors.</LI>
0783     <LI>G4MuBremsstrahlungModel: Reduced 'minThreshold' from 1 keV to 0.9 keV to avoid extra warning
0784         printout.
0785         Fix to avoid unnecessary repeated initialisation of element selectors
0786         if model is shared between particle and anti-particle.</LI>
0787     <LI>G4MuPairProductionModel, G4MuBremsstrahlungModel: added
0788         MinPrimaryEnergy() method implementation (all cross-section tables
0789         will start from the reaction threshold).</LI>
0790     <LI>G4MuBremsstrahlung: changed signature of method MinPrimaryEnergy().</LI>
0791     <LI>G4MuPairProduction: removed unused headers; lowestEnergy limit
0792         should not be lower than 8*mass because the model is not applicable.
0793         Improved initialisation printout.</LI>
0794     <LI>G4MuBremsstrahlungModel, G4EnergyLossForExtrapolator, G4MuBetheBlochModel:
0795         use G4Log and G4Exp.</LI>
0796     <LI>G4EnergyLossForExtrapolator: substitute G4eBremsstrahlungModel with
0797         G4SeltzerBergerModel. Use cut DBL_MAX to avoid creation of
0798         G4EmSelectors in lazy initialisation.</LI>
0799     <LI>G4MuBremsstrahlungModel: set lowest energy to 1 GeV.</LI>
0800     </UL></LI>
0801 <LI><B>Polarisation</B>
0802     <UL>
0803     <LI>G4ePolarizedBremsstrahlungModel: substitute G4eBremsstrahlungModel with
0804         G4SeltzerBergerModel.</LI>
0805     <LI>Corrected destrucor for G4ePolarizedIonisation, G4PolarizedCompton and
0806         G4eplusPolarizedAnnihilation.</LI>
0807     </UL></LI>
0808 <LI><B>Standard</B>
0809     <UL>
0810     <LI>G4ModifiedTsai, G4PairProductionRelModel, G4WentzelOKandVIxSection,
0811         G4WentzelVIRelXSection: removed obsolete methods and headers.</LI>
0812     <LI>G4WentzelVIModel: more clean logic of sampling for single scattering
0813         mode.</LI>
0814     <LI>G4UrbanMscModel: copied from G4UrbanMscModel96 and make become default
0815         for G4eMultipleScattering and G4hMultipleScattering.
0816         Modified format of warning about big scatterings.
0817         Modification in SampleCosineTheta() to provide higher stability versus step size.
0818         Modified to use G4Pow.</LI>
0819     <LI>Removed obsolete models: G4UrbanMscModel90, G4UrbanMscModel92, G4UrbanMscModel93, 
0820         G4UrbanMscModel95, G4UrbanMscModel96, G4eBremsstrahlungModel and
0821         G4PEEffectModel.</LI>
0822     <LI>G4PEEffectFluoModel: changed interface to SandiaTable allowing
0823         materials to be shared between threads. Use const pointers to access
0824         Sandia table array; changed access to G4SandiaTable in
0825         ComputeCrossSectionPerAtom() by using pointer of G4MaterialCutsCouple
0826         (before static method was used).</LI>
0827     <LI>G4SeltzerBergerModel, G4PAIxSection, G4PAIySection,
0828         G4GoudsmitSaundersonTable, G4GoudsmitSaundersonMscModel: removed
0829         end-line in printout from G4ExceptionDescription.</LI>
0830     <LI>G4SeltzerBergerModel: increased 'elowlimit' in method
0831         SamplingSecondaries() from 10 to 20 keV in order to fix problem of
0832         majoranta exceeded in heavy media. Reduced limit on number of warning
0833         printouts. Changed interface to use read-only G4Physics2DVector.</LI>
0834     <LI>Fixes issue of zero step length for eIoni, eBrem and annihilation in
0835         flight. Added new geometrical limit 0.01 nm to allow scattering in very
0836         small steps. Use G4Pow in compute transport cross section.</LI>
0837     <LI>G4eplusAnnihilation: use G4VParticleChange interface to add
0838         secondary track for more clean weight update; cleanup headers.</LI>
0839     <LI>G4eCoulombScatteringModel, G4hCoulombScatteringModel,
0840         G4eSingleCoulombScatteringModel: use G4IonTable::GetIon() instead
0841         of G4ParticleTable interface to create a recoil ion.</LI>
0842     <LI>G4KleinNishinaModel: added protection and warning against possible
0843         energy non-conservation due to inconsistency in shell energies.</LI>
0844     <LI>G4PEEffectFluoModelL use binding energy from G4LEDATA and not from
0845         G4AtomicShell class in the case when fluoresence is enabled in order
0846         to provide energy balance.</LI>
0847     <LI>G4PEEffectFluoModel, G4KleinNishinaModel: correction to ensure energy
0848         conservation when fluorescence is on.</LI>
0849     <LI>G4WaterStopping: enable Spline after vector with data is filled,
0850         according to last G4PhysicsVector modifications.</LI>
0851     <LI>G4eCoulombScatteringModel: do not use ElementSelectors for ions.</LI>
0852     <LI>G4hIonisation: added special treatment for ions.</LI>
0853     <LI>G4ScreeningMottCrossSection: fixed numerical problem for very small
0854         scattering angles.</LI>
0855     <LI>G4PAIModel, G4PAIySection: fixed initialisation.
0856         Added G4SandiaTable as a class member in G4PAIModel.
0857         G4PAIPhotonModel: added extra methods.</LI>
0858     <LI>G4BohrFluctuations, G4IonFluctuations, G4PAIModel, G4PAIPhotonModel,
0859         G4UniversalFluctuation: changed interface to G4VEmFluctuation; in
0860         SampleFluctuations() G4Material pointer is substituted by
0861         G4MaterialCutsCouple pointer.</LI>
0862     <LI>G4PAIModel: corrected usage of indexes.</LI>
0863     <LI>G4IonFluctuations, G4UniversalFluctuations: use G4Pow for log(), exp(), 
0864         pow() in run time methods; expected slightly improve CPU performance.</LI>
0865     <LI>G4PAIModelData: new class to handle PAI internal data.</LI>
0866     <LI>G4PAIModel: data handling extracted to G4PAIModelData, data class may be
0867         shared between threads. Code cleanup.</LI>
0868     <LI>G4BetheBlochModel, G4BraggIonModel: returned back method MinEnergyCut()
0869         in order to protect from cases reported in problem report
0870         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1481">#1481</A>.</LI>
0871     <LI>G4BetheHeitlerModel, G4KleinNishinaCompton, G4KleinNishinaModel,
0872         G4PairProductionRelModel, G4eBremParametrizedModel: implemented
0873         InitialiseLocal() method in order to share element selectors between threads.</LI>
0874     <LI>G4DeltaAngle: angular generator for delta-electrons taking into account
0875         electron motion. Use it in G4PAIModel.</LI>
0876     <LI>G4SeltzerBergerModel: sanity check for MT mode when loading data.</LI>
0877     <LI>G4BraggModel, G4BraggIonModel, G4BetheBlochModel, G4MollerBhabhaModel:
0878         added possibility to use an angular generator.</LI>
0879     <LI>Added new classes G4DeltaAngleFreeScat, G4PAIPhotModel and G4PAIPhotData.</LI>
0880     <LI>G4ESTARStopping: added reading from G4LEDATA. Added ESTAR stopping power
0881         data.</LI>
0882     <LI>G4WentzelVIModel: added GetWVICrossSection() access method.</LI>
0883     <LI>General cleanup of many classes: use G4Log and G4Exp.
0884         Replaced use of std::pow(x,y) with G4Exp(G4Log(x)*y).
0885         Moved 'static const' data initialisations to source to simplify MT setup.
0886         Significant speedup of initialisation and some speedup at run time.</LI>
0887     <LI>G4IonCoulombScatteringModel, G4eCoulombScatteringModel,
0888         G4eSingleCoulombScatteringModel, G4hCoulombScatteringModel: if primary
0889         particle is below low-energy threshold and is killed add its energy to
0890         energy deposition and not to recoil energy; no effect on ordinary
0891         simulation results.</LI>
0892     <LI>Avoid deletion of physics-vector at destruction in G4ASTARStopping,
0893         G4ESTARStopping, G4PSTARStopping, G4PAIModelData, G4PAIPhotData,
0894         G4PAIModelData, G4PAIPhotData, G4PAIPhotonModel.</LI>
0895     <LI>G4eBremsstrahlungRelModel, G4eCoulombScatteringModel: implemented
0896         MinPrimaryEnergy() method needed to set low-energy limit for cross-section
0897         tables.</LI>
0898     <LI>G4PAIxSection, G4PAIySection: fixed problem of division by zero.</LI>
0899     </UL></LI>
0900 <LI><B>Utils</B>
0901     <UL>
0902     <LI>G4VMultipleScattering: reduced geometrical limit from 1 um to 0.01 um;
0903         fixed list of models per multiple-scattering process for ions.</LI>
0904     <LI>Removed obsolete classes G4VEnergyLoss, G4VBremAngularDistribution.</LI>
0905     <LI>G4VEmProcess, G4VMultipleScattering: removed obsolete methods
0906         SetModel() and Model(). Removed calls to obsolete methods in
0907         G4LossTableManager.</LI>
0908     <LI>G4VEmProcess: fixed CrossSectionPerVolume() method, use extra 'tablePrim'
0909         for high energy if this table is defined.</LI>
0910     <LI>G4ionEffectiveCharge: static array become "const G4double".</LI>
0911     <LI>G4LossTableManager, G4EmModelManager: removed end-line from description
0912         of exceptions.</LI>
0913     <LI>G4VEnergyLossProcess, G4VEmProcess: clean up filling of secondary
0914         particles to particle change; use AddSecondary() from G4VParticleChange
0915         in all cases; little performance improvement expected.
0916         Density factor correction array is assigned to a process in
0917         BuildPhysicsTable() instead of PreparePhysicsTable() in order to get
0918         correct pointers in worker threads.</LI>
0919     <LI>G4VEnergyLossProcess: avoid unnecessary deletion of tables between
0920         runs. Fixed CrossSectionPerVolume() method.
0921         Make ion initialisation assuming that each ion may have an individual
0922         process. Do not destroy old tables in worker thread for the new run.
0923         Added local cache inside GetRangeForLoss() method.</LI>
0924     <LI>G4VEmModel: added extra methods needed for MT: InitialiseLocal(),
0925         InitialiseForMaterial(), InitialiseForElement(), GetElementSelectors().
0926         Take into account reaction threshold when initialising
0927         G4EmElementSelectors; set smallest number of bins to 3 (was 5) and
0928         fixed initialisation. Fixed SetCrossSectionTable() method.</LI>
0929     <LI>G4VEnergyLossProcess, G4VEmProcess, G4VEmModel, G4VMscModel: introduced
0930         cache for indexes in tables to restore CPU performance after change
0931         made to G4PhysicsVector, now read-only.</LI>
0932     <LI>G4EmCalculator: added call to InitialiseForMaterial() to give
0933         possibility to a model to read data in any thread.</LI>
0934     <LI>G4LossTableBuilder: optimized number of bins for tables built for
0935         models.</LI>
0936     <LI>G4LossTableManager: added new method to provide correct copy and setup
0937         process parameters in MT mode. Optimisation for MT mode; do not insert
0938         concrete ions into particle/energy loss process map, only G4GenericIon
0939         is inserted; added LocalPhysicsTables() method to copy pointers of
0940         G4PhysicsTables from master to local threads.</LI>
0941     <LI>G4LossTableManager, G4VEnergyLossProcess, G4VMultipleScattering,
0942         G4VEmModel, G4VMscModel: implemented copy of transport cross-sections
0943         tables from master to worker threads; implemented a possibility to copy
0944         element selectors from master to worker threads (model may use or not
0945         this feature).</LI>
0946     <LI>G4VEmFluctuationModel changed interface in SampleFluctuations() method;
0947         G4Material pointer is substituted by G4MaterialCutsCouple pointer.
0948         Change required by PAI model
0949         Changed interface to G4VEmFluctuationModel in G4VEnergyLossProcess.</LI>
0950     <LI>G4EmModelManager: check MinEnergyCut() method.
0951         Addressing probkem report
0952         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1481">#1481</A>.</LI>
0953     <LI>G4VEmProcess, G4LossTableManager: added master/worker initialisation
0954         to discrete processes.</LI>
0955     <LI>G4VEnergyLossProcess, G4VMultipleScattering: use GetMasterProcess()
0956         method in PreparePhysicsTable() and BuildPhysicsTable() methods.</LI>
0957     <LI>G4VEmAngularDistribution: added extra virtual method 
0958         SampleDirectionForShell().</LI>
0959     <LI>G4VMultipleScattering: increased lowestLimit from 1 eV to 10 eV.
0960         Added Get/Set methods for this parameter. Urban multiple-scattering model
0961         cannot handle low-energy e- below 10 eV.</LI>
0962     <LI>G4EmModelManager: fixed control on cut value per G4Region, the problem was
0963         observed when PAI model is used in a some region with very low cut.</LI>
0964     <LI>G4VEmProcess, G4VEnergyLossProcess, G4VAtomDeexcitation: added model ID 
0965         for secondary tracks (allows to user code to distingwish secondary gamma 
0966         and electrons generated by atomic de-excitation model).</LI>
0967     <LI>G4VEmModel: added extra flag 'useAngularGenerator' and Get/Set methods.
0968         Added extra method SelectRandomAtomNumber().
0969         Fixed bug in Fano-Cavity test: element selectors are created even if cut
0970         value is high.</LI>
0971     <LI>G4EnergyLossMessenger, G4EmProcessOptions: added UI command and interface
0972         to set verbose level for worker thread.</LI>
0973     <LI>New class G4AngleDirect, dummy angular generator.</LI>
0974     <LI>G4ionEffectiveCharge: use G4Log, G4Exp, G4Pow.</LI>
0975     <LI>Adopt G4ThreadLocalSingleton in definition of G4LossTableManager.
0976         Avoid deletion of physics-vector at destruction in G4VEmProcess,
0977         G4VEnergyLossProcess and G4VEmModel.</LI>
0978     <LI>G4VEmProcess, G4VEnergyLossProcess: fixed bug in GPIL computation when a
0979         particle enters a volume in which current EM model has different activation
0980         energy range than in previous region (due to this bug interation happens 
0981         on the boundary of G4Region in microdosimetry advanced example).</LI>
0982     <LI>G4VEmModel: improved definition of min and max energy for element selectors.</LI>
0983     <LI>Fixed Coverity defects.</LI>
0984     </UL>
0985 <LI><B>Xrays</B>
0986     <UL>
0987     <LI>G4Scintillation: for consistency, give the 'YieldRatio' priority in
0988         cases when the 'ExcitationRatio' is both 0.0 or 1.0.
0989         Fixed bug in 'ScintillationYieldByParticleType' mode to correctly
0990         produce photons for nonlinear scintillators, accounting for variable
0991         particle step size in the scintillator (dependent on tracking and
0992         production cuts) and attempting to best simulate photon density along
0993         the particle track.
0994         Fixed incorrect call to GetMaxValue() with GetMaxEnergy().</LI>
0995     <LI>G4Cerenkov, G4Scintillation: added BuildPhysicsTable() method which is
0996         doing initialisation as before but at the moment when material list is
0997         fully defined; it is assumed that the list of materials is not changed
0998         for the next runs.</LI>
0999     <LI>G4VXTRenergyLoss, G4StrawTubeXTRadiator: use const declaration to
1000         array of G4SandiaTable values.</LI>
1001     <LI>G4SynchrotronRadiation: added interface to G4VEmAngularDistribution 
1002         and use <TT>G4DipBustGenerator</TT> by default.</LI>
1003     </UL></LI>
1004 </UL>
1005 
1006 <A NAME="errprop-notes">
1007 <H3><I>Error Propagation</I></H3></A>
1008 <UL>
1009   <LI>Adapted code to implemented changes for split-class mechanism of base
1010       class G4VUserPhysicsList (needed for multi-threading).</LI>
1011   <LI>G4ErrorPhysicsList: remove inclusion of unnecessary header.</LI>
1012 </UL>
1013 
1014 <A NAME="event-notes">
1015 <H3><I>Event</I></H3></A>
1016 <UL>
1017   <LI>G4ParticleGunMessenger: added UI command 'ionLvlCmd' so that particle
1018       gun can shoot ions with integer isomer level. Added 'ionL' command to
1019       G4GeneralParticleSourceMessenger.</LI>
1020   <LI>G4ParticleGunMessenger: /gun/particle commands now consults to the particle
1021       table for all available particles except general ions.</LI>
1022   <LI>Fix the way of detecting improper process manager.
1023       Fix incorrect initialization in G4ParticleGunMessenger class for
1024       /gun/ionL command.</LI>
1025   <LI>Remove G4ParticleTable::GetIon() and use G4IonTable::GetIon() instead.</LI>
1026   <LI>Modified adjoint classes to migrate to the new RMC schema where reverse
1027       and forward trackings of equivalent adjoint and forward primaries are
1028       processed in same events, in preparation for the migration to MT mode.</LI>
1029 </UL>
1030 
1031 <A NAME="externals-notes">
1032 <H3><I>Externals</I></H3></A>
1033 <UL>
1034 <LI>Updated CLHEP module to version 2.1.4.1:
1035     <UL>
1036     <LI>Added RandGaussZiggurat and RandExpZiggurat distributions.</LI>
1037     <LI>Added new units for Radioactivity: kilo/mega/gigabecquerel,
1038         milli/microcurie.</LI>
1039     </UL></LI>
1040   <LI>Added internal zlib module, moved from visualization/externals.
1041       Updated package to zlib-1.2.7, now shipping the full library including
1042       the reader. Adapted package structure, code and CMake scripts.</LI>
1043   <LI>Added 'tpmalloc' and 'memoryprotection' utility modules (currently
1044       disabled).</LI>
1045 </UL>
1046 
1047 <A NAME="gen-notes">
1048   <H3><I>General Processes</I></H3></A>
1049 <UL>
1050   <LI><B>Biasing</B>
1051     <UL>
1052       <LI>New directory structure to introduce generic biasing framework classes:
1053       biasing/management, biasing/generic, biasing/importance.</LI>
1054       <LI>Previously existing 'importance' classes are moved to biasing/importance,
1055       except G4VProcessPlacer and G4ProcessPlacer moved to biasing/management.</LI>
1056       <LI>Contents:
1057     <UL>
1058       <LI>biasing/management:
1059         <UL>
1060           <LI> G4VBiasingOperation, G4VBiasingOperator and G4VBiasingInteractionLaw,
1061            for biasing modeling,</LI>
1062           <LI> and satellite classes G4BiasingAppliedCase, G4BiasingOperationManager,
1063            G4BiasingTrackData, G4BiasingTrackDataStore.</LI>
1064       </UL></LI>
1065       <LI>biasing/generic:
1066         <UL>
1067           <LI> G4BiasingProcessInterface, G4ParticleChangeForNothing,
1068            G4ParticleChangeForOccurenceBiasing, for biasing-tracking interface.</LI>
1069           <LI> Concrete implementations of biasing modeling classes :
1070            G4VBiasingOperator : G4BOptrForceCollision ; 
1071            G4VBiasingOperation : G4BOptnChangeCrossSection, G4BOptnCloning,
1072            G4BOptnForceCommonTruncatedExp, G4BOptnForceFreeFlight, G4BOptrForceCollision ;
1073            G4VBiasingInteractionLaw : G4InteractionLawPhysical, G4ILawTruncatedExp,
1074            G4ILawCommonTruncatedExp, G4ILawForceFreeFlight.</LI>
1075           <LI> G4BiasingHelper: utility class to help setting G4BiasingProcessInterface
1076            instances properly in a G4ProcessManager. Used in particular by
1077            limiters/G4GenericBiasingPhysics physics constructor.</LI>
1078       </UL></LI>
1079       <LI>biasing/importance:
1080         <UL>
1081           <LI> collects previously existing 'importance' classes in old substructure-less
1082            biasing directory except for</LI>
1083           <LI> G4VProcessPlacer and G4ProcessPlacer moved to biasing/management.</LI>
1084           <LI> Migrated geometrical importance biasing to work in MT mode.</LI>
1085       </UL></LI>
1086       </UL></LI>
1087   </UL></LI>
1088 <LI><B>Cuts</B>
1089     <UL>
1090     <LI>Modified G4RToEConvFor* classes removing unnecessary static
1091         declarations for local variables and moved to be simple members
1092         of the class.</LI>
1093     <LI>Fixed all loops for G4PhysicsLogVector: upper index is nbins+1.
1094         Stop calling Reset() from its destructor (now controlled in
1095         run-manager).</LI>
1096     <LI>Fix bug in G4ProductionCuts copy constructor.</LI>
1097     </UL></LI>
1098 <LI><B>Management</B>
1099     <UL>
1100     <LI>Added shadow master-thread pointer to G4VProcess and modifiers methods.
1101         required for new design of sharing of tables (EM & HAD) for
1102         multi-threading.
1103         Added worker initialization virtual method for multi-threading.</LI>
1104     <LI>Remove unused and obsolete intermediate layer classes
1105         G4IVContinuousDiscreteProcess and G4IVRestDiscreteProcess.</LI>
1106     <LI>Now G4VProcess::SubtractNumberOfInteractionLengthLeft() is inlined.</LI>
1107     <LI>Corrected name for G4Upsilon meson.</LI>
1108     <LI>Added process type for phonon processes to G4ProcessType.</LI>
1109     </UL></LI>
1110 <LI><B>Optical</B>
1111     <UL>
1112     <LI>Added capability of simulating the transmission of a dichronic filter;
1113         in this first implementation, the photon is either reflected or
1114         transmitted without changing direction. Also requierd to supply a 2D
1115         data file with the format and properly set the environment variable
1116         G4DICHROICDATA to point to the dichroic.data file.</LI>
1117     <LI>Fix for WLS photons to have a longer wavelength than the photon being
1118         absorbed/shifted. Addressing report from G4Hypernews Forum #509.</LI>
1119     <LI>G4OpWLS and G4OpRayleigh: added BuildPhysicsTable() method which is
1120         doing as before but at the moment when material list is fully defined.</LI>
1121     <LI>Fixes in made G4OpBoundaryProcess to work properly with parallel worlds.
1122     <LI>G4OpBoundaryProcess now invokes the ProcessHit() method of the sensitive
1123         detector associated with the PostStepPoint volume when optical photons are
1124         detected at the entrance boundary.</LI>
1125     <LI>Fixed assignment of status for Dichroic.</LI>
1126     <LI>Fixed Coverity defects in G4OpBoundaryProcess.</LI>
1127     </UL></LI>
1128 <LI><B>Phonon</B>
1129     <UL>
1130     <LI>New module containing processes for phonon propagation and interaction
1131         in materials: G4LatticeManager, G4LatticeReader, G4PhononDownconversion,
1132          G4PhononPolarization, G4PhononReflection, G4PhononScattering,
1133          G4PhononTrackMap, G4VPhononProcess.</LI>
1134     </UL></LI>
1135 <LI><B>Scoring</B>
1136     <UL>
1137     <LI>Removed unnecessary printout.</LI>
1138     </UL></LI>
1139 <LI><B>Transportation</B>
1140     <UL>
1141     <LI>Adapted G4Transportation and G4CoupledTransportation to use
1142         G4ChargeState for charge/spin/magnetic moment, and to message the
1143         equation of motion directly with it.</LI>
1144     <LI>Initialize missing data members in G4CoupledTransportation constructor 
1145         Addresses issue identified by Coverity.</LI>
1146     </UL></LI>
1147 </UL>
1148 
1149 <A NAME="geo-notes">
1150 <H3><I>Geometry</I></H3></A>
1151 <UL>
1152   <LI>Removed deprecated BREPs module.</LI>
1153   <LI>Removed obsolete classes G4VCellScorer and G4VCellScorerStore.</LI>
1154   <LI>Removed references to NURBS from all solids.</LI>
1155 <LI><B>Biasing</B>
1156     <UL>
1157     <LI>Adapted to support running in MT-mode. G4IStore and G4WeightWindowStore
1158         are now shared singletons; added Clear(), SetWorldVolume() and
1159         SetParallelWorldVolume() methods.</LI>
1160     </UL></LI>
1161 <LI><B>Divisions</B>
1162     <UL>
1163     <LI>Adaptation to splitted G4Polycone into G4GenericPolycone.</LI>
1164     <LI>Added G4Ellipsoid among solids enabled for parameterisation.</LI>
1165     </UL></LI>
1166 <LI><B>Magnetic field</B>
1167     <UL>
1168     <LI>Introduced new class G4ChargeState to hold charge, spin, magnetic
1169         moment. Changed the signature of SetChargeMomentumMass() in
1170         G4EquationOfMotion to take G4ChargeState as first argument.</LI>
1171     <LI>Revised number of field components (to allow up to 24).
1172         18 are required for new applications (B, E, Gravity, B-gradients).</LI>
1173     <LI>Deleted SetChargeMomentumMass*() from G4ChordFinder,
1174         G4PropagatorInField and G4MagInt_Driver.</LI>
1175     <LI>Prevent case of division by zero and shortcut spin tracking for
1176         spin==0 particles in G4Mag_SpinEqRhs, G4EqEMFieldWithSpin and
1177         G4EqEMFieldWithEDM.</LI>
1178     <LI>First implementation of cloning mechanism, needed for multi-threaded
1179         mode.</LI>
1180     <LI>Added new G4RepleteEofM class, EofM that includes force due to B, E,
1181         and gravity field as well as mu*grad(B) and spin tracking.</LI>
1182     <LI>Fixed and improved HelixMixed Stepper: corrected the default stepper for
1183         small steps to be ClassicalRK4. Added Angle-threshold parameter (default
1184         remains 0.33 radians). Added more Steppers, including G4NystromRK4.
1185         Revised Id numbers of steppers, to make the best more visible.</LI>
1186     </UL></LI>
1187 <LI><B>Management</B>
1188     <UL>
1189     <LI>Added splitter class G4GeomSplitter for MT splitting mechanism.</LI>
1190     <LI>Added geomwdef.hh header including definition of G4GEOM_DLL flag for
1191         import/export of symbols for Windows DLL build.</LI>
1192     <LI>Added method UseWorkspace() to G4GeomSplitter for handling of thread-local
1193         allocated memory in geometry.</LI>
1194     <LI>Minor cleanup to G4LogicalVolume and G4VPhysicalVolume: moved description
1195         of helper classes to bottom of headers, and macros to .icc files; revised
1196         source code to use Get/Set methods in place of 'macros' for MT.</LI>
1197     <LI>G4LogicalVolume: added AssignFieldManager() method and new methods for
1198         handling workspace data.</LI>
1199     <LI>Fix to G4VSolid::EstimateCubicVolume() to make proper use of specified
1200         accuracy. Addressing problem report
1201         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1493">#1493.</A></LI>
1202     <LI>Added parameter to specify maximum number of overlap errors to report
1203         in G4VPhysicalVolume::CheckOverlaps().</LI>
1204     <LI>Added methods G4VPhysicalVolume::VolumeType() and
1205         G4LogicalVolume::CharacteriseDaughters() to be used by G4Navigator.</LI>
1206     <LI>Added G4Ellipsoid among solids enabled for parameterisation.</LI>
1207     </UL></LI>
1208 <LI><B>Navigation</B>
1209     <UL>
1210     <LI>Archived GeomTest* classes for overlaps checking through grid/cylinder
1211         lines. UI commands are replaced with calls to built-in overlaps checking
1212         based on random points located in surface. Defined commands are:
1213         <UL>
1214         <LI><TT>/geometry/test/tolerance [double] [unit]</TT><BR>
1215            -- to define tolerance by which overlaps should not be reported.
1216               Default is '0'.</LI>
1217         <LI><TT>/geometry/test/verbosity [bool]</TT><BR>
1218            -- to set verbosity mode. Default is 'true'.</LI>
1219         <LI><TT>/geometry/test/resolution [int]</TT><BR>
1220            -- to establish the number of points on surface to be generated
1221               and checked for each volume. Default is '10000'.</LI>
1222         <LI><TT>/geometry/test/recursion_start [int]</TT><BR>
1223            -- to set the starting depth level in the volumes tree from where
1224               checking overlaps. Default is level '0'.</LI>
1225         <LI><TT>/geometry/test/recursion_depth [int]</TT><BR>
1226            -- to set the total depth in the volume tree for checking overlaps.
1227               Default is '-1', which means checking the whole tree.</LI>
1228         <LI><TT>/geometry/test/maximum_errors [int]</TT><BR>
1229            -- to fix the threshold for maximum number of errors to report
1230               for overlaps from a volume.</LI>
1231         <LI><TT>/geometry/test/run</TT><BR>
1232            -- to start  overlaps checking recursively through the volumes tree.</LI>
1233         </UL></LI>
1234     <LI>G4Navigator: added new helper object G4VoxelSafety owned by a navigator
1235         instance, to avoid including header it is stored as pointer.
1236         Resolving an issue with multi-threading.
1237         Made copy-ctor and assignment operator private, as not supposed to be
1238         copied or cloned.</LI>
1239     <LI>G4MultiNavigator: fixed use of enum as Boolean in GetGlobalExitNormal().</LI>
1240     <LI>G4VoxelSafety: corrected calculation of edges of voxels.
1241         Identified when point's coordinate is beyond the range of voxels.
1242         Made new safety (from G4VoxelSafety) the default in G4Navigator.</LI>
1243     <LI>G4PropagatorInField: deleted SetChargeMomentumMass() method.</LI>
1244     <LI>G4SafetyHelper: added protection against storing 'fake' safety.</LI>
1245     <LI>Rationalised implementation of VolumeType() and CharacteriseDaughters()
1246         in G4Navigator, to use implementation now provided in G4VPhysicalVolume
1247         and G4LogicalVolume respectively.</LI>
1248     <LI>Added G4Ellipsoid among solids enabled for parameterisation in
1249         G4PhantomParameterisation.</LI>
1250     <LI>Added new messenger class G4GlobalMagFieldMessenger defining UI commands
1251         for creating/deleting the global uniform magnetic field and
1252         activating/inactivating it according to the set field value.</LI>
1253     <LI>Relaxed condition for reported move in G4PathFinder::Locate() to exclude
1254         reports for intentional pushes.</LI>
1255     </UL></LI>
1256 <LI><B>Solids (CSG)</B>
1257     <UL>
1258     <LI>Corrected sanity check for wrong/small dimensions in G4Box constructor.</LI>
1259     <LI>Correctly initialise fSPhi to zero in G4Sphere constructor.</LI>
1260     <LI>Moved function-scoped 'static const' values for half-tolerances to private
1261         data members of classes, to overcome false-positive race-conditions defects
1262         reported by Valgrind in MT mode.</LI>
1263     <LI>Added switch mechanism for USolids (box, cons, orb, sphere, trd, tubs).
1264         Added related G4U* wrappers for enabling use of USolids implementation.
1265         Defined temporary class G4OTubs to be used internally by G4CutTubs,
1266         in provision to have UCutTubs in the USolids library.</LI>
1267     </UL></LI>
1268 <LI><B>Solids (Specific)</B>
1269     <UL>
1270     <LI>Fixed import/export of static symbols for WIN32 DLLs build.</LI>
1271     <LI>Fix in G4SurfaceVoxelizer affecting tessellated-solid (and extruded-solid)
1272         for incorerct computation of DistanceToIn(p,v) for points outside, when
1273         optimisation is active.</LI>
1274     <LI>Fix in G4TessellatedSolid::DistanceToIn(p,v) for specific cases where points
1275         are located near surface.</LI>
1276     <LI>Enabled G4Ellipsoid for parameterisation.</LI>
1277     <LI>Created G4SolidsWorkspace and G4SolidsWorkspacePool classes, to create,
1278         initialize and destroy per-thread state of polyCone and polyHedra Sides.</LI>
1279     <LI>Split G4Polycone to now treat only polycones with increasing Z-sections.
1280         Introduced new class G4GenericPolycone for polycones with decreasing
1281         Z-sections.</LI>
1282     <LI>Extended method SetOriginalParameters() in G4Polycone in order to handle
1283         all possible cases of conversion of generic polycone to polycone with
1284         (Rmin,Rmaz,Z) parameters. Addressing problem report
1285         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1462">#1462</A>.</LI>
1286     <LI>Fixed conversion of generic construct for G4Polyhedra.
1287         Fix for in G4Polyhedra::SetOriginalParameters().</LI>
1288     <LI>Moved G4PolyconeHistorical and G4PolyhedraHistorical to separate
1289         translation units.</LI>
1290     <LI>Added switch mechanism for USolids (generic-polycone, polycone,
1291         polyhedra, tet).
1292         Added related G4U* wrappers for enabling use of USolids implementation.</LI>
1293     <LI>Move function-scoped 'static const' values for half-tolerances to private
1294         data members of classes, to overcome false-positive race-conditions defects
1295         reported by Valgrind in MT mode.</LI>
1296     </UL></LI>
1297 <LI><B>Solids (USolids)</B>
1298     <UL>
1299     <LI>Imported classes from the
1300         <A HREF="https://aidasoft.web.cern.ch/USolids">AIDA Unified Solids Library</A>
1301         Enabled by adopying compiler flag G4GEOM_USE_USOLIDS.
1302         Shapes provided: Ubox, Ucons, UGenericPolycone, UOrb, UPolycone, UPolyhedra,
1303         USphere, UTet, UTrd, UTubs. Includes bridge class G4USolid.</LI>
1304     </UL></LI>
1305 <LI><B>Volumes</B>
1306     <UL>
1307     <LI>Added parameter to specify maximum number of overlap errors to report.
1308         Adapted code in CheckOverlaps() in G4PVPlacement and G4PVParameterised
1309         to take into account the threshold.</LI>
1310     <LI>Added new classes G4GeometryWorkspace and G4GeometryWorkspacePool, to
1311         create and manage thread-local data and keep workspace objects
1312         respectively. 
1313         Separated functionality for Solids (PCone/PHedra Sides) from 
1314         G4GeometryWorkspace into separate class G4SolidsWorkspace in 
1315         solids/specific.</LI>
1316     </UL></LI>
1317 </UL>
1318 
1319 <A NAME="glob-notes">
1320 <H3><I>Global</I></H3></A>
1321 <UL>
1322   <LI>Introduced G4Log and G4Exp headers for fast log and exp; converted from
1323       the <A HREF="http://svnweb.cern.ch/world/wsvn/vdt">VDT library</A>.
1324       Make them matching to std::exp and std::log on Windows plaatform.
1325       Adopt them within G4Pow and G4Poisson. Expected slight performance boost.
1326   <LI>G4PhysicsVector, G4Physics2DVector: modified to become read-only classes;
1327       removed use of cache and related classes.
1328       Modified signature of methods accordingly.</LI>
1329   <LI>G4PhysicsVector: make FindBin() method public, added method FindLinearEnergy()
1330       for sampling of energy for vectors with cumulative probability function.</LI>
1331   <LI>Fix in G4PhysicsVector::FindBinLocation() to add extra checks for Log/Lin
1332       vectors to avoid rare cases when bin is computed incorrectly due to limited
1333       numerical precision of computations.
1334       The method is now inlined and not virtual; using table type different
1335       algorithms to compute bin number; using G4Log.</LI>
1336   <LI>Removed FindBinLocation method from G4PhysicsLogVector, G4PhysicsLinearVector,
1337       G4PhysicsOrderedFreeVector, G4LPhysicsFreeVector, G4PhysicsFreeVector and
1338       G4PhysicsLnVector.</LI>
1339   <LI>G4Physics2DVector: make FindBinLocationX() and FindBinLocationY()  
1340       methods public, added method FindLinearX for() sampling of energy for 2D
1341       cumulative probability functions; added new inline method Value() with
1342       different signature.</LI>
1343   <LI>G4Pow: added new methods logX() and expA(); improved accuracy of
1344       logA(), A13(), log10A() and powA(): now all these methods provide
1345       accuracy better than 0.1% for any value of argument.
1346       Added post-const qualifier to all methods.</LI>
1347   <LI>Introduced G4AllocatorList class to store pointers of all G4Allocator
1348       objects for each thread so that they can all be cleanly deleted at
1349       program termination. Added G4AllocatorBase base class defining virtual
1350       destructor and virtual utility methods for G4Allocator.</LI>
1351   <LI>Added call to clear() in G4PhysicsTable::clearAndDestroy().</LI>
1352   <LI>G4StatDouble: added new method add(G4StatDouble*) to be used in MT mode.</LI>
1353   <LI>G4ConvergenceTester: tuning format of output result.</LI>
1354   <LI>Added 'safe' inclusion of <windows.h> from G4Threading.hh, in new
1355       header windefs.hh. Simplified setup for import/export flags on Windows.</LI>
1356   <LI>Added first version of stack backtrace in G4FPEDetection when FPE
1357       exception is detected (Linux only).</LI>
1358   <LI>Added new classes implementing platform independent threading
1359       G4AutoLock and G4Threading.
1360       Added IsWorkerThread(), G4GetNumberOfCores() and G4GetThreadId() global
1361       helper functions.</LI>
1362   <LI>New G4Cache classes for handling thread-private data members in shared
1363       objects.</LI>
1364   <LI>Added G4ThreadPrivateSingleton class for thread-private singleton
1365       handling and G4AutoDelete namespace with utility function for 
1366       simplified garbage-collection.</LI>
1367   <LI>Generalised flags for MacOS multi-threaded mode.</LI>
1368   <LI>Added new cout streaming for MT: on file and with header at each line 
1369       with optional buffering.</LI>
1370   <LI>G4MTcoutDestination now has a capability of printing out only for 
1371       the selected thread to make the display readable.</LI>
1372   <LI>Code cleanup for HEPRandom module and new introduced MT classes.
1373       Added G4heprandom sub-library to the build system.</LI>
1374   <LI>Corrected MT defects identified by DRD: protected G4MTcoutDestination;
1375       corrected check of already-locked condition for G4AutoLock; protected
1376       creation of shared resource in G4MTHepRandom.
1377       Add namespace 'G4Threading' to functions defined in G4Threading unit.</LI>
1378   <LI>New class G4PhysicsModelCatalog to be used by physics models and G4Track.</LI>
1379   <LI>Enable MT mode for MacOSX with gcc >= 4.7.</LI>
1380   <LI>Update date of release for 10.0.</LI>
1381 </UL>
1382 
1383 <A NAME="greps-notes">
1384 <H3><I>Graphical Representations</I></H3></A>
1385 <UL>
1386   <LI>Introducing G4VVisManager::IgnoreStateChanges() virtual method.
1387       This method should be invoked by a class that has its own event loop,
1388       such as the RayTracer, material scanner, etc. If the argument is true,
1389       the following state changes among 'Idle', 'GeomClosed' and 'EventProc' are
1390       ignored. The same method with false should be invoked once such an
1391       event loop is over.</LI>
1392   <LI>Added dummy += operator to G4Colour.</LI>
1393   <LI>Added GetExtent() method in G4VGraphicsScene.</LI>
1394 </UL>
1395 
1396 <A NAME="had-notes">
1397 <H3><I>Hadronic Processes</I></H3></A>
1398 <UL>
1399 <LI>Removed deprecated CHIPS classes and modules.</LI>
1400 <LI>Removed obsolete models 'isotope_production', 'high_energy' and 'low_energy'.</LI>
1401 <LI>Renamed model 'lll_fission' to 'fission'.</LI>
1402 <LI><B>Cross sections</B>
1403     <UL>
1404     <LI>Fixed old outstanding bugs in G4ChipsProtonInelasticXS and
1405         G4ChipsNeutronInelasticXS.</LI>
1406     <LI>G4HadronCrossSection: fix in IsApplicable() method, return false
1407         if particle is not in the list and not G4HadronicException.</LI>
1408     <LI>Use GetNaturalAbundanceFlag() for elements in G4CrossSectionDataStore.
1409         Fixed logic to compute cross-section for not natural isotopes.</LI>
1410     <LI>G4NeutronCaptureXS, G4NeutronInelasticXS: set 'IsIsoApplicable' to
1411         "true". Cleaned up isotope data retrieve.</LI>
1412     <LI>Adapted mechansim of cross-section factories to work with MT
1413         applications. Factory registry is now a class on its own and it is
1414         shared among threads. TLS CrossSectionDataSetRegistry accesses the
1415         shared resource to get the cross-sections. Cross-sections data sets
1416         can be created now per-thread or shared.</LI>
1417     <LI>Fixed access to ions via the G4IonTable class and GetIon() method.</LI>
1418     <LI>G4BGGNucleonInelasticXS: reduced number of operation in the 
1419         CoulombFactor method. Use G4Pow to compute Coulomb correction factor
1420         (some CPU improvement). Added threashold of 1 millibarn; if 
1421         cross-section is less, it is set to zero.</LI>
1422     <LI>G4BGGNucleonElasticXS: added Coulomb barrier for protons (as in
1423         G4BGGNucleonInelasticXS); for Hydrogen target added linear
1424         approximation between SAID data and PDG data: SAID upper energy
1425         3.3 GeV, PDG low energy 5 GeV.</LI>
1426     <LI>Made verbose level modifiers in G4VCrossSectionDataSet into virtual
1427         functions.</LI>
1428     <LI>Use G4Exception instead of G4HadronicException for flagging incorrect
1429         use/setting of SAID data set.</LI>
1430     <LI>Major clean up and restructuring in G4ElectroNuclearCrossSection
1431         and G4PhotoNuclearCrossSection. Calculation is now done for average N.
1432         Replacing 'per isotope' methods by 'per element'.
1433         Adopting cross-section factory.</LI>
1434     <LI>G4ComponentSAIDTotalXS, G4NeutronElasticXS, G4UPiNuclearCrossSection:
1435         avoid deletion of physics-vectors at destruction.</LI>
1436     <LI>Fixed Coverity defects.</LI>
1437     </UL></LI>
1438 <LI><B>Management</B>
1439     <UL>
1440     <LI>Added material in G4HadronicProcessStore::GetCrossSectionPerAtom().
1441         Improved dump text in processes summary.</LI>
1442     <LI>Added dump method in G4EnergyRangeManager.</LI>
1443     <LI>Models Management:
1444         <UL>
1445         <LI>Reduced limit for "fatal" energy non-conservation from (10% && 5 GeV)
1446             to (2% && 1 GeV).</LI>
1447         <LI>Made verbose level modifiers in G4HadronicInteraction into virtual
1448             functions.</LI>
1449         <LI>Removed obsolete classes G4VIsotopeProduction and G4IsoParticleChange.</LI>
1450         </UL></LI>
1451     </UL></LI>
1452 <LI><B>Stopping</B>
1453     <UL>
1454     <LI>G4MuonMinusCaptureAtRest: fix to access ions via G4IonTable class
1455         and GetIon() method.</LI>
1456     <LI>Replaced native PreCompound model with Bertini in G4MuonMinusCapture.</LI>
1457     <LI>Removed deprecated stopping classes.</LI>
1458     <LI>Fixed Coverity defects.</LI>
1459     </UL></LI>
1460 <LI><B>Utility</B>
1461     <UL>
1462     <LI>Added family of "phase space" generator functions, intended to replace
1463         model-specific redundancies. G4HadDecayGenerator provides a simple
1464         interface, with algorithm selection handled via constructor argument.</LI>
1465     <LI>Protect LorentzContraction for at Rest nucleus.</LI>
1466     <LI>Fixed warning in G4NuclearShellModelDensity.</LI>
1467     </UL></LI>
1468 <LI><B>ABLA</B>
1469     <UL>
1470     <LI>Restored ABLA model to work in conjuction with INCL++.
1471         Fixed case of segmentation-fault on the production of exotic fragments.</LI>
1472     <LI>Requires G4ABLA-3.0 data set, controlled by G4ABLADATA flag for path.</LI>
1473     </UL></LI>
1474 <LI><B>Bertini Cascade</B>
1475     <UL>
1476     <LI>Added new cross-section data to G4CascadeT1GamNChannel.</LI>
1477     <LI>Introduced muon-capture handling, with new particle types and
1478         three-body muon-dibaryon interactions.</LI>
1479     <LI>Introduced multi-body final state momentum distribution classes and
1480         factory, modelled on the two-body angular distribution system.</LI>
1481     <LI>Added detailed two-body final state angular distributions for (gamma,p)
1482         and (gamma,n) reactions, using tables of numerical integrals to sample
1483         cos(theta).</LI>
1484     <LI>Added detailed two-body final state angular distributions for
1485         pp->pp, nn->nn, and np->np, using numerically integrated SAID
1486         cross-sections and pp scattering data.  For pp, below 2.75 GeV SAID
1487         calculations were used with Coulomb interactions turned off.</LI>
1488     <LI>New interface for momentum and angular distribution generators,
1489         subclasses of new class G4VHadDecayAlgorithm in "models/util" module.</LI>
1490     <LI>G4TwoBodyAngularDist: added interface to access three-body
1491         distributions, used in G4CascadeFinalStateAlgorithm.</LI>
1492     <LI>G4CascadeChannelTables: implemented global Print() function which dumps
1493         all tables registered in map. Converted class to thread-local
1494         singleton.</LI>
1495     <LI>G4ElementaryParticleCollider: allow direct grouping by initial
1496         state.  Replaced kinematics generation, except for pion-dibaryon
1497         absorption, with G4CascadeFinalStateGenerator.  Simplified
1498         implementation of collide() method.</LI>
1499     <LI>G4IntraNucleiCascader: added exciton and trapped-decay info to history.</LI>
1500     <LI>G4InuclSpecialFunctions: added new randomInuclPowers() function to
1501         compute power expansion of random value for momentum and cos(theta)
1502         distributions.</LI>
1503     <LI>G4NucleiModel: Added function to select random point along
1504         particle's trajectory, weighted according to nuclear density and
1505         cross-sections, use with incident photons at initial step to
1506         nucleus.  Fixed rare cases of non-reproducibility in
1507         generateParticleFate().  Fixed access to ions via the G4IonTable
1508         class.</LI>
1509     <LI>Reorganised de-excitation modules to use G4Fragment throughout process.
1510         Only final ground-state nucleus will be instantiated as a G4InuclNuclei
1511         object. This should substantially reduce the load on G4IonTable in multi-
1512         thread operations.</LI>
1513     <LI>G4CascadeDeexciteBase: new concrete subclass of G4VCascadeDeexcitation.
1514         Takes over "operational" support from G4CascadeColliderBase, including
1515         explosion() functions, local copy of G4CascadeCheckBalance, and
1516         conservation checking functions.  Provides utilities to extract common
1517         data from input G4Fragment for all modules, and to construct a G4Fragment.</LI>
1518     <LI>Improved encapsulation of pion and muon absorption through dibaryons.</LI>
1519     <LI>G4CascadeCheckBalance: added interface to take G4Fragment initial state.
1520         G4InuclCollider: use G4Fragment interface to de-excitation modules.</LI>
1521     <LI>G4CascadeParameters: added new flag to perform internal conservation checks.
1522         Use such run-time flag in G4CascadeColliderBase to conditionally instantiate
1523         CheckBalance. G4EquilibriumEvaporator: removed turning-off of conservation
1524         checks after fission.</LI>
1525     <LI>G4CascadeParameters, G4CascadeParamMessenger: added new environment
1526         variable, G4CASCADE_USE_PHASESPACE, and associated functions, to switch
1527         between multiparameter and Kopylov N-body generators.</LI>
1528     <LI>G4CascadeFinalStateAlgorithm: added Kopylov N-body phase space generation,
1529         with function code copied from G4HadPhaseSpaceKopylov.</LI>
1530     <LI>Added use of "Id" and "Name" keywords where missing.
1531     <LI>Moved local statics to file scope to avoid thread collisions.
1532         Fixes for thread safety in G4InuclSpecialFunctions,
1533         G4*EquilibriumEvaporator and paraMaker.</LI>
1534     <LI>G4InuclParticleNames: provide particle identification functions,
1535         equivalent to those in G4InuclElementaryParticle, for direct use of
1536         type codes.
1537         G4InuclElementaryParticle: replaced identification functions with calls
1538         through to new G4InuclParticleNames functions.</LI>
1539     <LI>G4CascadeInterface: replacing "Z=1" with "Z==1" in Boolean ternary
1540         operation. Addressing problem report
1541         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1513">#1513</A>.</LI>
1542     <LI>Replaced usage of std::log, std::exp, and std::pow with G4Log, G4Exp
1543         and G4Pow functions with faster polynomial implementations respectively.</LI>
1544     <LI>G4EquilibriumEvaporator, G4NucleiModel: fixed to avoid race condition
1545         in MT mode.</LI>
1546     <LI>Removed obsolete directories 'evaporation' and 'utils'.</LI>
1547     <LI>Fixes for coverity defects.</LI>
1548     </UL></LI>
1549 <LI><B>Binary Cascade</B>
1550     <UL>
1551     <LI>Implemented interface to Precompound model for nucleus-nucleus 
1552         interactions at high (> 2GeV/N).</LI>
1553     <LI>Use of simplified G4GeneratorPrecompoundInterface::Propagate() for
1554         hadron-nucleus interactions and adoption of PropagateNuclNucl() for
1555         simulation of nucleus-nucleus interactions.</LI>
1556     <LI>G4RKFieldIntegrator: make static array in fuction a const array.</LI>
1557     <LI>Revised signature of method SetChargeMomentumMass() for fields in
1558         G4KM_NucleonEqRhs and G4KM_OpticalEqRhs). Made these virtual methods
1559         non-inline.</LI>
1560     <LI>Added cloning of Dummy Field, required for multi-threading.</LI>
1561     <LI>G4BinaryCascade, G4BinaryLightIonCascade: fixed infinite exception
1562         output by removing G4Fragment.SetParticleDefinition() for ions.
1563         Ion definition is not used inside G4Fragment class.</LI>
1564     <LI>G4BinaryCascade: fixed typo. Addressing problem report
1565         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1511">#1511</A>.</LI>
1566     </UL></LI>
1567 <LI><B>De-excitation</B>
1568     <UL>
1569     <LI>G4StatMF, G4StatMFMicroCanonical, G4StatMFMicroManager,
1570         G4StatMFMicroPartition: use integer Z and A.</LI>
1571     <LI>G4VEvaporationChannel: added virtual method GetLifeTime().</LI>
1572     <LI>G4StatMFParameters, G4FermiFragmentsPool, G4PairingCorrection,
1573         G4ShellCorrection are now singletons initialised once and shared
1574         between threads.
1575         Made G4Cameron*Corrections and G4Cook*Corrections classes
1576         no longer singleton but simple utility classes keeping static data
1577         which is initialised once.
1578         Modified G4EvaporationLevelDensityParameter and G4FissionBarrier
1579         accordingly.</LI>
1580     <LI>G4PhotonEvaporation: correctly propagate time limit to discrete
1581         de-excitation. Changed time limit to 1 microsecond to be coherent with
1582         the isomere table.</LI>
1583     <LI>G4ExcitationHandler: use new methods from particle category to
1584         find isomere via level index. Added check if an ion exist in isotope
1585         table.</LI>
1586     <LI>G4ExcitationHandler: fixed typo in SetMaxAForFermiBreakUp() method.</LI>
1587     <LI>G4WilsonAblationModel: fixed typo and added warning that the model
1588         is not well validated.</LI>
1589     <LI>G4ContinuumGammaTransition: use G4UniformRand and a simple algorithm 
1590         to sample continuous gamma transition instead of G4RandGeneralTmp;
1591         changed number of bins for sampling to 100 instead of 200
1592         Deleted redundant class G4RandGeneralTmp.</LI>
1593     <LI>G4NeutronRadCapture: added isomere production according to the updated 
1594         MT interface; added time propagation (correct time for delaied capture).</LI>
1595     <LI>Use G4Log and G4Exp instead of standard math functions.</LI>
1596     <LI>Fixes for compilation issues detected on Windows/VC18 
1597         from Visual-Studio 12.</LI>
1598     <LI>G4NeutronRadCapture, G4ExcitationHandler: changed max isomer level 
1599         number to 8 (before was 9) due to limitations of PDG encoding.</LI>
1600     <LI>Fixes for Coverity defects.</LI>
1601     </UL></LI>
1602 <LI><B>Elastic scattering</B>
1603     <UL>
1604     <LI>G4NuclNuclDiffuseElastic: moved long methods from inline to source.</LI>
1605     <LI>Fixed access to ions via the G4IonTable class and GetIon() method
1606         in G4DiffuseElastic and G4NuclNuclDiffuseElastic.</LI>
1607     </UL></LI>
1608 <LI><B>Electromagnetic dissociation</B>
1609     <UL>
1610     <LI>Fixed memory leak of products from G4ExcitationHandler.</LI>
1611     </UL></LI>
1612 <LI><B>Fission</B>
1613     <UL>
1614     <LI>New module directory copy of 'lll_fission' with addition of the LEP
1615         fission class, G4LFission.</LI>
1616     </UL></LI>
1617 <LI><B>High Energy Theoretical</B>
1618     <UL>
1619     <LI>Added interface for manipulation of nucleus-nucleus interactions.</LI>
1620     <LI>Fixed access to ions via the G4IonTable class and GetIon() method
1621         in G4QuasiElasticChannel.</LI>
1622     <LI>Removed deprecated G4ProjectileDiffractiveChannel class.</LI>
1623     </UL></LI>
1624 <LI><B>Im_r_matrix</B>
1625     <UL>
1626     <LI>Fixes for multi-threading: make static arrays const to avoid having
1627         these thread-local.</LI>
1628     <LI>Fixes for coverity defects.</LI>
1629     </UL></LI>
1630 <LI><B>INCLXX</B>
1631     <UL>
1632     <LI>Updated to INCL++ v5.1.14: relies on pre-compound for reactions below
1633         1 MeV (configurable via the G4INCLXXInterfaceMessenger);
1634         use pre-compound only for incident nucleons.</LI>
1635     <LI>Several adjustments in the nucleus-nucleus sector.
1636         Fixed critical bug which involved light targets. Some code refactoring.</LI>
1637     <LI>Experimental support for neutron skins.</LI>
1638     <LI>Experimental support for fuzzy r-p correlations.</LI>
1639     <LI>Debug output controlled by G4INCL_DEBUG_VERBOSITY environment variable.</LI>
1640     <LI>Rely on BIC for pion-nucleon and nucleon-nucleon reactions.</LI>
1641     <LI>Fix crash for light targets.</LI>
1642     <LI>Replaced defines in G4INCLLogger by adding prefix "INCL_" to avoid
1643         clashes with specific macros defined in Windows system.
1644         Adapted code accordingly.</LI>
1645     <LI>Adapted some of the MT modifications  and some code refactoring.</LI>
1646     <LI>Fixed crash in very low-energy (~1 MeV) p+He4 reactions and in
1647         light-ion-induced reactions.</LI>
1648     <LI>Largely reduced memory churn. Get rid of calls to
1649         G4ParticleTable::GetIonTable() and GetIon().</LI>
1650     <LI>Prepare the G4INCLXXInterface to handle different de-excitation models
1651         through the SetDeExcitation() method.</LI>
1652     <LI>Resample interaction if four-momentum conservation is violated.</LI>
1653     <LI>Fixed bug in forced pion emission at the end of cascade and in
1654         phase-space decay of exotic clusters.</LI>
1655     <LI>Several other minor fixes and code refactoring.</LI>
1656     </UL></LI>
1657 <LI><B>Lend</B>
1658     <UL>
1659     <LI>Changed default evaluation from endl99 to ENDF.B-VII.0.</LI>
1660     <LI>G4LENDManager: made sensitive to isomer level of isotope in material.</LI>
1661     <LI>Fixed Coverity defects in G4LENDManager, G4LENDModel and
1662         G4LENDCrossSection.</LI>
1663     </UL></LI>
1664 <LI><B>Lepto-nuclear</B>
1665     <UL>
1666     <LI>Adapted to use GetElementCrossSection() from
1667         G4PhotoNuclearCrossSection.</LI>
1668     <LI>Removed redundant check for cross-section greater than zero.
1669         Removed unused variables.</LI>
1670     </UL></LI>
1671 <LI><B>Neutron High Precision</B>
1672     <UL>
1673     <LI>Modified code to allow for reading compressed data files.
1674         Adapted build setup to use zlib library.</LI>
1675     <LI>Deleted deprecated HP or low-energy parameterization models and data
1676         sets.</LI>
1677     <LI>G4NeutronHPFinalState: added capability to disable adjustment of final
1678         state photons in capture. Addressing problem report
1679         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1279">#1279</A>.</LI>
1680     <LI>Added package-wise verbose level control. Allow for suppression of
1681         warning messages from G4NeutronHPName through verbosity level.</LI>
1682     <LI>Removed call to BuildPhysicsTable() from constructor in G4Neutron*Data
1683         classes.</LI>
1684     <LI>Added capability to register user prepared thermal scattering file.</LI>
1685     <LI>Enable use of single temperature data file.</LI>
1686     <LI>New implementation of fission fragments generator.</LI>
1687     <LI>Fixed problem on Wendt model and various compilation warnings.</LI>
1688     <LI>Fixed problem on Windows platform to echo environment variable.</LI>
1689     <LI>Made data arrays 'const' in place of thread-local in
1690         G4NeutronHPFastLegendre and its source files.</LI>
1691     <LI>Fix for extrapolation problem.</LI>
1692     <LI>Change call to G4ParticleTable::GetParticleTable()->GetIon() to
1693         G4IonTable::GetIonTable()->GetIon(), according to recent intrerface.</LI>
1694     <LI>Requires new data set G4NDL-4.4.</LI>
1695     </UL></LI>
1696 <LI><B>Parton-String</B>
1697     <UL>
1698     <LI>Improved interface for manipulation of nucleus-nucleus interactions.
1699         Lowered low energy limit of FTF model. Expected no problem with high
1700         energy interactions. Simulation of anti-nuclei can be affected.
1701         Fixed energy-momentum non-conservation in AA-interactions.</LI>
1702     <LI>Added implementation of nucl-nucl interaction simulation.</LI>
1703     <LI>Improved annihilation at rest simulation.</LI>
1704     <LI>Fixed bug in Reggeon cascading.</LI>
1705     <LI>Fixed cases of division by zero in G4FTFAnnihilation and
1706         G4FTFParameters.</LI>
1707     <LI>New parameterizations of FTF process cross-sections.
1708         Returning 10% of Delta-isobar probability.
1709         Reaching better description of experimental data on hP, hA interactions.
1710         Results of FTF become close to QGSM, especially for heavy targets.</LI>
1711     <LI>Replaced use of CLHEP::RandFlat with G4RandFlat in G4DiffractiveExcitation.</LI>
1712     <LI>Fixed two bugs in the index manipulation of the BaryonWeight
1713         4-dimensional vector in G4LundStringFragmentation.</LI>
1714     <LI>Code clean-up and formatting.</LI>
1715     </UL></LI>
1716 <LI><B>Pre-equilibrium</B>
1717     <UL>
1718     <LI>G4HETCFragment, G4LowEIonFragmentation, G4GNASHTransitions: use
1719         integer Z and A.</LI>
1720     <LI>G4PreCompoundParameters: make it as a normal class not singleton.</LI>
1721     <LI>G4GNASHTransitions: more accurate definition of static data.</LI>
1722     <LI>G4PreCompoundModel: fixed logic of "soft-cutoff" option.</LI>
1723     <LI>Use G4Log and G4Exp instead of standard math functions in
1724         G4PreCompoundModel, G4PreCompoundEmission and G4PreCompoundProton.</LI>
1725     </UL></LI>
1726 <LI><B>QMD Reaction</B>
1727     <UL>
1728     <LI>Change call to G4ParticleTable::GetParticleTable()->GetIon() to
1729         G4IonTable::GetIonTable()->GetIon(), according to recent intrerface.</LI>
1730     <LI>Fixed double deletion problem on G4QMDCollision.</LI>
1731     <LI>Fixed most Coverity defects.</LI>
1732     </UL></LI>
1733 <LI><B>Radioactive Decay</B>
1734     <UL>
1735     <LI>G4RIsotopeTable: fix in checking if DB files have been loaded
1736         (accessing map without protection).</LI>
1737     <LI>G4RadioactiveDecay: moved initialisation of Isotope table from
1738         constructor to BuildPhysicsTable() method.
1739         Initialise Isotope table only for master.
1740         Fixed memory leak by adding deletion of the IsotopeTable to destructor.
1741         Removed setting of nuclear decay tables to G4ParticleDefinition and
1742         replaced with local decay table map to fix issues with multi-threading.
1743         Remove IsLoaded() method and data member, now redundant.
1744         Move registry of isotope table from BuildPhysicsTable()
1745         to constructor (fixing problem of missing secondaries for MT).
1746         Fix in LoadDecayTable() to read data file only once in MT mode.
1747         Search internal library of decay tables in GetDecayTable(), using name
1748         of ion, not integer key (fixing "level 9" problem).
1749         Fix end-point energy loaded into decay channel for beta+ decay in
1750         LoadDecayTable(); subtract 2 electron masses.
1751         Fix in GetMeanFreePath() for a problem preventing isomers from decaying
1752         in flight, replacing GetPDGStable() with lifetime == -1 as test for
1753         nuclide stability. Also cleaned up calculation of pathlength.</LI>
1754     <LI>G4NuclearDecayChannel: use integer metastable state levels instead of
1755         energy values. Where only energy is known search for nearest integer level. 
1756         Added protection in DecayIt() in loop to search for isomer levels.
1757         Issue fatal exception for zero pointers when daughter ions are not found.
1758         Added an electron mass to the parent nucleus in case of electron capture.
1759         This fixes the G4GeneralPhaseSpaceDecay::Pmx() mass deficit warning.
1760         Allow explicit decay of IT channels in DecayIt() and send residual
1761         nucleus to final state for tracking.
1762         In the case of IT, get excitation energy from parent nucleus, not daughter; 
1763         remove subtraction of gamma energy from variable 'daughterExcitation'.
1764         Cleaned out unused print-outs.</LI>
1765     <LI>Fixed bugs causing decay chains to stop prematurely.</LI>
1766     <LI>Requiring new data set RadioactiveDecay.4.0.</LI>
1767     </UL></LI>
1768 </UL>
1769 
1770 <A NAME="interc-notes">
1771 <H3><I>Intercoms</I></H3></A>
1772 <UL>
1773   <LI>Fix in G4UIcmdWith3VectorAndUnit and G4UIcmdWithADoubleAndUnit.
1774       to check and reject incorrect unit which can be given in input.
1775       Addressing problem report 
1776       <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1535">#1535</A>.</LI>
1777   <LI>Introducing '/control/cout/' command category for handling thread-local
1778       printing on cout/cerr and '/control/cout/ignoreThreadsExcept' to select
1779       thread for which enabling printout on cout.</LI>
1780   <LI>Modified G4UImanager, G4UIcommandTree and G4UIcommand classes to make such
1781       that all UI commands defined in the worker thread are visible by the
1782       G4UImanager of the master thread, so that undefined command or wrong
1783       parameters given in input are correctly detected.</LI>
1784   <LI>Added 'IgnoreCmdNotFound' into G4UImanager required for multi-threading.
1785       This option is set bu default to thread-local G4UImanager objects.
1786       Added flags for commands to be broadcasted to thread-local UI mamaners.
1787       By default, all UI commands are broadcasted to worker threads at the
1788       moment such worker threads start local event-loop.
1789   <LI>A UI command directory may be specified as such that all commands in that
1790       directory and all descendant directories should not be broadcased to
1791       worker threads. This setting must be made by the argument of G4UIdirectory
1792       constructor and cannot be changed. Each individual command may still be
1793       set to be broadcasted by accessing to G4UIcommand::SetToBeBroadcasted()
1794       method individually.
1795       G4UImessenger constructor with command directory now may take a Boolean
1796       flag of not-to-be-broadcasted.</LI>
1797   <LI>Fixed problem with G4GenericMessenger where SetUnit() and SetRange()
1798       were not working together. Fixed variable shadowing in G4AnyType header.
1799       Introduced two methods for declaring a method that has a unit; required
1800       to have G4GenericMessenger working in MT mode.</LI>
1801 </UL>
1802 
1803 <A NAME="interf-notes">
1804 <H3><I>Interfaces</I></H3></A>
1805 <UL>
1806   <LI>G4UIQt: added some tooltips. Set fix size font in output.
1807   <LI>Coverity fixes to G4UIQt, G4Qt, G4Xt.
1808   <LI>Improvements to Wt driver configuration.
1809   <LI>Added cmake configuration for Wt and Qt5 in "common" and "basic" modules.
1810   <LI>Removed deprecated G4UIXaw driver class.</LI>
1811   <LI>Added first implementation of G4Wt and G4UIWt for handling
1812       Wt (web based interfaces).</LI>
1813   <LI>G4UIQt: fix SecondaryLoop for Qt, now processing events until exitPause=true.
1814       Added a field to memorise the last open directory on Icon->Open
1815       In ReceveiveG4Cerr() now displaying an alert box only if it will aborting
1816       or quitting the program; sll G4err messages are now in red; when entering
1817       a command, if this command is multiple line it will now take it in account
1818       as multiple commands.
1819       Improved OGL window resizing by opening to a bigger size, changing strech
1820       factors and others little effects. Changed the name of the file-selector
1821       on the open/save Icon. Fixed potential problem on the ToolBar.
1822       Minor improvements to interface: minimised border size; OpenGL windows
1823       size changing when app size changes.
1824       Removed QWidget unuseful argument for G4QtTabWidget. Fixes for support of Qt5.
1825       Fix for a non UTF8 character; addressing problem report
1826       <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1487">#1487</A>.</LI>
1827   <LI>G4VBasicShell: added information in ExecuteCommand() when command not found.</LI>
1828 </UL>
1829 
1830 <A NAME="materials-notes">
1831 <H3><I>Materials</I></H3></A>
1832 <UL>
1833   <LI>G4NistManager, G4NistMaterialBuilder, G4NistElementBuilder: always
1834       create isotope vector with natural abundances.</LI>
1835   <LI>G4NistMaterialBuilder, G4IonisParamMat: updated NIST material parameters:
1836       replaced AddElementByWeightFraction() by AddElementByAtomCount();
1837       commented out ill-defined material G4_GLUCOSE; fixed density and atom
1838       composition of G4_POLYCHLOROSTYRENE, G4_POLYVINYL_BUTYRAL and
1839       G4_TERPHENYL. Minor cleanup of chemical formula names.</LI>
1840   <LI>G4NistElementBuilder: added post-const qualifier to all access/print
1841       methods.</LI>
1842   <LI>G4NistMaterialBuilder: added post-const qualifier to all access/print
1843       methods. Added formatting of printout.
1844       Addressing problem report
1845       <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1423">#1423</A>.</LI>
1846   <LI>G4NistManager: throw G4Exception in case G4NistManager is instantiated
1847       in a worker thread.</LI>
1848   <LI>G4Element: do not recompute Aeff and Neff (effective material
1849       parameters will not be changed). Some code cleanup.</LI>
1850   <LI>G4ElementData: added array of 2D-tables.</LI>
1851   <LI>G4Material, G4IonisParamMat: made classes thread safe, such that
1852       objects are shared between all threads.</LI>
1853       G4SandiaTable: changed signature of GetSandiaCofPerAtom() to make
1854       it thread safe.</LI>
1855   <LI>G4Material: issue warning if new added material has duplicate name.</LI>
1856   <LI>G4IonisParamMat: fixed density effect parameterisation.</LI>
1857   <LI>G4SandiaTable, G4StaticSandiaData: added data for water.</LI>
1858   <LI>New classes G4LatticeLogical, G4LatticePhysical for logical (physics info)
1859       and physical (oriented) crystal lattices. Ported from exoticphysics/phonons
1860       example.</LI>
1861   <LI>Partially fix for Coverity errors in G4OpticalSurface.
1862       Added dichroic filter surface.</LI>
1863 </UL>
1864 
1865 <A NAME="part-notes">
1866 <H3><I>Particles</I></H3></A>
1867 <UL>
1868   <LI>Simplified implementation for IsIon() and IsAntiIon() in G4IonTable.
1869       Modified G4IonTable::FindIon() to remove use of 'EnergyTolerance'.
1870       causing issues for event reproducibility and fixed a bug for light ions.</LI>
1871   <LI>Added Isomer Level to G4Ions:
1872       Modified G4IsotopeMagneticMomentTable to deal with isomer level.</LI>
1873   <LI>G4IonTable: modified GetIon() and CreateIon() to remove string
1874       comparisons; compare excited energy with precion of 0.1 keV; set
1875       excitation energy consistently with mass and AtomicMass.
1876       CreateIon() now can be used in Pre_init state.
1877       Modified GetIon() methods with isomer level.</LI>
1878   <LI>Modified element name for Z>111.</LI>
1879   <LI>Fixed bugs in G4MuonPlus and leptons for setting magnetic moment.
1880       Updated magnetic moment for proton and charged leptons.</LI>
1881   <LI>Fixed problem of using ProcessManager in G4ParticleDefinition and in
1882       using 'thePDGMass'.</LI>
1883   <LI>Added splitter class G4PDefSplitter for MT splitting mechanism for
1884       G4ParticleDefinition.
1885       Added G4ParticleDefinition::SetMasterProcessManager() method needed
1886       for MT.</LI>
1887   <LI>Fixed name and class name for Upsilon meson.</LI>
1888   <LI>Simplified use of allocator for G4DynamicParticle.</LI>
1889   <LI>Fixed bug in G4ParticlePropertyTable::SetParticleProperty().
1890       Addressing problem report
1891       <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1506">#1506</A>.</LI>
1892   <LI>Removed ShortLivedDictionary in G4ParticleTable.
1893       Added method GetIon(Z,A,level).</LI>
1894   <LI>Added warning message if a process manager is to be registered to
1895       a particle during the event loop.</LI>
1896   <LI>G4ParticleTable: update thread-local dictionaries when a particle
1897       is created during event loop.
1898       Particle table and ion table in the master thread are properly updated
1899       even if a particle is instantiated during event loop.</LI>
1900   <LI>Unified naming convention of isomers and general excited nuclides; they
1901       always appear with excitation energy in unit of keV.</LI>
1902   <LI>New G4NuclideTable class: ground state and some isomer levels are pre-loaded from
1903       this table before the first beamOn, while other excited states are created
1904       during the tracking time as needed.
1905       Allowing to read a data file if needed for additional states through
1906       environment variable G4ENDFDATA for path.</LI>
1907   <LI>Fix to G4IonTable so that it properly uses isomer levels defined by 
1908       G4NuclideTable even if other physics processes may set their own isomer
1909       tables. Protect G4IonTable against rare cases when only the excited states
1910       are preloaded while the ground state with non-zero epsilon energy is
1911       created on the fly.</LI>
1912   <LI>All generic ions share the object ID with GenericIon so that TLS
1913       pointers to G4ProcessManager are not created for them.</LI>
1914   <LI>Added isomer level to G4IsonTable::GetNucleusMass().</LI>
1915   <LI>Added G4ParticleDefinition::IsGeneralIon() method.</LI>
1916   <LI>Added DNA particles for setting 'isGeneralIon' flag in G4Ions constructor.</LI>
1917   <LI>Fix in G4ExcitedBaryonConstructor::GetCharge() and in
1918       G4ExcitedMesonConstructor::GetCharge() to replace G4ThreadLocal
1919       specification with 'static const' for local variable; also fixing
1920       compilation error in MT mode on the icc compiler.</LI>
1921   <LI>Corrected energy tolerance for G4IonTable::FindIon(Z,A,E).</LI>
1922   <LI>Fix in G4NeutronBetaDecayChannel, addressing problem report
1923       <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1532">#1532</A>.</LI>
1924   <LI>Added new G4Phonon{Long,TransSlow,TransFast} particles to bosons.
1925       These will not be built as part of G4BosonConstructor; user physics lists
1926       must create them explicitly.</LI>
1927   <LI>Fixed Coverity defects.</LI>
1928 </UL>
1929 
1930 <A NAME="pers-notes">
1931 <H3><I>Persistency</I></H3></A>
1932 <UL>
1933 <LI>ascii:
1934     <UL>
1935     <LI>Corrected typo in G4tgrPlaceParameterisation::operator<<().
1936         Addressing problem report
1937         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1504">#1504</A>.</LI>
1938     <LI>Added support for G4GenericPolycone.</LI>
1939     <LI>Replaced deprecated calls to solids accessor methods.</LI>
1940     <LI>Corrected typo in G4tgrUtils::WordIsUnit().</LI>
1941     <LI>Removed handling of deprecated BREPS solids.</LI>
1942     </UL></LI>
1943 <LI>gdml:
1944     <UL>
1945     <LI>Added 'generic' Polycone and Polyhedra to GDML Reader and Writer.
1946         Splitted definition of Polycone to ordinary and generic.</LI>
1947     <LI>Added 'generic' Polycone and Polyhedra to the schema.
1948         Added support for parameterisation of 'genericPolyone' and 'genericPolyhedra'.
1949         GDML schema updated to version 3.1.0.</LI>
1950     <LI>Added G4Ellipsoid among solids enabled for parameterisation in
1951         G4GDMLParameterisation.</LI>
1952     <LI>Added parameterisation for Ellipsoid to readear/writer and schema.</LI>
1953     <LI>Fix in G4GDMLReadParamvol::ParametersRead() for reading parameterised
1954         Sphere, Orb, Torus and Para.
1955         Added support for parameterisation of 'genericPolyone' and
1956         'genericPolyhedra'.</LI>
1957     <LI>Replaced deprecated calls to G4Sphere accessor methods.</LI>
1958     </UL></LI>
1959 </UL>
1960 
1961 <A NAME="lst-notes">
1962 <H3><I>Physics lists</I></H3></A>
1963 <UL>
1964 <LI>Major restructure of the module, with submodules: builders (now only
1965     keeping hadronic builders), constructors (now keeping only hadronic
1966     constructors), lists (keeping only physics-lists) and util (keeping
1967     utility classes).</LI>
1968 <LI>Adaptation for MT with new G4VUserPhysicsList API, needed to share
1969     physics-list objects between threads.</LI>
1970 <LI>Cleanup of obsolete physics lists and associated builders
1971     and physics constructors.</LI>
1972 <LI>Builders:
1973     <UL>
1974     <LI>Added new builders: G4FTFPPionBuilder, G4FTFPKaonBuilder,
1975         G4QGSBinaryPionBuilder and G4QGSBinaryKaonBuilder.</LI>
1976     <LI>Removed LHEPStopping* builders and G4StoppingHadronBuilder in LHEP
1977         physics list. Replaced obsolete stopping processes with builder in LBE.</LI>
1978     <LI>Introduced Boolean parameter to G4NeutronBuilder constructor to switch on
1979         fission process. The default is fission off, but for the HP-based physics
1980         lists it is activated.</LI>
1981     <LI>Modified INCLXX proton and neutron builders to use PreCompound below
1982         2 MeV. Using G4NeutronInelasticXS.</LI>
1983     <LI>Removed G4LEPPiKBuilder, G4LEPPionBuilder, G4LEPNeutronBuilder,
1984         G4LEPProtonBuilder and G4MiscBuilder.</LI>
1985     <LI>Coverity fixes.</LI>
1986     </UL></LI>
1987 <LI>Constructors:
1988     <UL>
1989     <LI>electromagnetic:
1990         <UL>
1991         <LI>Use Get/Set methods to access master process manager pointer for
1992             G4ParticleDefinition in EmDNA constructor.</LI>
1993         <LI>In all constructors use G4UrbanMscModel instead of Urban93 or Urban95.</LI>
1994         </UL></LI>
1995     <LI>ions:
1996         <UL>
1997         <LI>Replaced LEP with FTFP in G4IonBinaryCascadePhysics,
1998             G4IonINCLXXPhysics and G4IonQMDPhysics.</LI>
1999         </UL></LI>
2000     <LI>hadron_elastic
2001         <UL>
2002         <LI>G4HadronDElasticPhysics: DiffuseElastic model active above 10 MeV,
2003             LHEP model active below 10.1 MeV.</LI>
2004         <LI>Create G4IonElasticPhysics Elastic Scattering for GenericIon.</LI>
2005         <LI>G4HadronHElasticPhysics: code cleanup.</LI>
2006         </UL></LI>
2007     <LI>hadron_inelastic:
2008         <UL>
2009         <LI>Replaced LEP with FTFP+BERT in all inelastic physics constructors.
2010             Fixed quasi-elastic treatment (on for QGS; off for FTF).</LI>
2011         <LI>Replaced LEP neutron capture (Gheisha cross-section and G4LCapture model)
2012             with G4NeutronCaptureXS (cross-section) and G4NeutronRadCapture (model)
2013             in all physics lists.</LI>
2014         <LI>Removed LEP fission (Gheisha cross-section and G4LFission model) in
2015             all physics lists which do not make use of neutron_HP.
2016             For the HP-based physics lists, used LEP fission only above 19.9 MeV.</LI>
2017         <LI>Use G4NeutronInelasticXS for neutrons in the following physics lists
2018             (besides QBBC and FTFP_BERT_TRV which already use it): FTFP_BERT, FTF_BIC,
2019             QGSP_FTFP_BERT, QGSP_BERT, QGSP_BIC, QGS_BIC.</LI>
2020         <LI>Improved use of kaon cross-sections in G4HadronPhysicsShielding.</LI>
2021         <LI>Fixed possible null-pointer dereferencing in HadronPhysicsINCLXX.</LI>
2022         </UL></LI>
2023     <LI>limiters:
2024         <UL>
2025         <LI>Introducing G4ParallelWorldPhysics; adapted to work for layered mass
2026             geometry.</LI>
2027         <LI>Added G4GenericBiasingPhysics, G4ImportanceBiasing and
2028             G4WeightWindowBiasing constructors.</LI>
2029         <LI>In G4StepLimiterPhysics, objects of G4StepLimiter and
2030             G4UserSpecialCuts are now instantiated in ConstructProcess() method
2031             so that these process objects are thread-local.</LI>
2032         </UL></LI>
2033     </UL></LI>
2034 <LI>Lists:
2035     <UL>
2036     <LI>PhysListFactory: fix for problem report
2037         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1458">#1458</A>.
2038         Corrected printout of available physics-lists. Clean up of the code.</LI>
2039     <LI>LBE physics list: replaced LEP/HEP with FTFP+BERT.</LI>
2040     <LI>Added new INCL++-based physics-lists: QGSP_INCLXX_HP, FTFP_INCLXX and
2041         FTFP_INCLXX_HP, based on the new INCLXXPhysicsListHelper class.</LI>
2042     <LI>LBE: use G4UrbanMscModel instead on Urban93.</LI>
2043     <LI>Make the *_HP variants of the INCLXX-based physics list use ElasticHP.</LI>
2044     <LI>Activate production of fission fragments in Shielding PhysicsList.</LI>
2045     <LI>Set proton cut value to 0 for producing low energy recoil nucleus.</LI>
2046     <LI>Use G4IonElasticPhysics for Elastic Scattering of GenericIon.</LI>
2047     <LI>LBE: deleted stoppingPhysics in the destructor (fixes Coverity defect).</LI>
2048     <LI>Removed CHIPS-based lists and configurations.</LI>
2049     </UL></LI>
2050 </UL>
2051 
2052 <A NAME="run-notes">
2053 <H3><I>Run</I></H3></A>
2054 <UL>
2055   <LI>New functionalities for MT:
2056   <UL>
2057   <LI>Introducing G4MTRunManager, G4MTRunManagerKernel,
2058       G4WorkerRunManager and G4WorkerRunManagerKernel for multi-threading
2059        mode. Enabled MT mode for multiple runs in a job.</LI>
2060   <LI>Set default number of threads to 2 in MT mode.
2061       Added Get/SetNumberOfThreads()  methods.
2062       Introduced new UI command /run/numberOfThreads.</LI>
2063   <LI>Updated APIs for users: introduced and enabled class
2064       G4VUserActionInitialization.</LI>
2065   <LI>Make G4VUserDetectorConstruction::ConstructSDandField() be invoked from
2066       G4WorkerRunManager for multi-threaded mode and from G4RunManager for
2067       sequential mode. Introduced SetSensitiveDetector() method.</LI>
2068   <LI>Added G4VUserParallelWorld::ConstructSD() for the use-case of defining
2069       sensitive detector in a parallel world.
2070       G4RunManager and G4WorkerRunManager are modified accordingly.</LI>
2071   <LI>Added 'isMaster' Boolean flag to G4UserRunAction. It is set to true
2072       for the user run action object assigned to G4MTRunManager.</LI>
2073   <LI>Added G4WorkerRunManager::MergePartialResults() re-factor reduction of
2074       local results into global. By default, it takes care of reduction of scores in built-in
2075       command-based scorers and user-defined <TT>Run</TT>.
2076       Derived class cen re-implement reduction.</LI>
2077   <LI>Number of events processed on each thread varies based on the
2078       availability of each thread; the array of random number seeds and
2079       event-ID are centrally managed by G4MTRunManager.</LI>
2080   <LI>Introducing G4MTRunManager::SetEventModulo() and correspondng
2081       /run/eventModulo command to specify the number of events to be sent to a
2082       worker thread at one time and set the random number seeds.</LI>
2083   <LI>Activating new interfaces for worker thread G4VProcess initialization 
2084       in G4VUserPhysicsList for [Prepare,Build]PhysicsTable().</LI>
2085   <LI>G4WorkerRunManager invokes G4VVisManager::SetUpForAThread() method
2086       so that G4VisManager will get noticed at the end of event of each
2087       worker thread.</LI>
2088   <LI>Introduced G4FORCENUMBEROFTHREADS shell variable to force the number
2089       of threads regardless of G4MTRunManager::SetNumberOfThreads() or
2090       corresponding UI command.</LI>
2091   <LI>Added new method G4RunManager::ReinitializeGeometry() to correctly handle
2092       rebuild of geometry from scratch in users code for MT. Can optionally wipe
2093       out solids and volumes geometry stores.</LI>
2094   <LI>Threads use new cout streaming, controllable by UI commands in
2095       /control/cout commands set.</LI>
2096   </UL></LI>
2097 <LI>Handling of ions:
2098   <UL>
2099   <LI>Added explicit initialization of all ions and isomers needed for
2100       MT.</LI>
2101   <LI>All generic ions share the object ID with GenericIon so that TLS
2102       pointers to G4ProcessManager are not created for them.</LI>
2103   </UL></LI>
2104 <LI>Random Number Generation:
2105   <UL>
2106   <LI>Random engine is "cloned" in worker threads from master thread one.</LI>
2107   <LI>New UI command /random/saveEachEventFlag: if true save random seed for
2108       each event in a file with unique name: runXXXevtYYY.rndm.
2109       Workers write out random files in files with G4WorkerXX
2110       postfix.</LI>
2111   </UL></LI>
2112 <LI>Other changes (non MT related):
2113   <UL>
2114   <LI>Fixed bug in PhysicsListHelper for DNABrownianTransportation.</LI>
2115   <LI>Removed obsolete UI commands, including obsolete UI commands for
2116       random number handling.</LI>
2117   <LI>Modified G4PhysicsListHelper::AddTransportation() 
2118       that would prevent to add the G4Transportation to 'Molecules'.</LI>
2119   <LI>Enabling possibility for user to alternate G4UserRunAction objects.</LI>
2120   <LI>Introducing /run/printProgress command. Changed print-out for
2121       /run/printProgress command.Fixed guidance text in G4RunMessenger.</LI>
2122   <LI>Modified adjoint classes to migrate to the new RMC schema where reverse
2123       and forward trackings of equivalent adjoint and forward primaries are
2124       processed in same events. This in for the migration to MT mode.</LI>
2125   </UL></LI>
2126 </UL>
2127 
2128 <A NAME="track-notes">
2129 <H3><I>Track & Tracking</I></H3></A>
2130 <UL>
2131   <LI>Added protection against null pointer for the process manager of
2132       secondaries in case secondaries are generated at zero kinetic energy.</LI>
2133   <LI>New class G4AdjointTrackingAction and modified G4AdjointSteppingAction
2134       in order to treat the reverse tracking of an adjoint particle and tracking
2135       of its equivalent forward particle in the same event. This is required
2136       for the migration of ReverseMC to MT mode.</LI>
2137   <LI>G4TrackingMessenger: moved invokation with G4TransportationManager 
2138       from G4VisCommandsSceneAdd to this messenger; G4TransportationManager is
2139       now thread-local, and G4VisCommandsSceneAdd cannot access to it.</LI>
2140   <LI>G4SteppingManager: 'fTouchableHistory' data member is rest to zero in the
2141       destructor to avoid cases of double-deletion in MT mode.</LI>
2142   <LI>G4TrackingManager: added handling for StoreTrajectory().</LI>
2143   <LI>Moved constructor and destructor of G4VelocityTable singleton to private.</LI>
2144   <LI>Removed 'i_mode' parameter from DrawTrajectory().</LI>
2145 </UL>
2146 
2147 <A NAME="vis-notes">
2148 <H3><I>Visualization</I></H3></A>
2149 <UL>
2150 <LI><B>General:</B>
2151     <UL>
2152     <LI>Support multi-threading. Events are kept until end of run, then drawn.
2153         Drawing from user code is explicitly ignored.</LI>
2154     <LI>Added command to display magnentic field: /vis/scene/add/magneticField.
2155         For details, see the command guidance.</LI>
2156     <LI><TT>/vis/scene/add/date</TT>: changed positioning.</LI>
2157     <LI>Fixed many minor defects reported by Coverity and PVS code-checking tools.</LI>
2158     <LI>Replaced deprecated calls to solids accessor methods.</LI>
2159     <LI>Removed NURBS code and references to i_mode (a long-since deprecated way
2160         to control trajectory hits drawing).</LI>
2161     </UL></LI>
2162 <LI><B>Management</B>
2163     <UL>
2164     <LI>G4VViewer: added new virtual function GetPrivateVisAttributesModifiers()
2165         so that privately accumulated vis attributes modifiers may be
2166         concatenated with the standard vis attributes modifiers for commands
2167         such as /vis/viewer/set/all and /vis/viewer/save.</LI>
2168     <LI>G4VisManager: added missing push_back for /vis/touchable/;
2169         addressing problem report
2170         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1503">#1503</A>.</LI>
2171     <LI>Removed check on fpSceneHandler->GetModel() in method DispatchToModel()
2172         of G4VisManager; addressing problem report
2173         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1499">#1499</A>.</LI>
2174     <LI>In /vis/touchable/set/colour and several other commands parameter
2175         guidance may be called only once. So instances of multiple calls to
2176         parameter guidance have been eliminated.
2177         Any extended information that was in parameter guidance has been moved
2178         to command guidance. This fixes a problem whereby guidance information
2179         was being lost and fixes a crash in the GAG interface.</LI>
2180     </UL></LI>
2181 <LI><B>HepRep</B>
2182     <UL>
2183     <LI>Fixed problem report
2184         <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1322">#1322</A>
2185         for zlib move.</LI>
2186     </UL></LI>
2187 <LI><B>OpenGL</B>
2188     <UL>
2189     <LI>Fixes to lay groundwork for eventually support of Wt (but not supported yet).</LI>
2190     <LI>Fixed text position in Qt.</LI>
2191     </UL></LI>
2192 <LI><B>Externals</B>
2193     <UL>
2194     <LI>Moved G4zlib package to source/externals.</LI>
2195     </UL></LI>
2196 </UL>
2197 
2198 <A NAME="env-notes">
2199 <H3><I>Environments</I></H3></A>
2200 <UL>
2201 <LI>G4Py:
2202     <UL>
2203     <LI>Added support for CMake build (experimental). Suppression of warnings.</LI>
2204     </UL></LI>
2205 <LI>MOMO:
2206     <UL>
2207     <LI>Updated MOMO.jar (GPE disactivated, EnvPanel update) and sources.
2208         Updated on-line Help document.</LI>
2209     </UL></LI>
2210 </UL>
2211 
2212 <A NAME="data-notes">
2213 <H3><I>Data sets</I></H3></A>
2214 <UL>
2215 <LI>New low-energy data set version, G4EMLOW.6.35:
2216     <UL>
2217     <LI>Added cumulated diff cross-section files for Born ionisation.</LI>
2218     <LI>Corrected UNIX file permissions.</LI>
2219     <LI>Updated data for Compton cross-section and Livermore Bremsstrahlung.</LI>
2220     <LI>Added ESTAR data for electron stopping and ranges.</LI>
2221     <LI>Updated data for MicroElec processes.</LI>
2222     </UL></LI>
2223 <LI>New neutron data set version with thermal cross sections, G4NDL.4.4:
2224     <UL>
2225     <LI>Providing compressed data for Elastic, Inelastic, Capture, Fission
2226         and ThermalScattering.</LI>
2227     <LI>Thermal-neutron data is distributed together with standard data.</LI>
2228     <LI>Corrected 74W182 and 90Th232, for inconsistency of inelastic
2229         cross-sections with final state data.</LI>
2230     </UL></LI>
2231 <LI>New data set version G4NEUTRONXS-1.4 for evaluated neutron cross section data
2232     on natural composition of elements:
2233     <UL>
2234     <LI>Evaluated cross section data derived from new G4NDL set.</LI>
2235     </UL></LI>
2236 <LI>New data set version for radioactive-decay processes, G4RadioactiveDecay.4.0:
2237     <UL>
2238     <LI>Fixed files with duplicate entries for nuclear level and lifetime.</LI>
2239     <LI>Added missing decay information for excited states to: z47.a100,
2240         z60.a133.</LI>
2241     <LI>Corrected half-life and added missing decay information to: z20.a48.</LI>
2242     <LI>Corrected BetaMinus level 73.92 to 78.92 for z90.a234.</LI>
2243     <LI>Recomputed from latest ENSDF: z41.a100.</LI>
2244     <LI>Removed BetaPlus and added Alpha decays in z100.a250.</LI>
2245     <LI>Update to ENSDF 2012 version.</LI>
2246     </UL></LI>
2247 <LI>New data set version PhotonEvaporation.3.0 for nuclear de-excitation data:
2248     <UL>
2249     <LI>Update to August-2012 version of ENSDF.</LI>
2250     <LI>Correction to README.</LI>
2251     </UL></LI>
2252 <LI>New data set G4ABLA-3.0:
2253     <UL>
2254     <LI>Data set for INCL/ABLA hadroni models, including:
2255         <UL>
2256         <LI>flalpha.dat - alpha ground state deformation</LI>
2257         <LI>frldm.dat - ground state shell corr. frldm for a spherical g.s.</LI>
2258         <LI>vgsld.dat - difference between deformed g.s. and ldm value</LI>
2259         <LI>pace2.dat - default mass for A, Z nucleus.</LI>
2260         </UL></LI>
2261     </UL></LI>
2262 <LI>New data set G4ENSDFSTATE-1.0:
2263     <UL>
2264     <LI>Optional data set for properties of nuclei state from
2265         Evaluated Nuclear Structure Data File.</LI>
2266     </UL></LI>
2267 </UL></LI>
2268 
2269 <A NAME="ex-notes">
2270 <H3><I>Examples</I></H3></A>
2271 <UL>
2272 <LI>Updated reference outputs and scripts</LI>
2273 <LI>Updates to apply new coding conventions.</LI>
2274 <LI>Fixed compilation warning on clang32 for unused data members.</LI>
2275 <LI>Updated examples to new interface changes and common tools.</LI>
2276 <LI><B>advanced</B>
2277     <UL>
2278     <LI><B>air_shower</B>
2279         <UL>
2280         <LI>Migrated to enable use of multi-threading.</LI>
2281         <LI>Added G4Ellipsoid among solids enabled for parameterisation.</LI>
2282         </UL></LI>
2283     <LI><B>amsEcal</B>
2284         <UL>
2285         <LI>Changed to port to new G4VUserPhysicsList split-class mechanism.</LI>
2286         </UL></LI>
2287     <LI><B>brachytherapy</B>
2288         <UL>
2289         <LI>Migrated to enable use of multi-threading.</LI>
2290         <LI>Introduced modular Physics List.</LI>
2291         <LI>Substituted G4ParticleGun with G4GeneralParticleSource.</LI>
2292         <LI>Introduced Radioactive Decay. Energy spectrum of gamma deriving
2293             from radioactive decay.</LI>
2294         <LI>Now possible to switch among brachy sources.</LI>
2295         <LI>Fix bug in BrachySteppingAction (replace = with ==).
2296             Use G4ParticleDefinition instead of string.</LI>
2297         </UL></LI>
2298     <LI><B>composite_calorimeter</B>
2299         <UL>
2300         <LI>Corrected search of AIDA tools. Addressing problem report
2301             <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1491">#1491</A>.</LI>
2302         </UL></LI>
2303     <LI><B>dnageometry</B>
2304         <UL>
2305         <LI>New example implementing a setup of a realistic nucleus model of a cell,
2306             including chromosomes, in combination with Geant4-DNA physics.</LI>
2307         </UL></LI>
2308     <LI><B>dnaphysics</B>
2309         <UL>
2310         <LI>Migrated to enable use of multi-threading.</LI>
2311         <LI>Changed default water definition.</LI>
2312         <LI>Removed unused electron capture process.</LI>
2313         <LI>Changed process naming scheme.</LI>
2314         </UL></LI>
2315     <LI><B>gammaknife</B>
2316         <UL>
2317         <LI>Migrated to enable use of multi-threading.</LI>
2318         </UL></LI>
2319     <LI><B>gammaray_telescope</B>
2320         <UL>
2321         <LI>Updated physics list: removed inelastic models for hyperons and
2322             anti-hyperons (only EM and decay left); use FTFP model down to zero
2323             energy for anti-p and anti-n (Bertini cascade not available); use 
2324             FTFP+BERT for d,t and alphas.</LI>
2325         <LI>Removed dependency from HEP and LEP models.</LI>
2326         </UL></LI>
2327     <LI><B>hadrontherapy</B>
2328         <UL>
2329         <LI>Included class for average LET computations.</LI>
2330         <LI>Removed dependency from HEP and LEP models.</LI>
2331         <LI>Renamed hadronic physics class.</LI>
2332         </UL></LI>
2333     <LI><B>human_phantom</B>
2334         <UL>
2335         <LI>Migrated to enable use of multi-threading.</LI>
2336         <LI>Testes and Genitalia modelling added for MIRD model.</LI>
2337         <LI>G4HumanPhantomPhysicsList is derived from G4VModularPhysics.</LI>
2338         <LI>Substituted G4ParticleGun with G4GeneralParticleSource.</LI>
2339         </UL></LI>
2340     <LI><B>iort_therapy</B>
2341         <UL>
2342         <LI>Removed G4HadronQElasticPhysics, and replaced G4QStoppingPhysics.
2343             Updated for renamed physics builders.</LI>
2344         </UL></LI>
2345     <LI><B>lAr_calorimeter</B>
2346         <UL>
2347         <LI>Minor updates.</LI>
2348         </UL></LI>
2349     <LI><B>medical_linac</B>
2350         <UL>
2351         <LI>Removed obsolete G4HadronQElasticPhysics.</LI>
2352         <LI>Fixed compilation erros on VC++12.</LI>
2353         </UL></LI>
2354     <LI><B>microbeam</B>
2355         <UL>
2356         <LI>Migrated to enable use of multi-threading.</LI>
2357         <LI>Removed comparisons of strings in MicrobeamSteppingAction.</LI>
2358         <LI>Added G4Ellipsoid among solids enabled for parameterisation.</LI>
2359         </UL></LI>
2360     <LI><B>microdosimetry</B>
2361         <UL>
2362         <LI>Updated multiple-scattering model.</LI>
2363         </UL></LI>
2364     <LI><B>microdoelectronics</B>
2365         <UL>
2366         <LI>New example simulating tracks of a 5 MeV proton in silicon,
2367             exercising new G4MicroElec* processes and models.</LI>
2368         </UL></LI>
2369     <LI><B>nanobeam</B>
2370         <UL>
2371         <LI>Migrated to enable use of multi-threading.</LI>
2372         <LI>Changed selection of volumes in SteppingAction using names.</LI>
2373         <LI>Updated CMake script to make explicit required use of external CLHEP.</LI>
2374         </UL></LI>
2375     <LI><B>purging_magnet</B>
2376         <UL>
2377         <LI>Explicitly use G4CsvAnalysisManager to be compliant with restructure of
2378             analysis module.</LI>
2379         </UL></LI>
2380     <LI><B>radioprotection</B>
2381         <UL>
2382         <LI>Replaced oroginal REMSIM example with characterisation of novel diamond
2383             detector for radiation protection, using microdosimetric approach. 
2384         <LI>Migrated to enable use of multi-threading.</LI>
2385         </UL></LI>
2386     <LI><B>underground_physics</B>
2387         <UL>
2388         <LI>In DMXMinEkineCuts, migrated calculation of the range from
2389             G4EnergyLossTable (obsolete class) to G4LossTableManager.</LI>
2390         <LI>Removed dependency from HEP and LEP models.</LI>
2391         </UL></LI>
2392     <LI><B>xray_fluorescence</B>
2393         <UL>
2394         <LI>Fixed compilation erros on VC++12.</LI>
2395         </UL></LI>
2396     </UL></LI>
2397 <LI><B>basic</B>
2398     <UL>
2399     <LI>Migrated to enable use of multi-threading.</LI>
2400     <LI>Fixes to GUI macros.</LI>
2401     <LI><B>basic/B1</B>
2402         <UL>
2403         <LI>Removed B1EventInformation for keeping maximum simplicity.</LI>
2404         <LI>Use /run/printProgress. Cleanup in EventAction.</LI>
2405         </UL></LI>
2406     <LI><B>basic/B2</B>
2407         <UL>
2408         <LI>Replaced magnetic field classes (B2MagneticField, B2FieldMessenger)
2409             with use of new G4GlobalMagFieldMessenger class.</LI>
2410         <LI>Added G4Ellipsoid among solids enabled for parameterisation in B2b.</LI>
2411         </UL></LI>
2412     <LI><B>basic/B3</B>
2413         <UL>
2414         <LI>B3PrimaryGeneratorAction: changed G4ParticleTable::GetIon() to
2415             G4IonTable::GetIon(), as the former method became obsolete.</LI>
2416         </UL></LI>
2417     <LI><B>basic/B4</B>
2418         <UL>
2419         <LI>Fixed EndOfRunAction() to get the printed histogram
2420             statistics correctly.</LI>
2421         </UL></LI>
2422     <LI><B>basic/B5</B>
2423         <UL>
2424         <LI>New example, copy of original extended/analysis/A01 example.</LI>
2425         <LI>Replaced messenger classes with use of G4GenericMessenger.</LI>
2426         <LI>Changed magnetic tube material to G4_Air (was G4_Galactic)
2427             Resolves issue of low-energy electrons spinning forever in vacuum.</LI>
2428         <LI>Changed step limit size to 1 m  (more sutable for demonstration 
2429             of the smooth trajectory visualization option).</LI>
2430         </UL></LI>
2431     </UL></LI>
2432 <LI><B>extended</B>
2433     <UL>
2434     <LI>Renamed example 'analysis/A01' to 'basic/B5'.</LI>
2435     <LI>Removed obsolete 'geometry/olap' example.</LI>
2436     <LI><B>analysis</B>
2437         <UL>
2438         <LI>Example N03Con replaced with B1Con.</LI>
2439         <LI>Removed use of G4AnalysisManager::Create(isMaster).
2440             Added G4RunManager::ReinitializeGeoemtry() in set methods
2441             that change geometry. Removed Update method and UI command in shared
2442             DetectorConstruction.</LI>
2443         <LI><B>analysis/AnaEx01</B>
2444             <UL>
2445             <LI>Migrated to enable use of multi-threading.</LI>
2446             <LI>Updated setup for added classes in Hbook analysis code.</LI>
2447             </UL></LI>
2448         </UL></LI>
2449         <LI><B>biasing</B>
2450             <UL>
2451             <LI>Removed references to obsolete G4CellScorer classes and code cleanup.</LI>
2452         <LI><B>biasing/B01</B>
2453             <UL>
2454             <LI>Replaced B01PhysicsList with FTFP_BERT as part of LHEP removal.</LI>
2455             </UL></LI>
2456         <LI><B>biasing/B02</B>
2457             <UL>
2458             <LI>Migrated to enable use of multi-threading.</LI>
2459             <LI>Removed dependency from LEP models.</LI>
2460             </UL></LI>
2461         <LI><B>biasing/B03</B>
2462             <UL>
2463             <LI>New example derived from B02 but adopting modular physics-lists.</LI>
2464             <LI>Migrated to enable use of multi-threading.</LI>
2465             </UL></LI>
2466         <LI><B>biasing/GB01</B>
2467             <UL>
2468             <LI>New example illustrating how to bias process cross-sections.</LI>
2469             </UL></LI>
2470         <LI><B>biasing/GB02</B>
2471             <UL>
2472             <LI>New example illustrating how to make a force collision biasing in a way
2473                 that is essentially similar to the approach in MCNP.</LI>
2474             </UL></LI>
2475         <LI><B>biasing/ReverseMC01</B>
2476             <UL>
2477             <LI>Slight modifications into the main in order to migrate to the new RMC
2478                 tracking schema where reverse tracking and forward tracking of adjoint and
2479                 forward equivalent particles are processed  in the same events.</LI>
2480             <LI>Migrated to use g4tools.</LI>
2481             </UL></LI>
2482         </UL></LI>
2483     <LI><B>common</B>
2484         <UL>
2485         <LI>When building materials with NistManager do not set isotopes argument
2486             (was set to false), as all materials have to be built from isotopes.</LI>
2487         <LI><B>common/analysis</B>
2488             <UL>
2489             <LI>Extended the manager class for handling more than one ntuple.</LI>
2490             <LI>Refactoring ExG4Hbook manager class following changes in analysis module.</LI>
2491             <LI>Implemented functions for user defined/logarithmic binning for H1 
2492                 and H2; in case of H2 an exception is (not available in HBOOK).</LI>
2493             </UL></LI>
2494         </UL></LI>
2495     <LI><B>electromagnetic</B>
2496         <UL>
2497         <LI>In HistoManager: use new analysis manager method SetH1Activation().</LI>
2498         <LI>Updated setup for added classes in Hbook analysis code.</LI>
2499         <LI>PhysListEmStandard: use default G4UrbanMscModel.</LI>
2500         <LI><B>electromagnetic/TestEm0</B>
2501             <UL>
2502             <LI>Use G4SeltzerBergerModel instead of obsolete G4eBremsstrahlungModel.</LI>
2503             <LI>DirectAccess: use G4PEEffectFluoModel instead of obsolete
2504                 G4PEEffectModel.</LI>
2505             </UL></LI>
2506         <LI><B>electromagnetic/TestEm1</B>
2507             <UL>
2508             <LI>Migrated to enable use of multi-threading.</LI>
2509             <LI>PhysicsList::AddDecay(): use G4PhysicsListHelper.</LI>
2510             <LI>Make use of G4GlobalMagFieldMessenger.</LI>
2511             <LI>Removed HBOOK tools.</LI>
2512             </UL></LI>
2513         <LI><B>electromagnetic/TestEm2</B>
2514             <UL>
2515             <LI>Migrated to enable use of multi-threading.</LI>
2516             </UL></LI>
2517         <LI><B>electromagnetic/TestEm4</B>
2518             <UL>
2519             <LI>Migrated to enable use of multi-threading.</LI>
2520             <LI>Removed HBOOK tools. Removed EventActionMessenger.</LI>
2521             </UL></LI>
2522         <LI><B>electromagnetic/TestEm5</B>
2523             <UL>
2524             <LI>Migrated to enable use of multi-threading.</LI>
2525             <LI>Make use of G4GlobalMagFieldMessenger.</LI>
2526             <LI>Removed HBOOK tools. Removed EventActionMessenger.</LI>
2527             </UL></LI>
2528         <LI><B>electromagnetic/TestEm6</B>
2529             <UL>
2530             <LI>PhysicsList: restored G4GammaConversionToMuons.</LI>
2531             <LI>Added cross section factor to gamma->mu+mu- process to TestEm6.in macro.</LI>
2532             </UL></LI>
2533         <LI><B>electromagnetic/TestEm7</B>
2534             <UL>
2535             <LI>PhysListEmStandardSS, PhysListEmStandardNR: updated according to
2536                 Option4 physics list models and parameters.</LI>
2537             <LI>PhysListEmStandardNR: use G4UrbanMscModel instead of G4UrbanMscModel95.</LI>
2538             <LI>Removed use of obsolete class G4HadronQElasticPhysics.</LI>
2539             </UL></LI>
2540         <LI><B>electromagnetic/TestEm8</B>
2541             <UL>
2542             <LI>Stacking action and its messenger are added allowing to kill
2543                 secondary electrons inside GasDetector region and add this
2544                 energy to total energy deposit (option by default off).</LI>
2545             <LI>PhysicsList: substituted obsolete G4PAIPhotonMOdel with G4PAIPhotModel.</LI>
2546             <LI>HistoManager: added histogram for energy deposition in units
2547                 of ADC counts; added extra UI command "/testem/setEnergyPerChannel".</LI>
2548             </UL></LI>
2549         <LI><B>electromagnetic/TestEm11</B>
2550             <UL>
2551             <LI>PhysListEmStandard: use default G4UrbanMscModel.</LI>
2552             <LI>Make use of G4GlobalMagFieldMessenger.</LI>
2553             <LI>Removed EventActionMessenger.</LI>
2554             </UL></LI>
2555         <LI><B>electromagnetic/TestEm12</B>
2556             <UL>
2557             <LI>PhysListEmStandard: use default G4UrbanMscModel.</LI>
2558             <LI>PhysListEmStandardWVI and PhysListEmStandardSS: reduced low-energy 
2559                 threashold for the single scattering model to 10 eV.</LI>
2560             </UL></LI>
2561         <LI><B>electromagnetic/TestEm14</B>
2562             <UL>
2563             <LI>PhysicsList: restored G4GammaConversionToMuons.</LI>
2564             </UL></LI>
2565         <LI><B>electromagnetic/TestEm15</B>
2566             <UL>
2567             <LI>Updated name of muon-nuclear process from "muNucl" to "muonNuclear".</LI>
2568             <LI>HistoManager, RunAction: make theoretical histogram back.</LI>
2569             </UL></LI>
2570         <LI><B>electromagnetic/TestEm17</B>
2571             <UL>
2572             <LI>Updated name of muon-nuclear process from "muNucl" to "muonNuclear".</LI>
2573             <LI>HistoManager, RunAction: make theoretical histogram back.</LI>
2574             </UL></LI>
2575         </UL></LI>
2576     <LI><B>eventgenerator/HepMC</B>
2577         <UL>
2578         <LI>Added G4Ellipsoid among solids enabled for parameterisation in HepMCEx01.</LI>
2579         </UL></LI>
2580     <LI><B>eventgenerator/particleGun</B>
2581         <UL>
2582         <LI>Simplified histograms management.</LI>
2583         </UL></LI>
2584     <LI><B>eventgenerator/pythia/decayer6</B>
2585         <UL>
2586         <LI>Fixed use of particle iterator in P6DExtDecayerPhysics.</LI>
2587         <LI>Fixed compilation warnings for shadowed variables.</LI>
2588         </UL></LI>
2589     <LI><B>eventgenerator/exgps</B>
2590         <UL>
2591         <LI>Migrated to enable use of multi-threading.</LI>
2592         <LI>Migrated to use g4tools.</LI>
2593         </UL></LI>
2594     <LI><B>exoticphysics/monopole</B>
2595         <UL>
2596         <LI>G4MonopolePhysics: fixed warning at initialisation.</LI>
2597         <LI>G4MonopoleTransportation: use 'verboseLevel' variable from base class.</LI>
2598         <LI>G4MonopoleTransportation, G4MonopoleEquation: adapted to use
2599             G4ChargeState to pass Magnetic & Electric Charge.</LI>
2600         </UL></LI>
2601     <LI><B>exoticphysics/phonon</B>
2602         <UL>
2603         <LI>Removed particles, lattice classes, and processes, now all in new
2604             library module. Eliminated use of G4VUserTrackInfo, creating a
2605             singleton (thread-local) map between tracks and wavevectors, for
2606             use by the stacking action and by processes.</LI>
2607         <LI>Fixed printout in XLogicalLattice.</LI>
2608         </UL></LI>
2609     <LI><B>field</B>
2610         <UL>
2611         <LI>Migrated examples to enable use of multi-threading.</LI>
2612         <LI><B>field/field05</B>
2613             <UL>
2614             <LI>Changed GetFieldValue() signature and added F05SteppingVerbose to
2615                 print global time.</LI>
2616             </UL></LI>
2617         <LI><B>field/field06</B>
2618             <UL>
2619             <LI>Fix for uninitialized variables in F06PrimaryGeneratorAction.</LI>
2620             </UL></LI>
2621         </UL></LI>
2622     <LI><B>hadronic/Hadr00</B>
2623         <UL>
2624         <LI>Migrated to enable use of multi-threading.</LI>
2625         </UL></LI>
2626     <LI><B>hadronic/Hadr01</B>
2627         <UL>
2628         <LI>Migrated to enable use of multi-threading.</LI>
2629         <LI>PhysicsList: removed CHIPS and LHEP builders.
2630             Migrated to new structure of physics_lists.</LI>
2631         </UL></LI>
2632     <LI><B>hadronic/Hadr02</B>
2633         <UL>
2634         <LI>Replaced LEP capture with G4NeutronRadCapture.</LI>
2635         <LI>Migrated to cross-sections extracted from CHIPS.</LI>
2636         <LI>Disabled energy/momentum check.</LI>
2637         </UL></LI>
2638     <LI><B>hadronic/Hadr03</B>
2639         <UL>
2640         <LI>DetectorConstruction: add function MaterialWithSingleIsotope().
2641             Suppressed natural abundance flag. Improved material definition.</LI>
2642         <LI>DetectorMessenger: added command to set an isotope.</LI>
2643         <LI>PhysicsList: QGSP_BERT_HP replaced by FTFP_BERT_HP.
2644             Re-enabled G4HadronPhysicsINCLXX.
2645             Migrated to new physics_lists directory structure and classes.</LI>
2646         <LI>RunAction: compute crossSection per atom.
2647             Added material in GetCrossSectionPerAtom().</LI>
2648         <LI>Use G4RunManager::ReinitializeGeometry() to trigger geo
2649             rebuild. Remove UI command to update geometry.</LI>
2650         <LI>In HistoManager: use new analysis manager method SetH1Activation().</LI>
2651         </UL></LI>
2652     <LI><B>hadronic/Hadr04</B>
2653         <UL>
2654         <LI>New example focussed on neutronHP physics, especially neutron transport,
2655             including thermal scattering.</LI>
2656         </UL></LI>
2657     <LI><B>hadronic/Hadr05</B>
2658         <UL>
2659         <LI>New example derived from Hadr00 demonstrating the usage of
2660             G4GenericPhysicsList to build the concrete physics list at the run time.</LI>
2661         </UL></LI>
2662     <LI><B>medical/DICOM</B>
2663         <UL>
2664         <LI>Migrated to enable use of multi-threading.</LI>
2665         <LI>Fix in DicomHandler for problems when using DCM files other than
2666             those provided in the examples.</LI>
2667         <LI>Added DicomPhantomZSliceMerged class to handle inconsistencies in
2668             DCM file meta-data.</LI>
2669         <LI>Extended DicomPhantomZSliceHeader class to hold density and material ID
2670             data and the printing of data to files instead of DicomHandler.</LI>
2671         <LI>Added more anonymous DICOM files and adapted configuration scripts.</LI>
2672         <LI>Replaced LEP model for alphas by extending Binary cascade to zero energy.</LI>
2673         <LI>Added G4Ellipsoid to solids enabled for parameterisation in
2674             DicomNestedPhantomParameterisation.</LI>
2675         </UL></LI>
2676     <LI><B>medical/electronScattering</B>
2677         <UL>
2678         <LI>In HistoManager: use new analysis manager method SetH1Activation().</LI>
2679         </UL></LI>
2680     <LI><B>medical/electronScattering2</B>
2681         <UL>
2682         <LI>Migrated to enable use of multi-threading.</LI>
2683         <LI>PhysListEmStandard: removed G4UrbanMscModel95; use default model.</LI>
2684         </UL></LI>
2685     <LI><B>medical/fanoCavity[1,2]</B>
2686         <UL>
2687         <LI>PhysListEmStandard_option3: use G4UrbanMscModel instead of Urban95.</LI>
2688         <LI>In HistoManager: use new analysis manager method SetH1Activation().</LI>
2689         </UL></LI>
2690     <LI><B>medical/GammaTherapy</B>
2691         <UL>
2692         <LI>When building materials with NistManager do not set isotopes argument
2693             (was set to false), as all materials have to be built from isotopes.</LI>
2694         </UL></LI>
2695     <LI><B>optical/LXe</B>
2696         <UL>
2697         <LI>Fixed overlap in geometry. Fixed data initialisation.</LI>
2698         <LI>Migrated to enable use of multi-threading.</LI>
2699         </UL></LI>
2700     <LI><B>optical/OpNovice</B>
2701         <UL>
2702         <LI>New example, copy of the original novice example N06.</LI>
2703         <LI>Migrated to enable use of multi-threading.</LI>
2704         </UL></LI>
2705     <LI><B>optical/WLS</B>
2706         <UL>
2707         <LI>Migrated to enable use of multi-threading.</LI>
2708         </UL></LI>
2709     <LI><B>parallel</B>
2710         <UL>
2711         <LI>Moved ParN02, ParN04 and info in a new TopC directory,
2712             New directory TBB.</LI>
2713         <LI><B>parallel/TBB</B>
2714             <UL>
2715             <LI>New module with example derived from original basic/B2b
2716                 demonstrating how to interface a simple application with the Intel
2717                 Threading Building Blocks library (TBB), and organise MT event-level
2718                 parallelism as TBB tasks.</LI>
2719             </UL></LI>
2720         </UL></LI>
2721     <LI><B>parameterisations</B>
2722         <UL>
2723         <LI>Added G4Ellipsoid among solids enabled for parameterisation.</LI>
2724         <LI><B>parameterisations/gflash</B>
2725             <UL>
2726             <LI>Removed ExGflashMaterialManager class; now using NIST manager.</LI>
2727             <LI>Migrated to enable use of multi-threading.</LI>
2728             <LI>Fixed event action destructor in case fNevent == 0.</LI>
2729             <LI>Changed /gps/centre 0 0 0 to /gps/pos/centre 0 0 0 to
2730                 clear gps deprecating command message in test.mac.</LI>
2731             </UL></LI>
2732         <LI><B>parameterisations/Par01</B>
2733             <UL>
2734             <LI>New example, extracted as copy of novice/N05.</LI>
2735             <LI>Migrated to enable use of multi-threading.</LI>
2736             </UL></LI>
2737         </UL></LI>
2738     <LI><B>persistency/gdml/G01</B>
2739         <UL>
2740         <LI>Added test case for 'genericPolycone' and 'genericPolyhedra'.</LI>
2741         </UL></LI>
2742     <LI><B>persistency/P01</B>
2743         <UL>
2744         <LI>Added G4Ellipsoid among solids for parameterisation.</LI>
2745         </UL></LI>
2746     <LI><B>persistency/P03</B>
2747         <UL>
2748         <LI>Migrated to enable use of multi-threading.</LI>
2749         </UL></LI>
2750     <LI><B>polarisation/Pol01</B>
2751         <UL>
2752         <LI>Migrated to g4tools.</LI>
2753         </UL></LI>
2754     <LI><B>radioactivedecay/rdecay01</B>
2755         <UL>
2756         <LI>In PhysicsList set the half life threshold of the
2757             G4RadioactiveDecay to nanosecond.</LI>
2758         <LI>TrackingAction: suppress AbortEvent() for single decay mode.</LI>
2759         <LI>DetectorConstruction: set 'fWorldSize' to 2 um.</LI>
2760         <LI>In HistoManager: use new analysis manager method SetH1Activation().</LI>
2761         </UL></LI>
2762     <LI><B>radioactivedecay/rdecay02</B>
2763         <UL>
2764         <LI>Migration to new physics_lists directory structure.</LI>
2765         <LI>exrdmPhysicsList: use standard constructors for EM physics, removed
2766             local low-energy EM physics. Use standard constructors for hadronic
2767             builders instead of obsolete.
2768             Replaced G4LElastic and G4LCapture with G4HadronElastic and
2769             G4NeutronRadCapture.</LI>
2770         </UL></LI>
2771     <LI><B>runAndEvent</B>
2772         <UL>
2773         <LI>Migrated examples to enable use of multi-threading.</LI>
2774         <LI><B>runAndEvent/RE01</B>
2775             <UL>
2776             <LI>Replaced obsolete class G4QStoppingPhysics with G4StoppingPhysics.</LI>
2777             <LI>Added G4Ellipsoid among solids enabled for parameterisation.</LI>
2778             </UL></LI>
2779         <LI><B>runAndEvent/RE02</B>
2780             <UL>
2781             <LI>Replaced G4AntiProtonAnnihiliationAtRest with
2782                 G4AntiProtonAbsorptionFritiof.</LI>
2783             <LI>Added G4Ellipsoid among solids enabled for parameterisation.</LI>
2784             </UL></LI>
2785         <LI><B>runAndEvent/RE04</B>
2786             <UL>
2787             <LI>Added G4Ellipsoid among solids enabled for parameterisation.</LI>
2788             </UL></LI>
2789         <LI><B>runAndEvent/RE05</B>
2790             <UL>
2791             <LI>New example, extracted as copy of novice/N04.</LI>
2792             <LI>Updated pythia_main.f and data file. Number of events in event data
2793                 is 100; increased digits for PDG code of HEPEVT.</LI>
2794             <LI>Readout geometry is disabled, as no longer supported.
2795                 Migrated to parallel world that descibes the readout geometry.</LI>
2796             </UL></LI>
2797         <LI><B>runAndEvent/RE06</B>
2798             <UL>
2799             <LI>New example, extracted as copy of novice/N07.</LI>
2800             </UL></LI>
2801         </UL></LI>
2802     <LI><B>visualization</B>
2803         <UL>
2804         <LI>Replaced physics list QGSP_BIC_EMY with FTFP_BERT.</LI>
2805         </UL></LI>
2806     </UL></LI>
2807 <LI><B>novice</B>
2808     <UL>
2809     <LI>Archived module. Old novice examples are now mapped as follows:
2810         <UL>
2811         <LI>N01 - removed</LI>
2812         <LI>N02 - basic/B2</LI>
2813         <LI>N03 - basic/B4</LI>
2814         <LI>N04 - extended/runAndEvent/RE05</LI>
2815         <LI>N05 - extended/parameterisations/Par01</LI>
2816         <LI>N06 - extended/optical/OpNovice</LI>
2817         <LI>N07 - extended/runAndEvent/RE06</LI>
2818         </UL></LI>
2819     </UL></LI>
2820 </UL>
2821 
2822 <HR>
2823 
2824 </BODY>
2825 </HTML>