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>