Files
geant4/ReleaseNotes/ReleaseNotes4.9.4.html
T
2016-06-09 16:25:56 +02:00

2259 lines
111 KiB
HTML

<HTML>
<HEAD>
<TITLE>Geant4 9.4 Release Notes</TITLE>
</HEAD>
<BODY BGCOLOR='F0F0F0'>
<P> </P>
<BR>
<P> </P>
<P ALIGN="Center">
<FONT SIZE="+4" COLOR="#238E23">
<B>Geant4 9.4 Release Notes</B>
</FONT>
<TABLE WIDTH="100%">
<TR><TD ALIGN="Right">
<FONT SIZE="-1" COLOR="#5C3317">
<B><I>December 17<SUP>th</SUP>, 2010</I></B>
</FONT>
</TD></TR>
</TABLE>
<BR><BR>
<HR ALIGN="Center" SIZE="7%">
<P>
The code and binary libraries for the supported systems are available
through our <A TARGET="ext" HREF="http://cern.ch/geant4/support/download.shtml">Source
Code Web page</A>.
</P>
<P>
<I>We are grateful for the efforts of Geant4 users who have provided
detailed feedback or comprehensive reports of issues.
We thank in particular those who have contributed corrections,
improvements or developments included in this release. </I>
</P>
<P>
Please refer to the
<A TARGET="ext" HREF="http://cern.ch/geant4/support/userdocuments.shtml">Geant4
User Documentation</A> for further information about using Geant4.
</P>
<H2><I>Contents</I></H2>
<OL>
<LI><A HREF="#1.">Supported and Tested Platforms</A></LI>
<LI><A HREF="#2.">CLHEP and AIDA</A></LI>
<LI><A HREF="#3.">Items for migration of the user code</A></LI>
<LI><A HREF="#4.">New Developments and Capabilities</A></LI>
<LI><A HREF="#5.">Expected effects on physics and performance</A></LI>
<LI><A HREF="#6.">Known Run-Time Problems and Limitations</A></LI>
<LI><A HREF="#7.">Compilation Warnings</A></LI>
<LI><A HREF="#8.">Known Run-Time Warnings</A></LI>
<LI><A HREF="#9.">Geant4 Software License</A></LI>
<LI><A HREF="#10.">Detailed list of changes and fixes</A></LI>
</OL>
<P> </P>
<A NAME="1."></a>
<HR>
<!-- ============================================== -->
<H2>1. Supported and Tested Platforms</H2>
Officially tested platforms:
<UL>
<LI>Linux, gcc-4.1.2 and gcc-4.3.2 (SLC5).<BR>
Tested on 32 and 64 bit architectures (Intel or AMD) with
Scientific Linux CERN 5 (SLC5) (based on RedHat Linux Enterprise 5).</LI>
<LI>MacOSX 10.6 with gcc-4.2.1</LI>
<LI>Windows/XP and CygWin Tools with: Visual C++ 9.0 (Visual Studio 2008)</LI>
</UL>
More verified configurations:
<UL>
<LI>Linux, gcc-4.5.1, gcc-3.4.6 (SLC4)</LI>
<LI>Linux, Intel-icc 11.1</LI>
</UL>
Platforms configured but neither tested nor supported:
<UL>
<LI>AIX 4.3.2, xlC 6.0</LI>
<LI>DEC V4.0, cxx C++ V6.1-027</LI>
<LI>HP 10.20, aCC C++ B3910B A.01.23</LI>
<LI>MacOSX 10.4, gcc-3.3</LI>
<LI>MacOSX 10.5, gcc-4.0.1</LI>
<LI>SGI V6.5.5, CC 7.2.1</LI>
<LI>SUN Solaris 5.8, C++ CC-5.5.</LI>
</UL>
<P> </P>
<A NAME="2."></A>
<HR>
<!-- ============================================== -->
<H2>2. CLHEP and AIDA</H2>
This release of Geant4 has been verified with
<A TARGET="ext" HREF="http://cern.ch/clhep/">CLHEP</A>, release <B>2.1.0.1</B>.
Use of a different CLHEP version may cause incorrect simulation results.
<P> </P>
Most Geant4 9.4 examples with histogramming co-work with analysis tools
compliant to AIDA 3.2.1 interfaces (for details, see
<A TARGET="ext" HREF="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas02.html">Appendix 2</A>
of the
<A TARGET="ext" HREF="http://cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/">Users Guide for Application Developers</A>).
AIDA headers can be downloaded from:
<A TARGET="ext" HREF="http://aida.freehep.org/">http://aida.freehep.org</A>
<P> </P>
<A NAME="3."></A>
<HR>
<!-- ============================================== -->
<H2>3. Items for migration of the user code</H2>
Listed here is some relevant information on developments included in this
release, some of which may require migrations (mainly for users of advanced
Geant4 features) in order to upgrade from release 9.3 to release 9.4.
Note that for all users a full re-installation of libraries (or a full
recompilation) and a recompilation of user applications is required.
<P> </P>
<B>Standard Electromagnetic physics</B>
<P> </P>
<UL>
<LI>Changed default multiple scattering models to <TT>G4UrbanMscModel93</TT>
for electrons and positron, <TT>G4WentzelVIModel</TT> for muons.
<TT>G4UrbanMscModel90</TT> remains the choice for other particles.</LI>
<LI>Removed obsolete classes <TT>G4MultipleScattering, G4UrbanMscModel</TT> and
<TT>G4UrbanMscModel2</TT>. The use of multiple scattering processes
specialised by particle type (<TT>G4eMultipleScattering, G4hMultipleScattering</TT>
and <TT>G4MuMultipleScattering</TT>) is now mandatory.
</UL>
<P> </P>
<B>Low Energy Electromagnetic physics</B>
<P> </P>
<UL>
<LI>The Geant4-DNA <TT>G4DNAEmfietzoglouExcitationModel</TT> class for the modeling of
electron excitation in liquid water is obsolete and should be replaced
by the <TT>G4DNABornExcitationModel</TT> class.</LI>
</UL>
<P> </P>
<B>Persistency</B>
<P> </P>
<UL>
<LI>GDML: to better match the schema definition, a correction to the 'value'
type from <TT>double</TT> to <TT>string</TT> has been made for the
auxiliary-information returned by <TT>G4GDMLParser</TT>. This may require
related change in the user code, where the auxiliary information feature
is used.</LI>
</UL>
<P> </P>
<B>Physics Lists</B>
<P> </P>
<UL>
<LI>Previously obsolete physics lists have been deleted, for the detailed
list please see <a href="#lst-notes">below</a>.
<LI>Introduced new constructor for all builders with a common signature.
Previous constructors are kept for this release, but are declared obsolete.
They will be removed in a future release.
</LI>
</UL>
<P> </P>
<B>Visualization</B>
<P> </P>
<UL>
<LI>The visualization trajectory modeling command
<TT>/vis/modeling/trajectories/create/drawByParticleID</TT>
used to default all trajectories to grey, with the user having to
explicitly set any other color code. While the user can still set any
wished color code, the default has been improved to:
<TT>[e-/red; e+/blue; proton/cyan; gamma/green; neutron/yellow;
pi+,pi-,pi0/magenta; other/grey]</TT>.</LI>
<LI>In some examples, visualization that used to draw trajectories as simple
lines now also draws step points. Users who wish to disable step point
drawing can do so by commenting out a line in the visualization macro.</LI>
</UL>
<P> </P>
<B>Data Sets</B>
<P> </P>
This release introduces new data sets and also new versions.
Please see the corresponding details in
<A href="#data-notes">Section 10</A> of this document.
<UL>
<LI>G4NEUTRONXS-1.0, new data set for evaluated neutron cross-section data
on natural composition of elements (controlled by variable
<TT>G4NEUTRONXSDATA</TT>).</LI>
<LI>G4PII-1.2, new data set for shell ionisation cross-sections (controlled
by variable <TT>G4PIIDATA</TT>).</LI>
<LI>New data set versions: <TT>G4EMLOW.6.19, G4RadioactiveDecay.3.3,
G4PhotonEvaporation.2.1, G4NDL.3.14</TT>.</LI>
</UL>
<P> </P>
<A NAME="4."></A>
<HR>
<!-- ============================================== -->
<H2>4. New Developments and Capabilities </H2>
<B>Geometry</B>
<UL>
<LI>It is now possible to introduce gaps between slices in divisions,
by making use of a new specialised physical-volume type,
<TT>G4ReplicatedSlice</TT> for defining the divided daughter volumes.</LI>
<LI>In regular voxelised geometries, the restriction for voxels to completely
fill the envelope container is now relaxed. It is now allowed to define
envelopes of different types other than box for regular geometries,
by making use of a new parameterisation helper class
<TT>G4PartialPhantomParameterisation</TT>.</LI>
<LI>A new specific shape, <TT>G4GenericTrap</TT>, is now implemented.
This new solid represents an arbitrary trapezoid with up to 8 vertices
standing on two parallel planes perpendicular to the <TT>Z</TT> axis.</LI>
</UL>
<B>Detector description persistency</B>
<UL>
<LI>Introduced new UI commands from the GDML parser to allow for importing and
exporting GDML files through macros or interactively, supporting all
various options provided by the parser.</LI>
</UL>
<B>Digitization &amp; Hits</B>
<UL>
<LI>Cylindrical scoring mesh is now fully released.</LI>
<LI>Most of primitive scorers now take their default units, and units may
by altered by their UI commands. These units are used for drawing and
dumping the scores.</LI>
</UL>
<B>Standard Electromagnetic physics</B>
<UL>
<LI>New model <TT>G4ICRU73QOModel</TT> is available
for low-energy ionisation of negative-charge projectiles
(including anti-ions); it is based on ICRU'73 data for oscillator strengths;
this model is the default for negative-charge particles in <TT>G4hIonisation</TT> process class.</LI>
<LI>Improved modeling of fluctuations in energy deposition, relevant for
deposit in gasses and silicon. Increases stability when step size changes.</LI>
<LI>New model of single scattering and NIEL for ions
<TT>G4IonCoulombScatteringModel</TT> is available; the model is applicable
from <TT>50 keV</TT> to <TT>100 TeV</TT>.</LI>
<LI>New ionisation models <TT>G4BraggIonGasModel</TT>,
<TT>G4BetheBlochIonGasModel</TT> are available for simulation of ion
transport in low density media, e.g. in vacuum.
The ion charge of a particle is not changed by these models.</LI>
<LI>The default angular distribution of gamma in the Bremsstrahlung process
can be substituted by alternative model in physics-list.</LI>
<LI>Fluorescence and Auger electron production can be activated via UI commands,
using the new models <TT>G4PEEffectFluoModel</TT> and <TT>G4KleinNishinaModel</TT>.</LI>
<LI>Disabled usage of minimum energy threshold per model. As a result the
production threshold is defined only by range (converted to energy in each
material). It remains constrained by the minimum limit defined in 'cut' category.
This change is necessary to allow the full set of combinations of models
in a process.</LI>
</UL>
<B>Low Energy Electromagnetic physics</B>
<UL>
<LI>Photon Livermore models:
first implementation of pair production in the electric field of the
electron. The <TT>G4BoldyshevTripletModel</TT> should be used in
conjunction with the <TT>G4LivermoreNuclearGammaConversionModel</TT>
model (using <TT>G4MultiModel</TT>) in order not to account twice
for the pair production cross section in the electron field.</LI>
<LI>Electron Livermore models:
<TT>G4LivermoreIonisationModel</TT> is able to generate fluorescence
along the step. Addressing problem report
<A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1141">#1141</A>.</LI>
<LI>Penelope models:
added four new models (gamma ray models: Compton, GammaConversion,
PhotoElectric and Rayleigh). Upgrades of Penelope from version 2001 to
version 2008, named as <TT>G4Penelope08xxxxModel</TT>. To be considered
as beta.</LI>
<LI>For all low energy EM models: no customized production cuts are allowed
anymore for fluorescence/Auger.
Main cuts from the <TT>G4ProductionCutsTable</TT> are always used, for
consistency.</LI>
<LI>Geant4-DNA (in liquid water):
<UL>
<LI>New process and model classes for electron attachment and vibrational
excitation.</LI>
<LI>New electronic excitation model for electrons.</LI>
<LI>Extended very low energy coverage of Champion's electron elastic
scattering.</LI>
<LI>New excitation model for neutral hydrogen.</LI>
<LI>Preliminary new ionization models for <TT>C, N, O</TT> and <TT>Fe</TT>.
To be considered as beta.</LI>
<LI>Multi-scale combination of Geant4-DNA discrete processes with Standard
or low energy EM physics processes adopting the unified software
approach of both EM physics sub-categories (see the
<TT>microdosimetry</TT> advanced example for illustration).</LI>
</UL></LI>
</UL>
<B>Hadronic physics</B>
<UL>
<LI>Hadronic interfaces now require integer Z and A arguments. Elements or
materials with effective or average values of Z and A are no longer
allowed.</LI>
<LI>Quark exchange, Reggeon cascade and nuclear destruction parameters in the FTF
model were tuned. Tuning of the nuclear destruction parameters was based on
HARP-CDP data. Low mass string fragmentation was improved.</LI>
<LI>The Bertini cascade model was re-written to employ more code re-use, improve
memory management, and provide better energy/momentum conservation. Angular
distributions of the two-body final states of hadron-nucleon interactions were
redone and improved.
An optional interface to the G4Precompound model (and the associated
de-excitation processes) is now available; this is an alternative to the
dedicated de-excitation which has been used until now.</LI>
<LI>Anti-baryon-nucleon elastic scattering was added to the CHIPS model.</LI>
<LI>Fermi breakup was extended to include fragments with <TT>1 < A < 5 </TT>.
Several improvements were made to bring the model closer to the original
one of Botvina. Use hybrid of Fermi breakup and GEM models for
<TT>A < 20</TT>. Several other improvements were made to the evaporation
models. A README file was added explaining the photo-evaporation data
files.</LI>
<LI>New, fast models and cross sections for neutron elastic, inelastic and capture
are now available: G4NeutronElasticXS, G4NeutronInelasticXS and
G4NeutronCaptureXS. </LI>
<LI>An isomer decay table was added to extend the number of existing isomers in the
radioactive decay model. All of them will be decayed by isomeric transition
(IT). A README file was added to explain the radioactive decay data files. </LI>
<LI>RQMD (relativistic quantum molecular dynamics) code was enabled in the QMD
model to allow treatment of higher collision energies.</LI>
<LI>A new model, <TT>G4NuclNuclDiffuseElastic</TT> is now available for
nucleus-nucleus elastic scattering.</LI>
<LI>A new class <TT>G4ComponentAntiNuclNuclearXS</TT> provides
the total elastic and inelastic cross sections of anti-nucleon
and anti-nucleus interactions with nuclei.
These were calculated using the Glauber approach.</LI>
<LI>All hadronic processes now check to see if the cross section has become negative
at the end of a step, before invoking the model.</LI>
<LI>Checking of Energy/momentum conservation is available in the hadronic
process class. Methods can set the theshold level for reporting
and the verbosity of the output.</LI>
</UL>
<P> </P>
<B>Physics Lists</B>
<UL>
<LI>New physics lists QGSP_BERT_CHIPS and Shielding, details are described <a
href="#lst-notes">below</a>.
<LI>Improved inelastic hadronic cross section at high energies, above 90 GeV,
in all QGS.. and FTF.. lists.
<LI>Improved cross sections for Kaon, and all "misc" particles, including
anti-proton, anti-neutron, and hyperons in FTFP_BERT, QGSP_FTFP_BERT, and the
two new physics lists QGSP_BERT_CHIPS and Shielding.
<LI>Use <TT>G4UrbanMscModel93</TT> by default for e+,e- in all EM physics
builders except <TT>G4EmLivermorePhysics</TT> and <TT>G4EmPenelopePhysics</TT>
where new <TT>G4GoudsmitSaundersonMscModel</TT> is used.</LI>
<LI><TT>G4WentzelVIModel93</TT> and <TT>G4CoulombScattering</TT> are
used by default for mu+,mu- in all builders.</TT>
<LI>In <TT>G4EmStandardPhysics_option2</TT> for small angle multiple scattering
<TT>G4WentzelVIModel93</TT> is used for protons, pions, and kaons;
for angular distribution of bremmstrahlung gamma <TT>G4GeneratorBS</TT>
is applied.</LI>
<LI>Improved <TT>G4EmConfigurator</TT> class, to define alternative models by particle
type, energy range, and detector region.
Can be used to choose configuration EM models before or after the EM physics
has been instantiated.</LI>
</UL>
<P> </P>
<A NAME="5."></A>
<HR>
<!-- ============================================== -->
<H2>5. Expected effects on physics and performance</H2>
<B>Standard Electromagnetic physics and cuts</B>
<UL>
<LI>Small increase of visible energy deposition in sampling calorimeters
(e.g. 0.5% for a simplified setup with materials of the ATLAS EM barrel calorimeter)
due to improvements in the multiple scattering model.</LI>
<LI>Improved tails of energy deposition in thin absorbers.</LI>
</UL>
<B>Hadronic physics</B>
<UL>
<LI>Improved treatment of low mass strings in the FTF model allows the model
to be used at lower energies and provides a smoother transition in energy
response in the region where string models give way to cascade models.</LI>
<LI>Improved memory management in the Bertini cascade model results in a
10-fold reduction of object creation and destruction. The model also
conserves energy and momentum better.</LI>
<LI>Fermi Break-up Model and GEM evaporation are used by default providing
improved production of light fragments in nuclear fragmentation at low
energy.</LI>
<LI>Improved spectra of nuclear gamma deexcitation including Doppler
broadening simulation.</LI>
<LI>Fast neutron cross-sections can provide significant CPU savings for
applications which need accurate simulation of neutrons below 20 MeV.</LI>
<LI>Materials defined with an effective Z or A can no longer be used
with hadronic processes.</LI>
</UL>
<P> </P>
<A NAME="6."></A>
<HR>
<!-- ============================================== -->
<H2>6. Known Run-Time Problems and Limitations</H2>
For a complete list of outstanding run-time problems and to submit any
problem you may find while running this version of Geant4, please refer
to the
<A TARGET="ext" HREF="http://cern.ch/geant4/problemreport">Geant4 Problem
Reporting System</A>.
<P> </P>
<A NAME="7."></A>
<HR>
<!-- ============================================== -->
<H2>7. Compilation Warnings</H2>
There may be a few compilation warnings on some platforms.
We do not believe that any of these lead to incorrect run-time behaviour.
<P> </P>
<A NAME="8."></A>
<HR>
<!-- ============================================== -->
<H2>8. Known Run-Time Warnings</H2>
The following message may be written to standard output at the end of a program:
<PRE>
G4Transportation: Statistics for looping particles
Sum of energy of loopers killed:
Max energy of loopers killed:
</PRE>
It provides the total energy (in <TT>MeV</TT>) of tracks killed due to
excessive number of steps ('looping') during the simulation, and the maximum
energy of such a track. Such behaviour can be due to looping in magnetic fields
or being abandoned due to being stuck at geometrical boundaries.
<P></P>
In case either of these reported energies is significant, we recommend
increasing the verbosity of <TT>G4Transportation</TT> to obtain information for
each track killed. A user can change the threshold energy above which particles
are killed more reluctantly (only after significant additional effort) using
the method <TT>SetThresholdImportantEnergy()</TT> of <TT>G4Transportation</TT>.
The default value is <TT>100 MeV</TT>.
<P> </P>
<A NAME="9."></A>
<HR>
<!-- ============================================== -->
<H2>9. Geant4 Software License</H2>
A Software License applies to the Geant4 code.
Users must accept this license in order to use it. The details and the list of
copyright holders is available at
<A href="http://cern.ch/geant4/license">http://cern.ch/geant4/license</A>
and also in the text file <TT>LICENSE</TT> distributed with the source code.
<P> </P>
<A NAME="10."></A>
<HR>
<!-- ============================================== -->
<H2>10. Detailed list of changes and fixes</H2>
These are the main new features/fixes included in this release since the
last patched public release (for more detailed lists of fixes/additions,
please refer to the corresponding History files provided in most packages):
<P> </P>
<A NAME="conf-notes">
<H3><I>Configuration</I></H3></A>
<UL>
<LI>Configure script:
<UL>
<LI>Updated scripts for Configure, to allow for parallel builds.</LI>
<LI>Added new data sets <TT>G4NEUTRONXS</TT> (Evaluated neutron cross
section data, version 1.0), controlled by variable <TT>G4NEUTRONXSDATA</TT>,
and <TT>G4PII</TT> (shell ionization cross section data, version 1.2),
controlled by variable <TT>G4PIIDATA</TT>.</LI>
<LI>Added new versions of data sets for <TT>G4EMLOW.6.19, G4RadioactiveDecay.3.3,
G4PhotonEvaporation.2.1, G4NDL.3.14</TT>.</LI>
</UL></LI>
<LI>cmake:
<UL>
<LI>First 'alpha' version of a new build infrastructure based on CMake
(see <A HREF="http://www.cmake.org/">http://www.cmake.org/</A>).
Added scripts and file catalogues to all source modules.</LI>
</UL></LI>
<LI>Removed 'leading_particle' hadronic module from include paths list.</LI>
<LI>Added <TT>obj</TT> make target to <TT>globlib.gmk</TT> to allow for
creation of object files only.</LI>
<LI>Removed obsolete Qt3 setup for <TT>Darwin-g++, Linux-g++</TT> and
<TT>WIN32-VC</TT>.</LI>
<LI><TT>Darwin-g++.gmk</TT>: corrected and simplified Qt setup for use of
Native OpenGL.</LI>
<LI>Fixed linking options for shared libraries in <TT>Linux-icc.gmk</TT>.</LI>
<LI>Corrected definition of <TT>LDFLAGS</TT> in <TT>binmake.gmk</TT> to
avoid occasional fatal clashes with settings in user's environment.
Added include paths to new modules and cleaned obsolete paths.</LI>
<LI>Replaced use of <TT>strcat()</TT> with more secure <TT>strncat()</TT>
in <TT>liblist.c</TT>, and protected uses of <TT>strcpy()</TT>.</LI>
</UL>
<A NAME="digits-notes">
<H3><I>Digitization & Hits</I></H3></A>
<UL>
<LI>Cylindrical scoring mesh is now fully released.</LI>
<LI>Improved some UI commands for defining scorers.</LI>
<LI>Fixed signature in <TT>G4VPrimitiveScorer</TT> for <TT>Set/GetUnit()</TT>
methods.</LI>
</UL>
<A NAME="emstd-notes">
<H3><I>Electromagnetic Processes</I></H3></A>
<UL>
<LI><B>Adjoint</B>
<UL>
<LI><TT>G4AdjointBremsstrahlungModel</TT>: use <TT>G4EmModelManager</TT> for
proper initialization. <TT>G4eBremsstrahlungModel</TT> is used as forward
model. Fixing cases of floating point exceptions.</LI>
<LI><TT>G4AdjointhIonisation</TT>: removed negative term in the expression
of the adjoint cross-section (<TT>AdjointCrossSection()</TT> method) and
adapted method <TT>RapidSampleSecondaries()</TT>.</LI>
<LI><TT>G4VEmAdjointModel</TT>: added a check on null cross section to
avoid FPE.</LI>
</UL></LI>
<LI><B>High Energy</B>
<UL>
<LI>New model <TT>G4ICRU73NoDeltaModel</TT>
derived from <TT>G4ICRU73QOModel</TT>.</LI>
<LI>Added new <TT>G4mplIonisationWithDeltaModel</TT> for ionization of monopoles,
to be used in the <TT>G4mplIonisation</TT> process class as a default model;
this enables delta-ray production, which is needed by ATLAS and CMS.</LI>
<LI>Fixed defects reported by Coverity tool, mainly related to initialization
of static data.</LI>
</UL></LI>
<LI><B>Low Energy</B>
<UL>
<LI>Added four new models (gamma ray models Compton, GammaConversion,
PhotoElectric, Rayleigh), upgrades of <TT>G4Penelope</TT> ionisation
and Bremsstrahlung for <TT>e+/e-</TT> to version 2008.</LI>
<LI>Added <TT>MinEnergyCut()</TT> method to <TT>G4PenelopeIonisationModel</TT>.
Small (minor) changes to other Penelope models (mainly clean-up).
Removed useless call in <TT>G4PenelopeIonisationModel</TT> which
triggered fake warning messages.</LI>
<LI>Added class <TT>G4PenelopeCrossSection</TT> to store/handle cross
sections (and higher momenta, like stopping powers) for Penelope
models.
<LI>New <TT>G4PenelopeOscillator*</TT> classes to manage
multi-element atomic oscillators used in Penelope Compton and
Ionisation models. Compliant with Penelope-2008.</LI>
<LI>Added dummy method <TT>ComputeCrossSectionPerAtom()</TT> in
<TT>G4PenelopeRayleighModel</TT>, never inkoved in tracking and
issuing a warning if users access it via <TT>G4EmCalculator</TT>.</LI>
<LI>Updated public interface of <TT>G4LivermorePhotoElectricModel</TT>.
Removed possibility to use custom cuts for fluorescence/Auger.
Main cuts from <TT>G4ProductionCutsTable</TT> are always used, for
consistency.</LI>
<LI>Updated <TT>G4LivermoreIonisationModel</TT> to produce fluorescence
AlongStep only if above the production cuts. Stricter check for energy
conservation.</LI>
<LI>Bug fix in <TT>G4LivermoreIonisation</TT> and in
<TT>G4LivermorePolarizedPhotoElectricModel</TT>.</LI>
<LI>New models <TT>G4BoldyshevTripletModel, G4LivermoreGammaConversionModelRC</TT>,
and <TT>G4LivermoreNuclearGammaConversionModel</TT>.</LI>
<LI><TT>G4LivermorePolarizedGammaConversionModel</TT>: fixed element
selection and initialisation.</LI>
<LI>Clean-up in Penelope models; explicitely set Auger flag to false in
constructor. Addressed Coverity reports for Penelope/Livermore
processes.</LI>
<LI>Geant4-DNA processes and models:
<UL>
<LI>New excitation model for electrons in <TT>G4DNABornExcitationModel</TT>
and for H.</LI>
<LI>Added new G4DNA processes and e- models for vibrational and attachment
as in: Z. Francis et al., Appl. Radiat. Isot. 69 (2011) 220-226.</LI>
<LI>Extended low energy coverage of G4DNA electron models.</LI>
<LI>New preliminary Geant4-DNA ionisation class for ions to be used
with new data set, G4LEDATA-6.19.</LI>
<LI>Corrected <TT>G4DNABornIonisationModel</TT> for maximum kinetic
energy transfer.</LI>
<LI>Modified method declaration in <TT>G4DNABornExcitation</TT>.
Modified electron correction in <TT>G4DNAMillerGreenExcitation</TT>.</LI>
<LI>Extended search range for maximum of DCS in
<TT>G4DNARuddIonisationModel</TT>.</LI>
<LI>Changed default parameters in <TT>G4DNAEmfietzoglouExcitationModel</TT>.
Modified initialisation of e- Emfietzoglou excitation model to fix
memory leaks.</LI>
<LI>Changed computation of scattering angle in
<TT>G4DNAChampionElasticModel</TT>.</LI>
<LI>Replaced hard coded masses in <TT>G4DNADingfelderCharge*</TT>
classes.</LI>
<LI>Updated & extended Rudd and Miller & Green models. Adapted all high
energy limits of G4DNA electron models.</LI>
<LI>Changed low energy limit of G4DNA elastic scattering models for e-.
Switched default excitation model for e- to Born.</LI>
<LI>Set high energy limit of G4DNAScreenedRutherfordModel to 1 MeV
and decreased low energy limit.</LI>
<LI>Updated high energy limits of G4DNAExcitation and G4DNAIonisation.
Added protection in xs file opening for G4DNA Sanche excitation.</LI>
<LI>Restricted momentum conservation to electrons in G4DNA ionisation.</LI>
<LI>Added new control of low energy limit of G4DNA e- models.
Energy ranges adapted accordingly.</LI>
</UL></LI>
<LI>Fixed initialisation order in some models' constructor to fix Valgrind
run-time errors reports.
<LI>Fixed bugs in G4AtomicDeexcitation and G4AugerTransition.
<LI>New PIXE developments:
<UL>
<LI><TT>G4ecpssrKCrossSection</TT> and <TT>G4ecpssrLiCrossSection</TT>
classes: these classes substitute the <TT>G4ecpssrCrossSection</TT>
class, fixing existing bugs and improving the goodness of the
results especially at higher energies.</LI>
<LI><TT>G4empCrossSection</TT> and <TT>G4teoCrossSection</TT> classes:
classes deriving from <TT>G4VhShellCrossSection</TT> and providing
the interface to empirical ionization cross sections (Orlic for L
shells and Paul for K).</LI>
<LI><TT>G4hShellCrossSection, G4hShellCrossSectionDoubleExp,
G4hShellCrossSectionDoubleExpData, G4hShellCrossSectionExp,
G4hShellCrossSectionExpData</TT> classes are now discontinued.</LI>
<LI><TT>G4hLowEnergyIonisation</TT> has been updated to follow the new
design and let the user chose which model to use for the calculation
of shell ionization cross section through the method
<TT>SelectShellIonisationCS()</TT>.
Dependencies on old methods for cross section calculation have
been removed.</LI>
<LI>Changed default parametersa and fixed units management.
<LI>Bugs fixes in <TT>G4OrlicLiCrossSection</TT> and
<TT>G4PaulKCrossSection</TT>.</LI>
</UL></LI>
<LI>Fix in G4AugerTransition to cure crash on Windows.</LI>
<LI>Added missing virtual destructors where necessary.</LI>
<LI>Corrected return value case in method GetPhotoElectronDirection()
in G4PhotoElectricAngularGeneratorSauterGavrila. Addressing problem
report <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1120">#1120</A>.</LI>
<LI>New class <TT>G4UAtomicDeexcitation</TT> class, derived from
<TT>G4VAtomicDeexcitation</TT> from <TT>utils</TT> module. It will
replace <TT>G4AtomicDeexcitation</TT> class.
Updated <TT>G4hLowEnergyIonisation</TT> to it.</LI>
<LI>Optimised computation in <TT>G4GeneratorBS</TT> and fixed comments.
Moved classes <TT>G4VBremAngularDistribution</TT> and
<TT>G4ModifiedTsai</TT> moved to <TT>utils</TT> and <TT>standard</TT>
modules respectively.</LI>
<LI>Requires new data set G4EMLOW-6.19.</LI>
</UL></LI>
<LI><B>Muons</B>
<UL>
<LI><TT>G4MuPairProductionModel</TT>: added sampling recoil of a primary
particle.</LI>
<LI><TT>G4MuIonisation</TT>: use <TT>G4ICRU73QOModel</TT> for <TT>mu-</TT>
for <TT>E< 0.2 MeV</TT> (<TT>G4BraggModel</TT> in past).</LI>
<LI>Fixed defects reported by Coverity tool, mainly related to
initialization of static data.</LI>
</UL></LI>
<LI><B>Polarisation</B>
<UL>
<LI>Fixed signature to <TT>G4VPolarizedCrossSection::TotalXSection()</TT>
in source file.</LI>
<LI>Fixed issues reported by the Coverity tool.</LI>
</UL></LI>
<LI><B>Precise Impact Ionisation</B>
<UL>
<LI>New module for precise impact ionisation, as described in:
M.G.Pia et al., PIXE Simulation With Geant4, IEEE-TNS, vol. 56, no. 6, pp. 3614-3649, 2009.
Requires new data set G4PIIDATA-1.2.</LI>
</UL></LI>
<LI><B>Standard</B>
<UL>
<LI>Single and multiple scattering:
<UL>
<LI><TT>G4GoudsmitSaundersonMscModel</TT>: fixed problems of small
angle theta distributions; improved numerical stability of
computations for small angles by direct cross-section calculation;
the inverse angular sampling
is performed without large angle rejection method.</LI>
<LI><TT>G4GoudsmitSaundersonTable</TT>: improved numerical stability by minimum
of used arrays in computation
within the dichotomy finding method; optimized code to
improve speed by addition extra class members.</LI>
<LI><TT>G4eMultipleScattering, G4hMultipleScattering</TT>: improved
printout at initialisation.</LI>
<LI><TT>G4UrbanMscModel93</TT>: added randomization of step limit for
the first step in any volume for option <TT>UseDistanceToBoundary</TT>.</LI>
<LI><TT>G4WentzelVIModel</TT>: added numerical protections; added
<TT>DefineMaterial()</TT> call to the <TT>G4WentzelOKandVIxSection</TT> class
to keep conssitency of two classes in run time;
optimized method of step limitation;
added usage of geometry factor and the option
<TT>UseDistanceToBoundary</TT>.</LI>
<LI><TT>G4WentzelOKandVIxSection</TT>: new class to compute cross
sections and sample scattering angle in <TT>G4WentzelVIModel,
G4eCoulombScatteringModel, G4CoulombScatteringModel</TT> classes;
added momentum
dependent limit of scattering angle between single and multiple scattering
which allows to use coherently <TT>G4WentzelVIModel</TT>
with optical model of hadron scattering.</LI>
<LI><TT>G4eCoulombScatteringModel</TT>: fixed computation of nuclear
recoil.</LI>
<LI><TT>G4IonCoulombCrossSection, G4IonCoulombScatteringModel</TT>: new
model of single scattering and NIEL for ions.</LI>
<LI><TT>G4UrbanMscModel90, G4UrbanMscModel92, G4UrbanMscModel93</TT>:
added warning messages.</LI>
<LI>Removed obsolete classes: <TT>G4UrbanMscModel</TT>,
<TT>G4UrbanMscModel2</TT>, <TT>G4UrbanMscModel71</TT>,
<TT>G4MultipleScattering</TT>.</LI>
</UL></LI>
<LI>Bremsstrahlung models:
<UL>
<LI><TT>G4eBremsstrahlungModel</TT>: fix in <TT>SelectRandomAtom()</TT>
method. Addressing problem report
<A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1115">#1115</A>.</LI>
<LI><TT>G4eBremsstrahlungModel</TT>: reduced <TT>minThreshold</TT>
to <TT>0.1 keV</TT>.</LI>
<LI>Added <TT>G4ModifiedTsai</TT> class, moved from 'lowenergy' module.</LI>
<LI><TT>G4PairProductionRelModel, G4eBremsstrahlungRelModel</TT>: use
general interface to sample polar angular distribution with
the <TT>G4ModifiedTsai</TT> generator as a default.</LI>
</UL></LI>
<LI><TT>G4UniversalFluctuation</TT>: revision of width correction
providing better results for thin targets and a good tail;
fixed anomaly at the tail of distribution for thin targets.</LI>
<LI>New class <TT>G4UniversalFluctuation93</TT> is a backcup of original version
as in release 9.3 for <TT>G4UniversalFluctuation</TT>.</LI>
<LI><TT>G4ASTARStopping, G4PSTARTStopping</TT>: replaced C-arrays with
<TT>G4PhysicsVector</TT> with spline interpolation; reviewed names
of materials (<TT>G4_PHOTO_EMULSION, G4_He, G4_NYLON-6-6</TT>).</LI>
<LI><TT>G4WaterStopping</TT>: fixed bug in index of data for Fe ion;
cleanup in <TT>GetElectronicDEDX()</TT> method.</LI>
<LI><TT>G4BraggIonGasModel, G4BetheBlochIonGasModel</TT>: new ionisation
models for low density media; charge of projectile ion is not changed
by these models during tracking in contrary with the default models.</LI>
<LI><TT>G4BraggModel</TT>: extended validity range above <TT>2 MeV</TT>
using ICRU'49 parameterisation for comparison purposes.</LI>
<LI>New <TT>G4ICRU73QOModel</TT> for low-energy negatively charged
particles; it is applicable from <TT>5 keV</TT> to <TT>15 MeV</TT> for anti-proton.</LI>
<LI><TT>G4hIonisation</TT>: use new <TT>G4ICRU73QOModel</TT> for negatively
charged particles instead of <TT>G4BraggModel</TT>, which now used to be
applied for positive-charged particles only; this modification
improves simulation of Barkas effect at low energies (before the effect
was simulated precisely in <TT>G4BetheBlochModel</TT> which
is used above <TT>2 MeV</TT> for protons/anti-protons);
the high energy limit for the new model is the same as for
<TT>G4BraggModel</TT> (<TT>2 MeV</TT> for protons/anti-protons).</LI>
<LI><TT>G4PAIModel, G4PAIySection</TT>: fixed a bug in <TT>G4_Ar</TT>.</LI>
<LI><TT>G4ionIonisation, G4alphaIonisation</TT>: removed obsolete nuclear
stopping flag and <TT>Get/Set</TT> methods (nuclear stopping is
simulated by the dedicated <TT>G4NuclearStopping</TT> process).</LI>
<LI><TT>G4BetheHeitlerModel, G4PairProductionRelModel</TT>: removed unused
internal table of cross section.</LI>
<LI><TT>G4PEEffectFluoModel, G4KleinNishinaModel</TT>: new models providing
sampling of atomic relaxations.</LI>
<LI>Removed obsolete classes: <TT>G4ComptonScattering52</TT>,
<TT>G4PolarizedComptonScattering</TT>.</LI>
<LI>Fixed defects reported by Coverity tool, mainly related to
initialization of static data.</LI>
</UL></LI>
<LI><B>Utils</B>
<UL>
<LI><TT>G4VMscModel, G4VMultipleScattering</TT>: set <TT>skin=1.0</TT> as
a default; added more detailed printout for kaon+.</LI>
<LI><TT>G4VMscModel</TT>: added protection in computation of the displacement
to limit it inside current volume - addressing problem report
<A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1128">#1128</A>.
<LI><TT>G4LossTableManager</TT>: added new method <TT>GetNumberOfBinsPerDecade()</TT>,
which is used in <TT>G4VEmModel</TT> for initialisation of
<TT>G4EmElementSelector</TT> - addressing problem report
<A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1115">#1115</A>;
added methods <TT>PreparePhsyicsTables(), BuildPhysicsTables()</TT>,
fixing initialisation of models via <TT>G4EmConfigurator</TT>.</LI>
<LI><TT>G4EmProcessOptions</TT>: removed extra initialisation code, already existing
in <TT>G4LossTableManager</TT>.</LI>
<LI><TT>G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering</TT>: added
calls to new <TT>G4LossTableManager</TT> methods <TT>PreparePhsyicsTables()</TT>
and <TT>BuildPhysicsTables()</TT>.</LI>
<LI>Added method <TT>GetCurrentElement()</TT> in <TT>G4VEmProcess,
G4VEnergyLossProcess</TT> and <TT>G4VEmModel</TT> classes.</LI>
<LI><TT>G4VEmProcess</TT>: cleanup printout at initialisation for
scattering process.</LI>
<LI><TT>G4VEmModel</TT>: added method <TT>ChargeSquareRatio()</TT> to
access current charge of an ion; use this method in
<TT>G4VEnergyLossProcess</TT>.</LI>
<LI><TT>G4VEnergyLossProcess</TT>: call <TT>CorrectionsAlongStep()</TT> only
for ions (minor CPU saving); use copy constructors to reduce number of calls to
<TT>exp()</TT> for building of the cross section
table; minor optimisation in <TT>PostStepDoIt()</TT> to reduce
number of calls to <TT>log()</TT>.</LI>
<LI><TT>G4VEnergyLossProcess</TT>: fix addressing problem report
<A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1141">#1141</A>.</LI>
<LI><TT>G4VEmProcess, G4VEnergyLossProcess, G4VMultipleScattering,
G4VEmModel, G4EmMultiModel</TT>: replaced obsolete method
<TT>GetDefinition()</TT> of <TT>G4DynamicParticle</TT> with
<TT>GetParticleDefinition()</TT>.</LI>
<LI><TT>G4EmCalculator</TT>: fix in <TT>GetCrossSection()</TT> method.</LI>
<LI><TT>G4EmElementSelector</TT>: use spline flag to construct vectors
probabilities.</LI>
<LI><TT>G4EmModelManager</TT>: do not use min energy cut defined by models, so
production threshold is defined only by range to energy conversion and
is limited only by low limit of energy threshold defined in 'cut'
category.</LI>
<LI><TT>G4EmConfigurator</TT>: fix for case of more than one model added per a
process.</LI>
<LI><TT>G4EmCorrections</TT>: moved <TT>G4AtomicShell</TT> header into
source; fixed computation of shell corrections
according to prescriptions of original papers; added Bichsel
approximation for Barkas corrections for the large <TT>Z > 47</TT>,
and use <TT>G4PhysicsVector</TT> instead of C-arrays; these
modifications improving energy loss computations for protons at the energies
below <TT>10 MeV</TT>, which improving energy loss of heavy negatively
charged objects (ATLAS problem).</LI>
<LI><TT>G4ElectronIonPair</TT>: added method SampleNumberOfIonsAlongStep().
<LI><TT>G4VEmAngularDistribution</TT>: new general interface for angular distribution.
<LI>Added class <TT>G4VBremAngularDistribution</TT>, moved from 'lowenergy'
module.</LI>
<LI>Added <TT>G4VAtomDeexcitation</TT>: new general interface to atomic deexcitation module.</LI>
<LI>Fixed defects reported by Coverity tool.</LI>
</UL></LI>
<LI><B>Xrays</B>
<UL>
<LI>Included scintillation rise time to <TT>G4Scintillation</TT>.</LI>
<LI><TT>G4Scintillation</TT>: allow for the light yield to be a function
of particle type and deposit energy in case of non-linear light emission
in scintillators. Courtesy of Zach Hartwig (Department of Nuclear
Science and Engineeering, MIT). All particles are assigned the
<TT>ELECTRONSCINTILLATIONYIELD</TT> unless the user specifies
otherwise.</LI>
<LI><TT>G4SynchrotronRadiationInMat, G4SynchrotronRadiation,
G4TransitionRadiation</TT>: added missing process sub-types.</LI>
</UL></LI>
</UL>
<A NAME="event-notes">
<H3><I>Event</I></H3></A>
<UL>
<LI>Added setting of touchable history of the origin to <TT>G4Track</TT>.</LI>
<LI>Added protection against null pointer in <TT>G4TrackStack</TT> and <TT>G4SmartTrackStack</TT>.</LI>
<LI>Fixed incorrect destination stack in <TT>G4StackManager</TT> for the case
more than three track stacks are used.</LI>
<LI>General Particle Source
<UL>
<LI>Added automatic energy biasing scheme. Users now can bias the energy
distribution sampling to a given power-law distribution (index alpha)
via the UI command: <TT>/gps/ene/biasAlpha alpha</TT>.
Possibility to specify arbitrary energy distribution by supplying the
data points in a 2-column (energy in <TT>MeV</TT> and flux) ASCII file,
via the UI command: <TT>/gps/hist/file [your_file_name]</TT>.</LI>
<LI>Bug fix in the Spline interpolation implementation.</LI>
<LI>Bug fix in the logarithm interpolation implementation (alpha = -1 case).</LI>
<LI>Added few accessors methods and implemented concrete destructor for
<TT>G4SPSEneDistribution</TT>. Addressing problem report
<A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1149">#1149</A>.</LI>
</UL></LI>
</UL>
<A NAME="gen-notes">
<H3><I>General Processes</I></H3></A>
<UL>
<LI><B>Cuts</B>
<UL>
<LI>Fixed possible case of memory leak in <TT>G4PhysicsTableHelper</TT>.</LI>
</UL></LI>
<LI><B>Decay</B>
<UL>
<LI>Make use of 'const' pointer to <TT>G4ParticleDefinition</TT>.</LI>
<LI>Fixed some minor Coverity reports.</LI>
</UL></LI>
<LI><B>management</B>
<UL>
<LI></LI>
<LI>Fixed initialization of data in constructors for <TT>G4VProces,
G4ProcessTable</TT> and <TT>G4ProcessAttribute</TT>.</LI>
<LI>Fixed cases of uninitialised data reported by Coverity.</LI>
</UL></LI>
<LI><B>Optical</B>
<UL>
<LI>Modified <TT>G4OpBoundaryProcess</TT> to call <TT>ProposeLocalEnergyDeposit()</TT>
every time a photon is in 'fStopAndKill' state because of <TT>NoRINDEX</TT>.
This will trigger scoring when a photon encounters a volume not defined
as an optical medium.</LI>
<LI>Added Mie Scattering of Optical Photons; courtesy of Xin Qian (Kellogg
Radiation Lab of Caltech), based on work from Vlasios Vasileiou
(University of Maryland).</LI>
<LI>Implemented Henyey-Greenstein phase functions.</LI>
<LI>Fix for long-standing problem report #207.</LI>
<LI>Fixed minor Coverity reports.</LI>
</UL></LI>
<LI><B>Scoring</B>
<UL>
<LI>Introduced new class <TT>G4EnergySplitter</TT>, a class to calculate
the split of energy in voxels when <TT>G4RegularNavigation</TT> is used.
It takes into account of the energy loss and multiple scattering
corrections as the particles loses energies from voxel to voxel.</LI>
<LI>Added new <TT>G4ScoreSplittingProcess</TT> to split the length and
energy of a step in a regular structure into sub-steps, and to call
the scorers for each sub-volume.</LI>
</UL></LI>
</UL>
<A NAME="geo-notes">
<H3><I>Geometry</I></H3></A>
<UL>
<LI><B>Divisions</B>
<UL>
<LI>Introducing <TT>G4ReplicatedSlice</TT>, allowing for gaps in between
divided daughter volumes.</LI>
</UL></LI>
<LI><B>Magnetic field</B>
<UL>
<LI>New class <TT>G4MonopoleEq</TT> for rhs of d(pc)/ds propagation in
field in SI units.</LI>
<LI>Revised constructor of <TT>G4MagErrorStepper</TT> to add number of
State variables. Corrected <TT>MagErrorStepper</TT> to copy state
variable to output.</LI>
<LI>Enabled <TT>G4ConstRK4</TT> to copy remaining state variables.</LI>
</UL></LI>
<LI><B>Management</B>
<UL>
<LI>Added <TT>Clone()</TT> virtual method to <TT>G4VSolid</TT>, to return a
pointer to a dynamically allocated copy of the solid. To be used by
Geant4-MT. Implemented the method for all concrete solids.</LI>
<LI>Added copy-ctr and assignment operator to <TT>G4ReflectedSolid</TT>,
now also implementing the <TT>Clone()</TT> method.</LI>
</UL></LI>
<LI><B>Navigation</B>
<UL>
<LI>Added first implementation of G4VoxelSafety, a new class for the
computation of exact safety.</LI>
<LI>Added new class <TT>G4PartialPhantomParameterisation</TT> allowing for
envelopes of different types other than box for regular geometries, so
that relaxing the restriction for voxels to completely fill the
envelope container. Adapted <TT>G4PhantomParameterisation,
G4RegularNavigation</TT> and <TT>G4Navigator</TT> accordingly.</LI>
<LI>Added new class <TT>G4NavigationLogger</TT> for "check-mode" verbosity.
Reorganised verbosity formatting for voxel and normal navigation.</LI>
<LI>Increased unit value to 100 times <TT>kCarTolerance</TT> to make push
more effective in <TT>G4Navigator::ComputeStep()</TT>. Added possibility
to switch off push notifications in <TT>G4Navigator</TT>; also added
related UI command.
Added inline method for creation of a touchable-history given a
navigation history pointer as argument.</LI>
</UL></LI>
<LI><B>Solids (Boolean)</B>
<UL>
<LI>Introduced recursive algorithm in <TT>CreatePolyhedron()</TT> for Boolean
operations: it uses <TT>HepPolyhedronProcessor</TT> from 'graphics_reps' module,
using new technique in attempt to avoid numerical problems for the
calculation of the polyhedron in <TT>BooleanProcessor</TT>. It allows to try
all permutations, also for Booleans of Booleans.
Helps in reducing the number of cases of "Error in Boolean processor"
for visualization; still some stubborn cases are left.</LI>
<LI>Simplified logic in <TT>G4UnionSolid::Inside()</TT> to exclude obvious
conditional cases.</LI>
<LI>Implemented copy-constructor and assignment operator for concrete
solids classes to facilitate conversion to Geant4-MT.</LI>
</UL></LI>
<LI><B>Solids (BREPS)</B>
<UL>
<LI>Implemented copy-constructor and assignment operator for solids
classes to facilitate conversion to Geant4-MT.</LI>
<LI>Fixed more cases of null pointer forward in <TT>G4BREPSolid</TT>,
<TT>G4BREPSolidPolyhedra</TT> and <TT>G4BezierSurface</TT> classes.</LI>
</UL></LI>
<LI><B>Solids (CSG)</B>
<UL>
<LI><TT>G4Box</TT>: first implementation of speed improvements and
corrections from joint code review of <TT>G4Box</TT> class: introduced
half-tolerance constants and better logic in some conditional statements.
Some code cleanup.
<LI><TT>G4Orb</TT>: modified <TT>DistanceToIn(p,v)</TT> to be more
consistent with <TT>Inside(p)</TT>.</LI>
<LI>Implemented copy-constructor and assignment operator for all solids
to facilitate conversion to Geant4-MT.</LI>
<LI>Added missing validity checks on radii to modifiers in <TT>G4Tubs</TT>.</LI>
<LI>Fixed remaining cases of cout precision restoring in <TT>G4Sphere</TT>.</LI>
</UL></LI>
<LI><B>Solids (Specific)</B>
<UL>
<LI>Introducing new <TT>G4GenericTrap</TT> shape, a new solid representing
an arbitrary trapezoid with up to 8 vertices standing on two parallel
planes perpendicular to the Z axis.</LI>
<LI><TT>G4EllipticalCone</TT>: fixes in <TT>DistanceToIn(p,v)</TT> and
<TT>DistanceToOut(p,v)</TT> for correct handling of point on the
surface. Corrected formula for <TT>SurfaceNormal(p)</TT>.</LI>
<LI>Implemented copy-constructor and assignment operator for all solids
to facilitate conversion to Geant4-MT.</LI>
<LI>Avoid possible case of derefencing null pointer in
<TT>G4ReduciblePolygon</TT> <TT>RemoveDuplicateVertices()</TT> and
<TT>RemoveRedundantVertices()</TT> methods.</LI>
<LI>Fixed case of division by zero in <TT>G4TwistedTubs</TT>.</LI>
<LI>More fixes on Coverity reports for classes <TT>G4TessellatedSolid</TT>
and <TT>G4ReduciblePolygon</TT>.</LI>
</UL></LI>
<LI><B>Volumes</B>
<UL>
<LI>Make use of specialized allocator for handling internal vector in
<TT>G4NavigatorHistory</TT>, globally controlling the memory pool,
to optimise memory management and reduce fragmentation.
Measured ~2% average run-time speed-up.</LI>
<LI><TT>G4GRSSolid, G4GRSVolume</TT>: safer initialisation in copy
constructor.</LI>
<LI><TT>G4PVPlacement, G4PVReplica</TT>: added fake initialisation for
all members in specialized constructor for I/O persistency. Added fake
return statements after exceptions.</LI>
<LI><TT>G4NavigationHistory</TT>: restored original implementation for
constructor.</LI>
</UL></LI>
</UL>
<A NAME="glob-notes">
<H3><I>Global</I></H3></A>
<UL>
<LI>Introduced <TT>G4PhysicsVectorCache</TT>, placeholder for cache R/W data
in use by <TT>G4PhysicsVector</TT> and derivates.
Modified <TT>G4PhysicsVector</TT> and <TT>G4LPhysicsFreeVector</TT>
accordingly.</LI>
<LI>More safe numerical computation of A13() and logA() methods in G4Pow.
Added methods logfactorial() and powN() to G4Pow class.</LI>
<LI><TT>G4Allocator</TT>: implemented customizable pool size.</LI>
<LI><TT>G4UnitsTable</TT>: added new category "Solid angle".</LI>
<LI>Fixed restoring of cout/cerr formatting in <TT>G4DataVector,
G4PhysicsVector</TT>.</LI>
<LI>Added class <TT>G4ConvergenceTester</TT>, implementing a facility for
estimating the quality of the simulation, by providing statistical
information to assist in establishing valid confidence intervals for
Monte Carlo results.</LI>
<LI>Fixed potential case of memory leak in <TT>G4OrderedTable::Retrieve()</TT>.</LI>
<LI>Fixed cases of tainted scalar in <TT>G4DataVector, G4OrderedTable,
G4PhysicsTable</TT> and <TT>G4PhysicsVector</TT>.</LI>
<LI>Modified FPE handler to get correct <TT>SIGINFO</TT> data for error messages.
Added experimental code for MacOSX.</LI>
<LI>Added dummy initialization of members in constructors where applicable.</LI>
<LI>Changed date for release 9.4.</LI>
</UL>
<A NAME="greps-notes">
<H3><I>Graphical Representations</I></H3></A>
<UL>
<LI>Added support for new command <TT>/vis/scene/add/digits</TT>, analogous to
the already-existing <TT>/vis/scene/add/hits</TT>: added methods
<TT>Draw()</TT> and <TT>FilterDigi()</TT> for digits in
<TT>G4VVisManager</TT>; added method <TT>AddCompound()</TT>
in <TT>G4VGraphicsScene</TT>.</LI>
<LI>Added method <TT>DispatchToModel(const G4VTrajectory&)</TT>, i.e., without
<TT>i_mode</TT>, to <TT>G4VVisManager</TT> in order to distinguish usage
and in preparation for <TT>i_mode</TT> migration.</LI>
</UL>
<A NAME="had-notes">
<H3><I>Hadronic Processes</I></H3></A>
<UL>
<LI>Implemented transition to adopt integer <TT>Z</TT> and <TT>A</TT>.</LI>
<LI>Removed obsolete code for 'leading_particle' model.</LI>
<LI><B>Cross sections</B>
<UL>
<LI><TT>G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS</TT>:
added path to new data set through environment variable
<TT>G4NEUTRONXSDATA</TT>; use vectors instead of C arrays; use <TT>G4HadronNucleonXsc</TT>
class and PDG parameterisation for high energy cross sections of
Hydrogen; code cleanup.</LI>
<LI><TT>G4UPiNuclearCrossSection</TT>: fixed memory leak at destruction.</LI>
<LI>Updated <TT>G4GlauberGribovCrossSection</TT> for anti-protons.</LI>
<LI><TT>G4VComponentCrossSection</TT>: new interface for cross sections.</LI>
<LI><TT>G4VCrossSectionDataSet</TT>: added name, min and max kinetic energy
and related accessors.</LI>
<LI><TT>G4IonProtonCrossSection</TT>: some code clenup; moved virtual
methods to source, added constructor and destructor, make
<TT>G4ProtonInelasticCrossSection</TT> class member. Fixed bug in
kinematics.</LI>
<LI>Added <TT>G4CrossSectionInelastic</TT> and <TT>G4CrossSectionElastic</TT>,
wrappers for components.</LI>
<LI>New class <TT>G4ComponentAntiNuclNuclearXS</TT> for the calculation of
the total elastic and inelastic cross-sections of anti-nucleon and
anti-nucleus interactions with nuclei based on Glauber approach.</LI>
<LI>New class <TT>G4CrossSectionPairGG</TT> to extend a given cross-section
with a scaled <TT>G4GlauberGribovCrossSection</TT>. Scaling result in
smooth transition.</LI>
<LI><TT>G4BGGPionElasticXS, G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS</TT>:
fixed low-energy (<TT>E < 20 MeV</TT>) models.</LI>
<LI><TT>G4TripathiLightCrossSection</TT>: fix for threshold shape.</LI>
<LI><TT>G4VCrossSectionDataSet</TT>: introduced new methods,
<TT>IsIsoApplicable()</TT> and <TT>GetZandACrossSection()</TT>,
replacing <TT>IsZAApplicable()</TT> and <TT>GetIsoZACrossSection()</TT>
now obsoleted. Modified code to use the new API.</LI>
<LI>Fix for uninitialized data in cross-sections constructors.</LI>
<LI>Initialize all elements of array <TT>Y[nE]</TT> to zero in
<TT>G4ElectroNuclearCrossSection::GetEquivalentPhotonEnergy()</TT>.</LI>
<LI><TT>G4VComponentCrossSection</TT>: use <TT>G4ParticleDefinition</TT>
and kinetic energy instead of <TT>G4DynamicParticle</TT>.</LI>
<LI><TT>G4EMDissociationCrossSection</TT>: is now applicable for Hydrogen
but cross-section for Hydrogen is zero</LI>
</UL></LI>
<LI><B>Management</B>
<UL>
<LI><TT>G4HadronicProcess</TT>: added methods
<TT>CheckEnergyMomentumConservation()</TT>,
<TT>SetEpReportLevel()</TT>, <TT>SetEnergyMomentumCheckLevels()</TT> and
<TT>GetEnergyMomentumCheckLevels()</TT>, which implement energy/momentum
checking. Some code cleanup.</LI>
<LI>New <TT>G4HadronicEPTestMessenger</TT> class to provide energy/momentum
test commands available in UI.</LI>
<LI><TT>G4HadronicProcess</TT>: use new const <TT>GetParticleDefinition()</TT>
method of <TT>G4DynamicParticle</TT>. Added protection against negative
cross section; some cleanup. Check cross-section value before calling
<TT>ApplyYourself()</TT> in <TT>PostStepDoIt()</TT>. If less than or
equal to zero, return track unchanged.</LI>
<LI>Fixed data initialisation in <TT>G4EnergyRangeManager</TT>.</LI>
<LI><TT>G4HadronicInteraction</TT>: added two methods,
<TT>GetEnergyMomentumCheckLevels()</TT>
and <TT>SetEnergyMomentumCheckLevels()</TT> in order to implement
checking of energy/momentum conservation.</LI>
<LI><TT>G4VPreCompoundModel</TT>: make de-excited <TT>G4Fragment</TT> non-const.</LI>
<LI><TT>G4VIntraNuclearTransportModel</TT>: moved constructor and destructor
to source.</LI>
<LI>Fixed initialisation of data in <TT>G4VNuclearDensity</TT> constructor.</LI>
</UL></LI>
<LI><B>Abrasion</B>
<UL>
<LI>Removed redudant headers inclusion in <TT>G4WilsonAbrasionModel</TT>.
Fixed initialization in constructor.</LI>
<LI>Fixed memory leak in method <TT>GetExcitationEnergyOfTarget()</TT> for
<TT>G4NuclearAbrasionGeometry</TT>.</LI>
</UL></LI>
<LI><B>Binary Cascade</B>
<UL>
<LI><TT>G4GeneratorPrecompoundInterface</TT>: define default deexcitation
with <TT>G4PreCompoundModel</TT> in the constructor of the class.
Minor cleanup as a part of PreCompound model cleanup:
added pointers to proton and neutron.</LI>
<LI>Lowered <TT>CaptureThreshold</TT> in <TT>G4GeneratorPrecompoundInterface</TT>
from 80 to 10 <TT>MeV</TT>.</LI>
<LI>Fixed memory leak for products in <TT>Propagate()</TT>.</LI>
</UL></LI>
<LI><B>Bertini Cascade</B>
<UL>
<LI>General improvement of code design. Several collider classes re-designed
so that they can be re-used.</LI>
<LI>Replaced all uses of <TT>bindingEnergy()</TT> (local Bertini method)
with the standard <TT>G4NucleiProperties::GetBindingEnergy(A,Z)</TT>.</LI>
<LI><TT>G4Diproton, G4Dineutron, G4UnboundPN</TT>: new particle
subclasses, implementing the Bertini-specific dibaryon states.</LI>
<LI><TT>G4ElementaryParticleCollider</TT>: replaced original (incorrect)
<TT>pp, pn, nn</TT> 2-body to 2-body scattering angular distributions
with a new parameterization of elastic scattering data using the sum of
two exponentials.</LI>
<LI>Improved angular distributions for 2-body final states of pi-nucleon,
nucleon-nucleon, kaon-nucleon and hyperon-nucleon scattering.</LI>
<LI>Replaced <TT>G4CascadeMomentum</TT> internal class with
<TT>G4LorentzVector</TT>.</LI>
<LI>Added energy/momentum checks to remove large energy non-conservation
events.</LI>
<LI>Improved memory management: removed allocation of strings in various
constuctors; replaced several cases of return-by-value with const or
non-const reference, or by use of buffers. CPU speed improvements from
the removal of unnecessary class instantiations.</LI>
<LI>Replace std::vectors with fixed-length arrays in places where speed is
affected. Use G4cerr for error reporting. Added more verbosity.</LI>
<LI>Improved, but not completely fixed, energy conservation in nuclear
breakup. Introduced 4-momentum conservation at each elementary
interaction and at the end of most sub-model stages. Some violation
still remains for the case of break-up of light nuclei.</LI>
<LI>Bug fix of energy non-conservation in N-body phase space generator.</LI>
<LI>Introduced temporary particle types for nuclear fragments far from
stability. These later disappear after the fragments are broken up.</LI>
<LI>Added 4-momentum checking after each sub-model.</LI>
<LI>Improved handling of nuclear excitation energy, now part of nuclear
mass.</LI>
<LI>Recover secondaries from elementary hadron-nucleon interactions which
were deleted in original Bertini model.</LI>
<LI>A bug resulting in factor of 2 reduction of double differential
cross-section in validation at several <TT>GeV</TT>, is now fixed.</LI>
<LI>New interface to <TT>G4Precompound</TT> model added and tested.</LI>
<LI>Fixed bug leading to very low hyperon energies and high CPU usage.</LI>
<LI>Removed several unused classes and did additional code clean-up.</LI>
<LI>Major reorganization of <TT>G4NucleiModel::generateModel()</TT> code.
Added scaling factors ("units") for nuclear radii and cross-sections,
in order to adapt calculations to the literature.</LI>
<LI><TT>G4NucleiModel</TT>: put messages related to negative-path-length
and zero-interaction-partners behind verbosity flag.</LI>
<LI>Fixed defects reported from Coverity tool.</LI>
</UL></LI>
<LI><B>Chiral Invariant Phase Space (CHIPS)</B>
<UL>
<LI>Updated proton elastic and CHIPS parameters.</LI>
<LI>Implemented anti-baryon elastic interactions.</LI>
<LI>Added pion elastic and fixed a bug in CHIPS fragmentation.</LI>
<LI>Implemented isotope-wise CHIPS elastic for neutrons.</LI>
<LI>Fix in <TT>G4QElasticCrossSection</TT> in parameter order for nH. </LI>
<LI>Bug fix in <TT>G4QNeutronNuclearCrossSection</TT> for Ba isotopes.</LI>
<LI>Bug fix for K0 in <TT>G4QKaonMinusElasticCrossSection::GetExchangeT()</TT>.</LI>
<LI>Fix to use of <TT>Z+N</TT> instead of <TT>N</TT> for <TT>A</TT>.</LI>
<LI>Corrected Titanium and Zirconium isotopes in <TT>G4QIsotope</TT>.</LI>
<LI>Added decay of Chipolino in the <TT>G4QEnvironment</TT>, when <TT>A_env=0</TT>.</LI>
<LI>Bug fix following <TT>G4NucleiProperties</TT> warning for <TT>A=0, Z=0</TT>.</LI>
<LI>Bug fix in <TT>G4QPDGCode</TT> and <TT>G4QEnvironment</TT> for Omega and Sigma;
when mass is small for Lambda andSigma+, use Xi0,p.</LI>
<LI>Correction in <TT>G4QElastic</TT> for K0 elastic cross-sections.</LI>
<LI>Corrected treatment of vacuum in fragmentation module.</LI>
<LI>nn is decayed in <TT>G4QLowEnergy</TT>; Omega- is included in
<TT>G4QElastic</TT>; N neutrons (<TT>A=N, Z=0</TT>) are decayed in
<TT>G4QLowEnergy</TT>.</LI>
<LI>Bug-fix in <TT>G4QLowEnergy</TT>: pions as secondaries.</LI>
<LI>Bug-fix in K0 elastic & Ion-Ion Elastic.</LI>
<LI>Bug fix in 'body' module following tests on HARP data.</LI>
<LI><TT>G4QEnvironment</TT>: PDG=0 bug fix; photon and safety corrections.</LI>
<LI>Simplified initialisation of pairs in classes <TT>G4QNeutronCaptureRatio,
G4QNeutronElasticCrossSection, G4QNeutronNuclearCrossSection</TT> and
<TT>G4QuasiFreeRatios</TT>.</LI>
<LI>Added missing std:: to call to 'for_each' algorithm in <TT>G4QInelastic</TT>.</LI>
<LI><TT>G4QContent</TT>: removed dead code in quark constructor; addressing problem
report <A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1131">#1131</A>.
Removed dead code also in method <TT>MakePartonPair()</TT>.</LI>
<LI>Removed dead code in <TT>G4QNucleus</TT> and <TT>G4QEnvironment</TT>.</LI>
<LI><TT>G4ElectroNuclearReaction</TT>: cross section classes are included
by pointer and not by value; addresses old problem reported in HyperNews.</LI>
</UL></LI>
<LI><B>De-excitation</B>
<UL>
<LI><TT>G4ExcitationHandler</TT>: apply FermiBreakUp to fragments with
<TT>A>1</TT> (before was <TT>A>4</TT>) in order to reduce number of
fake gamma produced in deexcitation of light fragments; added parameter
'minExcitation' equal to <TT>1 keV</TT>; added check on stability of
primary; do evaporation if FermiBreakUp cannot deexcite a fragment;
added <TT>SetParameters()</TT> method.</LI>
<LI><TT>G4StatMFMacroTemperature</TT>: cleanup logic of solving equation for
temperature to avoid exception; moved constructors and destructor to source.</LI>
<LI><TT>G4FermiFragmentsPool</TT>: extended list of stable fragments to be coherent with the list
of fragments in the GEM model; fix for fragment 111.</LI>
<LI><TT>G4FermiConfiguration</TT>: parameter of Coulomb energy Kappa is
changed from 1 to 6 according to recommendation of original author of
the model A.Botvina.</LI>
<LI><TT>G4FermiPhaseSpaceDecay</TT>: improved model of sampling of kinetic
energy; cleanup of the code to use <TT>G4Pow</TT>.</LI>
<LI><TT>G4UnstableFragmentBreakUp</TT>: new class to decay exotic fragment
(like 2n or 2p).</LI>
<LI><TT>G4Evaporation</TT>: rewritten <TT>BreakUp()</TT> method; added
<TT>Initialise()</TT> method at construction, to setup all options and
not at run time.
Added <TT>InitialiseEvaporation()</TT> method to setup decay channels;
changed order of decay channels: first photon evaporation, then fission,
finally all other channels as before. Improved condition on how to
stop deexcitation loop;
added call to <TT>G4UnstableFragmentBreakUp</TT> if natural abundances
of cold fragment is zero and <TT>Z < 20</TT>; optimized logic of
stopping of evaporation loop; set as a default variant evaporation
combining standard plus GEM probabilities.</LI>
<LI><TT>G4Evaporation, G4EvaporationChannel, G4EvaporationProbability</TT>:
improved computation of minimal and maximal evaporation energy.</LI>
<LI><TT>G4EvaporationChannel</TT>: removed new and delete of probability
objects at each to the class, use instead local
<TT>G4EvaporationProbability</TT> of the channel.</LI>
<LI><TT>G4GEMChannel</TT>: use the same formulas as in <TT>G4GEMProbability</TT>
class.</LI>
<LI><TT>G4GEMProbability</TT>: fixed numerical problem (division by zero), code
cleanup.</LI>
<LI><TT>G4VEvaporationChannel, G4PhotonEvaporation</TT>: added two new
virtual methods <TT>EmittedFragment()</TT> and <TT>BreakUpFragment()</TT>.</LI>
<LI><TT>G4DiscreteGammaTransition</TT>: make transition depended on Z and A (before
was only Z) and added energy tolerance</LI>
<LI><TT>G4VGammaDeexcitation</TT>: rewritten kinematics of 2-body decay;
fix in kinematics to take into account the electron mass and the binding energy
in the case of electron emission.</LI>
<LI><TT>G4DiscreteGammaTransition, G4DiscreteGammaDeexcitation,
G4ContinuumGammaDeexcitation</TT>: set energy tolerance <TT>1 keV</TT>;
more accurate Lorentz computations; define destructors to be virtual.</LI>
<LI><TT>G4DiscreteGammaTransition</TT>: removed unphysical corrections of
gamma energy; fixed default particle as gamma; avoid extra subtracting binding
energy in case of electron emission; use const-ref for <TT>G4NuclerLevel</TT>
data member</LI>
<LI><TT>G4ContinuumGammaTransition</TT>: use exponential law for sampling
of decay time.</LI>
<LI><TT>G4PhotonEvaporation</TT>: added correction of electron state after
emission; fixed probability computation.</LI>
<LI><TT>G4E1Probability</TT>: code cleanup; added numerical protection
to avoid division by zero; fixed probability computation.</LI>
<LI><TT>G4NuclearLevelManager</TT>: replaced stream input in <TT>Read()</TT>
with char[] input and manual conversion to double; reduces 142 MB of
memory churn and some CPU speedup.</LI>
<LI><TT>G4NuclearLevelStore, G4NuclearLevelManager, G4NuclearLevel</TT>:
eliminate passing and copying of vectors; fill NuclearLevel directly by
Manager; modified <TT>G4ContinuumGammaTransition</TT> accordingly.</LI>
<LI>Add README file explaining the photo-evaporation data files.</LI>
<LI>Removed unused classes: <TT>G4DummyProbability, G4E1ProbabilityXXX,
G4E1SingleProbabilityXXX</TT>, where <TT>XXX=001,01,1,10,100</TT>
differing only by the scale factor for the probability;
scale factor may be applied in the main class if needed.</LI>
<LI><TT>G4NeutronRadCapture</TT>: use <TT>G4PhotonEvaporation</TT> instead
of simplified one gamma emission method.</LI>
<LI>Fixed problems reported by the Coveruty tool (mainly missing data
initialisation); moved constructors and destructors to source;
code cleanup.</LI>
</UL></LI>
<LI><B>Elastic scattering</B>
<UL>
<LI>Added new model <TT>G4NuclNuclDiffuseElastic</TT>, final state
production model for nucleus-nucleus elastic scattering, where
Coulomb amplitude is not considered as correction.</LI>
<LI>Use <TT>G4Q(Proton/Neutron)ElasticCrossSection</TT> instead of
<TT>G4QElasticCrossSection</TT>; fixed initialization problem for
<TT>G4QNeutronElasticCrossSection</TT>.</LI>
<LI><TT>G4UHadronElasticProcess</TT>: fixed CHIPS warning for Cu, due to
wrong isotope selected; addressing problem report from ALICE.</LI>
<LI>New class <TT>G4CHIPSElasticXS</TT> extracted from
<TT>G4UHadronElasticProcess</TT>, following <TT>G4VCrossSectionDataSet</TT> interface.</LI>
</UL></LI>
<LI><B>High Energy Theoretical</B>
<UL>
<LI>In <TT>G4HEInelastic</TT> fixed case of array overrun; got rid of dead
code and a memory leak in methods <TT>HighEnergyCascading(),
MediumEnergyCascading()</TT> and <TT>QuasiElasticScattering()</TT>.</LI>
<LI>Fixed uninitialized data and removed dead code where applicable.</LI>
</UL></LI>
<LI><B>Im_r_matrix</B>
<UL>
<LI>Removed empty source file for <TT>G4VScatterer</TT>.
Synchronised developments to HEAD version.</LI>
</UL></LI>
<LI><B>INCL/ABLA</B>
<UL>
<LI>Nuclear deformation and shell effect data reader now constructs the
corresponding data tables correctly.</LI>
<LI>Added some internal logging facilities to INCL (disabled by default).</LI>
<LI>Added missing virtual destructor to base classes where necessary.</LI>
<LI>Refactored INCL input data structure to use a new class <TT>G4InclInput</TT>.</LI>
<LI>Access to input data only through accessor methods.</LI>
<LI>INCL now uses integer A and Z internally as well as in the interface.</LI>
<LI>Fixed fragment vector and Fermi break-up related memory leaks in
INCL/ABLA interfaces.</LI>
<LI>Corrected initialisation of INCL internal data and added checks on
array boundaries in datafile reader.</LI>
<LI>Fixed insufficient array index safeguard in ABLA.</LI>
<LI>Updated interfaces: INCL + built-in ABLA de-excitation and
INCL + PreCompound model.</LI>
</UL></LI>
<LI><B>neutron_hp</B>
<UL>
<LI>Bug fix in <TT>MF=6, LAW=2</TT> case in <TT>G4NeutronHPDiscreteTwoBody</TT>;
on kind contribution by E.Mendoza, D.Cano-Ott (CIEMAT).</LI>
<LI>Fixed bug in <TT>G4NeutronHPCaptureFS</TT>; addressing problem report
<A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1155">#1155</A>.
<LI>Set lower limit for gamma energy in <TT>G4NeutronHPFinalState</TT>.</LI>
<LI>Added special treatment for <TT>Be9(n,2n)Be8(2a)</TT> case in
<TT>G4NeutronHPInelasticBaseFS</TT>; removed unnecessary warnings.</LI>
<LI>Added safety for _nat_ data in <TT>G4NeutronHPInelasticCompFS</TT>.</LI>
<LI>Changed warning message in <TT>G4NeutronHPPhotonDist</TT>.</LI>
</UL></LI>
<LI><B>Parton-String</B>
<UL>
<LI>Added missing virtual destructor to <TT>G4DiffractiveHHScatterer</TT>.</LI>
<LI>Implemented new tuned parameters of nuclear destruction in FTF model;
parameters were tuned using HARP-CDP data on p+Cu interactions.
Still additional tuning required for heavy nuclei.</LI>
<LI>Use integer interface of G4Nucleus in <TT>G4FTFModel</TT>.</LI>
<LI>Tuned parameters to FTF for pA and PiA interactions; also tuned quark
exchange and Reggeon cascade parameters.</LI>
<LI>Improved low mass string fragmentation.</LI>
<LI>Introduced an action in <TT>FragmentStrings()</TT>; string
fragmentation is repeated to avoid energy-momentum violation.</LI>
<LI>Introduced phase space restrictions at small mass string fragmentation.</LI>
<LI>Moved inline methods in <TT>G4ExcitedStringDecay</TT> to source.</LI>
<LI>Fixed warning messages in <TT>G4LundStringFragmentation</TT>.</LI>
<LI>Remove unused class <TT>G4PartonStringAnnihilator</TT>.</LI>
</UL></LI>
<LI><B>Pre-equilibrium</B>
<UL>
<LI>Removed unused dummy classes <TT>G4VPreCompoundIon</TT> and
<TT>G4VPreCompoundNucleon</TT>.</LI>
<LI>General cleaup of all classes: use <TT>G4Pow</TT> class to speedup
computations.</LI>
<LI><TT>G4PreCompoundModel</TT>: Emission and Transition classes become
members created at construction and no longer at run time;
initialisation is performed at construction or when options are
changed; <TT>G4Fragment</TT> is no longer const,
it is modified during process of emission of particles.</LI>
<LI><TT>G4PreCompoundEmission</TT>: removed <TT>SetUp()</TT> inline method
and moved its functionality.</LI>
<LI><TT>G4PreCompoundTransitions</TT>: fixed bug in the
<TT>PerformTransition()</TT> method, to use number of particles
instead of number of excitons.</LI>
<LI><TT>G4PreCompoundModel</TT>: disabled upper limit on excitation
energy.</LI>
<LI><TT>G4PreCompoundTransitions</TT>: fixed bug in the <TT>PerformTransition()</TT>
method, use number of particles instead of number of excitons.</LI>
<LI>Fixed Coverity warnings for missing initialisation of data in constructors.</LI>
</UL></LI>
<LI><B>QMD Reaction</B>
<UL>
<LI>Enabled RQMD in <TT>G4QMDReaction</TT> and <TT>G4QMDMeanField</TT>.</LI>
</UL></LI>
<LI><B>Radioactive Decay</B>
<UL>
<LI>G4RadioactiveDecay: in <TT>LoadDecayTable()</TT> create a decay table
for isomers not included in RDM database and assume they all under go
IT decay. After <TT>DoDecay()</TT> check if there is any secondary
produced; kill the track if not to prevent infinite loop.
Insert a special treatment for <TT>K-40</TT> beta decay; applied
<TT>SetICM()</TT>, <TT>SetARM()</TT> and <TT>SetHLThreshold()</TT>
to a decay channel; addresses problem report
<A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1068">#1068</A>.
Make sure the proper time is positive.</LI>
<LI><TT>G4NuclearDecayChannel</TT>: added initialisation to all three
constructors.</LI>
<LI><TT>G4RadioactiveDecay, G4NuclearDecayChannel</TT>: limit the shell
index to <TT>< 7</TT>, as required by the ARM. Changed to use
<TT>BreakUp()</TT> so to limit to one transition per step when ICM is
applied; addresses problem report
<A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1001">#1001</A>.</LI>
<LI><TT>G4RadioactiveDecayMessenger</TT>: added the UI commands for
<TT>SetICM(), SETARM()</TT> and <TT>SetHLThreshold()</TT>;
removed restrictions to hlCMD.
<TT>G4RadioactiveDecay</TT>: apply <TT>SetICM()</TT>, <TT>SetARM()</TT>
and <TT>SetHLThreshold()</TT> in all decay modes.</LI>
<LI>Completed implementation for generating the activity table in VR mode.</LI>
<LI>Added class <TT>G4RadioactivityTable</TT> for tallying the accumulated
radio-activities in VR mode; modified <TT>G4RadioactiveDecay</TT>
accordingly, with changes needed to setup the radioactivity tables.</LI>
<LI>Improved code formatting.</LI>
</UL></LI>
<LI><B>Re-Parameterized Gheisha</B>
<UL>
<LI>Fixed initialisation of data in <TT>G4RPGFragmentation</TT> constructor.</LI>
</UL></LI>
<LI><B>Stopping</B>
<UL>
<LI><TT>G4MuonMinusCaptureAtRest::DoMuCapture()</TT>: fixed unused branch
in mass calculation</LI>
<LI>Fixed initialisation of data in <TT>G4PiMinusStopMaterial</TT> and
<TT>G4StopDummyDeexcitation</TT> constructors.</LI>
</UL></LI>
<LI><B>Utils</B>
<UL>
<LI><TT>G4Fragment</TT>: do not add any shift to excitation energy but use
direct computation (this is needed to avoid infinite loop in gamma
deexcitation); use <TT>G4NucleiProperties</TT> to access or compute
ground state mass. Allow e- as a fragment.
Improved printout of negative excitation energy.
Minor speedup and some code cleanup.</LI>
<LI>Fixed minor leak in <TT>G4KineticTrack</TT>.</LI>
<LI><TT>G4DecayStrongResonances</TT>: cleanup of unused headers.</LI>
</UL></LI>
</UL>
<A NAME="interc-notes">
<H3><I>Intercoms</I></H3></A>
<UL>
<LI>Added new commands to <TT>G4UIcommand</TT>:
<TT>/control/if, /control/add, /control/subtract, /control/multiply</TT>
and <TT>/control/divide</TT>.</LI>
<LI>Implemented range check of UI commands for units.</LI>
<LI><TT>G4UIManager</TT>: added field to get GUI Window session.</LI>
</UL>
<A NAME="interf-notes">
<H3><I>Interfaces</I></H3></A>
<UL>
<LI><TT>G4VBasicShell</TT>: implemented improvements for command completion.</LI>
<LI><TT>G4UIQt</TT>: added tab widgets for visualization. Added new command in
help tree for immediate update of the tree. Fixed warning in standard-output
during viewer creation and fixed flush problem. Fixed recursive repaint
problem. Fixed call to contructor <TT>QKeySequence()</TT> in
<TT>AddButton()</TT> to allow for porting on gcc-4.5.0.
Fixed problem with redraw of help tree.</LI>
<LI><TT>G4UIExective</TT>: changed order for session type; GUI session is
prioritized.</LI>
</UL>
<A NAME="materials-notes">
<H3><I>Materials</I></H3></A>
<UL>
<LI><TT>G4MaterialPropertyVector</TT>: removed allocation of temporary helper
object and modified <TT>GetAdjacentBins()</TT> to allow for a value to
match a bin exactly. Measured 21% CPU speed-up for optical processes.</LI>
<LI><TT>G4OpticalSurface</TT>: changed <TT>GetAngularDistributionValue()</TT>,
no longer dereferencing a pointer but returning the value at the array
index.</LI>
<LI><TT>G4NistMaterialBuilder</TT>: added G4_LUCITE and 6 new materials more.
Added DNA biochemical materials. Added G4_CYTOSINE, G4_THYMINE, G4_URACIL.</LI>
<LI><TT>G4NistManager</TT>: use <TT>G4Pow</TT> for fast computations.</LI>
<LI><TT>G4NistMaterialBuilder, G4NistManager</TT>: added method
<TT>GetMeanIonisationEnergy()</TT>.</LI>
<LI><TT>G4ionisParamMat, G4DensityEffectData</TT>: added possibility to access
density effect data in the case when pure material is not defined via NIST;
atom number and state of such materials are checked.</LI>
<LI><TT>G4DensityEffectData</TT>: fixed method <TT>GetIndex(Z, state)</TT> for
Hydrogen and solid states, renamed it to <TT>GetElementIndex()</TT>.</LI>
<LI><TT>G4IonisParamMat</TT>: added member and method <TT>GetInvA23()</TT>;
use <TT>GetElementIndex()</TT>.</LI>
<LI><TT>G4IonisParamElm</TT>: use mean excitation energy from NIST DB
instead of data of the ICRU37 report;
addressing a problem reported for mean energy deposition in compound
materials.</LI>
<LI><TT>G4AtomicShells</TT>: improved performance by adding indexing array.</LI>
<LI><TT>G4SandiaTable</TT>: fixed bug in <TT>G4_Ar</TT> and in
<TT>SandiaMixing()</TT>.</LI>
<LI>Removed obsolete unused data classes <TT>G4IronStoppingICRU73</TT>,
<TT>G4MaterialStoppingICRU73</TT>, <TT>G4SimpleMaterialStoppingICRU73</TT>,
data are uploaded from <TT>G4LEDATA</TT> data set.</LI>
<LI>Fixed defects reported by Coverity tool, mainly related to initialization
of static data. Adopt G4 types wherever necessary. Some code formatting.</LI>
</UL>
<A NAME="part-notes">
<H3><I>Particles</I></H3></A>
<UL>
<LI>Updated mass/width of muons, taus, mesons, and baryons to PDG-2010.</LI>
<LI>Added light anti_nuclei inside hadrons/ions sub-module.</LI>
<LI>Added methods <TT>IsLightAntiIon()</TT> and <TT>GetLightAntiIon()</TT> to
<TT>G4IonTable</TT>.</LI>
<LI>Fix to <TT>G4IonTable::IsLightIon()</TT> method; do not classify neutron
and genericIon as light ions.</LI>
<LI>Modified <TT>G4ParticleDefiniton::Dump()</TT> to print AtomicNumber/Mass.</LI>
<LI>ElectronOccupancy in <TT>G4DynamicParticle</TT> is now created on demand, i.e.
it is not created at construction of <TT>G4DynamicParticle</TT> but when
<TT>AddElectron()</TT> or <TT>RemoveElectron()</TT> are invoked.</LI>
<LI>Allow creation of shortlived particles other than in 'PreInit' state.</LI>
<LI>Added <TT>G4DynamicParticle::GetParticleDefinition()</TT> giving
'const' pointer. Code clean up to use const pointer of
<TT>G4ParticleDefinition</TT> where possible.</LI>
<LI>Fixed signature for std::pair in <TT>G4IonTable</TT> source code for
compliance to ISO/C++ Standard.</LI>
<LI>Fixed problems that error messages appear in cout and not in cerr.</LI>
<LI>Code cleanup in <TT>G4DynamicParticle</TT> constructors.</LI>
<LI>Fixed cases of uninitialised data reported by Coverity.</LI>
</UL>
<A NAME="pers-notes">
<H3><I>Persistency</I></H3></A>
<UL>
<LI>ASCII
<UL>
<LI>Added missing static data initialisation to constructors where
applicable.</LI>
<LI>Fixed potential cases of dereferencing a NULL pointer in
<TT>G4tgbMaterialMgr</TT>.</LI>
<LI>Fixed cases of unreachable code in <TT>G4tbrVolumeMgr</TT>.</LI>
<LI>Fixed leaks in <TT>G4tgrFileReader</TT>.</LI>
<LI><TT>G4tgrUtils</TT>: fixed logic in <TT>WordIsUnit()</TT> and fixed
restoring of cout precision in <TT>Dump3v()</TT>.</LI>
<LI>Fixed some minor Coverity reports.</LI>
</UL></LI>
<LI>GDML
<UL>
<LI>New class <TT>G4GDMLMessenger</TT> instantiated with <TT>G4GDMLParser</TT>
and defining UI commands for importing and exporting GDML files, through
the various options the parser provides.</LI>
<LI>Corrected <TT>GetWorldVolume()</TT> in <TT>G4GDMLReadStructure</TT>, to
make use of the structure stored in memory in case geometry is already
imported.</LI>
<LI>Added <TT>G4GenericTrap</TT> among the set of supported solids in both
GDML reader and writer, treating as 'arb8' GDML type.</LI>
<LI>Added <TT>GetAuxMap()</TT> method to <TT>G4GDMLParser</TT> and removed
'const' qualifier to types in internal map of logical-volumes. Changed
value type to 'string' in <TT>G4GDMLAuxPairType</TT> to avoid extra
type evaluation while parsing.</LI>
<LI>Fixed dummy initialisation of members in classes constructors where
applicable.</LI>
<LI>Added exceptions asserting validity of dynamic casted pointers.</LI>
<LI>Added possibility to de-activate/activate names stripping when reading
files, by invoking a new method <TT>G4GDMLParser::SetStripFlag(bool)</TT>
before importing the GDML file. Stripping is activated by default.</LI>
<LI>Fixed minor left Coverity reports. Some code cleanup.</LI>
</UL></LI>
<LI>mctruth
<UL>
<LI>Fixed possible case of NULL forward in <TT>G4PersistencyCenter</TT>
class.</LI>
</UL></LI>
</UL>
<A NAME="lst-notes">
<H3><I>Physics lists</I></H3></A>
<UL>
<LI>New physics lists and builders:
<UL>
<LI>QGSP_BERT_CHIPS: use CHIPS inelastic in cluding cross sections
for Kaon and all "misc" particles, including anti-proton,
anti-neutron and hyperons.
</LI>
<LI>Shielding: A list optimised to shielding applications. Uses FTFP and
Bertini for proton, neutron,pion, and Kaon. For neutron at low energy,
neutron_HP is used. Uses G4BGGNucleonInelasticXS
inelastic cross sections for proton and neutron,
G4NeutronHPJENDLHEInelasticData for neutron at low energy,
interface to CHIPS cross-sections G4QHadronInelasticDataSet for Kaon.
For ions the QMD model is used.
</UL></LI>
<LI>Physics lists qualification changes (obsolete/partially
disabled/experimental/supported):
<UL>
<LI>Obsolete and disabled (removed): FTFP_EMV, QGSC_EFLOW, QGSP_EMX,
FTFC, FTFP, LHEP_BERT_HP, LHEP_BERT, LHEP_PRECO_HP,
QGSC_EMV, QGSC, QGSC_QGSC, QGSP_BERT_DIF, QGSP_BERT_NQE,
QGSP_DIF, QGSP_EMV, QGSP_EMV_NQE, QGSP_NQE, QGSP_QE.</LI>
<LI>Obsolete (blocked): QGSP, QGSC_CHIPS</LI>.
<LI>Explicitely marked experimental:</LI>
<LI>Marked as supported: QGSP_FTFP_BERT</LI>
</UL></LI>
<LI>Introduced new constructor for all builders with verbosity argument.
Existing constructors are kept, but updated default arguments to avoid
ambiguous signatures. Changed physics-lists to use the new constructor.
Introduced new constructor for G4NeutronTrackingCut.</LI>
<LI>EM physics builders and options:
<UL>
<LI>Included anti_deuteron, anti_triton, anti_alpha, anti_He3 in all EM
builders except the DNA builder.</LI>
<LI>Added <TT>G4WentzelVIModel</TT> for multiple-scattering and
<TT>G4CoulombScattering</TT> process for muons in all builders.</LI>
<LI>Use <TT>G4ionIonisation</TT> for He3 and He4 ions in all EM builders.</LI>
<LI>G4EmStandardPhysics_option2: added <TT>G4WentzelVIModel</TT> for
multiple-scattering and excluded single
scattering model for pi+-, kaon+-, protons
(hadron elastic process is responsible for large angle scattering);
added BS angular generator for bremsstrahlung.</LI>
<LI>G4EmStandardPhysics_option3: commented out Rayleigh to have better CPU
performance.</LI>
<LI><TT>G4EmLivermorePhysics, G4EmPenelopePhysics, G4EmDNAPhysics,
G4EmLivermorePolarizedPhysics</TT>: added <TT>G4GoudsmitSaundersonMscModel</TT>
for e+-; added <TT>1 MeV</TT> upper limit for the Livermore ionisation
model (was <TT>1 GeV</TT>).</LI>
<LI>Correctly implement new option <TT>SetScintillationByParticleType()</TT> in
<TT>G4OpticalPhysics</TT>; make <TT>ConstructProcess()</TT> and
<TT>ConstructParticle()</TT> methods public. Added <TT>G4OpMieHG</TT>
scattering process.</LI>
<LI>Changed default elastic model in <TT>G4EmDNAPhysics</TT> and switched
elastic model in G4DNA physics builder.</LI>
<LI>Added new e- G4DNA processes to <TT>G4EmDNAPhysics</TT> in builders.</LI>
Added also new H-excitation model.
</UL></LI>
<LI>Hadronic builders:
<UL>
<LI>Allow for separate physics for pion and Kaon, i.e. add builders
seperating pion and Kaon,
<TT>G4{V,}{Pion,Kaon}Builder, G4{LEP,Bertini, QGSP}PionBuilder</TT>,
and <TT>G4ChipKaonBuilder</TT>. In QGSP_BERT_CHIPS, use CHIPS
<TT>G4QInelastic</TT> via <TT>G4ChipKaonBuilder</TT> for Kaons.</LI>
<LI>In builders <TT>G4QGSP{Proton, Neutron,Pik}Builder</TT> and
<TT>G4QGSBinary</TT>, FTFP and FTFBinary builders use cross-section
with relativistic rise, using a combination of previously used
cross-section and <TT>G4GlauberGribovCrossSection</TT> above
<TT>91 GeV</TT>.</LI>
<LI><TT>G4FTFPNeutronBuilder, G4FTFPPiKBuilder, G4FTFPProtonBuilder,
G4QGSPNeutronBuilder, G4QGSPPiKBuilder, G4QGSPProtonBuilder, G4QGSBuilder</TT>:
added deletion of <TT>G4ExcitationHandler</TT> and <TT>G4QGSMFragmentation</TT>;
added deletion of neutron builder for QGSP_BERT, FTFP_BERT, QGSP_FTFP_BERT.</LI>
<LI>Replaced <TT>G4HadronQElasticPhysics</TT> with <TT>G4QElasticPhysics</TT>
and <TT>G4IonPhysics</TT> with <TT>G4QIonPhysics</TT> in the CHIPS
physics-list. Particles are restricted to SU(3) hadrons (no pi0 & eta) in
<TT>G4QElasticPhysics</TT>. Fix in <TT>G4QPhotoNuclearPhysics</TT> to
reset particles iterator.</LI>
<LI><TT>G4IonBinaryCascadePhysics</TT>: added <TT>G4IonProtonCrossSection</TT>.</LI>
</UL></LI>
<LI><TT>G4HadronElasticPhysics</TT> renamed to <TT>G4HadronElasticPhysics93</TT>
<TT>G4HadronElasticPhysics</TT> is now a copy of <TT>G4HadronHElasticPhysics</TT>.
Applied related changes to QGSP_BERT_EMV. <TT>G4HadronHElasticPhysics</TT>
is now marked as obsolete.</LI>
<LI>Fixed bugs in <TT>G4IonQMDPhysics</TT>: wrong energy limit for overlap
with BIC; also use QMD for d, alpha.</LI>
<LI><TT>G4HadronElasticPhysicsHP</TT>: added CHIPS cross sections for p and
n on Hydrogen and Helium targets.</LI>
<LI>Updates to lists:
<UL>
<LI>Revised QGSP_FTFP_BERT and FTFP_BERT lists to use CHIPS G4QInelastic
for all "misc" particles, including anti-proton, anti-neutron and
hyperons, and use interface to CHIPS cross-sections
<TT>G4QHadronInelasticDataSet</TT> for kaons. Required changes to
respective <TT>HadronPhysics*</TT> classes.
<LI>LBE: substituted obsolete <TT>G4MultipleScattering</TT> by particle
wise processes. Updated to comply with the new EM design (use
Livermore models rather than LowEnergy processes).</LI>
<LI>QBBC: disabled multi-fragmentation model of deexcitation.</LI>
<LI>QGS_BIC and FTF_BIC now use <TT>G4NeutronXS</TT> cross sections.</LI>
</UL></LI>
<LI><TT>G4DataQuestionaire</TT>: fix for problem report
<A HREF="http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1125">#1125</A>
for optical physics, to correctly check on <TT>G4REALSURFACEDATA</TT> path.</LI>
<LI>Added check on new <TT>G4NEUTRONXSDATA</TT> data set for QBBC and in
<TT>G4NeutronCrossSectionXS</TT>.</LI>
</UL>
<A NAME="run-notes">
<H3><I>Run</I></H3></A>
<UL>
<LI>Added <TT>G4ScoreSplittingProcess</TT> if geometry includes a regular
structure.</LI>
<LI>Added protection against particle without process manager.</LI>
<LI>Introducing two new methods in G4RunManager class, <TT>ReOptimize()</TT> and
<TT>ReOptimizeMotherOf()</TT>; these will cause re-optimization (re-voxelization)
of one particular logical volume without forcing re-optimization of the
entire geometrical hierarchy.</LI>
<LI><TT>G4RunManagerKernel</TT>: in <TT>RunInitialization()</TT>, notify
<TT>G4VisManager</TT> when geometry needs to be closed.
</UL>
<A NAME="track-notes">
<H3><I>Track & Tracking</I></H3></A>
<UL>
<LI>Added <TT>G4Track::GetParticleDefinition()</TT> returning 'const' pointer,
if possible.</LI>
<LI>Added warning exception if <TT>GetDeltaEnergy/Momentum()</TT> methods are
invoked. These methods are now obsolete and planned to be removed.</LI>
<LI>Added touchable history of the origin to <TT>G4Track</TT>.</LI>
<LI>Added protection against possible null pointer in <TT>G4Track::GetVelocity()</TT>.
Use PhysicsVector for calculation of <TT>GetVelocity()</TT> for better
performance.</LI>
<LI><TT>G4SteppingManager</TT>: use canonical form for <TT>G4Exception</TT>.
Added protection for possible negative index in method
<TT>ApplyProductionCut()</TT> and some printout formatting.</LI>
<LI><TT>G4Step::GetSecondary()</TT> gives back a <TT>const G4TrackVector*</TT>,
while <TT>G4Step::GetfSecondary()</TT> gives back non-const pointer.</LI>
<LI>Fixed restoring of output settings in <TT>G4SteppingVerbose</TT>.
Fixed cases of restoring cout/cerr precision formatting in several classes.</LI>
<LI>Use 0 instead of NULL where applicable.</LI>
<LI>Fixed minor reports from Coverity.</LI>
</UL>
<A NAME="vis-notes">
<H3><I>Visualization</I></H3></A>
<UL>
<LI><B>Management</B>
<UL>
<LI>Added new <TT>/vis/open</TT> command for OpenGL viewers,
<TT>/vis/open OGL</TT>.
This new form allows the same macro to be used whether one is on
Linux or Windows (calling OGLSX on Linux and OGLSWin32 on Windows).
When the application has been built with Qt, it will use the Qt form
of OpenGL; when built with Motif, it will use the Motif form of OpenGL.
Also added options OGLI and OGLS to force Immediate or Stored modes.
The user is still free to use the older, specific viewer names, such
as OGLIX, but the simple form, OGL, will give the most portable macros.</LI>
<LI>Added new <TT>/vis/open</TT> command for OpenInventor, <TT>/vis/open OI</TT>.
This new form allows the same macro to be used whether one is on Linux
or Windows (calling OIX on Linux and OIWin32 on Windows).</LI>
<LI>Added <TT>/vis/scene/add/digis</TT> and <TT>/vis/filtering/digi</TT>
commands, analogous to the already-existing commands
<TT>/vis/scene/add/hits</TT> and <TT>/vis/filtering/hits</TT>.
As with hits, it remains the user's responsibility to provide the
digitisation classes.
Added method <TT>AddCompound(const G4VDigi&)</TT> to drivers.</LI>
<LI>Introduced DispatchToModel without <TT>i_mode</TT>. The archaic form
<TT>G4VTrajectory::DrawTrajectory(i_mode)</TT> is replaced by the
newer form, <TT>G4VTrajectory::DrawTrajectory()</TT>. <TT>i_mode</TT>
used to be a parameter to control whether the trajectory was drawn as
a line, a line plus step points, or only step points:
<UL>
<LI>'i_mode > 0' meant draw lines and points, size of points in
'pixels = abs(i_mode)/1000'</LI>
<LI>'i_mode = 0' meant draw only lines</LI>
<LI>'i_mode < 0' meant draw only points, size of points in
'pixels = abs(i_mode)/1000'</LI>
</UL>
Since release 8.1, better control has been available from the command
<TT>/vis/modeling/trajectories</TT>. Since release 5.0, <TT>i_mode</TT>
less than 1000 has in fact drawn no points and <TT>i_mode</TT> of 1000
has drawn points that were so small (a single pixel wide) that they
were overshadowed by the trajectory itself except at endpoints of the
trajectory or where the trajectory made a sharp change of direction.
Use of <TT>i_mode</TT> is now trapped and a warning gets printed.</LI>
<LI>Changed order of flags to follow <TT>G4UIExecutive</TT>.</LI>
<LI>Moved all non-fatal output messages from <TT>G4cerr</TT> to <TT>G4cout</TT>
for DAWN, VRML and gMocren drivers.</LI>
<LI><TT>G4VisManager, G4VisExecutive</TT>: introduced optional verbosity
string argument in constructor; made 'fVerbosity' and
<TT>GetVerbosity()</TT> static.</LI>
<LI>Added virtual destructors to fix compilation warnings.</LI>
<LI>Added <TT>/vis/viewer/set/defaultColour</TT> and <TT>defaultTextColour</TT>
commands.</LI>
<LI>Fixed <TT>G4VisExecutive</TT> inlined constructor.</LI>
<LI>Fixed some Coverity reports.</LI>
</UL></LI>
<LI><B>Modeling</B>
<UL>
<LI>Added <TT>G4DigiModel</TT> and <TT>G4DigiFilterFactories</TT>.</LI>
<LI>Added default colours to <TT>G4TrajectoryDrawByParticleID</TT>.</LI>
<LI>Replace polyhedra with solids for sections and cutaways.</LI>
<LI>Trap use of <TT>i_mode</TT> and print warning.</LI>
<LI>Fixed time-slicing problem.</LI>
</UL></LI>
<LI><B>Externals</B>
<UL>
<LI><TT>G4OpenGL2PSAction</TT>: added new method to set viewport.</LI>
<LI>Updated gl2ps to version 1.3.5.</LI>
</UL></LI>
<LI><B>gMocren</B>
<UL>
<LI>Removed dependency on <TT>G4VisManager</TT>. Improved printout.</LI>
</UL></LI>
<LI><B>HepRep</B>
<UL>
<LI>Added command <TT>/vis/heprep/renderCylAsPolygons</TT>.
</UL></LI>
<LI><B>OpenGL</B>
<UL>
<LI><TT>G4OpenGLQtViewer</TT>: better inclusion of new tabs in UI part.
Many improvements to OpenGL Qt.</LI>
<LI>Speed improvements for polymarkers (e.g., trajectories).</LI>
<LI>Some improvements with auto rotation mode.</LI>
<LI>Corrected strdup usage in <TT>G4OpenGLViewer</TT>.</LI>
<LI>Use generic section and cutaway algorithm.</LI>
<LI>Added protection against multiple repaint call, and protection against
resizeGl with bad values.</LI>
<LI>Improved kernel visit trigger.</LI>
<LI>Time-slices fade to background colour.</LI>
<LI>Added verbosity control.</LI>
<LI>Tidied display list limit.</LI>
</UL></LI>
<LI><B>OpenInventor</B>
<UL>
<LI>Added protection against repeated initialisation.</LI>
<LI>Protected output with <TT>G4VisManager::confirmations</TT>.</LI>
<LI>Improved kernel visit trigger.</LI>
</UL></LI>
<LI><B>RayTracer</B>
<UL>
<LI>Added missing virtual destructor to <TT>G4VRTScanner, G4RTXScanner</TT>
and <TT>G4RTSimpleScanner</TT> classes.
</UL></LI>
</UL>
<A NAME="env-notes">
<H3><I>Environments</I></H3></A>
<UL>
<LI><B>G4Py</B>: revised usage of MultipleScattering classes to make use of new
particle based processes. Fixed bug in wrapping of <TT>G4GDMLParser</TT>.
Updated run-manager and physics-lists. Added new example using GTK
First experimental support for Python3. Updates to support changes
in kernel.</LI>
<LI><B>Momo</B>: revised obsolete trajectory drawing. Using <TT>QGSP_BERT</TT>
physics-list instead of <TT>GPE</TT>. JAVA source codes is now included.</LI>
</UL>
<A NAME="data-notes">
<H3><I>Data sets</I></H3></A>
<UL>
<LI>New data set G4NEUTRONXS-1.0 for evaluated neutron cross section data
on natural composition of elements:
<UL>
<LI>Path to data controlled by variable <TT>G4NEUTRONXSDATA</TT>.</LI>
</UL></LI>
<LI>New data set G4PII-1.2 for shell ionisation cross-sections to be used
in precise impact ionisation simulation.
<UL>
<LI>Path to data controlled by variable <TT>G4PIIDATA</TT>.</LI>
</UL></LI>
<LI>New low-energy data set, G4EMLOW.6.19:
<UL>
<LI>New directory and data files needed by ionisation cross section
models for PIXE; added data tables in the directories uf, kpcsPaul
and kacsPaul included in the 'pixe' dir.</LI>
<LI>Added 'sigmadiff_cumulated_elastic_e_champion.dat' and
temporary 'sigma_excitation_e_born.dat' to dna module.</LI>
<LI>Added data files in the penelope module, necessary for
Penelope08 models for gamma rays.</LI>
<LI>Added sigma_excitation_e_born.dat file for G4DNABornIonisationModel.</LI>
<LI>Updated G4DNA data tables.</LI>
<LI>added two new Geant4-DNA files for for vibrational excitation and
attachment sigma.</LI>
<LI>Added extra stopping power data for ions; data are obtained from
computations of PASS code by A.Schinner.</LI>
<LI>Updated sigma ionisation Rudd data.</LI>
<LI>Updated PDF.dat to msc_GS module.</LI>
</UL></LI>
<LI>New neutron data set with thermal cross sections, G4NDL.3.14:
<UL>
<LI>Added Zinc and Tantalum data.</LI>
<LI>Updated Lithium and Boron data.</LI>
</UL></LI>
<LI>New photon-evaporation data set, G4PhotonEvaporation.2.1:
<UL>
<LI>Added documentation file, with data format description.</LI>
</UL></LI>
<LI>New radioactive decay data set, G4RadioactiveDecay.3.3:
<UL>
<LI>Added documentation file, with data format description.</LI>
</UL></LI>
</UL></LI>
<A NAME="ex-notes">
<H3><I>Examples</I></H3></A>
<UL>
<LI>Various fixes, improvements, adoption of new features.</LI>
<LI>Adopt <TT>G4UIExecutive</TT> to initialise UI sessions in nearly all
examples.</LI>
<LI>Updated visualization usage in most examples, including macro sections
the user can uncomment to activate additional features.</LI>
<LI>Fixed AIDA file option for most examples making use of histogramming.</LI>
<LI>Completed migration to use particle-based multiple-scattering.</LI>
<LI>Updated reference outputs.</LI>
<LI><B>advanced</B>
<UL>
<LI>brachytherapy
<UL>
<LI>General code review.</LI>
</UL></LI>
<LI>ChargeExchangeMC
<UL>
<LI>New application for Monte Carlo simulation of charge exchange,
based on a real experiment performed at the Petesburg Nuclear
Physics Institute (PNPI, Russia).</LI>
</UL></LI>
<LI>eRosita
<UL>
<LI>New example implementin a simplified seetup of the eROSITA X-ray
telescope for instrumental background simulations and fluorescence
measurements.</LI>
</UL></LI>
<LI>gammaray_telescope
<UL>
<LI>
<LI>Corrected initialisation of G4ThreeVector.</LI>
<LI>Now using reference physics-list.</LI>
</UL></LI>
<LI>hadrontherapy
<UL>
<LI>Removed the macro 'GUI.mac' contained in the macro folder: the
GUI personalisation are contained in the 'GUIPersonalisation.mac'
file that runs when the default macro files are called.</LI>
<LI>Fixed the modulatorMacro.mac for the modulator rotation and included the
modulator.loop file for automatic rotation of the modulator wheel.</LI>
<LI>Removed the 'addPackage' command. Now reference physics-lists can
be activated setting the enviroment variable <TT>PHYSLIST</TT> to
the name of the list. Modified <TT>main()</TT> program in order to
launch different macro file depending if <TT>PHYSILIST</TT> variable
is activated or not. Removed some macro files.</LI>
<LI>Correctd range shifter and modulator positions.
Corrected position of primary proton beam.</LI>
<LI>Changed the macro command name to store secondary particles to:
<TT>analysis/secondary [true/false]</TT>.</LI>
<LI>Added a macro command to store dose between runs:
<TT>analysis/writeDoseFile [filename]</TT>.</LI>
<LI>Fixed bug in nanalysis messenger when analysis is not set.</LI>
<LI>Added <TT>QGSP_BIC_EMY</TT> reference physics list.</LI>
<LI>Added separation between cut for the transport beam line and
detector.</LI>
<LI>General code review and updated and cleaned macro files.
Updated README.</LI>
</UL></LI>
<LI>human_phantom
<UL>
<LI>Corrected a bug in Event action.</LI>
</UL></LI>
<LI>medical_linac
<UL>
<LI>Corrected and updated the vis.mac file.</LI>
<LI>Added 'Launches' folders to store simulation outputs and macros...</LI>
<LI>Added a phantom based on dicom CT images.</LI>
<LI>Added the capability to rotate the accelerator (around the X axis
and around the Y axis of a fix 90 deg angle). Added the capability
to translate the phantom.</LI>
<LI>Modified the format of the output files and removed obsolete files.</LI>
</UL></LI>
<LI>microdosimetry
<UL>
<LI>Modified energy limit of Sanche vib excitation for <TT>e-</TT>.</LI>
<LI>Added H excitation.</LI>
</UL></LI>
<LI>nanobeam
<UL>
<LI>Added post step point information to <TT>SteppingAction</TT>.</LI>
<LI>Updated for production of histograms with AIDA.</LI>
</UL></LI>
<LI>xray_fluorescence
<UL>
<LI>Corrected bug in the <TT>MercuryPrimaryGeneratorAction</TT>.</LI>
</UL></LI>
</UL></LI>
<LI><B>extended</B>
<UL>
<LI>Retired extended examples: ExDiane.</LI>
<LI>analysis/AnaEx01
<UL>
<LI>Added class HistoManager to replace <TT>AnaEx01AnalysisManager</TT>.</LI>
</UL></LI>
<LI>analysis/N03Con
<UL>
<LI>Moved <TT>G4ConvergenceTester</TT> to kernel inside
global/HEPNumerics module.</LI>
<LI>Renamed classes. Introduced NIST materials. Added vis macro.</LI>
</UL></LI>
<LI>biasing/ReverseMC01
<UL>
<LI>Added initialisation of data in <TT>G4AdjointPhysicsList</TT>
constructor.</LI>
<LI>Modified some tests in <TT>RMC01AnalysisManager</TT>.</LI>
<LI>Corrected density of Si in <TT>RMC01DetectorConstruction</TT> and
corrected position of the lower Ta plate.</LI>
<LI>Fixed compilation error on Windows.</LI>
</UL></LI>
<LI>electromagnetic/TestEm0
<UL>
<LI>New physics-lists for EM standard options 0,1,2,3.</LI>
<LI>Print out cross-sections in <TT>RunAction</TT>.</LI>
</UL></LI>
<LI>electromagnetic/TestEm1
<UL>
<LI><TT>RunAction</TT>: replaced 'ProcessCount' with a map.</LI>
</UL></LI>
<LI>electromagnetic/TestEm2
<UL>
<LI>Added histos rms on profiles (histos numbering is changed)
and new scripts.
</UL></LI>
<LI>electromagnetic/TestEm3
<UL>
<LI>Added <TT>PhysListEmStandardGS</TT> and <TT>PhysListEmStandardWVI</TT>.</LI>
<LI>Added printout of mean number of gamma, <TT>e-, e+</TT>.</LI>
<LI>Added ion scattering model into WVI Physics constructor.</LI>
</UL></LI>
<LI>electromagnetic/TestEm5
<UL>
<LI>Added ion scattering model into WVI Physics constructor.</LI>
</UL></LI>
<LI>electromagnetic/TestEm6
<UL>
<LI>Fixed compilation error on gcc-4.5.1.</LI>
</UL></LI>
<LI>electromagnetic/TestEm7
<UL>
<LI>Added extra EM option "ionGasModels", which disables effective ion
charge and enables use of new models G4BraggIonGasModel,
G4BetheBlochIonGasModel.</LI>
<LI>Added extra macro ionGasC12.mac.</LI>
<LI>Added standard HistoManager. Fixed normalisation factor in
histograms 2 and 3.</LI>
<LI><TT>PhysListEmStandardNR</TT>: removed obsolete set of nuclear
stopping flag.</LI>
<LI>Added ion scattering model into SS physics constructor.</LI>
</UL></LI>
<LI>electromagnetic/TestEm8
<UL>
<LI>Completely revised in physics, scoring and histograms for treatment of
ionisation in thin absorbers and gaseous detectors.</LI>
<LI>Added reation of distribution output file in Histomanager.</LI>
<LI><TT>PhysicsList, Em8DetectorConstruction</TT>: renamed
"VertexDetector" with "GasDetector". Fixed UI commands for step
limiter.</LI>
<LI>Added cut per region in input macro.</LI>
<LI>DetectorConstruction: added more printout.</LI>
<LI>DetectorMessenger: fixed state; added <TT>G4State_PreInit</TT>.</LI>
</UL></LI>
<LI>electromagnetic/TestEm9
<UL>
<LI>Histo: use empty option when opening file</LI>
<LI>PhysicsList: use default constructor for elastic builder.</LI>
<LI>Added applyCuts option to macro files.</LI>
</UL></LI>
<LI>electromagnetic/TestEm11</LI>
<LI>electromagnetic/TestEm12
<UL>
<LI>Added lists <TT>PhysListStandardGS, PhysListStandardSS,
PhysListStandardWVI</TT>.</LI>
<LI>Added EGSnrc data in 'sandia' subdirectory.</LI>
</UL></LI>
<LI>electromagnetic/TestEm13</LI>
<LI>electromagnetic/TestEm14
<UL>
<LI><TT>PhysicsList</TT>: extended 'ProductionCuts' down to <TT>100 eV</TT>.
Removed non pertinent EmOptions.</LI>
<LI><TT>PhysListEmStandard, Livermore, Penelope</TT>: all processes
registered as discrete (i.e., no continuous energy loss).</LI>
<LI><TT>RunAction</TT>: replaced 'ProcessCount' with a map.</LI>
<LI>Cleanup in <TT>SteppingAction</TT>. Updated README.</LI>
</UL></LI>
<LI>electromagnetic/TestEm16
<UL>
<LI><TT>SteppingAction</TT>: use const pointers for step/track objects.</LI>
</UL></LI>
<LI>electromagnetic/TestEm18
<UL>
<LI><TT>PhysicsList, PhysListEmStandardFLUO</TT>: updated according to
changes in electromagnetic/utils module.</LI>
<LI>Removed obsolete builders for Livermore and Penelope in
<TT>PhysicsList</TT>; added fluorescence and PIXE options.</LI>
</UL></LI>
<LI>eventgenerator/exgps
<UL>
<LI>Added batch input macro.</LI>
<LI>Added extra tests in the macros directory for automatic energy
biasing and to import energy spectrum in ascii file.</LI>
<LI>Changed analysis macro files; added plotfiles.py and plotall.py
scripts for plotting the results.</LI>
</UL></LI>
<LI>eventgenerator/HepMC
<UL>
<LI>Updated to make use of HepMC-2.06.03.
<LI>Use QGSP_BERT physics-list.
</UL></LI>
<LI>eventgenerator/particleGun
<UL>
<LI>New example demonstrating three different ways of usage of
<TT>G4ParticleGun</TT>, shooting primary particles in different
cases.</LI>
</UL></LI>
<LI>exoticphysics/monopole
<UL>
<LI>Substituted QGSP list by QGSP_BERT.</LI>
<LI>Added new classes for monopole <TT>G4MonopoleEquation</TT>,
<TT>G4MonopoleFieldSetup</TT> and <TT>G4MonopoleTransportation</TT>.</LI>
<LI>Use most recent version of monopole transportation, delta-electron
production enabled, non-integer monopole charge allowed.</LI>
<LI>Added test on ionisation of heavy highly charged particle; some
cleanup.</LI>
</UL></LI>
<LI>field/field04
<UL>
<LI>Included Mie scattering process and updated usage of
<TT>G4PhysListFactory</TT>.</LI>
</UL></LI>
<LI>geometry/olap
<UL>
<LI>Fixed uninitialised data in OlapInfo, causing undefined behavior.</LI>
<LI>Fixed compilation warnings for unused parameters.</LI>
<LI>Added simple batch input macro.</LI>
</UL></LI>
<LI>hadronic/Hadr01
<UL>
<LI>Cleanup of physics-list according to last update to physics_list
library. Use default elastic builder for majority of cases.
Removed TRV lists and cleanup elastic.</LI>
</UL></LI>
<LI>medical/DICOM
<UL>
<LI>Added function to read nested items (defined and undefined).</LI>
<LI>Removed dependencies on CONQUEST.</LI>
<LI>DICOM handler can now read whichever DICOM file
(PT,CT,DR,CR,US,MR... ).</LI>
<LI>Introduced partial phantom definition and adopt new
<TT>G4ScoreSplittingProcess</TT>.</LI>
<LI>Fixed compilation warning on virtual methods hiding and minor
others.</LI>
</UL></LI>
<LI>medical/electronScattering
<UL>
<LI>Added <TT>PhysListEmStandardWVI</TT>.</LI>
<LI>Print unormalized fluence per event in <TT>RunAction</TT>.</LI>
</UL></LI>
<LI>medical/electronScattering2
<UL>
<LI>New example for simulation of precision electron scattering
benchmark with minimal user code.
</UL></LI>
<LI>medical/fanoCavity[1,2]
<UL>
<LI>Introduced <TT>PhysListEmStandard_option2</TT> and
<TT>PhysListEmStandard_WVI</TT>.</LI>
<LI>Added to <TT>run01.mac</TT> all physics-lists choice.</LI>
<LI>Corrected initialisation of 3-vector in constructor.</LI>
</UL></LI>
<LI>medical/GammaTherapy
<UL>
<LI>Removed unused methods in PrimaryGeneratorAction.</LI>
</UL></LI>
<LI>optical/LXe
<UL>
<LI>Fixed initialisation of G4ThreeVector.</LI>
</UL></LI>
<LI>optical/wls
<UL>
<LI>Included Mie scattering process and updated usage of
<TT>G4PhysListFactory</TT>.</LI>
<LI>Corrected bug in definition of sensitive detector, when updating
geometry.</LI>
</UL></LI>
<LI>parallel/MPI
<UL>
<LI>General code review.</LI>
<LI>mpi_interface: OpenMPI as default MPI library instead of LAM/MPI;
improved <TT>/mpi/status</TT> command (added waste of CPU, time
measurement); improved macro file parser (same parser as
<TT>G4UIbatch</TT>; fixed unexpected behavior at the end of batch
mode); changed "beamOn" behavior for better performance (thread-out
for interactive, on-thread for batch).</LI>
<LI>exMPI01, exMPI02: use <TT>G4UIcsh</TT> instead of <TT>G4UItcsh</TT>
since OpenMPI is now default.</LI>
</UL></LI>
<LI>parameterisations/gflash
<UL>
<LI>Added default production cut to region crystals to cleanup
warning on stderr. Fixed also some compilation warnings.</LI>
</UL></LI>
<LI>persistency/gdml
<UL>
<LI><TT>G01</TT>: added <TT>G4GenericTrap</TT> to the <TT>solids.gdml</TT>
sample. Use string as second item in auxiliary-value in
<TT>main()</TT>. Added commented command for de-activating names
stripping while reading. Use world volume for tracking to dump
to GDML file.</LI>
<LI><TT>G02</TT>: fixed use of obsolete physics-list.</LI>
<LI><TT>G03</TT>: fixed use of obsolete physics-list.</LI>
<LI><TT>G04</TT>: new example showing how to associate a sensitive
detector to a volume through auxiliary-information.</LI>
</UL></LI>
<LI>persistency/P03
<UL>
<LI>Corrected README.</LI>
</UL></LI>
<LI>radioactivedecay
<UL>
<LI>New example "rdecay01" to demonstrate basic functionality of the
<TT>G4RadioactiveDecay</TT> process.</LI>
<LI>Renamed "exrdm" example to "rdecay02".
Updated <TT>exrdmAnalysisManager</TT> to output the accumulated
radioactivities at the end of a run, in VR mode.
Added more macros <TT>u238-b.mac, u238.mac, po201m.mac</TT> and
<TT>proton-beam.mac</TT>.</LI>
</UL></LI>
<LI>runAndEvent/RE01
<UL>
<LI>Added a protection against empty stack in
<TT>RE01StackingAction</TT>.</LI>
</UL></LI>
<LI>runAndEvent/RE02
<UL>
<LI>Bug fix in <TT>RE02DetectorConstruction</TT>, correcting size of
array and fixing crash on Windows.</LI>
<LI>Fixed warning messages.</LI>
</UL></LI>
</UL></LI>
<LI><B>novice</B>
<UL>
<LI>N03
<UL>
<LI>Changed classe mames, suppressed 'ExN03' prefix.</LI>
<LI><TT>DetectorConstruction</TT>: introduced NIST materials.</LI>
<LI>Rationalised visTutor: several obsolete macros deleted; 6 macros
improved and retained (<TT>Tree0, Vis0,5,12,13, heprep</TT>);
updated <TT>gui.mac</TT> accordingly and moved to main directory;
updated <TT>main()</TT> program.</LI>
<LI>Updated README.</LI>
</UL></LI>
<LI>N04
<UL>
<LI>Replaced QGSP list with QGSP_BERT.</LI>
</UL></LI>
<LI>N06
<UL>
<LI>Added Mie scattering process and associated material properties.</LI>
</UL></LI>
</UL></LI>
</UL>
<HR>
</BODY>
</HTML>