Files
geant4/ReleaseNotes/ReleaseNotes4.6.2.html
T
2016-06-09 10:56:29 +02:00

904 lines
33 KiB
HTML

<HTML>
<HEAD>
<TITLE>Geant4 6.2 Release Notes</TITLE>
</HEAD>
<BODY BGCOLOR='F0F0F0'>
<P> </P>
<BR>
<P> </P>
<P ALIGN="Center">
<FONT SIZE="+4" COLOR="#238E23">
<B>Geant4 6.2 Release Notes</B>
</FONT>
<TABLE WIDTH="100%">
<TR><TD ALIGN="Right">
<FONT SIZE="-1" COLOR="#5C3317">
<B><I>June 25<SUP>th</SUP>, 2004</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">Source Code Web page</A>.
</P>
<P>
Please refer to the
<A TARGET="ext" HREF="http://cern.ch/geant4/G4UsersDocuments/Overview/html">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.">AIDA and CLHEP</A></LI>
<LI><A HREF="#3.">Compiler Specific Problems</A></LI>
<LI><A HREF="#4.">Known Run-Time Problems</A></LI>
<LI><A HREF="#5.">Compilation Warnings</A></LI>
<LI><A HREF="#6.">Known Run-Time Warnings</A></LI>
<LI><A HREF="#7.">Major items for migration of user code</A></LI>
<LI><A HREF="#8.">Detailed list of changes and fixes</A></LI>
</OL>
<P> </P>
<A NAME="1."></a>
<HR>
<!-- ============================================== -->
<H2>1. Supported and Tested Platforms</H2>
Official platforms:
<UL>
<LI>SUN Solaris 5.8, C++ CC-5.4 Patch 111715-02.</LI>
<LI>Linux, gcc 3.2.3.<BR>
This configuration was tested with the RedHat 7.3 distribution,
versions of Geant4 have also been compiled successfully on other
Linux distributions, like Debian, Suse or more recent RedHat systems.
The default RedHat compiler gcc-2.96 distributed in RedHat 7.X is NOT
supported. It has been verified that it produces incorrect binaries,
therefore is not reliable. See also <A HREF="#note-1">note below</A>.</LI>
<LI>Windows/XP and CygWin Tools with: Visual C++ 7.1 .NET</LI>
</UL>
More verified configurations:
<UL>
<LI>SUN Solaris 5.8, C++ CC-5.5.</LI>
<LI>Linux, gcc 3.3.3.</LI>
<LI>Linux, Intel-icc 8.0.</LI>
<LI>MacOS 10.3, gcc-3.3</LI>
</UL>
More verified configurations, which we plan to stop supporting
in releases or patches after November 2004:
<UL>
<LI>Linux, gcc 2.95.2.</LI>
<LI>Windows/2000 and CygWin Tools, Visual C++ 6.0 Service Pack 5</LI>
</UL>
Platforms configured but not tested and not 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>SGI V6.5.5, CC 7.2.1</LI>
</UL>
<P> </P>
<A NAME="2."></A>
<HR>
<!-- ============================================== -->
<H2>2. AIDA and CLHEP</H2>
Geant4 6.2 requires the <A TARGET="ext"
HREF="http://cern.ch/clhep/INSTALLATION/clhep.html">installation
of CLHEP</A>.<BR>
Tests have been performed with <B>CLHEP-1.8.1.0</B><BR>
<P> </P>
Geant4 6.2 examples with histogramming cowork with AIDA 3.2.1
implementations. These include:
<UL>
<LI><A TARGET="ext" HREF="http://cern.ch/PI">PI</A> and included components</LI>
<LI><A TARGET="ext" HREF="http://jas.freehep.org">JAS (Java Analysis Studio)</A></LI>
<LI><A TARGET="ext" HREF="http://www.lal.in2p3.fr/OpenScientist">Open Scientist</A></LI>
</UL>
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. Compiler Specific Problems</H2>
<UL>
<LI><A NAME="note-1"><B>Linux Red Hat 7.X, gcc-2.96</B></A>.
<UL>
<LI>The default compiler distributed by Red Hat since release 7.0 is
NOT supported and not considered reliable for running a Geant4-based
application. In more than one test case, binaries produced by gcc-2.96
have shown incorrect behavior, either due to wrong order of
initialisation of static data in memory or to bugs in the system
<TT>iostream</TT> classes, problems which apparently have all been
solved in more recent versions of the compiler (3.X series).<BR>
For information, gcc-2.96 is a compiler that has never been
officially released, nor supported by the GNU team itself and is not
considered reliable by the authors (for more information, see also
<A TARGET="ext" HREF="http://gcc.gnu.org/gcc-2.96.html">http://gcc.gnu.org/gcc-2.96.html</A>).</LI>
</UL></LI>
</UL>
<P> </P>
<A NAME="4."></A>
<HR>
<!-- ============================================== -->
<H2>4. Known Run-Time Problems and Limitations</H2>
For a complete list of outstanding run-time problems and to submit any
problem you may find 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="5."></A>
<HR>
<!-- ============================================== -->
<H2>5. Compilation Warnings</H2>
There may be compilation warnings on some platforms. We do not believe
that any will lead to incorrect run-time behaviour.
<P> </P>
<A NAME="6."></A>
<HR>
<!-- ============================================== -->
<H2>6. Known Run-Time Warnings</H2>
The following message can be written to error output while tracking.
We believe it does not give rise to incorrect behaviour.
<PRE>
G4PropagateInField: Warning: Particle is looping
- tracking in field will be stopped.
It has performed 1000 steps in Field while a maximum of 1000
are allowed.
</PRE>
<P> </P>
<A NAME="7."></A>
<HR>
<!-- ============================================== -->
<H2>7. Major items for migration of user code</H2>
There're not known migrations necessary if upgrading from release 6.1,
other than recompilation and/or reinstallation of libraries and user
applications.
<P> </P>
<B>Future migration for <TT>G4VParticleChange</TT> class</B>
<P> </P>
For the future releases, an interface change to the class
<TT>G4VParticleChange</TT> is foreseen. The required changes are already
implemented in this release while still keeping valid the old interface.<BR>
The following methods will be removed in the future:
<PRE>
void SetTrueStepLength(G4double truePathLength);
void SetLocalEnergyDeposit(G4double anEnergyPart);
G4TrackStatus GetStatusChange() const;
void SetStatusChange(G4TrackStatus status);
void SetSteppingControl(G4SteppingControl StepControlFlag);
void SetParentWeight(G4double);
</PRE>
They will have to be replaced by the following methods, respectively:
<PRE>
void ProposeTrueStepLength(G4double truePathLength);
void ProposeLocalEnergyDeposit(G4double anEnergyPart);
G4TrackStatus GetTrackStatus() const;
void ProposeTrackStatus(G4TrackStatus status);
void ProposeSteppingControl(G4SteppingControl StepControlFlag);
void ProposeParentWeight(G4double);
</PRE>
<P> </P>
<B>Future migration for <TT>G4GeneralParticleSource</TT> class</B>
<P> </P>
A 'tree-structured' command format is implemented in this release for
<TT>G4GeneralParticleSource</TT>. The old UI commands have been kept
for backward compatibility but will be removed in the future.<BR>
For more information, please consult:
<A HREF="http://reat.space.qinetiq.com/gps">http://reat.space.qinetiq.com/gps</A>.
<P> </P>
<A NAME="8."></A>
<HR>
<!-- ============================================== -->
<H2>8. 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 the detailed list of fixes/additions,
please refer to the related History files provided in most packages):
<P> </P>
<A NAME="conf-notes">
<H3><I>Configuration</I></H3></A>
<UL>
<LI><TT>Configure</TT> script:
<UL>
<LI>Added support for global DLL libraries on Windows systems.</LI>
<LI>Added new data-set for elastic-scattering data.</LI>
</UL></LI>
<LI><TT>source/GNUmakefile</TT>:
<UL>
<LI>Revised order of module installation according to dependencies.</LI>
<LI>New <TT>dll</TT> target for building of DLLs global libraries
on Windows systems.</LI>
</UL></LI>
<LI><TT>Linux-g++.gmk</TT>:
<UL>
<LI>Made -O2 optimisation the default.</LI>
<LI>Included (deactivated by default) Pentium4 chip specific options
for using chips-specific floating-point arithmetics based on the
SSE unit.</LI>
</UL></LI>
<LI><TT>WIN32-VC7.gmk</TT>:
<UL>
<LI>Added setup for WIN32-VC7 for building of DLLs.</LI>
</UL></LI>
<LI><TT>Darwin-g++.gmk</TT>:
<UL>
<LI>Corrected options to build shared libraries (.dyn); use
twolevel_namespace and GLOBLIBS for shared-libs build on MacOS.
Shared-libs build are possible only global libraries.</LI>
<LI>Corrected options to retrieve Motif.</LI>
</UL></LI>
<LI><TT>architecture.gmk</TT>:
<UL>
<LI>Added check for definition of LDFLAGS. Fixes bug report #603.</LI>
<LI>Revisited Inventor default. Removed HEPVis dependencies
(Inventor visualization driver no longer needs these).</LI>
</UL></LI>
<LI><TT>binmake.gmk</TT>:
<UL>
<LI>Activated shared-libs mechanism for Windows platforms; forced creation
of static library for examples/applications for the usage with DLLs.</LI>
<LI>Fixed problem for WIN32 such that also LDLIBS (including EXTRALIBS)
will be mangled to replace -L by its WIN32 corresponding libpath.</LI>
<LI>Added include paths to new hadronic models.</LI>
<LI>Restored global library for 'interfaces' module which was missing from
the linking list.</LI>
</UL></LI>
<LI><TT>common.gmk</TT>, <TT>globlib.gmk</TT>:
<UL>
<LI>Fixed clean/clean_libs target.</LI>
</UL></LI>
</UL>
<A NAME="dgt-notes">
<H3><I>Digitization & Hits</I></H3></A>
<UL>
<LI><TT>G4SDManager</TT>, <TT>G4SDStructure</TT>: added optional argument
<I>warning</I> to <TT>FindSensitiveDetector(pathName, warning)</TT>,
defaulted to <TT>true</TT>, to eventually exclude warning issued by
<TT>G4SDManager</TT> when sensitive detector is not found.</LI>
</UL>
<A NAME="evt-notes">
<H3><I>Event</I></H3></A>
<UL>
<LI>Design iteration of the <TT>G4GeneralParticleSource</TT> class:
<UL>
<LI>New classes have been added.<BR>
See <A HREF="http://reat.space.qinetiq.com/gps">http://reat.space.qinetiq.com/gps</A>
for more details of the changes.</LI>
<LI>New formula for converting integral spectrum to differential one.</LI>
</UL></LI>
<LI><TT>G4EventManager</TT>:
<UL>
<LI>Added access methods to <TT>G4TrackingManager</TT> and
<TT>G4StackManager</TT>.</LI>
<LI>Fixed incorrect behaviour of event abortion requested by
<TT>BeginOfEventAction()</TT>.</LI>
</UL></LI>
</UL>
<A NAME="emlow-notes">
<H3><I>Electromagnetic Processes (Low-energy)</I></H3></A>
<UL>
<LI>First iteration towards new models for photoelectric angular distribution:
design iteration and re-implementation of non-polarized Sauter-Gavrila
distribution (K-shell approximation).</LI>
<LI>New model for PIXE.</LI>
<LI>Bug fix for Barkas effect.</LI>
<LI>Bug fix in energy loss concerning positrons handled by Penelope.</LI>
</UL>
<A NAME="emstd-notes">
<H3><I>Electromagnetic Processes (Standard)</I></H3></A>
<UL>
<LI><TT>G4VEnergyLoss</TT> and related classes:
<UL>
<LI>Corrected error in retrieving <TT>dE/dx</TT> from tables
(it affected proton around <TT>1 MeV</TT>).</LI>
<LI>Fixed a problem in retrieving physics tables from files. </LI>
<LI>Fixed a problem of energy below <TT>lowestKinEnergy</TT> (simulation of
energy loss of low energy particles in low density gases).</LI>
<LI>Improved sampling in integral method for cross sections with peaks.</LI>
<LI>Added new methods to define simulation options to
<TT>G4EmProcessOptions</TT>.</LI>
<LI>Revised printout format in <TT>G4VEnergyLossProcess</TT>.</LI>
</UL></LI>
<LI>Energy-loss fluctuations:
<UL>
<LI>Reduced area of applicability of the model for simulation of
fluctuations at very small steps to provide less step dependent
results in solid absorbers.</LI>
<LI>Smoothed out sampling of Gaussian fluctuations, when sigma is much
bigger than energy loss.</LI>
</UL>
The purpose of both changes is to provide results that are less dependent
on step size. For example, for steps down to 0.1 microns (in solid materials)
the energy deposition distribution in a thin absorber is not dependent on the
step limit.</LI>
<LI>Ionization for muons, hadrons, ions:
<UL>
<LI>Set the integral method to be the default (it already was for electrons).
The step remains limited to 20% of the current range, as in Geant4 5.2.</LI>
</UL></LI>
<LI>Multiple Scattering:
<UL>
<LI>Changes in <TT>G4MscModel</TT>: <TT>t->z</TT> and <TT>z->t</TT>
transformations (true length to geometrical length and back) have
been rewritten. The purpose is to reduce the step-size dependence of
results, which was mainly connected with simulation of multiple
scattering of low energy particles. It will affect the resolution
of sampling calorimeters.</LI>
<LI>Change in the angular distribution for <TT>e+/e-</TT>: correction
to the Highland formula for the central part of the distribution.</LI>
</UL></LI>
<LI>Multiple Scattering for ions:
<UL>
<LI>Use dynamic charge for simulation of multiple scattering angle.</LI>
<LI>Fix to avoid crash in case of use of <TT>G4hLowEnergyIonisation</TT>
for ions together with multiple-scattering.</LI>
</UL></LI>
<LI>Muon Pair Production:
<UL>
<LI>Minor fix in differential cross section: use total energy instead
of kinetic energy.</LI>
<LI>Fixed minor energy non-conservation (electron mass).</LI>
<LI>Fixed problem of calculation of maximum energy transfer to an
atom of compound materials.</LI>
</UL></LI>
<LI>PAI ionisation:
<UL>
<LI>Introduced new model <TT>G4PAIPhotonModel</TT>, PAI model that splits
the cross-section into electron and photon parts.</LI>
<LI>Removed limitations on cut values in both PAI models.</LI>
<LI>Use precise integrator for initialisation of PAI models.</LI>
</UL></LI>
</UL>
<A NAME="gen-notes">
<H3><I>General Processes, Parameterisation, Cuts, Decay, Optical</I></H3></A>
<UL>
<LI><B>Cuts</B>:
<UL>
<LI>Enabled the user to retrieve from a file tables with materials and
couples which are in a different order to that in memory.<BR>
Modified <TT>G4ProductionCutsTable::RetrieveCutsTable()</TT> to enable this.</LI>
<LI><TT>G4ProductionCuts</TT>: moved usage of statics in inline functions
to non-inline for porting to DLLs on Windows.</LI>
</UL></LI>
<LI><B>Decay</B>:
<UL>
<LI>Use new interface methods of <TT>G4VParticleChange</TT>.</LI>
</UL></LI>
<LI><B>Management</B>:
<UL>
<LI>Fixed bug in <TT>G4ProcessManager::RemoveProcess()</TT> for the case
when the process to be removed is inactive.</LI>
</UL></LI>
<LI><B>Optical</B>:
<UL>
<LI>Fixes in <TT>G4OpBoundaryProcess</TT> for default class member
assignments in <TT>DoIt()</TT> method.</LI>
<LI>Added protection against NULL pointers in <TT>G4OpRayleigh</TT> process.
Do not overwrite Rayleigh scattering length for 'Water' material if it
has been specified by the user through a call to
<TT>AddProperty("RAYLEIGH"...)</TT>.</LI>
</UL></LI>
</UL>
<A NAME="geo-notes">
<H3><I>Geometry</I></H3></A>
<UL>
<LI><B>Divisions</B>
<UL>
<LI>Added support for reflection of divided volumes:
added concrete istance of division-factory <TT>G4PVDivisionFactory</TT>
for the creation of volume divisions on demand.</LI>
</UL></LI>
<LI><B>Management</B>
<UL>
<LI>Imported <TT>G4ReflectedSolid</TT> class from <TT>solids/Boolean</TT>.</LI>
<LI>Added abstract factory <TT>G4VPVDivisionFactory</TT> defining interfaces
for the creation of volumes divisions.</LI>
</UL></LI>
<LI><B>Navigation</B>
<UL>
<LI>Added more verbosity on solids response for navigators (optimised/not
optimised) if "check_mode" state is combined with verbose level-1.</LI>
<LI>Added check to <TT>G4Navigator</TT> to count the number of steps with
zero length and issue an exception aborting the event for tracks that
get stuck in a loop. A corrective action is attempted after 10
consecutive zero steps; the exception is thrown after 25 consecutive
zero steps.</LI>
</UL></LI>
<LI><B>Solids</B>
<UL>
<LI><I>Boolean solids</I>:
<UL>
<LI>Moved <TT>G4ReflectedSolid</TT> class to <TT>management</TT> module.</LI>
<LI>Moved <TT>G4ReflectionFactory</TT> class to <TT>volumes</TT> module.</LI>
<LI>Moved unit test for reflection to <TT>volumes</TT> module.</LI>
</UL></LI>
<LI><I>Specific solids</I>:
<UL>
<LI>First implementation of a framework for twisted surfaces:<BR>
includes a new specific twisted shape: <TT>G4TwistedTubs</TT>.<BR>
New classes: <TT>G4VSurface</TT>, <TT>G4TwistedSurface</TT>,
<TT>G4HyperbolicSurface</TT>, <TT>G4FlatSurface</TT>,
<TT>G4TwistedTubs</TT>.</LI>
</UL></LI>
</UL></LI>
<LI><B>Volumes</B>
<UL>
<LI><TT>G4LogicalBorderSurface</TT>, <TT>G4LogicalSkinSurface</TT>: added
<TT>CleanSurfaceTable()</TT> static methods for the clearing of the
surface tables in case of dynamic geometries.</LI>
<LI>Imported <TT>G4ReflectionFactory</TT> from module <TT>solids/Boolean</TT>.</LI>
<LI>Enhanced <TT>G4ReflectionFactory</TT> to support reflection of divided
volumes: added <TT>Divide(...)</TT> set of methods.</LI>
<LI>Adopt DLLIMPORT/EXPORT technique to handle extern simbols for
allowing support of DLLs on Windows.</LI>
</UL></LI>
</UL>
<A NAME="glob-notes">
<H3><I>Global</I></H3></A>
<UL>
<LI><TT>G4Allocator</TT>: added utility methods for explicitely deallocate
storage and print total allocated pages size:
<TT>ResetStorage()</TT>, <TT>GetAllocatedSize()</TT>.</LI>
<LI>HEPNumerics: fixed bug in <TT>G4DataInterpolation::PolynomInterpolation()</TT>
for indexing in a for-loop.</LI>
<LI>Added support for building DLLs on Windows: added macros for importing
symbols and migrated <TT>G4ios</TT> and <TT>G4strstreambuf</TT>.</LI>
</UL>
<A NAME="greps-notes">
<H3><I>Graphical Representations</I></H3></A>
<UL>
<LI>Implemented constructor and destructor for <TT>G4AttDefStore</TT>, to
properly delete objects in the static map, allocated through explicit
calls to <TT>GetInstance()</TT>. Made <TT>G4AttDefStore</TT> a singleton.</LI>
</UL>
<A NAME="mat-notes">
<H3><I>Materials</I></H3></A>
<UL>
<LI><TT>G4SandiaTable</TT>: added new methods for sorting algorithm
in PAI model.</LI>
<LI>Added new utility method <TT>ConstPropertyExists(const char * key)</TT>
returning <TT>true</TT>/<TT>false</TT> according to the existance of the
'key' in the table <TT>G4MaterialPropertiesTable</TT>.</LI>
</UL>
<A NAME="had-notes">
<H3><I>Hadronic Processes</I></H3></A>
<UL>
<LI>New packages and models:
<UL>
<LI><I>Ablation</I>: model for evaporation (used in conjunction with
the abrasion code).</LI>
<LI><I>Abrasion</I>: package for ion reactions.</LI>
<LI><I>EM dissociation</I>.</LI>
<LI><I>Coherent_elastic</I>: new model for high energy elastic scattering,
requiring a new provided data set for elasting scattering data.</LI>
</UL></LI>
<LI>cross_sections:
<UL>
<LI>Removed discontinuities in pion scattering data.</LI>
<LI>Fix in high energy p-H cross-sections (G3 legacy bug).</LI>
</UL></LI>
<LI>management:
<UL>
<LI>Optionally killing of primaries, steerable from use code.</LI>
<LI>Bug fix for cross-section biasing.</LI>
<LI>Added protection to hadronic processes against illegal track
status.</LI>
</UL></LI>
<LI>util:
<UL>
<LI>Added a fuzzy initializer class.</LI>
<LI>Added a Besselfunction class.</LI>
<LI>Fixed two rare bugs seen by LHCb in <TT>G4HadFinalState</TT> that
lead to an exception.</LI>
</UL></LI>
<LI>models/binary_cascade:
<UL>
<LI>Some performance optimizations.</LI>
<LI>Corrected rotation in inverse kinematics for light ion
reaction code.</LI>
<LI>Added some protections fixing problems reported in bug-reports
#574 and #593.
<LI>Bug fix related to bug report #607.</LI>
</UL></LI>
<LI>models/cascade:
<UL>
<LI>Fixed memory leak.
</UL></LI>
<LI>models/chiral_invariant_phase_space:
<UL>
<LI>Fixed <TT>ppK+</TT> "antistrange below mass shell" problem in
<TT>G4QEnvironment</TT>.</LI>
<LI>Minor bug fixes in <TT>G4QEnvironment</TT> in (Sigma-)2n final state.</LI>
<LI>Fixed rare problem of decay in <TT>Del+Del+</TT> with <TT>pi0</TT> when
<TT>pi-</TT> was found.</LI>
<LI>Minor bug fix in final multibaryon spit (<TT>3n->n+n+n</TT>).</LI>
</UL>
<LI>models/de_excitation/fermi-break-up:
<UL>
<LI>Bug fix in the splitting probabilities.</LI>
<LI>Adding destruction of configurations.</LI>
</UL></LI>
<LI>models/de_excitation/photon-evaporation:
<UL>
<LI>Slight optimisation of E1 probabilities.</LI>
</UL></LI>
<LI>models/high_energy:
<UL>
<LI>Re-added class-descriptions.</LI>
</UL></LI>
<LI>models/im_r_matrix:
<UL>
<LI>Some optimizations in <TT>G4Scatterer</TT>.</LI>
</UL></LI>
<LI>models/management:
<UL>
<LI>Protections for rounding issues.</LI>
<LI>Enabling user overload of some methods.</LI>
</UL></LI>
<LI>models/neutron_hp:
<UL>
<LI>Some code clean-up.</LI>
<LI>Now suitable for DLL usage.</LI>
</UL></LI>
<LI>models/pre_equilibrium:
<UL>
<LI>Dixed updating of charged/neutral excited particles.</LI>
</UL></LI>
<LI>models/util:
<UL>
<LI>Optimized initialization for <TT>G4Fancy3DNucleus</TT>.</LI>
<LI>Fix in decay routines for decays involving broad resonances
in the final state.</LI>
</UL></LI>
</UL>
<A NAME="part-notes">
<H3><I>Particles</I></H3></A>
<UL>
<LI>Adopt DLLIMPORT/EXPORT technique to handle extern simbols for DLLs.
Modified granular <TT>GNUmakefile</TT>s and rearranged usage of extern
symbols in classes in <TT>management</TT> module.</LI>
</UL>
<A NAME="run-notes">
<H3><I>Run, Intercoms and Interfaces</I></H3></A>
<UL>
<LI><B>Intercoms</B>:
<UL>
<LI>Introduced static methods in <TT>G4UIcommand</TT> class for conversion
between a string and a value. Some implementation of derived classes
are modified accordingly. Introduced utility methods
<TT>ConvertToStringWithBestUnit()</TT> and
<TT>ConvertToStringWithDefaultUnit()</TT> for command classes taking a
unit parameter.</LI>
</UL></LI>
<LI><B>Interfaces</B>:
<UL>
<LI><TT>G4[UI]Win32</TT>: implemented changes to allow usage of
standard C main (and avoid WinMain). Moved usage of inline methods
to non-inline for DLLs support on Windows.</LI>
</UL></LI>
<LI><B>Run</B>:
<UL>
<LI><TT>G4RunManagerKernel</TT>: added access methods to
<TT>G4TrackingManager</TT> and <TT>G4StackManager</TT>.</LI>
<LI>Adopt DLLIMPORT/EXPORT technique to handle extern simbols for DLLs.
Modified <TT>GNUmakefile</TT> and rearranged usage of extern symbols in
<TT>G4Run</TT>.</LI>
</UL></LI>
</UL>
<A NAME="track-notes">
<H3><I>Track and Tracking</I></H3></A>
<UL>
<LI><B>Track</B>
<UL>
<LI>G4VParticleChange: added new methods <TT>ProposeXXX()</TT> (and
corresponding <TT>GetXXX()</TT> methods) as replacement for old
<TT>SetXXXChange()</TT> and <TT>GetXXXChange()</TT>, now obsolete.</LI>
<LI><TT>G4ParticleChangeForLoss</TT>: fixed minor energy non-conservation
problem in case of more than 1 processes changing the energy.
Fixed initialization of <TT>ParentWeight</TT>.</LI>
<LI>Adopt DLLIMPORT/EXPORT technique to handle extern simbols for DLLs.
Modified <TT>GNUmakefile</TT> and rearranged usage of extern symbols in
<TT>G4Track</TT>.</LI>
</UL></LI>
<LI><B>Tracking</B>
<UL>
<LI>Adopt DLLIMPORT/EXPORT technique to handle extern simbols for
DLLs. Modified <TT>GNUmakefile</TT> and rearranged usage of extern
symbols in classes.</LI>
</UL></LI>
</UL>
<A NAME="vis-notes">
<H3><I>Visualization</I></H3></A>
<UL>
<LI><B>HepRep</B>
<UL>
<LI>Renamed zlib prefix from <TT>z_</TT> to <TT>heprep_z_</TT>.
Added symbol <TT>z_errmsg</TT> to list for renaming to avoid conflicts
with other programs who contain a copy of zlib.</LI>
<LI>Added attributes for Region and root-Region to both HepRep drivers.</LI>
<LI>Added ability to separately write geometry files.</LI>
<LI>Bug fix: copied new interfaces for HepRep, which uses fewer pointers.</LI>
<LI>Added initial viewpoint settings and a command to set the coordinate
system.</LI>
</UL></LI>
<LI><B>OpenGL</B>
<UL>
<LI>Added <TT>G4OpenGL.hh</TT> wrapper file and adapted code to encapsulate
inclusion of <TT>GL/gl.h</TT> and <TT>GL/glu.h</TT> that may be platform
dependent. Cleared WIN32 ifdefs no longer necessary.</LI>
</UL></LI>
<LI><B>OpenInventor</B>
<UL>
<LI>Added copy of the few necessary HEPVis code. HEPVis module dependency
is now no more needed.</LI>
<LI>Ported code to run on Windows systems.</LI>
<LI>Split Viewer to have <TT>G4OpenInventorXtViewer</TT> and
<TT>G4OpenInventorWinViewer</TT>.</LI>
<LI>Split <TT>G4OpenInventor</TT> to have <TT>G4OpenInventorXt</TT> and
<TT>G4OpenInventorWin</TT>: Xt and Win to follow the conventions found
in the OpenInventor environment.</LI>
</UL></LI>
<LI><B>RayTracer</B>
<UL>
<LI>Adopt DLLIMPORT/EXPORT technique to handle extern simbols for
allowing support of DLLs on Windows.</LI>
</UL></LI>
<LI><B>VRML</B>
<UL>
<LI>Fixed typo in printout in <TT>G4VRML[1/2]FileSceneHandler</TT>.</LI>
</UL></LI>
</UL>
<A NAME="data-notes">
<H3><I>Data sets</I></H3></A>
<UL>
<LI>New data set for elastic-scattering data at high-energies
(above 1-GeV) for the <I>coherent_elastic</I> hadronic model.</LI>
</UL>
<A NAME="emlst-notes">
<H3><I>Electromagnetic physics-lists</I></H3></A>
<UL>
<LI>New module with samples of physics list for standard electromagnetic
physics.</LI>
</UL>
<A NAME="env-notes">
<H3><I>Environments</I></H3></A>
<UL>
<LI>MOMO: new version of MOMO.jar archive including a bug-fix to GPE.</LI>
</UL>
<A NAME="g3tog4-notes">
<H3><I>G3toG4 Tool</I></H3></A>
<UL>
<LI>Removed hardwired <TT>gSeparator</TT> constant (a character which is
used during generation of volume names) to '_'. Now <TT>gSeparator</TT>
is made non constant and so can be changed in case a user wants to use
'_' in his code.</LI>
<LI><TT>G4gsrotm</TT>: commented warning about left-handled coordinates for
rotation axes.</LI>
</UL>
<A NAME="ex-notes">
<H3><I>Examples</I></H3></A>
<UL>
<LI>Updated reference outputs.</LI>
<LI><B>advanced</B>
<UL>
<LI>Implemented migration to AIDA 3.2.1</LI>
<LI><I>composite_calorimeter</I>
<UL>
<LI>Changed use of the ntuple. Mechanism simplified and the ntuple
is always correctly filled.</LI>
</UL></LI>
<LI><I>cosmicray_charging</I>
<UL>
<LI>New example illustrating an application aimed at simulating the
electrostatic charging of isolated test masses in the LISA mission
by galactic cosmic ray protons and helium nuclei.</LI>
</UL></LI>
<LI><I>hadrontherapy</I>
<UL>
<LI>New example illustrating an application simulating an hadron
therapy beam line for medical physics.</LI>
</UL></LI>
<LI><I>medical_linac</I>
<UL>
<LI>New example simulating energy deposit in a Phantom filled with
water for a typical linac used for intensity modulated radiation
therapy. The experimental set-up is very similar to one used in
clinical practice.</LI>
</UL></LI>
<LI><I>purging_magnet</I>
<UL>
<LI>New example illustrating an application that simulates electrons
traveling through a 3D magnetic field; used in a medical
environment for simulating a strong purging magnet in a treatment
head.</LI>
</UL></LI>
<LI><I>radioprotection</I>
<UL>
<LI>New example illustrating an application to evaluate the dose in
astronauts, in vehicle concepts and Moon surface habitat
configurations, in a defined interplanetary space radiation
environment.</LI>
</UL></LI>
</UL></LI>
<LI><B>extended</B>
<UL>
<LI>Implemented migration to AIDA 3.2.1</LI>
<LI><I>analysis</I>
<UL>
<LI><I>A01</I>
<UL>
<LI>Updated mac files for HepRep2 driver to set zoom factor
and coordinate system and write separate geometry.</LI>
</UL></LI>
</UL></LI>
<LI><I>electromagnetic</I>
<UL>
<LI><I>TestEm1</I>:
<UL>
<LI>PhysicsLists: removed Particles and General.</LI>
<LI>EmPhysicsList: set G4eBremsstrahlungCMS as default.</LI>
</UL></LI>
<LI><I>TestEm2</I>
<UL>
<LI>Updated PhysicsList: use concept of builders per package.</LI>
<LI>Added acceptance control.</LI>
<LI>Added histogram name and type UI commands (AIDA, ROOT, JAS,
and other output types are available).</LI>
</UL></LI>
<LI><I>TestEm3</I>
<UL>
<LI>Introduction of the class HistoManager.</LI>
<LI>Possibility to have multi-runs histogram files.</LI>
<LI>PhysicsLists: removed Particles and General.</LI>
<LI>New macro <TT>dedx.max</TT> to quickly check <TT>dE/dx</TT>
calculation.</LI>
<LI>Added acceptance check activated by UI command.</LI>
</UL></LI>
<LI><I>TestEm5</I>
<UL>
<LI>Modified HistoManager and its messenger in order to allow
for multi-run jobs.</LI>
<LI>PhysicsLists: added HadronElastic, BinaryCascade,
IonBinaryCascade. Removed Particles, General.</LI>
<LI>New macro <TT>dedx.mac</TT>.</LI>
<LI>Modified histo 7: projected position at exit.</LI>
</UL></LI>
<LI><I>TestEm7</I>
<UL>
<LI>PhysicsLists: removed Particles and General.</LI>
</UL></LI>
<LI><I>TestEm8</I>
<UL>
<LI>Updated test of PAI model.</LI>
</UL></LI>
<LI><I>TestEm9</I>
<UL>
<LI>Removed Clean of <TT>G4RegionStore</TT>, instead delete
regions one by one.</LI>
<LI>Added acceptance printout.</LI>
<LI>Added <TT>histclean</TT> target to <TT>GNUmakefile</TT>.</LI>
</UL></LI>
<LI><I>MuonProcesses</I>
<UL>
<LI>New example intended to check implementation of the processes
of muon interactions: ionization, direct (e+,e-) production,
bremsstrahlung, mu-nuclear interaction.
It allows to compute differential cross sections (as function
of the energy transfered to secondaries), total cross sections
and to compare with analytic calculations.</LI>
</UL></LI>
<LI><I>PhotonProcesses</I>
<UL>
<LI>New test devoted to the photon processes: gamma conversion,
coherent and incoherent scattering, photoelectric effect.
It allows to compute absorption coefficients and to plot
</UL></LI>
</UL></LI>
<LI><I>optical</I>
<UL>
<LI>New example <I>LXe</I> demonstrating the use of optical processes
in a multi-purpose detector setup.</LI>
</UL></LI>
<LI><I>parallel</I>
<UL>
<LI>New example <I>ExDiane</I> showing parallelisation of the
'brachytherapy' example using the DIANE framework
(see <A HREF="http://cern.ch/diane">http://cern.ch/diane</A>).</LI>
<LI>Bug fix in ParRunManager for ParN02 and ParN04 TOP-C examples.</LI>
</UL></LI>
</UL></LI>
<LI><B>novice</B>
<UL>
<LI><I>N02</I>
<UL>
<LI>Removed UI vis commands from run-action.</LI>
<LI>Code cleanup in physics-list.</LI>
<LI>Corrected definition of XenonGas in detector-contruction.</LI>
</UL></LI>
<LI><I>N03</I>
<UL>
<LI>Use G4UI_USE_WIN32 to have a default Windows GUI coworking
with the OpenGL Windows driver on Windows.</LI>
<LI>New macro <TT>exN03Vis9.mac</TT>, demo of the OpenGL Windows
driver. Update to the <TT>gui.mac</TT> menu items.</LI>
<LI>Code cleanup in physics-list.</LI>
</UL></LI>
<LI><I>N06</I>
<UL>
<LI>Change e+ energy in primary-generator to 500 keV.</LI>
<LI>Removed UI vis commands from run-action.</LI>
</UL></LI>
</UL></LI>
</UL>
<HR>
</BODY>
</HTML>