File indexing completed on 2025-01-18 09:16:07
0001 <HTML>
0002 <HEAD>
0003 <TITLE>Geant4 10.6 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.6 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>, 2019</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">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/user_documentation">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 and VecGeom versions</A></LI>
0047 <LI><A HREF="#3.">Items for migration of the user code</A></LI>
0048 <LI><A HREF="#4.">New Developments and Capabilities</A></LI>
0049 <LI><A HREF="#5.">Expected effects on physics and performance</A></LI>
0050 <LI><A HREF="#6.">Known Run-Time Problems and Limitations</A></LI>
0051 <LI><A HREF="#7.">Compilation Warnings</A></LI>
0052 <LI><A HREF="#8.">Geant4 Software License</A></LI>
0053 <LI><A HREF="#9.">Detailed list of changes and fixes</A></LI>
0054 </OL>
0055
0056 <P> </P>
0057 <A NAME="1."></a>
0058 <HR>
0059
0060
0061
0062 <H2>1. Supported and Tested Platforms</H2>
0063
0064 Platforms:
0065 <UL>
0066 <LI>Linux, gcc-4.9.3.<BR>
0067 Tested on 64 bit architectures (Intel or AMD) with
0068 CERN CentOS Linux 7 (CC7) (based on CentOS Linux 7).</LI>
0069 <LI>MacOSX 10.15 Catalina with llvm/clang-8.0 (Apple LLVM/Clang-11.0)</LI>
0070 <LI>Windows-10 with Visual C++ 14.23 (Visual Studio 2019)</LI>
0071 </UL>
0072
0073 More verified and tested configurations (64 bits):
0074 <UL>
0075 <LI>Linux, gcc-5.4.0/6.3.0/7.3.0/8.2.0/9.2.0, clang-5.0/8.0</LI>
0076 <LI>Linux, Intel-icc 19.0</LI>
0077 <LI>MacOSX 10.13, 14 with clang-7.0</LI>
0078 </UL>
0079
0080 <P> </P>
0081 <A NAME="2."></A>
0082 <HR>
0083
0084
0085
0086 <H2>2. Supported CLHEP and VecGeom version</H2>
0087
0088 This release of Geant4 requires and has been verified with
0089 <A TARGET="ext" HREF="http://cern.ch/clhep/">CLHEP</A>, release <B>2.4.1.3</B>.
0090 Use of a different CLHEP version may cause incorrect simulation results.<BR>
0091 NOTE: an internal module of the relevant CLHEP classes is provided and can be
0092 used as alternative to an external CLHEP library installation.<BR>
0093 A configuration option allows a Geant4 installation to use the
0094 <A HREF="https://gitlab.cern.ch/VecGeom/VecGeom/">VecGeom Library</A>
0095 primitives, to replace the original Geant4 solids. VecGeom version
0096 <B>1.1.5</B> is required when using such configuration.
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.
0108 Note that for all users a full re-installation of libraries (or a full
0109 re-compilation) and a re-compilation of user applications is required.
0110
0111 <P> </P>
0112 <B>General</B>
0113 <P> </P>
0114 <UL>
0115 <LI>Minimum required version of CMake to build Geant4 is 3.8.</LI>
0116 <LI>Pre-processor flags are promoted to fixed <TT>#define</TT> statements in
0117 a generated header. User code relying on these macros should
0118 include the <TT>G4Types.hh</TT> header to make them available.</LI>
0119 <LI>The preprocessor macros G4UI_USE and G4VIS_USE are removed.</LI>
0120 <LI>The Debug build mode no longer enables Floating Point Exceptions.
0121 Please use the new Debug_FPE build mode if your application requires FPE.</LI>
0122 <LI>Support for Qt4 UI/Vis is deprecated.</LI>
0123 </UL>
0124
0125 <P> </P>
0126 <B>Analysis</B>
0127 <P> </P>
0128 <UL>
0129 <LI>The last two optional arguments of the analysis manager function
0130 <TT>SetNtupleMerging()</TT> have been removed and these parameters
0131 can be changed only via the dedicated functions:
0132 <TT>SetNtupleRowWise()</TT>, <TT>SetBasketSize()</TT> and
0133 <TT>SetBasketEntries()</TT>.</LI>
0134 </UL>
0135
0136 <P> </P>
0137 <B>Geometry, Fields and Transportation</B>
0138 <P> </P>
0139 <UL>
0140 <LI>The default integration method for propagation in magnetic fields is
0141 changed, to select between the new interpolation-capable integration
0142 scheme, for shorter steps, and a helix-based scheme which is chosen for
0143 steps larger than <TT>2*pi</TT> times the curvature radius at the initial
0144 location.</LI>
0145 <LI>Once integration in field require more than a threshold (default 200)
0146 integration substeps within a single physical step, there is a relaxation
0147 of the criteria which breaks the curved trajectory into linear segments
0148 for intersecting with the setup's geometry.
0149 This criteria is governed by the parameter <I>delta chord</I>.
0150 Once the threshold is reached, its value is temporarily doubled.
0151 So subsequent integration substeps are made so that a chord's sagitta is
0152 now less than twice the <I>delta chord</I>.
0153 <UL>
0154 <LI>Every time the number of iterations reaches a new multiple of 100 (the
0155 increase value), the maximum sagitta distance (delta chord) is again
0156 temporarily doubled for the rest of this tracking step.</LI>
0157 <LI>This affects only particles below the 'important' energy threshold when
0158 using G4Transportation only, (currently not G4CoupledTransporation)
0159 which would otherwise be abandoned after a set maximum number of
0160 substeps (default=<TT>1000</TT>).</LI>
0161 <LI>To control the previous behaviour, use the G4PropagatorInField's method
0162 <TT>SetIterationsToIncreaseChordDistance()</TT> to set the number of
0163 iterations between increase; note that the initial threshold is twice
0164 this value. To restore previous behaviour set it to <TT>500</TT>.</LI>
0165 <LI>In a multi-threaded application, each thread must change this threshold,
0166 e.g. by calling this method in your G4UserRunAction's
0167 <TT>BeginOfRunAction()</TT>.</LI>
0168 <LI>This does not occur if the alternative transportation process
0169 G4CoupledTransportation is used, i.e. when one or more parallel
0170 geometries are created for scoring, event biasing, parallel mass
0171 geometry or other use(s).</LI>
0172 </UL></LI>
0173 <LI>An application which uses an external gravitational field must enable the
0174 use of gravity by calling G4Transportation's static method
0175 <TT>EnableGravity()</TT>. This change was introduced in order to call
0176 the <TT>ConfigureForTrack()</TT> method of G4FieldManager only for
0177 charged particles by default. Example <I>field06</I> in
0178 <TT>examples/extended/field</TT> illustrates this.</LI>
0179 </UL>
0180
0181 <P> </P>
0182 <B>Electromagnetic and optical physics</B>
0183 <P> </P>
0184 <UL>
0185 <LI>The new data sets <TT>G4EMLOW-7.9</TT> should be used.</LI>
0186 </UL>
0187
0188 <P> </P>
0189 <B>Hadronic physics</B>
0190 <P> </P>
0191 <UL>
0192 <LI>The new data sets <TT>G4PhotonEvaporation-5.5</TT>,
0193 <TT>G4RadioactiveDecay-5.4</TT>, <TT>G4PARTICLEXS-2.1</TT> and
0194 <TT>G4NDL-4.6</TT> should be used.</LI>
0195 </UL>
0196
0197 <P> </P>
0198 <B>Data Sets</B>
0199 <P> </P>
0200 <UL>
0201 <LI>This release introduces new data set versions.
0202 Please see the corresponding details in
0203 <A href="#data-notes">Section 9</A> of this document.
0204 <UL>
0205 <LI>New data set versions: <TT>G4EMLOW-7.9, G4RadioactiveDecay-5.4,
0206 G4PhotonEvaporation-5.5, G4PARTICLEXS-2.1, G4NDL-4.6</TT>.</LI>
0207 <LI>In order to use <TT>ParticleHP</TT> for charged particles
0208 (protons, deuterons, tritons, He3 and alphas), an optional data
0209 set <TT>G4TENDL-1.3.2</TT> is required, and should be downloaded in
0210 addition from the
0211 <A HREF="http://cern.ch/geant4/support/download">Geant4 web site</A>.</LI>
0212 </UL></LI>
0213 </UL>
0214
0215 <A NAME="4."></A>
0216 <HR>
0217
0218 <!-- ============================================== -->
0219
0220 <H2>4. New Developments and Capabilities </H2>
0221
0222 <B>General</B>
0223 <UL>
0224 <LI>Reviewed G4PhysicsVector adding an additional Value() method option to
0225 propagate down the known log-energy value. This helps avoiding log() calls
0226 when log-vector is used.</LI>
0227 <LI>Added functionality in G4DynamicParticle to provide log-kinetic energy
0228 value, computed only on demand if its stored value is not up-to-date with
0229 the kinetic energy. Reviewed EM processes to select the target atom by
0230 making use of the already known log-energy value in the log-vector access.
0231 Providing measurable CPU speedup.</LI>
0232 <LI>Enhanced UI commands to now return proper return code when they are not
0233 successful.</LI>
0234 <LI>Introduced ability to perform leading particle biasing.</LI>
0235 </UL>
0236
0237 <B>Analysis</B>
0238 <UL>
0239 <LI>Added a new factory function <TT>ManagerInstance()</TT> in G4Analysis,
0240 which allows to create the analysis manager of the type selected via a
0241 string argument and so to choose the output type at run time.</LI>
0242 <LI>Switched the default Root n-tuple merge mode to new column-wise mode
0243 with preserving rows and added a second, optional, argument in the
0244 <TT>SetNtupleRowWise()</TT> function which can be used to override the
0245 defaults.</LI>
0246 </UL>
0247
0248 <B>Digitization & Hits</B>
0249 <UL>
0250 <LI>Added G4TScoreNtupleWriter and G4TScoreNtupleWriterMessenger which
0251 implement storing hits collections of G4THitsMap type vith Geant4 analysis
0252 tools, defined in G4VcoreNtupleWriter. Its usage is demonstrated in basic
0253 examples B3 and B4d.</LI>
0254 </UL>
0255
0256 <B>Geometry and Field</B>
0257 <UL>
0258 <LI>Enabled VecGeom wrapper for G4GenericPolycone, G4EllipticalTube,
0259 G4EllipticalCone and G4Ellipsoid. Requiring VecGeom version 1.1.5.</LI>
0260 <LI>Added support for writing out assemblies envelopes in GDML.</LI>
0261 <LI>Added hooks for capability to navigate in <I>external</I> geometry with
0262 custom navigation.</LI>
0263 <LI>Completed the development of integration driver with 'interpolation'
0264 capability.
0265 It estimates the position, momentum (and potentially other state,
0266 e.g. polarisation) at intermediate values of the integration interval.
0267 During the integration, one or more intervals are used to move the track's
0268 state. For each interval a different instance of the stepper is used.
0269 Subsequent calls for intermediate points (e.g. to locate the intersection
0270 of the curved trajectory with a boundary) use the interpolation capability
0271 using the existing data (stored in the earlier stepping), instead of
0272 re-integration which involves re-evaluating the field and equation of
0273 motion. Note: currently this can be used only with G4DormandPrince745
0274 Runge Kutta integration method.</LI>
0275 <LI>Completed new multiplexing integration driver G4BFieldIntegrationDriver
0276 for magnetic fields, that enables mixing between two methods (drivers)
0277 based on the ratio of the proposed step length and the step curvature at
0278 the track's initial position.
0279 One method is selected for shorter steps, and a different method for steps
0280 longer than <TT>2*pi</TT> (estimation for uniform field). The default driver
0281 created in G4ChordFinder's constructor and G4FieldManager's
0282 <TT>CreateChordFinder()</TT> now creates it; it uses the interpolation
0283 driver with the Dormand Prince 5/4th order Runge-Kutta method for short
0284 steps, and for longer steps it uses the G4HelixHeum method which can
0285 integrate over a large number of helical turns in a sufficiently slowly
0286 varying field.
0287 Enabled by default stepping using interpolation in field propagation.</LI>
0288 </UL>
0289
0290 <B>Materials</B>
0291 <UL>
0292 <LI>Added G4DensityEffectCalculator: new class, providing on fly computation
0293 of the density effect correction using "exact" formulas.</LI>
0294 <LI>Added ICRU90 data for ion ionisation.</LI>
0295 </UL>
0296
0297 <B>Electromagnetic physics</B>
0298 <UL>
0299 <LI>Optimised step limitation in G4UrbanMscModel and modified lateral
0300 displacement sampling.</LI>
0301 <LI>New helper class G4NIELCalculator, to compute NIEL in user stepping
0302 action or sensitive detector code.</LI>
0303 <LI>Added handling of UI thermalization model control in DNA physics lists.</LI>
0304 </UL>
0305
0306 <B>Hadronic physics</B>
0307 <UL>
0308 <LI>Use Glauber-Gribov cross-sections for hyperons and anti-hyperons for
0309 both elastic and inelastic hadron-nucleus interactions.</LI>
0310 <LI>Extended hadron-nucleon cross-sections to charmed and bottom hadrons
0311 (mesons and baryons). Note: these cross-sections are meant to be used
0312 by Glauber-Gribov charmed and bottom hadron nuclear cross-sections, as
0313 well as by the FTF string model for dealing with charmed and bottom
0314 projectiles; however, the inelastic interactions of charmed and bottom
0315 projectiles are not yet included in reference physics lists.</LI>
0316 <LI>Removed tracking cut in hadron-elastic and use numerically safer
0317 computation for very low-energy projectile.</LI>
0318 <LI>Use FTFP also for the annihilation at rest of neutral anti-hadrons.</LI>
0319 <LI>Added new gamma-nuclear model based on pre-compound de-excitation.</LI>
0320 <LI>Added spontaneous fission channel in radioactive-decay.</LI>
0321 <LI>High energy extension of the neutrino-electron cross sections,
0322 for both charged-current and neutral-current interactions
0323 (M_W and M_Z propagator factors and Glashow resonance), for all neutrino
0324 and anti-neutrino flavours.</LI>
0325 </UL>
0326
0327 <B>Physics Lists</B>
0328 <UL>
0329 <LI>Changed transition region between hadronic string and intra-nuclear cascade
0330 models: now it is <TT>[3, 6] GeV</TT> consistently for all particle types
0331 (nucleons, pions, kaons, hyperons, ions and gammas; for anti-baryons,
0332 instead, FTFP is still used for all energies). Note: this does not affect
0333 the physics lists FTFP_BERT_ATL, NuBeam, ShieldingM, and those based on
0334 INCLXX. Moreover, for the QGS-based physics lists, the transition between
0335 FTFP and QGSP remains unchanged in the region <TT>[12, 25] GeV</TT>.</LI>
0336 <LI>Added (consistently) RadioactiveDecay to all physics lists which use
0337 NeutronHP. Note: this affects the physics lists FTFP_BERT_HP, QGSP_BERT_HP,
0338 FTFP_INCLXX_HP and QGSP_INCLXX_HP, whereas Shielding, LBE, QGSP_BIC_HP and
0339 QGSP_BIC_AllHP had it already.</LI>
0340 <LI>A new stopping physics constructor (G4StoppingPhysicsFritiofWithBinaryCascade)
0341 has been introduced, which uses Fritiof (FTF) coupled with Binary cascade
0342 (BIC) for the anti-baryon annihilation at rest. It is used only in the
0343 physics lists FTF_BIC and QGS_BIC.</LI>
0344 </UL>
0345
0346 <B>Visualization and Interfaces</B>
0347 <UL>
0348 <LI>New set of UI commands and improvements in visualization.
0349 Added new UI commands for view interpolation and centering.</LI>
0350 <LI>Introducing cloud drawing style in visualization, using kernel algorithms
0351 for generating points on the surface of volumes, by-passing polyhedral
0352 representations; the solid is being visualised by a polymarker of dots.</LI>
0353 </UL>
0354
0355 <B>Examples</B>
0356 <UL>
0357 <LI><I>GB07</I>: new example (in extended/biasing) to demonstrate the usage
0358 of the leading particle biasing functionality, introduced in the generic
0359 biasing package.</LI>
0360 <LI><I>Hadr08</I>: new example (in extended/hadronic) to demonstrate the
0361 possibility of emulating hadronic-model-per-region capability
0362 (not foreseen by the hadronic framework) via the use of generic biasing
0363 with usual, unbiased weights of 1.0.</LI>
0364 <LI>Extended GFlash examples set by moving existing <I>gflash</I> example to
0365 <I>gflash1</I> and added: <I>gflash2</I> with envelope in parallel world;
0366 <I>gflash3</I> with SD in parallel world; <I>gflasha</I> with histogramming
0367 of shower profiles.</LI>
0368 <LI><I>dnadamage1</I>: DNA simulation of damage on a chromatin fiber.</LI>
0369 <LI><I>microprox</I>: DNA computation of proximity functions in liquid water.</LI>
0370 </UL>
0371
0372 <A NAME="5."></A>
0373 <HR>
0374
0375 <!-- ============================================== -->
0376
0377 <H2>5. Expected effects on physics and computing performance</H2>
0378
0379 <B>Electromagnetic physics</B>
0380 <UL>
0381 <LI>Expected unchanged response for calorimeter simulations.</LI>
0382 <LI>General speedup of electro-magnetic physics by 4-8% depending on the
0383 software platform. Additional speedup if the <I>general gamma process</I>
0384 mode is enabled (disabled by default).</LI>
0385 </UL>
0386
0387 <B>Hadronic physics</B>
0388 <UL>
0389 <LI>Increased energy response and more compact hadronic showers mostly in the
0390 projectile energy range between 5 and 20 GeV, mainly due to the change
0391 in transition energy between FTFP and BERT.</LI>
0392 </UL>
0393
0394 <P> </P>
0395 <A NAME="6."></A>
0396 <HR>
0397
0398 <!-- ============================================== -->
0399
0400 <H2>6. Known Run-Time Problems and Limitations</H2>
0401 For a complete list of outstanding run-time problems and to submit any
0402 problem you may find while running this version of Geant4, please refer
0403 to the
0404 <A TARGET="ext" HREF="http://cern.ch/geant4/problemreport">Geant4 Problem
0405 Reporting System</A>.
0406
0407 <P> </P>
0408 <A NAME="7."></A>
0409 <HR>
0410
0411 <!-- ============================================== -->
0412
0413 <H2>7. Compilation Warnings</H2>
0414
0415 There may be a few compilation warnings on some platforms, particularly
0416 on Windows with Visual Studio, where warnings level has been raised when
0417 building examples.
0418 We do not believe that any of these lead to incorrect run-time behaviour.
0419
0420 <P> </P>
0421 <A NAME="8."></A>
0422 <HR>
0423
0424 <!-- ============================================== -->
0425
0426 <H2>8. Geant4 Software License</H2>
0427
0428 A Software License applies to the Geant4 code.
0429 Users must accept this license in order to use it. The details and the list of
0430 copyright holders is available at
0431 <A href="http://cern.ch/geant4/license">http://cern.ch/geant4/license</A>
0432 and also in the text file <TT>LICENSE</TT> distributed with the source code.
0433
0434 <P> </P>
0435 <A NAME="9."></A>
0436 <HR>
0437
0438 <!-- ============================================== -->
0439
0440 <H2>9. Detailed list of changes and fixes</H2>
0441
0442 These are the main new features/fixes included in this release since the
0443 last patched public release (for more detailed lists of fixes/additions,
0444 please refer to the corresponding History files provided in most packages):
0445
0446 <P> </P>
0447
0448 <A NAME="conf-notes">
0449 <H3><I>Configuration</I></H3></A>
0450 <UL>
0451 <LI><U>CMake</U>
0452 <UL>
0453 <LI>Set minimum required CMake version to 3.8 to fully support C++17
0454 on all systems. Addressing problem report
0455 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2044">#2044</A>.</LI>
0456 <LI>Updated Intel settings to support use of C++17 with Intel 19 when
0457 using CMake-3.8-3.10. Versions from 3.11 fully support Intel 19/C++17.</LI>
0458 <LI>Removed obsolete GEANT4_BUILD_MUONIC_ATOMS_IN_USE option
0459 and associated configuration/compiler flags.</LI>
0460 <LI>Promoting following pre-processor flags to fixed #defines in a new
0461 header generated by CMake using the chosen build options to
0462 <TT>#define/#undef</TT> as appropriate: G4USE_STD11, G4MULTITHREADED,
0463 G4_STORE_TRAJECTORY, G4VERBOSE, GEANT4_USE_TIMEMORY.
0464 Promoted VecGeom pre-processor flags to fixed <TT>#defines</TT> as well.
0465 Ensuring the header is included by primary "global" category headers
0466 so that all categories will pick up the changes transparently.
0467 Removed use of add_definitions of CMAKE_CXX_FLAGS to set these flags
0468 in Geant4 and client scripts.</LI>
0469 <LI>Removed G4FPE_DEBUG from build mode "Debug". Added new build mode
0470 "Debug_FPE" same as "Debug" mode but appending -DG4FPE_DEBUG.</LI>
0471 <LI>Set OpenGL_GL_PREFERENCE to LEGACY, to prevent warning on
0472 CMake >= 3.10, and keeping existing behaviour.</LI>
0473 <LI>Only scope location of test executable when using a generator that
0474 supports multi-config; allows tests to be run with Ninja Generator as
0475 "ninja test".</LI>
0476 <LI>Do not switch off CMAKE_CXX_EXTENSIONS in Geant4Config; not required
0477 for client applications. Addresses problem report
0478 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2002">#2002</A>.</LI>
0479 <LI>Using target_XXX usage requirements to transport header paths and links.
0480 Removed requirement to use complete include_directories chain in Module
0481 sources.cmake files. Retain exported "Geant4_INCLUDE_DIR{S}" variables
0482 in case clients use Root dictionary generation (which does not
0483 understand usage requirements of targets until latest versions).
0484 Removed remaining -D flags set via add_definitions, moving to
0485 target_compile_definitions.</LI>
0486 <LI>Namespace exported targets with "Geant4::" to enforce use of targets
0487 and prevent accidental linkage via <TT>-lG4name</TT> expansion.</LI>
0488 <LI>Migrate use of all external packages to use and refind exported targets,
0489 with shim scripts to support CMake versions from 3.8 at build/use time.</LI>
0490 <LI>Store build-time locations of used external packages in an optionally
0491 installable CMake script for reuse, if present, by Geant4Config.cmake
0492 in refinding packages.</LI>
0493 <LI>Require MSVC 19.20 (Visual Studio 2019) or newer as minimum required
0494 version to build Geant4 on Windows. Needed to support use full C++17
0495 Standard. Default C++ Standard with MSVC is now C++17.</LI>
0496 <LI>Removed old genwindef method of generating DLL symbol exports, as
0497 minimum cmake version of 3.8 fully supports direct generation via
0498 target properties.</LI>
0499 <LI>Removed GEANT4_FORCE_QT4 option, deprecating Qt4 support. Retain
0500 fallback to finding Qt4, emitting a CMake warning that use of Qt4 is
0501 deprecated.</LI>
0502 <LI>Disabled configuration for Wt UI/Vis driver, as no longer supported.</LI>
0503 <LI>Updated scripts to support the TiMemory find_package COMPONENTS and
0504 the INTERFACE library generation.</LI>
0505 <LI>Fixed logic of setting up components in Geant4Config.cmake.
0506 Addresses problem report
0507 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2139">#2139</A>.</LI>
0508 <LI>Fixed issue for path with spaces, reported in Users Forum #451.</LI>
0509 <LI>Added ELLIPSOID, ELLIPTICALCONE and ELLIPTICALTUBE flags to enable
0510 wrapping of G4Ellipsoid, G4EllipticalCone and G4EllipticalTube with
0511 correspondent VecGeom primitives.</LI>
0512 <LI>Updated data-sets versions.</LI>
0513 </UL></LI>
0514 <LI><U>GNUMake</U>
0515 <UL>
0516 <LI>Hard-code Qt version through QT_VERSION flag.
0517 Corrected Qt5 setup for Linux-g++ and Linux-clang.</LI>
0518 <LI>architecture.gmk: added -DG4GMAKE to CPPFLAGS to identify enabling
0519 of GNUmake builds.</LI>
0520 <LI>Fixed default paths for Linux architectures.</LI>
0521 <LI>geomconf.gmk: added VecGeom wrappers flags for G4EllipticalTube,
0522 G4EllipticalCone and G4Ellipsoid.</LI>
0523 <LI>Fixed compilation warning on gcc-9.2 for liblist.c.</LI>
0524 <LI>Added new analysis/factory subdirectory in includes in binmake.gmk;
0525 removed analysis/parameters which does not exist anymore.</LI>
0526 <LI>Corrected default path for XM in Darwin targets.</LI>
0527 <LI>Force use of C++17 in WIN32 targets.</LI>
0528 <LI>interactivity.gmk: added -DQT_NO_DEPRECATED_WARNINGS to Qt compilation
0529 settings, to silence warnings from Qt for use of deprecated features.</LI>
0530 </UL></LI>
0531 </UL>
0532
0533 <A NAME="ana-notes">
0534 <H3><I>Analysis</I></H3></A>
0535 <UL><LI><U>Ntuples</U>
0536 <UL>
0537 <LI>Fixed CSV, XML ntuple file names.</LI>
0538 <LI>Added methods for setting ntuple merge mode in G4VAnalysisManager
0539 with a default implementation (issuing a warning if merging is not
0540 available).</LI>
0541 <LI>Added fRowWise data member in G4RootNtupleManager to make the
0542 parameter available in MPI.</LI>
0543 </UL></LI>
0544 <LI><U>Analysis management & plotting</U>
0545 <UL>
0546 <LI>Enhanced the G4VAnalysisManager interface: added new option for
0547 ntuple merging and updated/added functions for merging:
0548 SetNtupleMerging() - removed rowWise and basketSize optional paremeters;
0549 SetNtupleRowWise() - added parameter 'rowMode' with a default value;
0550 SetBasketSize(), SetBasketEntries() - new methods.
0551 Added functions and UI commands for setting axis log scale for
0552 plotting: <TT>Set[H,P][1,2,3][X,Y.Z]AxisIsLog()</TT> and analogous getters
0553 New UI commands <TT>/analysis/[h,p][1,2,3]/set[X,Y,Z]axisLog true|false</TT>.</LI>
0554 <LI>Added new factory function ManagerInstance() in G4Analysis, which allows
0555 to create the analysis manager of the type selected via a string
0556 argument.</LI>
0557 <LI>Added new analysis sub-category "factory".</LI>
0558 <LI>Cleaned-up analysis type definitions: G4Hn*, G4Pn* types moved out
0559 of type specific namespace.</LI>
0560 <LI>In G4PlotManager: disabled Paw encoding; this fixes a problem with
0561 unwanted axis labels in Greek.</LI>
0562 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0563 <LI>Link directly to FreeType and HDF5 imported targets.</LI>
0564 </UL></LI>
0565 <LI><U>g4tools</U>
0566 <UL>
0567 <LI>Updated the g4tools version to g4tools-5.0.5.
0568 <UL>
0569 <LI>Handle axis label in case of freetype font.</LI>
0570 <LI>Root format: restore a "per event/row view" for the ntuple
0571 column-wise in MT and MPI.</LI>
0572 <LI>Batch plotting: fixes to avoid labels overlap when having a grid
0573 of plotters.</LI>
0574 <LI>MPI: fixed a memory leak.</LI>
0575 <LI>Fix for axis labels with log scale.</LI>
0576 <LI>Scene graph: have material for interactive plotting.</LI>
0577 <LI>Include modifications coming from other usage of inlib/exlib,
0578 for example, in Root, to be able to read TClonesArray.</LI>
0579 <LI>Fixed compilation warning from gl2ps showing up on gcc-9.2.</LI>
0580 <LI>sg/plotter: added functions set_encoding() and set_encoding_none()
0581 which allow to disable (unwanted) Paw specific encoding.</LI>
0582 <LI>Fixed memory leak in mpi_create_basket().</LI>
0583 <LI>Fixed Coverity warnings.</LI>
0584 <LI>See History_tools for the complete list of modifications.</LI>
0585 </UL></LI>
0586 </UL></LI>
0587 </UL>
0588
0589 <A NAME="digits-notes">
0590 <H3><I>Digitization & Hits</I></H3></A>
0591 <UL>
0592 <LI>Introducing G4ScoringRealWorld, allowing to define command-based scorers
0593 to a logical volume in the mass world.</LI>
0594 <LI>Revised G4ScoringQuantiryMessenger and G4ScoringMessenger to better handle
0595 the error cases.</LI>
0596 <LI>Added "ntuple" subdirectory for score ntuple writer UI commands.</LI>
0597 <LI>Added G4TScoreNtupleWriter and G4TScoreNtupleWriterMessenger
0598 which implements storing hits collections of G4THitsMap type vith
0599 Geant4 analysis tools, define them in G4VcoreNtupleWriter.
0600 The dependency on the analysis category is avoided via template.</LI>
0601 <LI>Fixed implicit type conversions from size_t to G4int in digits and hits
0602 classes (collections, vectors, maps).</LI>
0603 <LI>Pass G4String by const reference in G4SDStructure and digits/hist
0604 collections base classes.</LI>
0605 <LI>G4PSSphereSurfaceFlux: fixed track weight.</LI>
0606 </UL>
0607
0608 <A NAME="emstd-notes">
0609 <H3><I>Electromagnetic Processes</I></H3></A>
0610 <UL>
0611 <LI><B>DNA</B>:
0612 <UL>
0613 <LI>Added G4DNAMolecule class.</LI>
0614 <LI>Added Kreipl and Meesungnoen amorphous ice models.</LI>
0615 <LI>Added new model G4DNAELSEPAElasticModel.</LI>
0616 <LI>Updated G4DNAWaterDissociationDisplacer* classes.</LI>
0617 <LI>Moved checking of position of track status in
0618 G4ITStepProcessor::SetInitialStep().</LI>
0619 <LI>Chemistry: clarified pointer ownership in G4DNAChemistryManager.</LI>
0620 <LI>Fixed reaction site issue.</LI>
0621 <LI>Fixed case of division by zero of diffusionCoefficient in
0622 <TT>G4DNABrownianTransportation::AlongStepGetPhysicalInteractionLength()</TT>
0623 for the case of static molecules.</LI>
0624 <LI>Enabled G4ItNavigator{1,2} to flag if it encounters new type of
0625 external physical volume (meant for adapting external navigators).</LI>
0626 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0627 <LI>Fixed compilation warnings on gcc-9.1. Code cleanup.</LI>
0628 </UL></LI>
0629 <LI><B>High Energy</B>
0630 <UL>
0631 <LI>G4GammaConversionToMuons, G4AnnihiToMuPair: added
0632 registration/de-registration mechanism.</LI>
0633 <LI>G4GammaConversionToMuons: added initialisation and optional possibility
0634 to use 5D model for the sampling of the final state.</LI>
0635 <LI>G4mplIonisationWithDeltaModel, G4mplIonisationModel: fixed dEdx for
0636 electron gas model (beta<0.01). Addressing problem report
0637 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2169">#2169</A>.</LI>
0638 </UL></LI>
0639 <LI><B>Low Energy</B>
0640 <UL>
0641 <LI>G4LivermorePhotoElectricModel: use std::getenv; slightly speed-up.</LI>
0642 <LI>G4IonParametrisedLossModel: use std::getenv; allowed ICRU90 option.</LI>
0643 <LI>Use <TT>std::getenv()</TT> for thread safety.</LI>
0644 </UL></LI>
0645 <LI><B>Muons</B>
0646 <UL>
0647 <LI>G4TablesForExtrapolator: create G4LossTableBuilder and destruct at
0648 end of run.</LI>
0649 </UL></LI>
0650 <LI><B>Standard</B>
0651 <UL>
0652 <LI>In most models, make use of the new target atom selector that can
0653 reuse the already known log-energy value.</LI>
0654 <LI>G4UrbanMscModel, G4WentzelVIModel, G4GoudsmitSaundersonMscModel:
0655 make use of the new base class methods in utils module, utilising
0656 the already known log-energy value, in case of dEdx, range and
0657 transport mean free path log-vector table accesses.</LI>
0658 <LI>G4UrbanMscModel: optimised step limitation for 'UseSafetyPlus'
0659 and 'UseDistanceToBoundary'. Minor clean-up of step limit method.
0660 Modified lateral displacement sampling.</LI>
0661 <LI>G4ScreeningMottCrossSection, G4KleinNishinaModel, G4SeltzerBergerModel,
0662 G4eSingleCoulombScatteringModel: use element->GetZasInt() interface
0663 in order to reduce number of double->int conversions at run time.</LI>
0664 <LI>G4BetheHeitler5DModel: set x,y components in BoostG4LorentzVector
0665 function. Replaced local boost and rotation functions with CLHEP
0666 boost, boostZ, transform. One random generator flatArray() call in
0667 sampling loop. New parameters set for muon (30% speed up), nuclear
0668 threshold calculation. Added gamma conversion to mu+ mu- mode.</LI>
0669 <LI>G4eCoulombScatteringModel, G4WentzelOKandVIxSection: cleanup debug
0670 cout and initialisation.</LI>
0671 <LI>G4UrbanMscModel, G4GoudsmitSaundersonMscModel, G4WentzelVIModel: use
0672 <TT>lambdalimit</TT> and <TT>facsafety</TT> parameters from the base
0673 class G4VMscModel.</LI>
0674 <LI>G4SeltzerBergerModel: during initialisation data files upload only data
0675 for elements used in geometry, lazy initialisation of the data is also
0676 available for testing.</LI>
0677 <LI>G4SeltzerBergerModel, G4ICRU49NuclearStoppingModel: safer
0678 initialisation in MT mode.</LI>
0679 <LI>G4ScreeningMottCrossSection, G4eSingleCoulombScatteringModel: optimized
0680 code and data structure; fixed floating point exception for low energy;
0681 use C++11 patterns.</LI>
0682 <LI>G4hCoulombScatteringModel, G4hCoulombScatteringModel: removed unused
0683 headers.</LI>
0684 <LI>G4PairProductionRelModel, G4GammaConversion: the high energy model for
0685 e-/e+ pair production has been extended down to threshold (<TT>2mc^2</TT>)
0686 such that it gives results (both cross-section and final state) identical
0687 to those produced by the low energy (G4BetheHeitlerModel). Since this new
0688 version of the high energy model can describe e-/e+ pair production from
0689 threshold up to PeV (LPM effects are included) the G4BetheHeitlerModel
0690 is now removed from the G4GammaConversion process.</LI>
0691 <LI>G4eplusAnnihilation: set secondary weight correctly using bias manager.</LI>
0692 <LI>G4ESTARStopping, G4GSMottCorrection, G4GSPWACorrections,
0693 G4GoudsmitSaundersonTable, G4SBBremTable, G4SeltzerBergerModel: minor
0694 cleanup; use of <TT>std::getenv()</TT> and use of
0695 <TT>G4Element::GetZasInt()</TT>.</LI>
0696 <LI>Requires data-set G4EMLOW-7.9.</LI>
0697 </UL></LI>
0698 <LI><B>Utils</B>
0699 <UL>
0700 <LI>G4EmElementSelector, G4VEmModel: added extra method to select the
0701 target atom by making use of the already known log-energy value in
0702 the log-vector access.</LI>
0703 <LI>G4VEmProcess, G4VEnergyLossProcess and G4VMscModel: added extra
0704 methods to access log-vector tables by propagating the already
0705 known log-energy value.</LI>
0706 <LI>G4VMscModel, G4VMultipleScattering: added new method
0707 <TT>InitialiseParameters()</TT>, make multiple-scattering specific
0708 methods pure virtual.</LI>
0709 <LI>G4LossTableManager: added <TT>Register/DeRegister()</TT> methods and vector
0710 of pointers for G4VProcess classes for X-ray and optical processes.</LI>
0711 <LI>G4EmParameters: added polarisation flag; moved implementation of
0712 splitting parameters to source and added check on lock; added
0713 <TT>9.99 MeV</TT> low limit in the <TT>SetMaxEnergy()</TT> method,
0714 added thread lock to <TT>Dump()</TT> method.</LI>
0715 <LI>G4EmParameters, G4EmParametersMessenger: splitted classes keeping the
0716 user interface unchanged.
0717 Added new classes for complex EM parameters (G4EmExtraParameters
0718 G4EmExtraParametersMessenger) and new classes for low-energy and
0719 DNA parameters (G4EmLowEParameters, G4EmLowEParametersMessenger).
0720 Added new parameters for multiple-scattering <TT>FactorSafety</TT> and
0721 <TT>LambdaLimit</TT>; now users can customise these values, default
0722 values used are the same as in release 10.5.</LI>
0723 <LI>G4EmSaturation: do not apply saturation for zero step length, as this
0724 is possible only if a tracking cut is applied.</LI>
0725 <LI>G4EmBiasingManager: delete non-tracked particles.</LI>
0726 <LI>New helper class G4NIELCalculator, to compute NIEL in user stepping
0727 action or sensitive detector code. User should provide G4VEmModel
0728 objects, which has NIEL model.</LI>
0729 <LI>G4LossTableManager: added access and initialisation of
0730 G4NIELCalculator. Use std::getenv() for thread safety.</LI>
0731 <LI>G4VEmProcess, G4VEnergyLossProcess, G4VMscModel, G4EmElementSelector:
0732 utilise new optimised LogVectorValue() function from G4PhysicsVector
0733 (for log-vector).</LI>
0734 <LI>G4EmElementSelector: new optimised version; adopting linear
0735 interpolation to avoid redundant energy grid related computations;
0736 branches used to handle rare corner cases are eliminated by increased
0737 robustness of the algorithm.</LI>
0738 <LI>Removed no longer used members in G4EmElementSelector and G4VEmModel.</LI>
0739 <LI>G4LossTableBuilder, G4LossTableManager, G4VEmModel, G4VMscModel,
0740 G4VEmProcess, G4VEnergyLossProcess, G4EmCalculator: allow both
0741 approaches, "General Process" and "Base Materials", work together.</LI>
0742 <LI>G4DNAModelSubType: added Kreipl and Meesungnoen amorphous ice models.
0743 G4EmLowEParametersMessenger: added corresponding commands.</LI>
0744 <LI>DummyModel: added methods to be consistent with above modifications.</LI>
0745 <LI>Fixed Coverity defects.</LI>
0746 </UL>
0747 <LI><B>Xrays</B>
0748 <UL>
0749 <LI>G4Cerenkov, G4Scintillation, G4SynchrotronRadiation,
0750 G4VTransitionRadiation: added registration/de-registration mechanism.</LI>
0751 </UL></LI>
0752 </UL>
0753
0754 <A NAME="event-notes">
0755 <H3><I>Event</I></H3></A>
0756 <UL>
0757 <LI>G4SPSEneDistribution: added protection for potential infinite loop.
0758 Addressing problem report
0759 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2177">#2177</A>.</LI>
0760 <LI>G4SPSPosDistribution: added accessor methods for volume confinement
0761 Addressing GitHub PR #7.</LI>
0762 <LI>Fixed implicit type conversions from size_t to G4int in G4TrackStack
0763 and G4TrajectoryContainer. Fixed typos and some code cleanup.</LI>
0764 <LI>Make -DG4_USESMARTSTACK a public compile definition of G4event
0765 to propagate it directly to CMake clients.</LI>
0766 </UL>
0767
0768 <A NAME="externals-notes">
0769 <H3><I>Externals</I></H3></A>
0770 <UL>
0771 <LI><U>CLHEP</U>:
0772 <UL>
0773 <LI>Updated to CLHEP version 2.4.1.3.</LI>
0774 <LI>MixMaxRng: throw if seed is zero. Use throw instead of exit()
0775 elsewhere.</LI>
0776 <LI>Defaulted operator=() also for BasicVector3D andPlan3D; fixing
0777 deprecation warnings on gcc-9.1. Fixed shadowing compilation
0778 warnings in Transform3D as reported on gcc-9.1.</LI>
0779 <LI>Added move constructor and move assignment operators in Vector and
0780 Geometry classes.</LI>
0781 <LI>Fixed compilation warnings for cases of implicit type conversions in
0782 Ziggurat classes.</LI>
0783 </UL></LI>
0784 </UL>
0785
0786 <A NAME="gen-notes">
0787 <H3><I>General Processes</I></H3></A>
0788 <UL>
0789 <LI><B>Biasing</B>
0790 <UL>
0791 <LI>Introducing leading particle biasing.</LI>
0792 <LI>G4BOptnChangeCrossSection: added argument to <TT>SetBiasedCrossSection()</TT>
0793 method, as option to update the interaction length when setting a new
0794 cross-section value.</LI>
0795 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0796 </UL></LI>
0797 <LI><B>Cuts</B>
0798 <UL>
0799 <LI>Added protection against premature call to G4ProductionCutsTable.</LI>
0800 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0801 </UL></LI>
0802 <LI><B>Decay</B>
0803 <UL>
0804 <LI>G4Decay: extended printout for G4Exception DECAY101 and DECAY102.</LI>
0805 </UL></LI>
0806 <LI><B>Management</B>
0807 <UL>
0808 <LI>Made G4ProcessTable a thread-local singleton.</LI>
0809 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0810 <LI>Some code cleanup in G4ProcessManager.</LI>
0811 </UL></LI>
0812 <LI><B>Optical</B>
0813 <UL>
0814 <LI>G4OpWLS: call <TT>SetNumberOfSecondaries()</TT> from G4VParticleChange only
0815 once. Addressing problem report
0816 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2200">#2200</A>.</LI>
0817 <LI>Improved diagnostics printout.</LI>
0818 <LI>Code cleanup and formatting, added C++11 keywords.</LI>
0819 </UL></LI>
0820 <LI><B>Parameterisation</B>
0821 <UL>
0822 <LI>Register G4FastSimulationManagerProcess with highest ordering in
0823 G4FastSimulationManagerHelper to ensure it is the only process invoked
0824 for a given step (ExclusivelyForced) and no other StronglyForced
0825 processes will be considered.</LI>
0826 </UL></LI>
0827 <LI><B>Transportation</B>
0828 <UL>
0829 <LI>The following fixes and improvements affect both G4Transportation and
0830 G4CoupledTransportation:<BR>
0831 - Fixed issues related to resetting of looper flag and other state for
0832 field propagation. Involved replacing check for 'Global' field with check for any field; this is
0833 needed to ensure that propagator-in-field state is reset when the
0834 setup inludes only local fields.
0835 Ensure that looping flag is reset (false) when a force is not exerted
0836 in <TT>G4CoupledTransportation::AlongStepGetPhysicalInteractionLength()</TT>;
0837 before it was overwritten afterwards.
0838 Addressing problem report
0839 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2144">#2144</A>.<BR>
0840 - Optimisation to avoid calling user field manager's
0841 <TT>ConfigureForTrack()</TT> method, except if particle is charged,
0842 or forces from magnetic moment or gravity are enabled.<BR>
0843 - The change above introduces a new 'flag' to enable gravity fields.
0844 The static method <TT>EnableGravity()</TT> in G4Transportation must be
0845 called if the application uses gravity fields (calling this method
0846 will enable both types of transportation to consider gravity.<BR>
0847 - Added flag to optionally silence warning about looping tracks.
0848 The method <TT>SetSilenceLooperWarnings()</TT> controls it.</LI>
0849 </UL></LI>
0850 </UL>
0851
0852 <A NAME="geo-notes">
0853 <H3><I>Geometry</I></H3></A>
0854 <UL>
0855 <LI>Implemented minor C++11 revision and code cleanup.
0856 Use pre-increment wherever possible.</LI>
0857 <LI>Fixed minor Coverity defects.</LI>
0858 <LI><B>Divisions</B>
0859 <UL>
0860 <LI>Return correct value for multiplicity in G4PVDivision and
0861 G4ReplicatedSlice. Addressing problem report
0862 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2168">#2168</A>.</LI>
0863 <LI>G4PVDivision: added missing implementation of alternative constructor.</LI>
0864 <LI>Added new virtual <TT>VolumeType()</TT> method in Physical Volume types.</LI>
0865 </UL></LI>
0866 <LI><B>Magnetic field</B>
0867 <UL>
0868 <LI>G4ChordFinder: changed to use concrete type of Stepper as template
0869 parameter.</LI>
0870 <LI>G4InterpolationDriver: revision that uses an instance of the stepper for
0871 each substep. Fixed memory churn; use FSAL property of stepper
0872 (G4DormandPrince745) to avoid one RHS evaluation per integration
0873 substep beyond the first.
0874 Changed from G4VERBOSE to G4FIELD_DEBUG for debug checks.
0875 Now set by default.</LI>
0876 <LI>Removed division in <TT>G4DormandPrince745::Interpolate4thOrder()</TT>.
0877 Fix in 5<SUP>th</SUP> order interpolation method.</LI>
0878 <LI>Reset step estimate in G4MagInt_Driver only at the beginning of a
0879 track.</LI>
0880 <LI>Added G4SextupoleMagField, an implementation of a sextupole magnetic
0881 field.</LI>
0882 <LI>Completed implementation G4BFieldIntegrationDriver, and fixed issues.
0883 It is now used as the default driver for magnetic fields:
0884 it instantiated in G4FieldManager's <TT>CreateChordFinder()</TT> method.
0885 Fixed case of floating point exception in and removed statistics
0886 printouts from destructor.</LI>
0887 <LI>Added method and attribute to G4VIntegrationDriver
0888 <TT>DoesReIntegrate()</TT> to inform whether the driver recomputes
0889 segment when <TT>AccurateAdvance()</TT> is called.</LI>
0890 </UL></LI>
0891 <LI><B>Management</B>
0892 <UL>
0893 <LI>G4GeomSplitter: re-enabled use or <TT>realloc()/free()</TT> and
0894 <TT>memcpy()</TT>, after adapting G4VPhysicalVolume MT splitted data
0895 to adopt only trivial types for allocation. Re-establishing original
0896 performance in initialisation of the geometry in MT mode.</LI>
0897 <LI>Properly initialise splitted data in G4VPhysicalVolume to zero.</LI>
0898 <LI>Replaced deprecated std::binary_function calls with lambdas in
0899 G4SmartVoxelStat and G4GeometryManager. Addressing GitHub PR#8.</LI>
0900 <LI>Defined move constructor and move assignment operator for
0901 G4AffineTransform.</LI>
0902 <LI>G4VSolid: use <TT>G4QuickRand()</TT> in <TT>EstimateCubicVolume()</TT>
0903 and <TT>EstimateSurfaceArea()</TT>.</LI>
0904 <LI>Changed <TT>G4VPhysicalVolume::VolumeType()</TT> to be virtual.
0905 Required for addition of External Navigation, which adds an 'external'
0906 physical volume type (for use with an External sub-Navigator).</LI>
0907 <LI>Revised G4LogicalVolume to cope with 'external' type of physical
0908 volumes. Use stored volume type in <TT>CharacteriseDaughters()</TT>.
0909 These revisions are independent and backward compatible.</LI>
0910 <LI>G4LogicalVolume: added method <TT>ChangeDaughtersType()</TT> to change
0911 the volume type for <TT>CharacterisedDaughters()</TT>. It enables the
0912 user to turn over responsibility for navigation in that volume to an
0913 external navigator.
0914 This is for use when one or more daughter volumes are created as an
0915 existing physical volume type (typically <TT>G4PVPlacement</TT>). It
0916 can also be used to enable to create a (logical) volume which containts
0917 a mixture of existing Geant4 physical volume types and user-created
0918 'external' physical volume type (with type code <TT>kExternal</TT>):
0919 Geant4 types must be created first, and then <TT>ChangeDaughtersType()</TT>
0920 must be called to change the mother's attribute to <TT>kExternal</TT>.
0921 Note: only one type of sub-navigator will be called to find a track's
0922 intersection (or the location of a point) in all daughters of one
0923 mother volume. The sub-navigator chosen will correspond to the volume
0924 type assigned.</LI>
0925 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0926 <LI>Use header-based <TT>#define/undef</TT> symbols to configure VecGeom
0927 replacements; added new configuration headers G4GeomConfig.hh and
0928 G4GeomTypes.hh.</LI>
0929 </UL></LI>
0930 <LI><B>Navigation</B>
0931 <UL>
0932 <LI>Improved information in G4Exceptions for particles stuck due to
0933 multiple zero steps in G4Navigator.</LI>
0934 <LI>Added hooks for capability to navigate in 'external' geometry:
0935 new base class G4VExternalNavigation for external 'sub'-navigator;
0936 new type of 'External' physical volume, to flag volumes for
0937 external sub-navigator; revisions to G4Navigator to dispatch logical
0938 volumes with daughters which are of 'external' physical-volume type.
0939 An 'external' sub-navigator can be registered with G4Navigator;
0940 'placement' and 'external' physical volumes cannot be currently
0941 mixed inside the same logical volume.</LI>
0942 <LI>Added <TT>Clone()</TT> method in G4Navigator, to allow for 'cloning' the
0943 navigator for G4VIntersectionLocator's 'helper', and potentially for
0944 worker threads.</LI>
0945 <LI>G4TransportationManager: enable worker threads to clone G4Navigator if
0946 needed. Keep first navigator created; by convention that will be the
0947 navigator object of the master thread (or the only thread). Other
0948 (worker) threads will clone the first navigator, if it has an external
0949 sub-navigator registered. This ensures that they clone the ability to
0950 navigate in 'external' volume descriptions.</LI>
0951 <LI>G4MultiLevelLocator: avoid re-estimating endpoint if driver does not
0952 re-integrate when <TT>AccurateAdvance()</TT> is called.</LI>
0953 <LI>Introduced temporary 'relaxation' (increase) of the value of delta-chord,
0954 in G4PropagatorInField, to enable larger steps, after a threshold number
0955 of iterations (parameter). Added methods to get/set the parameter that
0956 controls after how many integration substeps (in one physics step) the
0957 increase of the chord distance is trigerred.</LI>
0958 <LI>Made G4RegularNavigationHelper a G4ThreadLocalSingleton.</LI>
0959 <LI>G4PhantomParameterisation: reverted precision checks as in version
0960 <TT>10.2.p02</TT>. Addressing problem report
0961 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2192">#2192</A>.</LI>
0962 <LI>Enable UI command <TT>/geometry/navigator/push_notify</TT> which was
0963 not setup properly. Addressing problem report
0964 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2173">#2173</A>.</LI>
0965 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0966 </UL></LI>
0967 <LI><B>Solids (Boolean)</B>
0968 <UL>
0969 <LI>G4BooleanSolid: use <TT>G4QuickRand()</TT> in <TT>GetPointOnSurface()</TT>;
0970 reduced max number of tries to generate a point to 100k.</LI>
0971 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
0972 </UL></LI>
0973 <LI><B>Solids (CSG)</B>
0974 <UL>
0975 <LI>G4Tubs: Fixed normal from <TT>DistanceToOut()</TT> to be unit vector, for
0976 abnormal exit points. Added <TT>inverse-Rmax</TT> and <TT>-Rmin</TT> as
0977 data members.</LI>
0978 <LI>Re-use pre-calculated values instead of using std::cos(), std::sin()
0979 in G4Tubs, G4Cons, G4CutTubs and G4Sphere.</LI>
0980 <LI>G4CutTubs: fixed minor Coverity defects for non initialised data in
0981 constructors.</LI>
0982 <LI>Added inclusion of new G4GeomTypes.hh header to those headers allowing
0983 VecGeom replacement.</LI>
0984 </UL></LI>
0985 <LI><B>Solids (Specific)</B>
0986 <UL>
0987 <LI>Enabled VecGeom wrapper for G4GenericPolycone, G4EllipticalTube,
0988 G4EllipticalCone and G4Ellipsoid. Requiring VecGeom version 1.1.5.</LI>
0989 <LI>G4ExtrudedSolid: fixed a bug in DistanceToOut(), affecting extruded
0990 solids defined off-center along the z-axis.</LI>
0991 <LI>Fixed generation of polyhedron in <TT>G4UExtrudedSolid::CreatePolyhedron()</TT>.
0992 Addressing visualization part of the problem report
0993 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2171">#2171</A>.</LI>
0994 <LI>Avoid defining kCarTolerance as 'static const' in G4VFacet.
0995 Addressing problem report
0996 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2172">#2172</A>.</LI>
0997 <LI>Modified G4PolyconeSide and G4PolyhedraSide to use only trivial types
0998 for MT splitted data in G4PlSideData and G4PhSideData respectively.</LI>
0999 <LI>Protected check in <TT>G4TwistedTubsSide::DistanceToPlane()</TT> within debug
1000 flag.</LI>
1001 <LI>Defined move constructor and move assignment operator for
1002 G4TriangularFacet.</LI>
1003 <LI>Use <TT>GetVertices()</TT> instead of <TT>GetParametersList()</TT> in
1004 the wrapper G4UTet.</LI>
1005 <LI>G4TesselatedSolid: fixed case of potentially uninitialized array.</LI>
1006 <LI>G4GenericTrap: fixed compilation warnings for variable shadowing
1007 on clang-8.</LI>
1008 <LI>Rationalise header inclusions for faceted solids.</LI>
1009 <LI>Removed unnecessary forward declaration in G4VFacet header.</LI>
1010 <LI>Added inclusion of new G4GeomTypes.hh header to those headers allowing
1011 VecGeom replacement.</LI>
1012 </UL></LI>
1013 <LI><B>Volumes</B>
1014 <UL>
1015 <LI>Revised <TT>G4PVPlacement::CheckOverlaps()</TT> for speed up; improved
1016 diagnostics.</LI>
1017 <LI>Added enablers for external navigation capability.
1018 Added new virtual base class G4VExternalPhysicalVolume.</LI>
1019 <LI>Added new virtual <TT>VolumeType()</TT> method in Physical Volume types.</LI>
1020 <LI>Fixed registration of G4PVParameterised daughter in mother volume to
1021 enable its true volume type (kParameterised) to be recognised and
1022 registered in mother logical volume.</LI>
1023 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
1024 </UL></LI>
1025 </UL>
1026
1027 <A NAME="glob-notes">
1028 <H3><I>Global</I></H3></A>
1029 <UL>
1030 <LI>G4PhysicsVector: added additional <TT>Value()</TT> method option to propagate down
1031 the known log-energy value (can avoid the log call in case of
1032 log-vector). Added optimised <TT>LogVectorValue()</TT> method, implementing
1033 optimised algorithm for use with log-vectors only. All conditional branches
1034 are eliminated by increased robustness of the algorithm.</LI>
1035 <LI>Added protection against idx > entries() in <TT>G4PhysicsVector::insertAt()</TT>
1036 function. Addressing problem report
1037 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2182">#2182</A>.</LI>
1038 <LI>G4PhysicsVector, G4PhysicsLogVector, G4PhysicsLinearVector and
1039 G4PhysicsLnVector: changed <TT>dBin</TT> member to <TT>invdBin(=1/dBin)</TT>
1040 to get rid of run-time divisions.</LI>
1041 <LI>Added G4QuickRand header in HEPRandom sub-module.</LI>
1042 <LI>Added 'External' (physical) volume type to geomdefs.hh.</LI>
1043 <LI>Added new LOG_EKIN_MIN constant as value taken in case of zero kin-energy
1044 in templates.hh.</LI>
1045 <LI>Defined default move constructor and move assignment operator for
1046 G4String and G4DataVector.</LI>
1047 <LI>G4SimplexDownhill: fixed minor Coverity defect.</LI>
1048 <LI>Fixed implicit type conversions in G4String internal methods.</LI>
1049 <LI>Updated settings for TiMemory.</LI>
1050 <LI>Use move semantics in G4ConsumeParameters, eliminating warning about
1051 unnecessary copy for some compilers.</LI>
1052 <LI>Added G4GlobalConfig.hh generated header to hold global, always required,
1053 pre-processor symbols instead of relying on -D flags for: G4USE_STD11,
1054 G4MULTITHREADED, G4_STORE_TRAJECTORY, G4VERBOSE and GEANT4_USE_TIMEMORY.
1055 Added inclusion of G4GlobalConfig.hh in G4Types.hh, tls.hh and
1056 G4TiMemory.hh so that global and other categories pick up the definitions
1057 transparently. Updated other headers/sources to include G4Types/G4Threading
1058 if they use G4MULTITHREADED.</LI>
1059 <LI>Updated date of release for 10.6.</LI>
1060 </UL>
1061
1062 <A NAME="greps-notes">
1063 <H3><I>Graphical Representations</I></H3></A>
1064 <UL>
1065 <LI>G4VisAttributes: added 'cloud' and methods to force, <TT>SetForceCloud()</TT>,
1066 and <TT>SetForceNumberOfCloudPoints()</TT>.</LI>
1067 <LI>G4VisExtent: added method Transform(const G4Transform3D&).</LI>
1068 <LI>Added G4TessellatedSolid to list of solids that may be specially treated;
1069 solids that may access the graphics scene directly through G4VGraphicsScene.</LI>
1070 <LI>Removed <TT>Get/SetDrawOverlapsFlag()</TT> from G4VVisManager.</LI>
1071 <LI>HepPolyhedron: fixed defect reported by Coverity.
1072 Added move constructor and move assignment operator.</LI>
1073 <LI><TT>BooleanProcessor::createPolyhedron()</TT>: Use return
1074 <TT>std::move()</TT>.</LI>
1075 </UL>
1076
1077 <A NAME="had-notes">
1078 <H3><I>Hadronic Processes</I></H3></A>
1079 <UL>
1080 <LI>Improved G4HadronicException: aligned behavior with std::exception:
1081 what() returns the exception explanation; moved the member definition
1082 to source file. Added some consts qualifiers.</LI>
1083 <LI><B>Cross sections</B>
1084 <UL>
1085 <LI>G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS: utilise
1086 the new <TT>Value()</TT> method from G4PhysicsVector that can make use
1087 of the already known value of the log-kinetic energy in the table of
1088 cross-sections.</LI>
1089 <LI>G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS
1090 G4ParticleInelasticXS: code clean-up, assuming usage of the new
1091 data-set G4PARTICLEXSDATA-2.1; removed unused variables and methods;
1092 used only methods with logarithm of energy.</LI>
1093 <LI>G4NeutronCaptureXS: restored computation of isotope cross-section as it
1094 was in release 10.5, responsible for degradation of observables on
1095 Tungsten. Upload data only for elements used in geometry.
1096 Code clean-up, use C++11.</LI>
1097 <LI>G4ParticleInelasticXS: set verbosity to 0.</LI>
1098 <LI>Corrections in G4MuNeutrinoNucleusTotXsc.cc: new name, default
1099 <TT>fCcTotRatio</TT> and high energy parameter 'bb'.</LI>
1100 <LI>G4ComponentAntiNuclNuclearXS: code clean-up and corrected the
1101 description.</LI>
1102 <LI>G4ComponentGGHadronNucleusXsc, G4ComponentGGNuclNuclXsc: removed
1103 remaining unused obsolete methods and members; use G4NuclearRadii
1104 utility to compute nuclear radius.</LI>
1105 <LI>G4ComponentGGHadronNucleusXsc: fixed correction factor for kaons.</LI>
1106 <LI>G4BGGPionElasticXS, G4BGGPionInelasticXS: fixed initialisation for
1107 pi+ and pi- by usage of separate vectors of correction factors;
1108 fixed computation for Hydrogen target. Clean-up pi+ cross-section
1109 below <TT>20 MeV</TT>.</LI>
1110 <LI>G4BGGPionInelasticXS: fixed low-energy parameterisation (restore
1111 one from Geant4 10.5, where low-energy limits were different for
1112 pi+ and pi-).</LI>
1113 <LI>G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS: fixed computation
1114 for Hydrogen target. Fixed initialisation for protons and neutrons
1115 by usage of separate vectors of correction coefficients.</LI>
1116 <LI>G4HadronNucleonXsc: added extra method for hyperon cross sections.
1117 Extended to charmed and bottom hadrons (mesons and baryons).
1118 Improved K+p parameterisations (NS and VG); removed obsolete methods.</LI>
1119 <LI>G4ParticleInelasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS,
1120 G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS,
1121 G4NucleonNuclearCrossSection, G4ComponentBarNucleonNucleusXsc,
1122 G4UPiNuclearCrossSection: shared internal data vectors between threads;
1123 initialise data once; removed unused parameters; code clean-up;
1124 use C++11 keywords.</LI>
1125 <LI>G4VCrossSectionDataSet, G4CrossSectionDataStore,
1126 G4IonProtonCrossSection: use only methods with logarithm of energy.</LI>
1127 <LI>G4HadronicException is replaced by G4Exception in all classes with
1128 exceptions.</LI>
1129 <LI>G4ParticleInelasticXS, G4NeutronElasticXS, G4NeutronInelasticXS,
1130 G4NeutronCaptureXS: adopted the new G4PhysicsVector::LogVectorValue()
1131 optimised method for log-vectors.</LI>
1132 <LI>G4BGGNucleonInelasticXS, G4BGGNucleonElasticXS: use coherent low-energy
1133 threshold of <TT>14 MeV</TT>; code clean-up.</LI>
1134 <LI>G4BGGPionInelasticXS, G4BGGPionElasticXS: use coherent low-energy limit
1135 of <TT>1 MeV</TT>.</LI>
1136 <LI>G4HadronNucleonXsc: fixed K+p and K+n parameterisations.</LI>
1137 <LI>G4NeutronElasticXS: implemented isotope cross-section.</LI>
1138 <LI>G4UPiNuclearCrossSection: optimised interpolation method; moved two
1139 run-time methods to inline; improved low-energy parameterisation.
1140 Below <TT>20 MeV</TT> the cross-section is now constant, with BGGPion
1141 cross-section implementing the low-energy part. Code clean-up.</LI>
1142 <LI>G4NeutronInelasticXS, G4ParticleInelasticXS, G4NeutronElasticXS: added
1143 special method for tritium and He3 targets (addressing problem report
1144 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2162">#2162</A>);
1145 upload data only for elements used in geometry. Code clean-up and use
1146 of C++11 features.</LI>
1147 <LI>G4HadronNucleonXsc: new interface to G4ComponentGGHadronNucleonXsc
1148 including s-,c-,b-, particles. Set protection against division by zero
1149 by introducing a minimum energy cutoff (<TT>100 keV</TT>), below which the
1150 cross-section is considered constant.</LI>
1151 <LI>G4BGGNucleonInelasticXS, G4BGGNucleonElasticXS, G4BGGPionInelasticXS,
1152 G4BGGPionElasticXS: clean-up low-energy behaviour.</LI>
1153 <LI>G4NeutrinoElectronNcXsc, G4NeutrinoElectronTotXsc: high energy
1154 extension of neutrino-electron cross sections, for both
1155 charged-current and neutral-current interactions (M_W and M_Z
1156 propagator factors and Glashow resonance), for all neutrino and
1157 anti-neutrino flavours.</LI>
1158 <LI>G4MuNeutrinoNucleusTotXsc: high energy extension of cc/nc xsc (M_W and
1159 M_Z propagator factors) cc/tot ratio.</LI>
1160 <LI>G4MuNeutrinoNucleusTotXsc: added new method
1161 <TT>GetElementCrossSection()</TT>.</LI>
1162 <LI>Removed <TT>using namespace std</TT> and <TT>using namespace CLHEP</TT>
1163 from G4NeutronElectronElXsc header.</LI>
1164 <LI>Use <TT>std::getenv()</TT> for thread safety.</LI>
1165 </UL></LI>
1166 <LI><B>Management</B>
1167 <UL>
1168 <LI>G4HadronicInelasticProcess: removed default GHEISHA cross-sections.</LI>
1169 <LI>G4EnergyRangeManager: fixed bug regarding the kinetic energy per
1170 nucleon in the case of anti-nuclei (the bug was of little harm as one
1171 single model, FTFP, is used for all energies in the case of anti-nuclei
1172 projectiles). Streamlined algorithm in the case that only one model
1173 is registered for a process. Implemented C++11 patterns.
1174 Moved operators to be private, removed obsolete method, removed
1175 G4HadronicException; in case of problem return <TT>nullptr</TT>.</LI>
1176 <LI>G4HadronicProcess: removed try/catch pattern from computation of mean
1177 free path; removed final-state random rotation. Do not use try/catch
1178 pattern to choose hadronic interaction; decreased limit on check of
1179 offshell mass from <TT>1.5 MeV</TT> to <TT>10 keV</TT>.
1180 Removed unused headers. Addressing problem report
1181 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2175">#2175</A>.
1182 For particles out of mass shell, the kinetic energy is corrected in
1183 such a way that it is always above <TT>10 keV</TT>.
1184 Used <TT>std::getenv()</TT>, which is recommended for concurrency.
1185 In the method <TT>CheckResult()</TT>, a short-lived secondary particle
1186 is allowed to have a dynamic mass which differs from the PDG mass
1187 by less than three times the particle's width.</LI>
1188 <LI><U>Models Management</U>:
1189 <UL>
1190 <LI>G4HadronicInteractionRegistry: fixed typo in comments; removed unused
1191 Boolean flag. Use of C++11 patterns.</LI>
1192 <LI>G4HadronicInteraction: fixed definition of model per element and material.
1193 Use of C++11 patterns.</LI>
1194 <LI>G4VHighEnergyGenerator: used inheritance from G4HadronicInteraction,
1195 which reduces memory leaks at exit.</LI>
1196 </UL></LI>
1197 </UL></LI>
1198 <LI><B>Processes</B>
1199 <UL>
1200 <LI>G4HadronElasticProcess: removed tracking cut for all particles (charged
1201 particles may be stopped by the tracking cut of ionisation process;
1202 neutrons should be stopped by G4NeutronKiller).
1203 Added protection for zero energy of the projectile particle.
1204 Removed final-state rotation. Removed default GHEISHA cross-sections.
1205 Clean up the sampling of the final state;
1206 improved description and comments; added C++11 keywords;
1207 removed unused local members.</LI>
1208 <LI>G4MuNeutrinoNucleusProcess: new process which handles the
1209 G4NuMuNucleusCc(Nc)Model models.</LI>
1210 <LI>Created new inelastic processes for heavy hadron-nucleus interactions.
1211 Notes: there is no need to create similar processes for elastic heavy
1212 hadron-nucleus interactions; only hadrons (mesons and baryons) that can
1213 fly macroscopic distances are considered; for the time being, none
1214 of these processes is used in any physics list.</LI>
1215 </UL></LI>
1216 <LI><B>Stopping</B>
1217 <UL>
1218 <LI>G4HadronicAbsorptionFritof: extended to neutral anti-hadrons
1219 (anti-neutron, anti-lambda, anti-sigma0 and anti-xi0). This extension
1220 is for completeness and practical convenience, although physically
1221 neutral hadrons should never be completely at rest.</LI>
1222 <LI>G4HadronicAbsorptionFritofWithBinaryCascade: new class for handling
1223 anti-proton and anti-neutron annihilation at rest using Fritiof coupled
1224 with Binary cascade, instead of directly with pre-compound (as in the
1225 class G4HadronicAbsorptionFritiof).</LI>
1226 <LI>Fixed Coverity defect in G4MuonMinusAtomicCapture.</LI>
1227 </UL></LI>
1228 <LI><B>Utilities</B>
1229 <UL>
1230 <LI>G4HadProjectile: clean-up for small kinetic energy of the projectile.</LI>
1231 <LI>G4HadFinalState, G4Bessel, G4ReactionProduct, G4GHEKinematicsVector:
1232 replaced <TT>fabs()</TT> with <TT>abs()</TT>.</LI>
1233 <LI>G4HadronicParameters: extended to the recommended (default) energy
1234 transition regions between FTF and cascade models (BERT and/or BIC)
1235 and between strings models (QGS and FTF).</LI>
1236 <LI><U>Models Utilities</U>:
1237 <UL>
1238 <LI>G4NuclearRadii: new utility class with several parameterisations of
1239 nuclear radius. Added extra utility methods.</LI>
1240 <LI>G4GeneralPhaseSpaceDecay: corrected message when throwing an exception
1241 due to center-of-mass energy below threshold.</LI>
1242 </UL></LI>
1243 </UL></LI>
1244 <LI><B>Bertini Cascade</B>
1245 <UL>
1246 <LI>Fixed case for potential FPEs due to un-protected sqrt() in
1247 <TT>G4NucleiModel::boundaryTransition()</TT></LI>
1248 <LI>G4LightTargetCollider: fixed crash when the gamma energy is below
1249 the deuteron disintegration threshold and improved the
1250 exception handling.</LI>
1251 </UL></LI>
1252 <LI><B>Binary Cascade</B>
1253 <UL>
1254 <LI>G4GeneratorPrecompoundInterface: extended to include a simple
1255 coalescence model for nucleus-nucleus interactions in the interface
1256 between string and precompound models. This allows to improve the
1257 nucleon spectra and fast deuterons in ion-ion collisions.</LI>
1258 <LI>G4GeneratorPrecompoundInterface: minor fix.</LI>
1259 </UL></LI>
1260 <LI><B>De-excitation</B>
1261 <UL>
1262 <LI>G4VEmissionProbability: using simple rejection.
1263 Implemented option to force a residual nucleus to be among known
1264 discrete levels.</LI>
1265 <LI>Replaced deprecated std::binary_function calls with lambdas in
1266 G4StatMFMicroCanonical and G4StatMFChannel. Addressing GitHub PR#8.</LI>
1267 <LI>G4Evaporation, G4ExcitationHandler, G4LevelReader, G4GammaTransition,
1268 G4VEmissionProbability, G4PhotonEvaporation, G4PolarizationTransition:
1269 changed scheme of verbosity: 0- silence, 1- dump of parameters at
1270 initialisation, 2- debug printout, 3- very detailed debug printout.
1271 Addressing problem report
1272 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2098">#2098.</A></LI>
1273 <LI>G4CoulombBarrier: use G4NuclearRadii utility to compute nuclear radius.</LI>
1274 <LI>G4EvaporationChannel, G4EvaporationProbability, G4VEmissionProbability,
1275 G4FermiDecayProbability: simplified algorithm to sample kinetic energy
1276 of a fragment; minor code clean-up; removed commented lines.</LI>
1277 <LI>G4EvaporationChannel, G4EvaporationProbability, G4VEmissionProbability,
1278 G4NeutronEvaporationProbability, G4VEvaporationChannel: preparation for
1279 development of the new GEM model; for evaporation, improved selection of
1280 final excitation level for residual fragments.</LI>
1281 <LI>G4Evaporation: made coherent use of IsApplicable() from G4FermiBreakUp
1282 and forced simplified decay of exotic fragments with
1283 G4UnstableFragmentBreakUp.</LI>
1284 <LI>G4FermiFragmentsPoolVI: implemented new method HasChannels().
1285 Removed unphysical fragments and corresponding data structures.</LI>
1286 <LI>G4FermiBreakUpVI: used new method HasChannels() inside IsApplicable().
1287 Cleanup internal data after decay loop and not before.
1288 Use consistently verbosity from de-excitation module; simplified
1289 decay kinematics.</LI>
1290 <LI>G4FermiFragment: fixed Coulomb barrier correction computation.
1291 Removed unused Boolean members.</LI>
1292 <LI>G4UnstableFragmentBreakUp: changed logic, allowing decay of an exotic
1293 fragment (i.e. a fragment unknown in gamma-level database) and never
1294 release it. Allowed only residual fragments, which are present in the
1295 nuclear level database; those fragments which are not in the database
1296 are forced to decay to fragments from the database.
1297 Improved debug printout.</LI>
1298 <LI>G4VEmissionProbability, G4Evaporation, G4UnstableFragmentBreakUp:
1299 consistently use decay channels in all components of the de-excitation
1300 module.</LI>
1301 <LI>G4LevelReader: small reduction of memory churn at initialisation.</LI>
1302 <LI>G4NuclearLevelData, G4LevelManager, G4GEMChannel, G4GEMProbability,
1303 G4GEMProbabilityVI, G4EvaporationChannel, G4EvaporationProbability:
1304 use consistently pairing correction from G4NuclearLevelData and
1305 verbosity level for debugging.</LI>
1306 <LI>G4GEMChannelVI, G4GEMProbabilityVI: new GEM model.</LI>
1307 <LI>G4ExcitationHandler: added check on upper limit of excitations; fixed
1308 initialisation sequence, reduced memory churn. Removed second photon
1309 evaporation loop, as all gamma decays are already happening in the
1310 first loop. Use more C++11 constructs. Added a limit on the number of
1311 warnings on high excitation energy of the input fragment. Fixed problem
1312 seen in medical test of fragmentation; provided full de-excitation of
1313 excited light fragments.</LI>
1314 <LI>G4DeexPrecoParameters: added upper limit of <TT>30 MeV</TT> on the
1315 excitation per nucleon. Added two new parameters.</LI>
1316 <LI>G4DeexParametersMessenger: added UI command.</LI>
1317 <LI>G4FermiFragmentsPoolVI, G4NuclearLevelData: reduced number of locks at
1318 initialisation.</LI>
1319 <LI>Modified internal interfaces to reuse some code for evaporation in the
1320 new GEM evaporation model; used more C++11 patterns.</LI>
1321 <LI>G4ExcitationHandler: removed warning on high excitation energy.</LI>
1322 <LI>G4ExcitationHandler, G4Evaporation: minor speedup improvement.</LI>
1323 <LI>G4NuclearLevelData: added new public interface to enable upload of
1324 nuclear level data before the first event.</LI>
1325 <LI>G4PhotonEvaporation: access G4NuclearPolarizationStore only if
1326 correlated gamma decay is enabled. Fixed gamma de-excitation when
1327 initial excitation energy is between ground state and 1st level.</LI>
1328 <LI>G4CompetitiveFission, G4FissionBarrier, G4FissionParameters: added
1329 numerical protections; clean-up C++11 keywords; moved headers to
1330 source code.</LI>
1331 <LI>Code clean-up and fixed Coverity defects.</LI>
1332 </UL></LI>
1333 <LI><B>Elastic scattering</B>
1334 <UL>
1335 <LI>G4HadronElastic: removed tracking cut and use numerically safer
1336 computation for very low-energy projectile. Improved description
1337 and comments; added C++11 keywords.
1338 Make resampling of scattering angle using algorithm from this class
1339 in the case that <TT>abs(cos(theta))</TT> > <TT>1 m</TT>.
1340 Added protected variable <TT>pLocalTmax</TT>; added protection for
1341 projectile of zero kinetic energy. Added new parameterisations for
1342 protons and pions. Added a new method for s-,c-,b- particles.</LI>
1343 <LI>G4ChargeExchange: updated interfaces; added protection for projectile
1344 of zero kinetic energy.</LI>
1345 <LI>G4AntiNuclElastic: do not compute trigonometric functions, which are
1346 not used.</LI>
1347 <LI>G4ElasticHadrNucleusHE, G4LEpp, G4LEnp: code clean-up.</LI>
1348 <LI>G4ElasticHadrNucleusHE: reduced size of data structure and time for
1349 initialisation by about a factor of 2; general code clean-up;
1350 added further protections. Made all data shared between threads.
1351 General code clean-up.</LI>
1352 <LI>Removed "using namespace std" and "using namespace CLHEP" from
1353 G4NeutronElectronElModel header.</LI>
1354 <LI>G4HadronElastic: changed warning printout for resampling, by
1355 protecting it by G4VERBOSE. Added limit on number of warning printouts.
1356 Addressing problem report
1357 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2204">#2204</A>.</LI>
1358 </UL></LI>
1359 <LI><B>Lend</B>
1360 <UL>
1361 <LI><TT>G4LENDCapture::ApplyYourself()</TT>: fixed memory leak reported
1362 by Coverity.</LI>
1363 <LI>Fixed compilation warnings on gcc-9.1 for missing assignment operator.</LI>
1364 </UL></LI>
1365 <LI><B>Lepto-nuclear</B>
1366 <UL>
1367 <LI>Neutrino-nucleus models and precalculated distribuitons as from
1368 new data-set G4PARTICLEXS-2.0.
1369 <LI>Fixed bug in G4NuMuNucelusCc(Nc)Model for kinematics of quasi-elastic
1370 neutrino scattering. Fix for m->e in nucleon 4-vectors,
1371 when nucleon move, iTeMax->100.
1372 Fixed cases of arrays out of boundaries for indices of x-.</LI>
1373 <LI>G4NuMuNucleusCcModel: 1p1h momentum sampling according to AS model;
1374 added precompound interface. Implemented off-shell kinematics;
1375 fixes in ApplyYourself(), SampleLVkr() and CoherenPion(); new method
1376 RecoilDeexcitation() to de-excite recoiled nucleus.</LI>
1377 <LI>G4NeutrinoNucleusModel: added two methods for excitation energy and
1378 nucleon momentum sampling.</LI>
1379 <LI>G4NuMuNucleusCcModel, G4NuMuNucleusNcModel, G4NeutrinoNucleusModel,
1380 G4NeutrinoElectronCcModel: implemented s-channel in nu-e-cc model.</LI>
1381 <LI>Removed <TT>using namespace std</TT> and <TT>using namespace CLHEP</TT>
1382 statements from headers.</LI>
1383 <LI>Fixes for Coverity warnings and clean-up.</LI>
1384 </UL></LI>
1385 <LI><B>Particle High Precision</B>
1386 <UL>
1387 <LI>Fix to deal with incorrect excitation energy when charged particles are
1388 emitted during a neutron reaction. In G4ParticleHPInelasticCompFS,
1389 changed method CompositeApply(), for very small excitation energies,
1390 changed level index from -1 to 0 only if incident and outgoing particles
1391 are the same. Addressing problem report
1392 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1838">#1838</A>.</LI>
1393 <LI>Fix to deal with un-incremented index of photons in
1394 <TT>G4ParticleHPPhotonDist::GetPhotons()</TT>.
1395 Also cleaned up dead code in that class. Addressing problem report
1396 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2167">#2167</A>.</LI>
1397 <LI>G4ParticleHPChannelList: fixed bug in the momentum change (it has to
1398 be a normalized 3-vector, but it was not) in the case where NeutronHP
1399 could not find a proper reaction channel.</LI>
1400 <LI>G4ParticleHPInelasticCompFS: fix to avoid arbitrary number of target
1401 nuclei being generated and slowing down multi-threaded operation.
1402 Addressing problem report
1403 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2166">#2166</A>.</LI>
1404 <LI>G4ParticleHPChannel, G4ParticleHPNames: allowed using of an incomplete
1405 data library name if the environment variable G4NEUTRONHP_SKIP_MISSING_ISOTOPES
1406 is set. The missing cross-sections are then set to 0.</LI>
1407 <LI>G4ParticleHPContAngularPar: redefined residual mass to consider
1408 incident particles other than neutrons.</LI>
1409 <LI>G4ParticleHPInelasticBaseFS: added protection against residual with
1410 Z<0 or A<Z, do not apply adjust_final_state when data is in
1411 MF=6 format (no correlated particle emission).</LI>
1412 <LI>Correction to add Q value info to G4ParticleHPNBodyPhaseSpace.</LI>
1413 <LI>G4ParticleHPInelasticCompFS: re-build method two_body_reaction() to be
1414 used by incident charged particles (now isotropic emission in the CMS).
1415 Also restrict 'nresp' use below <TT>20 MeV</TT>. Added photon emission
1416 when no data are available.</LI>
1417 <LI>G4ParticleHPEnAngCorrelation: deleted part of code trying to preserve
1418 baryon number; one has to assume that it is not preserved when using
1419 ENDF-6 data.</LI>
1420 <LI>Fixes for crashes detected only when using QGSP_BIC_AllHP physics-list:
1421 in method <TT>Sample()</TT> of G4ParticleHPContAngularPar, set
1422 protection against unphysical interpolation result; in
1423 G4ParticleHPKallbachMannSyst, added in <TT>A()</TT> the possibility of
1424 tritium and He3 projectiles, taking in this case (arbitrarily) an
1425 intermediate value between the two already considered cases,
1426 proton-neutron-deuteron and alpha.</LI>
1427 <LI>Fixes in G4ParticleHPKallbachMannSyst.</LI>
1428 <LI>G4ParticleHPInelasticBaseFS: re-calculate Q value in
1429 <TT>BaseApply()</TT> in case of no data in library.</LI>
1430 <LI>Added protection against maxE<0 in
1431 G4ParticleHPNBodyPhaseSpace::Sample().</LI>
1432 <LI>G4ParticleHPNames: removed restriction of using isotopes with Z>92,
1433 therefore removing the environmental variable
1434 <TT>AllowForHeavyElements</TT>.</LI>
1435 </UL></LI>
1436 <LI><B>Parton-String</B>
1437 <UL>
1438 <LI>Extended both Lund and QGS string fragmentation to allow the
1439 possibility to have charm and/or bottom quarks and diquarks in the
1440 strings. As a result of the hadronization of strings having heavy
1441 (c, b) quarks, charmed and bottom hadrons can be produced: only heavy
1442 mesons and baryons that can fly macroscopic distances are considered
1443 as candidate final states.
1444 Note: this extension has required also to extend the list of diquarks
1445 available in Geant4, to add those made with charm and bottom quarks.</LI>
1446 <LI>G4FTFParameters: extended FTF configuration interface to include
1447 parameters for pion projectile.
1448 Diffraction minimal mass is now correctly set in GeV (instead of MeV),
1449 for hadron projectiles different from pions, kaons, nucleons and
1450 anti-nucleons, in the method <TT>InitForInteraction()</TT>.
1451 In <TT>GetMinMass()</TT>, fixed a bug in the computation of the quark
1452 type (which affects the estimated minimal string mass produced in
1453 diffraction); added also protections to make sure that the quark type
1454 is always one of the five considered (u, d, s, c, b).
1455 Absolute (rather than signed) charge for antibaryon is now correctly
1456 taken in the method <TT>InitForInteraction()</TT>.
1457 Fixed creation/destruction/use of Glauber-Gribov cross-section and
1458 fixed a memory leak. Added protection for possible division by zero
1459 due to zero elastic cross-section.
1460 Replaced Chips hadron-nucleon (total and elastic) cross-sections with
1461 the Barashenkov-Glauber-Gribov (BGG) cross-sections for ordinary (i.e.
1462 non-heavy) hadrons (for heavy hadrons, only BGG cross-section are
1463 available and used).
1464 Set parameters of a string kink in the constructor (instead of setting
1465 it at each interaction, causing memory leaks). Notice that string kinks
1466 are currently switched off, so this fix does not affect any physics
1467 result.</LI>
1468 <LI>G4FTFModel: minor improvement in the annihilation at rest of light
1469 anti-ions, to avoid the possibility of unphysical production of
1470 target and projectile fragments at rest.
1471 Improvement of the algorithm for string creation.</LI>
1472 <LI>Improvements to FTF model for nucleus-nucleus interactions (with
1473 negligible effects for hadron-nucleus).</LI>
1474 <LI>G4DiffractiveExcitation: extended range of excited hadron masses,
1475 starting from ground-state values (before, these were starting
1476 from current hadron masses).</LI>
1477 <LI>G4ElasticHNScattering: improvement and simplification of the algorithm
1478 of elastic scattering (before the masses of resonances were sampled,
1479 now this is no longer needed). Added a few protections to avoid
1480 rare cases of floating point exceptions.</LI>
1481 <LI>Correction in the Lund string fragmentation regarding the search for
1482 final-state in the last string decay. Some code cleanup.</LI>
1483 <LI>Switch off the probability of charm and bottom hadron production in
1484 both Lund and QGS string fragmentations (temporary protection, to be
1485 removed after release 10.6).</LI>
1486 <LI>Implemented fragmentation functions of heavy (charm and bottom) quarks
1487 and diquarks for the QGS string fragmentation, based on a review of
1488 the available theoretical papers.</LI>
1489 <LI>G4LundStringFragmentation, G4QGSMFragmentation: in <TT>SplitEandP()</TT>,
1490 added a check that the string can be converted to an existing hadron
1491 (else a null momentum is returned).</LI>
1492 <LI>The same set of mixing meson parameters (for both scalar and vector
1493 mesons), as defined in the base class G4VLongitudinalStringDecay, are
1494 now used on both FTF and QGS.</LI>
1495 <LI>G4VLongitudinalStringDecay: added forgotten initialization of c-cbar
1496 and b-bbar pair production for kinks or gluons.</LI>
1497 <LI>G4ExcitedStringDecay: added protection in the sampling of resonance
1498 masses against values below threshold.</LI>
1499 <LI>G4VPartonStringModel: re-sample the string formation in the case that
1500 the (either target or projectile) nuclear residual is an unphysical
1501 combination of nucleons (i.e. more than three protons with no neutron,
1502 or more than one neutron with no proton).</LI>
1503 <LI>G4Reggeons: added extension for charmed and bottom hadrons following
1504 the ideas introduced to deal with Glauber-Gribov heavy hadron - nucleon
1505 cross-sections.</LI>
1506 <LI>Deleted unused classes G4VAnnihilationCrossSection, G4QGSMParameters,
1507 G4AnnihilationCrossSection, G4GammaAnnCrossSection, G4ASCCrossSection,
1508 G4DiffractiveHHScatterer, G4VKinkyStringDecay, G4EventGenerator,
1509 G4InteractionCode and G4VertexCode.</LI>
1510 <LI>Fixed Coverity defects.</LI>
1511 </UL></LI>
1512 <LI><B>Pre-equilibrium</B>
1513 <UL>
1514 <LI>Added new model based on pre-compound de-excitation
1515 G4LowEGammaNuclearModel.</LI>
1516 <LI>G4PreCompoundEmission, G4PreCompoundFragment, G4VPreCompoundFragment:
1517 setup minimum number of points for probability integration to 4;
1518 minor code clean-up.</LI>
1519 <LI>G4PreCompoundModel: added check on excitation energy per nucleon
1520 for the initial fragment (<TT>30 MeV</TT>) and send highly excited
1521 fragment to the de-excitation module. Code clean-up.</LI>
1522 </UL></LI>
1523 <LI><B>Radioactive Decay</B>
1524 <UL>
1525 <LI>Added spontaneous fission channel: added new class G4SFDecay to handle
1526 neutron and gamma generation using LLNL model. Read spontaneous fission
1527 data from database, insert it into decay tables and instantiate
1528 G4SFDecay.</LI>
1529 <LI>Fixed incorrect branching ratio sum for biased mode, to account for the
1530 addition of N shell EC capture and spontaneous fission.</LI>
1531 <LI>G4RadioactiveDecayBase: added StreamInfo() method; updated to new
1532 N shell EC; enable printout of parameters with G4VERBOSE in
1533 <TT>BuildPhysicsTable()</TT>.</LI>
1534 <LI>G4RadioactivationMessenger: removed obsolete "fast beta" option,
1535 internal conversion option (not part of biasing) and atomic relaxation
1536 option (not part of biasing). Added <TT>analogueMC</TT> option which was
1537 forgotten when class was developed.</LI>
1538 <LI>G4RadioactiveDecayBaseMessenger: removed obsolete <TT>fast beta</TT>
1539 option.</LI>
1540 <LI>Replaced G4ExceptionDescription in loop with simple string at
1541 exception time inG4RadioactiveDecay, G4RadioactiveDecayBase and
1542 G4Radioactivation.</LI>
1543 <LI>In <TT>G4RadioactiveDecay::CalculateChainsFromParent()</TT> and
1544 <TT>G4Radioactivation::CalculateChainsFromParent()</TT>, fixed memory
1545 leak reported by Coverity.</LI>
1546 <LI>G4RadioactiveDecay, G4RadioactiveDecayBase: make sure decay table maps
1547 are cleanly deleted at the end of program. Added passing of type of
1548 sub-models to secondary particles generated.</LI>
1549 <LI>G4RadioactiveDecayBase: in <TT>LoadDecayTable()</TT> added correction
1550 for code which was accidentally deleted when class was created from
1551 G4RadioactiveDecay. Now giving correct decay branching ratios.
1552 Split off unbiased decay part of DecayIt() and make it protected method
1553 called <TT>DecayAnalog()</TT>. Move <TT>dkmap</TT> to protected.</LI>
1554 <LI>G4Radioactivation: corrected bug in which <TT>AtRestDoIt()</TT> and
1555 PostStepDoIt() both incorrectly were calling base class method
1556 <TT>DecayIt()</TT>.
1557 Removed control of verbosity as already in the base class.
1558 Removed G4cerr printouts from G4Radioactivation and
1559 G4RadioactiveDecayBase; replaced with G4cout.</LI>
1560 <LI>Added radioactive decay mode with emission of Triton, in
1561 G4RadioctiveDecay, G4RadioctiveDecayBase, and G4Radioactivation.</LI>
1562 </UL></LI>
1563 </UL>
1564
1565 <A NAME="interc-notes">
1566 <H3><I>Intercoms</I></H3></A>
1567 <UL>
1568 <LI>The following UI commands now return proper return code when they are
1569 not successful:<BR>
1570 <TT>/control/execute, loop, foreach, shell, getEnv</TT>.<BR>
1571 Addressing problem report
1572 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2159">#2159</A>.</LI>
1573 <LI>Eliminated global-scope enum in G4UItokenNum.</LI>
1574 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
1575 </UL>
1576
1577 <A NAME="interf-notes">
1578 <H3><I>Interfaces</I></H3></A>
1579 <UL>
1580 <LI>Fixed square backets around optional parameters. Addressing problem report
1581 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2132">#2132</A>.</LI>
1582 <LI>Declared Win32 a GUI, i.e., it's clickable and can have buttons.</LI>
1583 <LI>Fixed deprecation compilation warning on Visual Studio 2019 in G4UIWin32.</LI>
1584 <LI>Fixed compilation warnings for use of deprecated features reported when
1585 using Qt versions greater than 5.13.</LI>
1586 <LI>Only use imported targets for X11, Xm and Wt.</LI>
1587 <LI>Removed inclusion of QT_USE_FILE from CMake scripts. All usage is now
1588 through the qtX_ macros and imported targets.</LI>
1589 <LI>Added TiMemory support; G4UIExective will grab <TT>argc, argv</TT>
1590 and customize the output directory for TiMemory.</LI>
1591 </UL>
1592
1593 <A NAME="materials-notes">
1594 <H3><I>Materials</I></H3></A>
1595 <UL>
1596 <LI>G4DensityEffectCalculator: new class, proposing alternative computation
1597 of the density effect. Added possibility to enable on-the-fly computation of
1598 the density effect correction using "exact" formulas (added
1599 <TT>ComputeDensityEffectOnFly()</TT> method); as default the old approach
1600 is used. Added to G4IonisParamMat logic for selection of density effect
1601 parameterisation; if > 70% of mass of a compound corresponds to a
1602 particular element, then density effect parameterisation for this element
1603 is used with mass correction. Addressing problem report
1604 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2121">#2121</A>.</LI>
1605 <LI>G4Material: added free electron density; use G4NistManager to instantiate
1606 element in constructor with effective Z and A. Reordered class members.</LI>
1607 <LI>G4SandiaTable, G4IonisParamMat: use const material pointer.</LI>
1608 <LI>G4AtomicShells, G4AtomicShells_XDB_EADL: added new method
1609 GetNumberOfFreeElectrons().</LI>
1610 <LI>G4NistManager: fixed potential thread safety issue.</LI>
1611 <LI>G4IonisParamMat: set mass limit of a single element to 90%.</LI>
1612 <LI>G4IonStoppingData: fixed typo in ICRU90 material names.</LI>
1613 <LI>G4UCNMicroRoughnessHelper: corrected out-of-date URL for thesis and
1614 paper reference.</LI>
1615 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
1616 </UL>
1617
1618 <A NAME="parameterisations-notes">
1619 <H3><I>Parameterisations</I></H3></A>
1620 <UL>
1621 <LI>GFLASH:
1622 <UL>
1623 <LI>Added possibility to use sensitive detector from parallel world.</LI>
1624 </UL></LI>
1625 </UL>
1626
1627 <A NAME="part-notes">
1628 <H3><I>Particles</I></H3></A>
1629 <UL>
1630 <LI>G4DynamicParticle: added functionality to provide log-kinetic energy
1631 value, computed only on demand if its stored value is not up-to-date
1632 with the kinetic energy.
1633 Changed <TT>SetMass()</TT> method, now inlined and allowing setting mass of a
1634 particle to PDG value, which is needed in order to recover secondary
1635 hadrons to the mass shell.
1636 Code cleanup: moved data members to be private; aligned class members
1637 3-vectors, doubles, integer; added method <TT>SetPolarisation()</TT>;
1638 removed unused forward declarations and headers; keep formatting
1639 of the class in one style, removed extra empty lines.</LI>
1640 <LI>G4ShortLivedConstructor: extended method <TT>ConstructQuarks()</TT> to
1641 include diquarks made of charm and/or bottom quarks. The new, heavy diquarks
1642 and anti-diquarks have been defined with basic, rough properties (just
1643 those currently needed by the hadronic string models): future refinements
1644 are expected.</LI>
1645 <LI>G4NucleiProperties: added a simplified parameterisation variant with not too
1646 high mass values, to allow decaying fragments produced by some hadronic models
1647 and consisting of only neutrons or protons; also light ion masses computation
1648 is more thread safe after change of the order of mass computation.</LI>
1649 </UL>
1650
1651 <A NAME="pers-notes">
1652 <H3><I>Persistency</I></H3></A>
1653 <UL>
1654 <LI>ASCII:
1655 <UL>
1656 <LI>Fixed printout syntax in <TT>G4tgrUtils::GetDouble()</TT>.</LI>
1657 </UL></LI>
1658 <LI>GDML:
1659 <UL>
1660 <LI>Added support for writing out assemblies envelopes.</LI>
1661 <LI>Improved reading of optical properties reader, by allowing reuse of
1662 the same G4MaterialPropertyVector object for identical properties.</LI>
1663 <LI>G4GDMLMessenger: fix to avoid UI commands from being broadcasted to
1664 worker threads.</LI>
1665 <LI>G4GDMLRead: fix to avoid double-definition of system units.</LI>
1666 </UL></LI>
1667 </UL>
1668
1669 <A NAME="lst-notes">
1670 <H3><I>Physics lists</I></H3></A>
1671 <UL>
1672 <LI><B>Builders</B>:
1673 <UL>
1674 <LI>Replaced explicit values for the energy transition region with values
1675 from G4HadronicParameters, for nearly all builders.
1676 Note: kept unchanged the transition region between FTFP and BERT only
1677 in four cases: G4HadronPhysicsFTFP_BERT_ATL, G4HadronPhysicsINCLXX,
1678 G4HadronPhysicsNuBeam and "ShieldingM".</LI>
1679 <LI>Modified G4NeutronCrossSectionXS as consequence of code cleanup in
1680 lists and removal of G4Dataquestionaire.</LI>
1681 <LI>G4HyperonFTFPBuilder: replaced Chips inelastic cross-sections for
1682 hyperons and anti-hyperons with Glauber-Gribov ones; in this way,
1683 elastic and inelastic cross-sections follow consistently the same
1684 approach.</LI>
1685 <LI>G4BertiniKaonBuilder, G4BertiniPiKBuilder: replaced Chips inelastic
1686 cross-sections with Glauber-Gribov ones as default kaon cross-sections.</LI>
1687 <LI>G4FTFBinaryKaonBuilder, G4QGSBinaryKaonBuilder, G4QGSBinaryPiKBuilder,
1688 G4QGSPPiKBuilder, G4QGSPKaonBuilder: removed kaon cross-sections,
1689 already set by the Bertini's builder, which is always needed.</LI>
1690 </UL></LI>
1691 <LI><B>Constructors</B>:
1692 <UL>
1693 <LI><U>decay</U>
1694 <UL>
1695 <LI>G4RadioactiveDecayPhysics: replaced G4RadioactiveDecay with
1696 G4RadioactiveDecayBase. This removes the biasing functionality which
1697 is generally not used in the physics lists.</LI>
1698 </UL></LI>
1699 <LI><U>electromagnetic</U>:
1700 <UL>
1701 <LI>Added handling of UI thermalization model control in
1702 G4EmDNAPhysics_option1,2,3,4,5,6,7,8.</LI>
1703 <LI>G4EmDNAChemistry constructors: updated to follow emdna changes.</LI>
1704 <LI>Added sub-excitation processes in G4EmDNAPhysics_option8.</LI>
1705 <LI>G4EmLivermorePhysics, G4EmPenelopePhysics,
1706 G4EmStandardPhysics_option4, G4EmStandardPhysics_option3: define
1707 upper energy limit for nuclear stopping via EM parameters.
1708 In all DNA constructors, added <TT>ActivateDNA()</TT> flag to EM
1709 parameters.</LI>
1710 <LI>G4EmLivermorePhysics, G4EmLowEPPhysics, G4EmStandardPhysics_option4:
1711 use <TT>SetEmModel()</TT> instead of <TT>AddEmModel()</TT> for
1712 gamma conversion.
1713 Updated settings of the gamma conversion process to provide the
1714 original model combinations when the low energy G4BetheHeitlerModel
1715 model was replaced by the G4BetheHeitler5DModel.</LI>
1716 <LI>G4GammaGeneralProcess: fixed "Base Material" use case.
1717 Use the new, optimised log-vector access method.</LI>
1718 <LI>G4EmStandardPhysics_option2, G4EmStandardPhysics_option3:
1719 implemented "General Process" option for gamma.</LI>
1720 <LI>G4EmStandardPhysics_option4: use 5D model for gamma conversion.</LI>
1721 <LI>G4EmStandardPhysicsSS: in the case if Mott correction flag is TRUE,
1722 apply G4eSingleCoulombScatteringModel both for e+ and e-.</LI>
1723 <LI>Added G4EmDNAChemistry_option2 constructor. Added new ELSEPA
1724 elastic model for Geant4-DNA in G4EmDNAPhysics_option2.</LI>
1725 <LI>G4OpticalPhysics: set boundary process to last.
1726 Addressing problem report
1727 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2113">#2113</A>.</LI>
1728 </UL></LI>
1729 <LI><U>gamma_lepto_nuclear</U>:
1730 <UL>
1731 <LI>G4EmExtraPhysics: changed transition region from the cascade to
1732 string model <TT>3 - 6 GeV</TT>, according to values in
1733 G4HadronicParameters class (before the transition was
1734 <TT>3 - 3.5 GeV</TT>); added muon-neutrino nucleus interactions;
1735 simplified and clean-up model creation; reduced memory leak at
1736 destruction; removed extra static members and do not use extra
1737 builder classes; use <TT>std::getenv()</TT>.</LI>
1738 <LI>G4BertiniElectroNuclearBuilder: use <TT>std::getenv()</TT> for
1739 thread safety.</LI>
1740 </UL></LI>
1741 <LI><U>hadron_elastic</U>:
1742 <UL>
1743 <LI>G4HadronElasticPhysics: use HE elastic model for the full energy
1744 range; use Glauber-Gribov cross-section for hyperons.</LI>
1745 <LI>G4HadronHElasticPhysics: use Glauber-Gribov elastic cross-section
1746 for anti-hyperons (instead of Chips).</LI>
1747 <LI>G4HadronDElasticPhysics: use Glauber-Gribov cross-section for
1748 hyperons, d, t, He3, and He4.</LI>
1749 <LI>G4HadronElasticPhysicsXS, G4IonElasticPhysics: removed commented
1750 code.</LI>
1751 </UL></LI>
1752 <LI><U>hadron_inelastic</U>:
1753 <UL>
1754 <LI>Changed the energy transition region between hadronic string and
1755 intranuclear cascade models to <TT>3 - 6 GeV</TT> (it was
1756 <TT>3 - 12 GeV</TT> for pions, kaons and nucleons; it was
1757 <TT>2 - 6 GeV</TT> for hyperons; left unchanged for anti-baryons
1758 where FTFP is used for all energies), replacing explicit values
1759 with those from G4HadronicParameters, in nearly all constructors.
1760 Note: kept unchanged the transition region between FTFP and BERT
1761 only in four cases: G4HadronPhysicsFTFP_BERT_ATL,
1762 G4HadronPhysicsINCLXX, G4HadronPhysicsNuBeam and "ShieldingM".)</LI>
1763 <LI>G4HadronInelasticQBBC: use XS proton inelastic.</LI>
1764 <LI>G4HadronPhysicsFTFP_BERT_TRV: removed special treatment of hadronic
1765 inelastic cross-sections of hyperons and anti-hyperons; now it is
1766 the default in G4HyperonFTFPBuilder.</LI>
1767 <LI>G4HadronInelasticFTFQGSP_BERT, G4HadronInelasticQBBC: use
1768 Glauber-Gribov inelastic cross-sections instead of Chips ones,
1769 for hyperons and anti-hyperons.</LI>
1770 <LI>G4HadronPhysicsFTF_BIC, G4HadronPhysicsFTFP_BERT_HP,
1771 G4HadronPhysicsFTFP_BERT_TRV, G4HadronPhysicsFTFQGSP_BERT,
1772 G4HadronPhysicsQGS_BIC, G4HadronPhysicsQGSP_BERT,
1773 G4HadronPhysicsQGSP_BERT_HP, G4HadronPhysicsQGSP_BIC,
1774 G4HadronPhysicsQGSP_BIC_HP, G4HadronPhysicsQGSP_BIC_AllHP,
1775 G4HadronInelasticQBBC, G4HadronPhysicsINCLXX: removed special
1776 treatment of hadronic inelastic cross-sections of kaons (now
1777 default).</LI>
1778 </UL></LI>
1779 <LI><U>ions</U>:
1780 <UL>
1781 <LI>G4IonPhysics, G4IonPhysicsPHP, G4IonQMDPhysics:
1782 changed the transition energy region between FTFP and BIC to
1783 <TT>3 - 6 GeV</TT> (it was <TT>2 - 4 GeV</TT>), replacing explicit
1784 values with those from G4HadronicParameters.</LI>
1785 </UL></LI>
1786 <LI><U>limiters</U>:
1787 <UL>
1788 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
1789 </UL></LI>
1790 <LI><U>stopping</U>:
1791 <UL>
1792 <LI>Use FTFP also for the annihilation at rest of neutral anti-hadrons:
1793 anti-neutron, anti-lambda, anti-sigma0 and anti-xi0. This extension is
1794 is for completeness and practical convenience, although physically
1795 neutral hadrons should never be completely at rest.</LI>
1796 <LI>G4StoppingPhysicsFritiofWithBinaryCascade: new class to handle the
1797 nuclear capture at rest of negatively charged particles.
1798 It is similar to G4StoppingPhysics, with the only difference that
1799 Fritiof coupled with Binary Cascade is used instead of FTFP, for
1800 anti-proton and anti-neutron annihilation at rest.</LI>
1801 </UL></LI>
1802 </UL></LI>
1803 <LI><B>Lists</B>:
1804 <UL>
1805 <LI>Replaced G4RadioactiveDecay with G4RadioactiveDecayBase in LBE list.</LI>
1806 <LI>FTF_BIC, QGS_BIC: use the newly introduced stopping physics constructor
1807 G4StoppingPhysicsFritiofWithBinaryCascade (instead of the default
1808 G4StoppingPhysics).</LI>
1809 <LI>Shielding: replacing explicit values for the energy transition region
1810 with values from G4HadronicParameters.</LI>
1811 <LI>Code clean-up: removed template mechanism (except for
1812 G4GenericPhysicsList, G4PhysListStamper and INCLXXPhysicsListHelper);
1813 deleted copy-constructor and assignment operator; for empty destructors,
1814 use <TT>=default</TT>; moved include/x.icc to src/x.cc for lists without
1815 template; removed <TT>SetCuts()</TT> implementation where not
1816 specialised; removed version number from lists; removed
1817 G4DataQuestionaire.</LI>
1818 <LI>FTFP_BERT_HP, QGSP_BERT_HP, INCLXXPhysicsListHelper: consistently added
1819 RadioactiveDecay to all physics lists which use NeutronHP; the rationale
1820 is that precision is more valuable than speed for these physics lists.
1821 Note: the other physics lists which use NeutronHP - such as Shielding,
1822 QGSP_BIC_HP, QGSP_BIC_AllHP, and LBE - had already RadioactiveDecay
1823 activated.</LI>
1824 </UL></LI>
1825 <LI><B>Util</B>:
1826 <UL>
1827 <LI>Removed G4DataQuestionaire class.</LI>
1828 </UL></LI>
1829 </UL>
1830
1831 <A NAME="run-notes">
1832 <H3><I>Run</I></H3></A>
1833 <UL>
1834 <LI>Introduced use of G4ScoringRealWorld to allow to define command-based
1835 scorers to a logical volume in the mass world.</LI>
1836 <LI>G4RunManager, G4RunManagerKernel: addressing cases in which the GDML parser
1837 directly replaces the world volume without changing the user detector
1838 construction.</LI>
1839 <LI>Properly initialise luxury level for Ranlux* engines in MT mode.
1840 Addressing problem report
1841 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2184">#2184</A>.</LI>
1842 <LI>G4RunMessenger: properly enable <TT>/run/storeRndmStatToEvent 3</TT>
1843 UI command. Addressing problem report
1844 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2198">#2198</A>.</LI>
1845 <LI>Made G4PhysicsListHelper a thread local singleton. Fixed typo.</LI>
1846 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
1847 <LI>Updated scripts for TiMemory. Removed <TT>InitializeTiMemory()</TT> from
1848 G4RunManager.</LI>
1849 </UL>
1850
1851 <A NAME="track-notes">
1852 <H3><I>Track & Tracking</I></H3></A>
1853 <UL>
1854 <LI>G4Track: added forward declaration for G4VProcess.</LI>
1855 <LI>Fixed implicit type conversions from size_t to G4int.</LI>
1856 </UL>
1857
1858 <A NAME="vis-notes">
1859 <H3><I>Visualization</I></H3></A>
1860 <LI>Fixed compilation warnings on gcc-9.1.0.</LI>
1861 <UL>
1862 <LI><B>Management</B>
1863 <UL>
1864 <LI>Introducing cloud drawing style. New parameter candidate 'cloud' in
1865 <TT>/vis/viewer/set/style</TT>.
1866 Cloud drawing uses <TT>solid->GetPointOnSurface()</TT>,
1867 i.e., uses kernel algorithms and by-passes polyhedral representations.
1868 The solid is represented by a polymarker of dots. The default number of
1869 points is 1000. This can be changed with the command
1870 <TT>/vis/viewer/set/numberOfCloudPoints</TT>; the minimum number is 100.
1871 Note that OpenGL has a fast algorithm for polymarker.
1872 This allows us to use cloud style both as a choice or as fallback when
1873 the polyhedral representation fails, for example, when BooleanProcessor
1874 fails.</LI>
1875 <LI>New and improved commands:<BR>
1876 <TT>/vis/viewer/centreOn</TT>: improved - it does not zoom.<BR>
1877 <TT>/vis/viewer/centreAndZoomInOn</TT>: new.<BR>
1878 <TT>/vis/touchable/centreOn</TT>: improved - it does not zoom.<BR>
1879 <TT>/vis/touchable/centreAndZoomInOn</TT>: new.<BR>
1880 <TT>/vis/touchable/extentForField</TT> and <TT>volumeForField</TT>: new.<BR>
1881 <TT>/vis/scene/showExtents</TT>: new.<BR>
1882 <TT>/vis/set/volumeForField</TT>: new.<BR>
1883 <TT>/vis/touchable/showExtent</TT>: new.</LI>
1884 <LI>Reworked <TT>/vis/scene/add/eventID</TT> command: just writes a summary
1885 at end of run; except when reviewing, kept events one by one, in which
1886 case it writes run and event no for each event.</LI>
1887 <LI>Ensure <TT>/vis/drawTree</TT> works even if vis is disabled.</LI>
1888 <LI>Added copy number parameter to <TT>/vis/touchable/findPath</TT>.</LI>
1889 <LI>Implemented <TT>/vis/set/extentForField</TT> command: the default is a
1890 null extent, which is to be interpreted by the field model as the whole
1891 extent of the current scene. Otherwise, with this command, one can
1892 limit the extent over which the field is drawn. This would help, for
1893 example, if drawing over the whole scene produced so many arrows or
1894 lines that it clutters the scene. Changed the default spacing:
1895 the parameter <TT>nDataPointsPerHalfExtent</TT> is changed from 10 to 3,
1896 so as not to clutter the scene. See guidance of
1897 <TT>/vis/scene/add/*Field</TT> commands for further explanation.</LI>
1898 <LI>Provide ability to draw electric fields, and eventually any other
1899 field. Added <TT>/vis/scene/add/electricField</TT> by analogy to existing
1900 <TT>.../magneticField</TT>.</LI>
1901 <LI>Refactor MagneticFieldModel class with new base to handle all kinds of
1902 vector fields; existing, and new ElectricFieldModel only have to
1903 implement a simple function to get the field vector at a location.</LI>
1904 <LI>Include parameterised volumes in overlap checking and visualisation
1905 in G4LogicalVolumeModel (in addition to ordinary placements).</LI>
1906 <LI>Add G4TessellatedSolid to list of solids that may be specially treated.</LI>
1907 <LI>Introduced <TT>/vis/viewer/centreOn</TT> and
1908 <TT>/vis/touchable/centreOn</TT> UI commands.
1909 This allows one to centre the view (zoom in) on a volume.
1910 Reset with <TT>/vis/viewer/reset</TT>.</LI>
1911 <LI>Rationalised view interpolation; encapsulate algorithm into base class
1912 G4VVisCommand, so that commands <TT>/vis/viewer/interpolate</TT>,
1913 <TT>/vis/viewer/centreOn</TT> and <TT>/vis/touchable/centerOn</TT>
1914 now use this.
1915 Might consider use by all view changing commands.</LI>
1916 <LI>Clear if scene contains no run duration models (e.g., after geometry
1917 has changed).</LI>
1918 <LI>Augment G4VUserVisAction.</LI>
1919 <LI>G4VSceneHandler: added namespace scope to MeshScoreMap.</LI>
1920 <LI>Fixed bug in <TT>/vis/viewer/set/sectionPlane</TT>.</LI>
1921 <LI>Corrected few typos in printout/comments.</LI>
1922 <LI>Improved guidance for <TT>/vis/scene/add/volume</TT>.</LI>
1923 <LI>Minor improvements to visualization manager.</LI>
1924 <LI>Fixed Boolean operators to return G4bool.</LI>
1925 <LI>Several small improvements and fixes.</LI>
1926 <LI>Replaced use of <TT>std::experimental::filesystem</TT> with
1927 <TT>std::filesystem</TT> for
1928 WIN32 target in G4VisCommandsViewer. Forcing C++17 default builds on
1929 Windows and allow for porting on Visual Studio 2019.</LI>
1930 <LI>Fixed Coverity defects.</LI>
1931 </UL></LI>
1932 <LI><B>Modeling:</B>
1933 <UL>
1934 <LI>Introduced G4BoundingExtentScene. This allows one to accumulate extents
1935 using the newly introduced <TT>G4VisExtent::Transform()</TT> and is a
1936 better way of determining the overall extent of a scene (or of any set
1937 of extents) than by the bounding sphere approach.</LI>
1938 <LI>G4VFieldModel, G4ElectricFieldModel, G4MagneticFieldModel: new
1939 abstraction for field models.</LI>
1940 <LI>Arrows and field models: introduced further protection.</LI>
1941 <LI>G4VModel: introduced <TT>GetTransformedExtent()</TT> method.</LI>
1942 <LI>G4PhysicalVolumeModel: use G4BoundingExtentScene instead of
1943 G4BoundingSphereScene. Fixed bug whereby the local extent was
1944 incorrectly calculated.</LI>
1945 <LI>G4CallbackModel: include modeling parameters in passed arguments.</LI>
1946 <LI>Fixed bug in <TT>/vis/viewer/set/sectionPlane</TT>.</LI>
1947 <LI>Fixed <TT>setLineVisible()</TT> in <TT>/vis/modeling</TT>.</LI>
1948 <LI>Added volume count (but commented out printing).</LI>
1949 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
1950 </UL></LI>
1951 <LI><B>OpenGL</B>
1952 <UL>
1953 <LI>Improved X window opening.</LI>
1954 <LI>Removed default font size.</LI>
1955 <LI>Force double buffer context for OGLIX.</LI>
1956 <LI>Force kernel visit on change of number of cloud points.</LI>
1957 <LI>Avoid re-using display lists for markers. They may have their own
1958 position relative to the overall object transformation.</LI>
1959 <LI>Extended glFlush scaling to all circumstances.</LI>
1960 <LI>Refine DisplayListLimit command guidance and output.</LI>
1961 <LI>Rationalise headers inclusion in G4OpenGLQtViewer.</LI>
1962 <LI>Fixed compilation warnings for use of deprecated features reported when
1963 using Qt versions greater than 5.13.</LI>
1964 <LI>Only link to imported targets for Motif and X11
1965 Removed inclusion of QT_USE_FILE from CMake scripts.
1966 All usage is now through the qtX_ macros and imported targets.</LI>
1967 </UL></LI>
1968 <LI><B>OpenInventor</B>
1969 <UL>
1970 <LI>Test number of cloud points for kernel visit.</LI>
1971 <LI>Added missing protection on G4VIS_BUILD_OIX_DRIVER.</LI>
1972 <LI>Fixed compilation warning from gcc-9.1 in SoCounterAction for setting
1973 of name, apparently not allowed in OpenInventor.</LI>
1974 <LI>Corrected few typos in printout/comments.</LI>
1975 <LI>Removed inclusion of QT_USE_FILE from CMake scripts.
1976 All usage is now through the qtX_ macros and imported targets.</LI>
1977 </UL></LI>
1978 <LI><B>Raytracer</B>
1979 <UL>
1980 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
1981 <LI>Link to X11 imported targets when building X11 driver.</LI>
1982 </UL></LI>
1983 <LI><B>Tree</B>
1984 <UL>
1985 <LI>Fixed typo in output message.</LI>
1986 </UL></LI>
1987 <LI><B>XXX</B>
1988 <UL>
1989 <LI>Force kernel visit on change of number of cloud points.</LI>
1990 </UL></LI>
1991 <LI><B>Externals</B>
1992 <UL>
1993 <LI>Updated gl2ps sub-module to version 1.4.0.</LI>
1994 <LI>Only link to imported targets for OpenGL; explicitly link to global
1995 modules to use/propagate usage requirements.</LI>
1996 </UL></LI>
1997 </UL>
1998
1999 <A NAME="env-notes">
2000 <H3><I>Environments</I></H3></A>
2001 <UL>
2002 <LI>G4Py:
2003 <UL>
2004 <LI>Updated interfaces for release 10.6.</LI>
2005 <LI>g4pym boost_python library name can be specified in cmake.
2006 Addressing problem report
2007 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2059">#2059</A>.</LI>
2008 </UL></LI>
2009 </UL>
2010
2011 <A NAME="data-notes">
2012 <H3><I>Data sets</I></H3></A>
2013 <UL>
2014 <LI>New low-energy data set version, <B>G4EMLOW-7.9</B>:
2015 <UL>
2016 <LI>Added ELSEPA elastic model for Geant4-DNA.</LI>
2017 </UL></LI>
2018 <LI>New data set version <B>G4PhotonEvaporation-5.5</B> for nuclear de-excitation
2019 data:
2020 <UL>
2021 <LI>Fixed z85.a217 file (217At).</LI>
2022 </UL></LI>
2023 <LI>New data set version for radioactive-decay processes,
2024 <B>G4RadioactiveDecay-5.4</B>:
2025 <UL>
2026 <LI>Updated z2.a8, z3.a8, and z4.a8 and add z4.a9 for 9Li and 8He decays.</LI>
2027 <LI>Corrected capture data for I-1125.</LI>
2028 <LI>Updated Er-169(z68.a169) according to DDEP.</LI>
2029 <LI>Added firstForbidden flags to Tb-161 (z65.a161).</LI>
2030 <LI>Added M-shell and N-shell capture to Sc-44 (z21.a44).</LI>
2031 </UL></LI>
2032 <LI>New data files for evaluated cross-sections <B>G4PARTICLEXS-2.1</B>:
2033 <UL>
2034 <LI>Added data for neutrino.</LI>
2035 <LI>Updated cross-sections for low Z targets at low energy.</LI>
2036 <LI>Regenerated n, p, d, t, He3, He4, gamma data, providing smoother
2037 cross-section shape.</LI>
2038 </UL></LI>
2039 <LI>New data set version for high-precision neutrons, <B>G4NDL-4.6</B>:
2040 <UL>
2041 <LI>New neutron cross-sections and final states obtained from JEFF-3.3
2042 (previous were based mainly on ENDF/B-VII.1). Files not coming from
2043 JEFF-3.3 and corresponding to previous G4NDL version are: JENDL_HE,
2044 IsotopeProduction, ThermalScattering, Inelastic/Gammas, Fission/FF.
2045 Information concerning the conversion process of JEFF-3.3 to the
2046 G4NDL format can be found in: E.Mendoza and D.Cano-Ott, IAEA technical
2047 report INDC(NDS)-0758, Vienna, 2018.</LI>
2048 </UL></LI>
2049 </UL></LI>
2050
2051 <A NAME="ex-notes">
2052 <H3><I>Examples</I></H3></A>
2053 <UL>
2054 <LI>Updated reference outputs, macros, READMEs and scripts.</LI>
2055 <LI>Fixes for Doxygen documentation and coding guidelines.</LI>
2056 <LI>Removed presence of G4VIS_USE and G4_UI_USE flags.</LI>
2057 <LI>Avoid "using namespace std" in headers.</LI>
2058 <LI><B><U>advanced</U></B>
2059 <UL>
2060 <LI><B>air_shower</B>
2061 <UL>
2062 <LI>Minor code cleanup.</LI>
2063 </UL></LI>
2064 <LI><B>brachytherapy</B>
2065 <UL>
2066 <LI>Added G4VScoringMesh:: scope identifier to BrachyUserScoreWriter.</LI>
2067 </UL></LI>
2068 <LI><B>composite_calorimeter</B>
2069 <UL>
2070 <LI>Fixed cases of type conversions from size_t to G4int.</LI>
2071 <LI>Some code cleanup.</LI>
2072 </UL></LI>
2073 <LI><B>gammaknife</B>
2074 <UL>
2075 <LI>Added G4VScoringMesh:: scope identifier to GammaKnifeController.</LI>
2076 </UL></LI>
2077 <LI><B>hadrontherapy</B>
2078 <UL>
2079 <LI>Make use of endl consistent with <TT>g4cout</TT> or <TT>std::cout</TT>.</LI>
2080 </UL></LI>
2081 <LI><B>human_phantom</B>
2082 <UL>
2083 <LI>Fix in geometry of the MIRD phantom.</LI>
2084 </UL></LI>
2085 <LI><B>nanobeam</B>
2086 <UL>
2087 <LI>Include G4Types.hh header in <TT>main()</TT>, before use of
2088 G4MULTITHREADED.</LI>
2089 </UL></LI>
2090 <LI><B>STCyclotron</B>
2091 <UL>
2092 <LI>New example modelling a solid target of a cyclotron to study the
2093 production of the radioisotope of interest for proton irradiation.</LI>
2094 </UL></LI>
2095 <LI><B>underground_physics</B>
2096 <UL>
2097 <LI>DMXPhysicsList: added Glauber-Gribov cross-section for all elastic
2098 processes. Clean-up both EM, hadronic and radioactive decay.</LI>
2099 </UL></LI>
2100 </UL></LI>
2101 <LI><B><U>basic</U></B>
2102 <UL>
2103 <LI><B>B1</B>
2104 <UL>
2105 <LI>Use default MixMax random engine.</LI>
2106 </UL></LI>
2107 <LI><B>B2</B>
2108 <UL>
2109 <LI>Use default MixMax random engine.</LI>
2110 </UL></LI>
2111 <LI><B>B3</B>
2112 <UL>
2113 <LI>Added score ntuple writer.</LI>
2114 <LI>Use default MixMax random engine.</LI>
2115 </UL></LI>
2116 <LI><B>B4</B>
2117 <UL>
2118 <LI>Added score ntuple writer in B4d.</LI>
2119 <LI>Use default MixMax random engine.</LI>
2120 <LI>Updated B4d/run2.mac for modified score n-tuple writer UI commands.</LI>
2121 </UL></LI>
2122 <LI><B>B5</B>
2123 <UL>
2124 <LI>Use new factory method to create G4AnalysisManager.</LI>
2125 <LI>Removed B5Analysis header, no longer needed.</LI>
2126 <LI>Fixed cases of type conversions from size_t to G4int in
2127 B5HodoscopeSD.</LI>
2128 </UL></LI>
2129 </UL></LI>
2130 <LI><B><U>extended</U></B>
2131 <UL>
2132 <LI><B>analysis</B>
2133 <UL>
2134 <LI>Removed B3aScoreWriter, B4dScoreWriter examples. The score ntuple
2135 writer is now provided with Geant4 source and demonstrated in basic
2136 B3 abd B4d examples.</LI>
2137 </UL></LI>
2138 <LI><B>biasing</B>
2139 <UL>
2140 <LI><B>B03</B>
2141 <UL>
2142 <LI>B03PhysicsList: explicitly define hadronic cross-sections.
2143 Use G4NeutronInelasticXS cross-section.</LI>
2144 </UL></LI>
2145 <LI><B>GB07</B>
2146 <UL>
2147 <LI>New example illustrating how to use the leading particle
2148 biasing option.</LI>
2149 </UL></LI>
2150 <LI><B>ReverseMC01</B>
2151 <UL>
2152 <LI>Updated for clean-up in analysis typedefs: G4AnaHn types
2153 replaced with G4Hn.</LI>
2154 <LI>Fixed cases of type conversions from size_t to G4int.</LI>
2155 </UL></LI>
2156 </UL></LI>
2157 <LI><B>electromagnetic</B>
2158 <UL>
2159 <LI><B>TestEm0</B>
2160 <UL>
2161 <LI>PhysicsList: define options, specific for this example after
2162 new EM physics is selected; cleaned-up constructor; Opt0 is
2163 the default; set BuildCSDARange to true.</LI>
2164 </UL></LI>
2165 <LI><B>TestEm1</B>
2166 <UL>
2167 <LI>Added G4NIELCalculator and corresponding histograms and
2168 printouts; general clean-up of the code; use default random
2169 number generator.</LI>
2170 <LI>PhysicsList: disabled GeneralProcess for EM physics.
2171 Added <TT>BuildCSDARange()</TT> and set option3 as default.
2172 Cleanup in initialisation.</LI>
2173 </UL></LI>
2174 <LI><B>TestEm5</B>
2175 <UL>
2176 <LI>StackinAction: fixed log histograms, which where filled in
2177 a wrong way.</LI>
2178 <LI>PhysListEm19DStandard: use 3-gamma annihilation model.</LI>
2179 </UL></LI>
2180 <LI><B>TestEm7</B>
2181 <UL>
2182 <LI>Fixed compilation on Windows for unused exception object
2183 in <TT>G4NativeScreenedCoulombCrossSection::LoadData()</TT>.</LI>
2184 </UL></LI>
2185 <LI><B>TestEm13, TestEm14</B>
2186 <UL>
2187 <LI>Updated PhysListEmStandard, Livermore and Penelope to return
2188 back to register only post step part of the processes.</LI>
2189 </UL></LI>
2190 <LI><B>TestEm15</B>
2191 <UL>
2192 <LI>SteppingAction: do not fill hist #11,#12 when no recoil
2193 returned.</LI>
2194 <LI>SteppingAction, PhysList5DStandard: added
2195 G4GammaConversionToMuons process.</LI>
2196 </UL></LI>
2197 <LI><B>TestEm16</B>
2198 <UL>
2199 <LI>PhysicsList: use G4DecayPhysics and drop G4AutoDelete.</LI>
2200 <LI>Migrated to use default MixMax generator.</LI>
2201 </UL></LI>
2202 <LI><B>TestEm17</B>
2203 <UL>
2204 <LI>Updated for clean-up in analysis typedefs: G4AnaHn
2205 types replaced with G4Hn.</LI>
2206 <LI>HistoManager: fixed histo title and index; fixed macro files.</LI>
2207 <LI>Code clean-up; switch to MixMax random generator.</LI>
2208 </UL></LI>
2209 </UL></LI>
2210 <LI><B>eventgenerator</B>
2211 <UL>
2212 <LI>Removed GunGPS example as obsolete.</LI>
2213 </UL></LI>
2214 <LI><B>exoticphysics</B>
2215 <UL>
2216 <LI><B>monopole</B>
2217 <UL>
2218 <LI>Use G4Threading::IsMultithreadedApplication() instead of
2219 G4MULTITHREADED flag; this fixes compilation of code when used
2220 in sequential application built against Geant4 libraries built
2221 with MT.</LI>
2222 </UL></LI>
2223 <LI><B>ucn</B>
2224 <UL>
2225 <LI>Enabled use of Gravity in physics list.</LI>
2226 </UL></LI>
2227 </UL></LI>
2228 <LI><B>field</B>
2229 <UL>
2230 <LI><B>field04</B>
2231 <UL>
2232 <LI>Removed useless double-definition of copy-ctr for
2233 F04StepMax and deleted.</LI>
2234 </UL></LI>
2235 <LI><B>field06</B>
2236 <UL>
2237 <LI>Adjusted to changes in G4Transportation (need to inform
2238 of use of gravity) and corrected creation of G4ChordFinder.</LI>
2239 </UL></LI>
2240 </UL></LI>
2241 <LI><B>hadronic</B>
2242 <UL>
2243 <LI><B>Hadr00</B>
2244 <UL>
2245 <LI>Cleaned-up macro files.</LI>
2246 </UL></LI>
2247 <LI><B>Hadr01</B>
2248 <UL>
2249 <LI>HistoManager: added linear histogram for pion energy at
2250 production.</LI>
2251 <LI>DetectorConstruction: added "Battery" material and new macro
2252 test_battery.in. Addressing problem report
2253 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2175">#2175</A>.</LI>
2254 </UL></LI>
2255 <LI><B>Hadr02</B>
2256 <UL>
2257 <LI>G4CRMCModel: some improvements (e.g. considered the
2258 energy-per-nucleon, instead of the whole projectile, in the
2259 case of nucleus projectile) and better documentation (in the
2260 form of comments in the class).</LI>
2261 <LI>HadronPhysicsCRMC_FTFP_BERT: use G4HadronicParameters for the
2262 energy transition region between FTF and BERT models.</LI>
2263 </UL></LI>
2264 <LI><B>Hadr08</B>
2265 <UL>
2266 <LI>New example showing how to use the "generic biasing" feature
2267 for setting different hadronic physics models according to
2268 detector regions.</LI>
2269 </UL></LI>
2270 </UL></LI>
2271 <LI><B>medical/DICOM</B>
2272 <UL>
2273 <LI>Defaulted copy-ctr in DicomPhantomZSliceHeader, to fix deprecation
2274 compilation warnings on gcc-9.1.</LI>
2275 <LI>Correct DicomHandler singleton for use on Windows.</LI>
2276 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
2277 <LI>Some minor code cleanup.</LI>
2278 </UL></LI>
2279 <LI><B>medical/DICOM2</B>
2280 <UL>
2281 <LI>Use updated DicomHandler singleton to fix crash on Windows.</LI>
2282 <LI>Fixed cases of implicit type conversions from size_t to G4int.</LI>
2283 <LI>Include G4Types.hh header in main(), before use of
2284 G4MULTITHREADED.</LI>
2285 </UL></LI>
2286 <LI><B>medical/dna</B>
2287 <UL>
2288 <LI><B>chem2, chem3</B>:
2289 <UL>
2290 <LI>Clean-up of TimeStepAction.</LI>
2291 </UL></LI>
2292 <LI><B>chem4</B>:
2293 <UL>
2294 <LI>Added UI commands for one step thermalization model selection
2295 in macro beam.in.</LI>
2296 <LI>Make Species alias of const G4MolecularConfiguration.</LI>
2297 <LI>Create the analysis manager via the new factory function.</LI>
2298 </UL></LI>
2299 <LI><B>chem5</B>:
2300 <UL>
2301 <LI>Make Species alias of const G4MolecularConfiguration.</LI>
2302 <LI>Removed unused inclusion of g4analysis_defs header from
2303 ScoreSpecies.</LI>
2304 </UL></LI>
2305 <LI><B>dnadamage1</B>:
2306 <UL>
2307 <LI>New example showing a simple way to simulate dna direct and
2308 indirect damages using Geant4-DNA physics and chemical processes
2309 in a molecular DNA geometry.</LI>
2310 </UL></LI>
2311 <LI><B>icsd</B>:
2312 <UL>
2313 <LI>Reduced event statistics in icsd.mac input macro, in order to
2314 reduce run-time in testing.</LI>
2315 </UL></LI>
2316 <LI><B>microdosimetry</B>:
2317 <UL>
2318 <LI>Updated plot.C.</LI>
2319 </UL></LI>
2320 <LI><B>microprox</B>:
2321 <UL>
2322 <LI>New example showing how to compute proximity functions in
2323 liquid water using exclusively Geant4-DNA physics processes
2324 and models.</LI>
2325 </UL></LI>
2326 <LI><B>microyz</B>:
2327 <UL>
2328 <LI>Added condensed history models including step size control.</LI>
2329 <LI>Added EM UI commands in microyz.in.</LI>
2330 <LI>Fixed Boolean operators to return G4bool.</LI>
2331 </UL></LI>
2332 </UL></LI>
2333 <LI><B>medical/electronScattering2</B>
2334 <UL>
2335 <LI>Fixed warning about attempting to add multiple times the same
2336 sensitive detector.</LI>
2337 <LI>Fixed compilation warning on Windows for unused out_of_range
2338 exception object in <TT>Run::Merge()</TT>.</LI>
2339 </UL></LI>
2340 <LI><B>medical/fanoCavity, fanoCavity2</B>
2341 <UL>
2342 <LI>DetectorConstruction: simplification of DefineMaterial().</LI>
2343 <LI>DetectorConstruction, DetectorMessenger: fixed usage of base
2344 materials and cleanup (should fix ~1% error for Opt4 EM physics).</LI>
2345 <LI>PhysListEmStandard_option4: set RangeFactor to 0.08 (as in the
2346 physics_list library). PhysListEmStandard_option3: set parameters as
2347 in the physics_list library.</LI>
2348 </UL></LI>
2349 <LI><B>optical/LXe</B>
2350 <UL>
2351 <LI>LXeDetectorConstruction: removed protection against rebuilding
2352 detector.</LI>
2353 <LI>LXeEventAction: commented out randomSaveEvent.</LI>
2354 <LI>Update PMT positions when changing number of PMTs.</LI>
2355 <LI>Set fewer particles in wls.mac and cerenkov.mac input macros.</LI>
2356 <LI>Use unique analysis filenames.</LI>
2357 </UL></LI>
2358 <LI><B>optical/OpNovice</B>
2359 <UL>
2360 <LI>Use G4OpticalPhysics and G4SteppingVerbose.</LI>
2361 <LI>Removed unused surface parameters.</LI>
2362 </UL></LI>
2363 <LI><B>optical/OpNovice2</B>
2364 <UL>
2365 <LI>Added surface roughness and polish commands.</LI>
2366 <LI>Recording scintillation photon creation time.</LI>
2367 <LI>Use unique analysis filenames.</LI>
2368 <LI>Updated macros.</LI>
2369 </UL></LI>
2370 <LI><B>optical/wls</B>
2371 <UL>
2372 <LI>Avoid storing random number seeds.</LI>
2373 <LI>Use G4OpticalPhysics and G4SteppingVerbose.</LI>
2374 </UL></LI>
2375 <LI><B>parallel</B>
2376 <UL>
2377 <LI><B>MPI</B>
2378 <UL>
2379 <LI>Fixed compilation error in G4MPIextraWorker.
2380 Addressing problem report
2381 <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=2163">#2163</A>.</LI>
2382 <LI>Fixed exMPI03, exMPI04; compilation of G4MPIscorerMerger was
2383 broken after changes in scorers.</LI>
2384 <LI>Added new option <TT>rowMode</TT> for ntuple merging; changed the
2385 default merging mode to the new one (column-wise with preserved
2386 rows) and updated the analysis code.</LI>
2387 </UL></LI>
2388 <LI><B>ThreadsafeScorers</B>
2389 <UL>
2390 <LI>Fixed compilation warning on Windows for calling
2391 TIMEMORY_AUTO_TIMER with no arguments in
2392 <TT>TSPrimaryGeneratorAction::GeneratePrimaries()</TT>.</LI>
2393 </UL></LI>
2394 <LI><B>TopC</B>
2395 <UL>
2396 <LI>Added info/HowToTest.txt with a short summary of the build
2397 instructions.</LI>
2398 </UL></LI>
2399 </UL></LI>
2400 <LI><B>parameterisation</B>
2401 <UL>
2402 <LI><B>gflash</B>
2403 <UL>
2404 <LI>Extend GFlash examples set by moving existing 'gflash' example
2405 to gflash1.</LI>
2406 <LI>Added example gflash2 with envelope in parallel world.</LI>
2407 <LI>Added example gflash3 with SD in parallel world.</LI>
2408 <LI>Added example gflasha with histogramming of shower profiles.
2409 Allows comparing shower profiles from fast simulation with full
2410 simulation.</LI>
2411 </UL></LI>
2412 </UL></LI>
2413 <LI><B>persistency</B>
2414 <UL>
2415 <LI><B>gdml/G01</B>
2416 <UL>
2417 <LI>Added <TT>BeamOn(0)</TT> to initialize range to energy converters
2418 needed when exporting cuts per volume.</LI>
2419 <LI>Enabled overlaps checking in example.</LI>
2420 <LI>Corrected overlap in assembly.gdml sample.</LI>
2421 <LI>Corrected CMake script to install otherwise missing GDML
2422 sample file.</LI>
2423 </UL></LI>
2424 <LI><B>P01</B>
2425 <UL>
2426 <LI>Fixed definition of allocator in ExP01TrackerHit.</LI>
2427 </UL></LI>
2428 </UL></LI>
2429 <LI><B>radioactivedecay</B>
2430 <UL>
2431 <LI><B>rdecay01</B>
2432 <UL>
2433 <LI>PhysicsList: replaced G4RadioactiveDecay with refactored class
2434 G4Radioactivation.</LI>
2435 <LI>TrackingAction: if 'fFullChain' set kinetic energy to zero.</LI>
2436 <LI>In <TT>timeWindow</TT> command, allow t1 = 0.</LI>
2437 <LI>Documented timeWindowBiased.mac input macro.</LI>
2438 </UL></LI>
2439 <LI><B>rdecay02</B>
2440 <UL>
2441 <LI>New class BiasedRDPhysics using new G4Radioactivation process
2442 with all biasing available.</LI>
2443 <LI>In PhysicsList, replaced G4RadioactiveDecayPhysics with
2444 BiasedRDPhysics, also removed HP option physics lists.</LI>
2445 <LI>In Run, replaced G4RadioactiveDecay with G4Radioactivation.</LI>
2446 </UL></LI>
2447 </UL></LI>
2448 <LI><B>runandevent</B>
2449 <UL>
2450 <LI><B>RE03</B>
2451 <UL>
2452 <LI>Added G4VScoringMesh:: scope identifier to RE03UserScoreWriter.</LI>
2453 </UL></LI>
2454 </UL></LI>
2455 </UL>
2456 </UL>
2457
2458 <HR>
2459
2460 </BODY>
2461 </HTML>