Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:16:08

0001 <HTML>
0002 <HEAD>
0003 <TITLE>Geant4 8.3 Release Notes</TITLE>
0004 </HEAD>
0005 <BODY BGCOLOR='F0F0F0'>
0006 
0007 <P> </P>
0008 <BR>
0009 <P> </P>
0010 
0011 <P ALIGN="Center">
0012 <FONT SIZE="+4" COLOR="#238E23">
0013 <B>Geant4 8.3 Release Notes</B>
0014 </FONT>
0015 
0016 <TABLE WIDTH="100%">
0017 <TR><TD ALIGN="Right">
0018 <FONT SIZE="-1" COLOR="#5C3317">
0019 <B><I>May 4<SUP>th</SUP>, 2007</I></B>
0020 </FONT>
0021 </TD></TR>
0022 </TABLE>
0023 
0024 <BR><BR>
0025 <HR ALIGN="Center" SIZE="7%">
0026 <P>
0027 The code and binary libraries for the supported systems are available
0028 through our <A TARGET="ext" HREF="http://cern.ch/geant4/support/download.shtml">Source
0029 Code Web page</A>.
0030 </P>
0031 <P>
0032 Please refer to the
0033 <A TARGET="ext" HREF="http://cern.ch/geant4/support/userdocuments.shtml">Geant4
0034 User Documentation</A> for further information about using Geant4.
0035 </P>
0036 
0037 <H2><I>Contents</I></H2>
0038 <OL>
0039 <LI><A HREF="#1.">Supported and Tested Platforms</A></LI>
0040 <LI><A HREF="#2.">CLHEP and AIDA</A></LI>
0041 <LI><A HREF="#3.">Items for migration of the user code</A></LI>
0042 <LI><A HREF="#4.">Expected effects on physics and performance</A></LI>
0043 <LI><A HREF="#5.">Known Run-Time Problems</A></LI>
0044 <LI><A HREF="#6.">Compilation Warnings</A></LI>
0045 <LI><A HREF="#7.">Known Run-Time Warnings</A></LI>
0046 <LI><A HREF="#8.">Geant4 Software License</A></LI>
0047 <LI><A HREF="#9.">Detailed list of changes and fixes</A></LI>
0048 </OL>
0049 
0050 <P> </P>
0051 <A NAME="1."></a>
0052 <HR>
0053 
0054 <!-- ============================================== -->
0055 
0056 <H2>1. Supported and Tested Platforms</H2>
0057 
0058 Official platforms:
0059 <UL>
0060 <LI>SUN Solaris 5.8, C++ CC-5.5.</LI>
0061 <LI>Linux, gcc 3.2.3 or gcc 3.4.5.<BR>
0062     This configuration was tested on <I>32 bits architectures (Intel)</I>
0063     and <I>64 bits architectures (AMD)</I> with the Scientific Linux CERN 3
0064     (SLC3) distribution (based on RedHat Linux Enterprise 3) and
0065     Scientific Linux CERN 4 (SLC4) distribution (based on RedHat Linux
0066     Enterprise 4).
0067     Versions of Geant4 have also been compiled successfully on other
0068     Linux distributions, like Debian, Suse or other RedHat systems.</LI>
0069 <LI>Windows/XP and CygWin Tools with: Visual C++ 7.1 .NET</LI>
0070 </UL>
0071 
0072 More verified configurations:
0073 <UL>
0074 <LI>SUN Solaris 5.8, C++ CC-5.4 Patch 111715-02</LI>
0075 <LI>Linux, gcc-4.1.2</LI>
0076 <LI>Linux, Intel-icc 9.1</LI>
0077 <LI>MacOS 10.4, gcc-4.0.1</LI>
0078 <LI>Windows/XP and CygWin Tools with: Visual C++ 8.0 (Visual Studio 2005)</LI>
0079 </UL>
0080 
0081 Platforms configured but not tested and not supported:
0082 <UL>
0083 <LI>AIX 4.3.2, xlC 6.0</LI>
0084 <LI>DEC V4.0, cxx C++ V6.1-027</LI>
0085 <LI>HP 10.20, aCC C++ B3910B A.01.23</LI>
0086 <LI>SGI V6.5.5, CC 7.2.1</LI>
0087 </UL>
0088 
0089 <P> </P>
0090 <A NAME="2."></A>
0091 <HR>
0092 
0093 <!-- ============================================== -->
0094 
0095 <H2>2. CLHEP and AIDA</H2>
0096 
0097 Geant4 8.3 requires the installation of
0098 <A TARGET="ext" HREF="http://cern.ch/clhep">CLHEP</A>.<BR>
0099 Tests have been performed with <B>CLHEP-2.0.3.1</B><BR>
0100 The software has been verified also with <B>CLHEP-1.9.3.1</B>.<BR>
0101 <P> </P>
0102 Geant4 8.3 examples with histogramming cowork with analysis tools compliant
0103 to AIDA 3.2.1 interfaces.<BR>
0104 AIDA headers can be downloaded from:
0105 <A TARGET="ext" HREF="http://aida.freehep.org">http://aida.freehep.org</A>
0106 
0107 
0108 <P> </P>
0109 <A NAME="3."></A>
0110 <HR>
0111 
0112 <!-- ============================================== -->
0113 
0114 <H2>3. Items for migration of the user code</H2>
0115 
0116 No particular migrations are required in order to upgrade from release 8.2
0117 to release 8.3.
0118 Note that a full re-installation of libraries (or a full recompilation) and
0119 a recompilation of user applications is anyhow required.
0120 
0121 <P> </P>
0122 <A NAME="4."></A>
0123 <HR>
0124 
0125 <!-- ============================================== -->
0126 
0127 <H2>4. Expected effects on physics and performance</H2>
0128 
0129 <B>Standard Electromagnetic physics</B>
0130 <UL>
0131 <LI>No visible effects in CPU performance.</LI>
0132 <LI>Calorimeter response: stable within 1% for visible energy and resolution.</LI>
0133 <LI>Energy deposition in thin layers: stable for step size down to <TT>1 um</TT>.</LI>
0134 </UL>
0135 
0136 <B>Hadronic physics</B>
0137 <UL>
0138   <LI><U>Revised hadronic modeling, resulting in longer shower shapes</U>:<BR>
0139       the FTF model now has improved treatment of diffraction.  As a result
0140       the longitudinal shower component now starts later and ends later, which
0141       goes in the direction of the data. The addition of quasi-elastic
0142       scattering (<TT>G4QuasiElasticChannel</TT>) to the QGS model is also
0143       expected to improve shower shapes by reducing the deep inelastic component.</LI>
0144   <LI><U>New cross section data sets added</U>:<BR>
0145       Barashenkov parameterised cross sections are now available for elastic 
0146       and inelastic nucleon-nucleus and elastic and inelastic pion-nucleus 
0147       scattering.</LI>
0148   <LI><U>Cross sections for user-defined elements</U>:<BR>
0149       cross sections are now calculated based on user-defined isotope 
0150       abundances, if they are provided. Natural abundances are used 
0151       otherwise.</LI>
0152   <LI><U>Improved muon capture model</U>:<BR>
0153       <TT>G4QCaptureAtRest</TT> model provides more accurate final state
0154       electron spectrum for muon capture and more accurate secondary hadron
0155       sprectra for hadron capture.</LI>
0156   <LI><U>Error reporting</U>:<BR>
0157       when a segmentation fault occurs in a hadronic process, the information
0158       about the process and model name where the fault has occurred will be
0159       printed out.</LI>
0160 </UL>  
0161 
0162 <B>Physics Lists</B>
0163 <UL>
0164 <LI>FTFP and FTFC use a significantly revised FTF model. Comparisons to thin
0165     target experiment at ~10 <TT>GeV</TT> show much better agreement with data;
0166     the model is still under validation at higher energies. Prelimirary tests
0167     display slightly longer showers than the previous version of FTFP/FTFC.</LI>
0168 <LI>QGS type physics lists (QGSP, QGSC, QGSP_BERT, etc) now include a simple
0169     quasi-elastic model for a small fraction of high energy inelastic
0170     interactions. The cross-section parameterisations for inelastic
0171     interactions include the quasi-elastic cross-section, while QGS only
0172     models deep inelastic interactions.
0173     <UL>
0174     <LI>For comparison or backward compatibility, the new QGSP_NQE,
0175         QGSP_EMV_NEQ, and QGSP_BERT_NQE ignore this new quasi-elastic,
0176         and are therefore the equivalent of QGSP, QGSP_EMV, and QGSP_BERT
0177         available in release 8.2 and before.</LI>
0178     <LI>Also, the obsolete QGSP_LEAD/QGSP_LEAD_HP do not include
0179         quasi-elastic.</LI>
0180     </UL></LI>
0181 <LI>QGSC physics list and its variants use CHIPS <TT>G4QCaptureAtRest</TT>
0182     to model capture of muons at rest instead of <TT>G4MuonMinusCaptureAtRest</TT>.
0183     This model better reproduces the spectrum of secondaries close to the
0184     kinematic limit.</LI>
0185 <LI>The new physics list QGSP_BERT_TRV is a variant of QGSP_BERT where Bertini
0186     cascade model is used only up to energies of 5.4 <TT>GeV</TT> for protons,
0187     neutrons, pions and kaons. For comparisons QGSP_BERT uses Bertini cascade
0188     model up to 9.9 <TT>GeV</TT>.</LI>    
0189 <LI>HElastic model for projectile energy above 1 <TT>GeV</TT> is used for all
0190     targets with <TT>Z&gt;1</TT>.</LI>
0191 <LI>In all lists for electro-magnetic physics, the "skin" for
0192     multiple-scattering on boundaries is set to zero, meaning that no
0193     computation of the linear distance to the geometrical boundaries is
0194     made by the multiple-scattering model.</LI>
0195 <LI>In the QBBC physics lists, the Binary Cascade is used up to 4 <TT>GeV</TT>,
0196     the FTFP model between to 3.5 to 12 <TT>GeV</TT>, and QGSP above 11.5
0197     <TT>GeV</TT>.</LI>
0198 </UL>
0199 
0200 <P> </P>
0201 <A NAME="5."></A>
0202 <HR>
0203 
0204 <!-- ============================================== -->
0205 
0206 <H2>5. Known Run-Time Problems and Limitations</H2>
0207 
0208 For a complete list of outstanding run-time problems and to submit any
0209 problem you may find running this version of Geant4, please refer to the
0210 <A TARGET="ext" HREF="http://cern.ch/geant4/problemreport">Geant4 Problem Reporting
0211 System</A>.
0212 
0213 
0214 <P> </P>
0215 <A NAME="6."></A>
0216 <HR>
0217 
0218 <!-- ============================================== -->
0219 
0220 <H2>6. Compilation Warnings</H2>
0221 
0222 There may be compilation warnings on some platforms.  We do not believe
0223 that any will lead to incorrect run-time behaviour.
0224 
0225 
0226 <P> </P>
0227 <A NAME="7."></A>
0228 <HR>
0229 
0230 <!-- ============================================== -->
0231 
0232 <H2>7. Known Run-Time Warnings</H2>
0233 
0234 The following message can be written to error output while tracking.
0235 We believe it does not give rise to incorrect behaviour.
0236 <PRE>
0237     G4PropagateInField: Warning: Particle is looping 
0238     -  tracking in field will be stopped. 
0239        It has performed 1000 steps in Field while a maximum of 1000
0240        are allowed. 
0241 </PRE>
0242 
0243 
0244 <P> </P>
0245 <A NAME="8."></A>
0246 <HR>
0247 
0248 <!-- ============================================== -->
0249 
0250 <H2>8. Geant4 Software License</H2>
0251 
0252 A Software License applies to the Geant4 code.
0253 The details and the list of copyright holders is available at
0254 <A href="http://cern.ch/geant4/license">http://cern.ch/geant4/license</A>
0255 and also in a text file <TT>LICENSE</TT> distributed with the source code.
0256 
0257 <P> </P>
0258 <A NAME="9."></A>
0259 <HR>
0260 
0261 <!-- ============================================== -->
0262 
0263 <H2>9. Detailed list of changes and fixes</H2>
0264 
0265 These are the main new features/fixes included in this release since the
0266 last patched public release (for the detailed list of fixes/additions,
0267 please refer to the related History files provided in most packages):
0268 
0269 <P> </P>
0270 
0271 <A NAME="conf-notes">
0272 <H3><I>Configuration</I></H3></A>
0273 <UL>
0274 <LI>Protected generation of dependencies using internal <TT>make</TT> variable
0275     <TT>MAKECMDGOALS</TT> in <TT>binmake.gmk</TT> and <TT>common.gmk</TT>,
0276     following suggestion made in problem report #930. This protection resolves
0277     the problem of generation of dependencies when issueing the <TT>clean</TT>
0278     target.</LI>
0279 </UL>
0280 
0281 <A NAME="digits-notes">
0282 <H3><I>Digitization & Hits</I></H3></A>
0283 <UL>
0284 <LI>Fixed way of counting outward steps in flux scorers.</LI>
0285 </UL>
0286 
0287 <A NAME="emstd-notes">
0288 <H3><I>Electromagnetic Processes (High-energy and Standard)</I></H3></A>
0289 <UL>
0290 <LI><B>Muons</B>
0291     <UL>
0292     <LI><TT>G4MuPairProductionModel</TT>: added protection against zero or
0293         negative partial cross section inside <TT>SelectRandomAtom()</TT>
0294         method. Fixes problem reported when runnning tutorial example A01.</LI>
0295     <LI>Set <TT>linLossLimit</TT> to <TT>1.E-6</TT> in
0296         <TT>G4EnergyLossForExtrapolator</TT>.</LI>
0297     </UL></LI>
0298 <LI><B>Polarisation</B>
0299     <UL>
0300     <LI><TT>G4PolarizedGammaConversionModel</TT>: fixed non-initialised
0301         variable.</LI>
0302     </UL></LI>
0303 <LI><B>Standard</B>
0304     <UL>
0305     <LI><TT>G4UrbanMscModel</TT>:
0306         <UL>
0307         <LI>Fix in the single scattering code for heavy particles, now the code
0308             can be used with skin=1 e+/e- and for heavy particles as well.</LI>
0309         <LI>Added protections against NaN values in two places: sampling of
0310             <TT>theta</TT> when <TT>tau=0</TT> in lateral displacement, and in
0311             method <TT>ComputeTrueStepLength()</TT> for the case of zero true
0312             length.</LI>
0313         <LI>Stepping algorithm changed for <TT>skin=0</TT>, now there are 3
0314             stepping modes:
0315             <OL>
0316             <LI>Stepping similar to that performed in release 7.1;</LI>
0317             <LI><TT>skin=0</TT> - designed for high energy simulations with or
0318                 without magnetic field;</LI>
0319             <LI><TT>skin=1</TT> - designed for 'precision' simulations without
0320                 magnetic field.</LI>
0321             </OL></LI>
0322         <LI>If <TT>skin>1</TT>, perform small steps with single scattering before
0323             and after boundary the boundary. The step is reduced before boundary
0324             for <TT>geomlimit</TT> less than <TT>geombig</TT> only.</LI>
0325         <LI>Use <TT>tPathLength</TT> inside <TT>ComputeStep()</TT> instead of
0326            <TT>geombig</TT>.</LI>
0327         </UL></LI> 
0328     <LI><TT>G4MultipleScattering, G4hMultipleScattering</TT>:
0329         <UL>
0330         <LI>Use <TT>skin</TT> parameter from the base class (default
0331             <TT>skin=0</TT>).</LI>
0332         </UL></LI>
0333     <LI><TT>G4eBremsstrahlungModel</TT>:
0334         <UL>
0335         <LI>Added reinitialisation of LPM flag between runs.</LI>
0336         <LI>Corrected <TT>LPMconstant</TT> by factor 2 (according to SLAC
0337             recent publication).</LI>
0338          </UL></LI>
0339     <LI><TT>G4BetheHeitlerModel</TT>: for any initial energy select atom of
0340         the material on which conversion occur (needed for polarisation
0341         module).</LI>
0342     <LI><TT>G4UniversalFluctuation</TT>: <TT>GLANDZ</TT> part of the
0343         fluctuation model has been completely rewritten, there is no longer
0344         distinct loss regime.</LI>
0345     <LI><TT>G4hIonisation</TT>: removed dependence on K+ and K- particles.</LI>
0346     </UL></LI>
0347 <LI><B>Utils</B>
0348     <UL>
0349     <LI><TT>G4VEnergyLossProcess</TT>:
0350         <UL>
0351         <LI>Use <TT>G4SafetyHelper</TT> instead of <TT>G4Navigator</TT> for
0352             determining distance to boundary, and added protection agains zero
0353             step length.</LI>
0354         </UL></LI>
0355     <LI><TT>G4VMultipleScattering</TT>:
0356         <UL>
0357         <LI>Added protection against zero step or energy.</LI>
0358         <LI>Added <TT>SetSkin()</TT> and <TT>Skin()</TT> methods.</LI>
0359         </UL></LI>
0360     <LI><TT>G4EmModelManager</TT>: added <TT>maxCutInRange</TT> variable for
0361         sub-cutoff option.</LI>
0362     <LI><TT>G4EmCalculator</TT>: added method <TT>ComputeEnergyCutFromRangeCut()</TT>.</LI>
0363     <LI><TT>G4EnergyLossMessenger</TT>: send message <TT>/run/physicsModified</TT>
0364         after all commands requiring reinitialisation.</LI>
0365     <LI><TT>G4LossTableManager, G4EmProcessOptions, G4EnergyLossMessenger</TT>:
0366         added commands for <TT>MscLateralDisplacement</TT>, <TT>MscSkin</TT>
0367         and <TT>linearLossLimit</TT>.</LI>
0368     <LI><TT>G4LossTableBuilder</TT>: use more precise algorithm to build
0369         inverse range table using <TT>G4LPhysicsFreeVector</TT>.</LI>
0370     <LI><TT>G4EmCorrections</TT>: taking mass of ion from <TT>G4IonTable</TT>
0371         to avoid division by zero.</LI>
0372     </UL></LI>
0373 </UL>
0374 
0375 <A NAME="evt-notes">
0376 <H3><I>Event</I></H3></A>
0377 <UL>
0378 <LI>Prevent from unnecessary creation of <TT>G4String</TT> objects in
0379     <TT>G4Event</TT>, which were default for random number status.
0380     Use new flag in <TT>G4EventManager</TT>.</LI>
0381 </UL>
0382 
0383 <A NAME="gen-notes">
0384 <H3><I>General Processes: Cuts, Scoring</I></H3></A>
0385 <UL>
0386 <LI><B>Cuts</B>
0387     <UL>
0388     <LI>Added method <TT>ConvertRangeToEnergy()</TT> to
0389         <TT>G4ProductionCutsTable</TT>.</LI>
0390     </UL></LI>
0391 <LI><B>Scoring</B>
0392     <UL>
0393     <LI>Fix to set step status for ghost pre-step point.</LI>
0394     </UL></LI>
0395 </UL>
0396 
0397 <A NAME="geo-notes">
0398 <H3><I>Geometry</I></H3></A>
0399 <UL>
0400 <LI><B>Magnetic  field</B>
0401     <UL>
0402     <LI>Corrected integration constants in <TT>G4MagHelicalStepper</TT>.</LI>
0403     <LI>Added implementation of <TT>G4RKG3_Stepper</TT>, stepper derived
0404         from Geant3.</LI>
0405     <LI><TT>G4MagIntegratorDriver</TT>: added protections against zero initial
0406         or internal step <TT>h=0</TT>; revised (re)calculation of <TT>h</TT>,
0407         and protect more against very small steps.</LI>
0408     </UL></LI>
0409 <LI><B>Management</B>
0410     <UL>
0411     <LI>Added accessors to stores for retrivial of volumes/solid by name.</LI>
0412     <LI>Modified signature of <TT>G4VPhysicalVolume::CheckOverlaps()</TT> to
0413         introduce ability of handling tolerances for overlaps.</LI>
0414     <LI>Do not reset <TT>RegionRootFlag</TT> in <TT>RemoveRootLogicalVolume()</TT>
0415         if volume is the world, since the volume itself may be already removed
0416         from the store if <TT>G4LogicalVolumeStore::Clean()</TT> is called.</LI>
0417     </UL></LI>
0418 <LI><B>Navigation</B>
0419     <UL>
0420     <LI>In G4Navigator, forcing call to <TT>CheckOverlaps()</TT> on the current
0421         volume before event abortion for cases of stuck tracks.</LI>
0422     <LI><TT>G4PropagatorInField</TT>: implemented <TT>ClearPropagatorState()</TT>
0423         to clear track-dependent state (safety, zero-steps, loop flag. etc...).
0424         Call to this method becomes mandatory in <TT>G4Transportation</TT> for
0425         each new track to overcome side effects of safety inconsistency in
0426         presence of geometry overlaps.</LI>
0427     <LI>Fixed case of out of range access in <TT>G4GeomTestSegment</TT>
0428         responsible for crashes observed when recursive-grid test for overlaps
0429         was run. Addressing problem report #784.</LI>
0430     </UL></LI>
0431 <LI><B>Solids (Specific)</B>
0432     <UL>
0433     <LI>Introduced new shape <TT>G4ExtrudedSolid</TT>, a solid representing
0434         the extrusion of an arbitrary polygon with fixed outline and
0435         multiple Z sections.</LI>
0436     <LI>G4TessellatedSolid:
0437         <UL>
0438         <LI>Made relevant solid's methods virtual, to be used as base
0439             class.</LI>
0440         <LI>Added implementation for <TT>GetSurfaceArea()</TT> and
0441             <TT>GetPointOnSurface()</TT> methods.</LI>
0442         <LI>Added protection in <TT>SurfaceNormal()</TT> method in case
0443             of facet not found.</LI>
0444         <LI>Check and return <TT>kOutside</TT> in <TT>Inside()</TT> if
0445             point out of solid's extent.</LI>
0446         <LI>Bug fix in <TT>G4TriangularFacet::Intersect()</TT> to allow
0447             for correct update of <TT>Distance</TT> in condition. Cleared
0448             unecessary declaration of <TT>IsInside()</TT> methods in both
0449             <TT>G4TriangularFacet</TT> and <TT>G4QuadrangularFacet</TT>.</LI>
0450         <LI>Fix in <TT>G4PolyconeSide::DistanceAway()</TT> for correct
0451             estimation of distance for the case of <TT>Phi</TT> sections.
0452             Addresses problem report #598.</LI>
0453         <LI>Fix in <TT>GetPointOnSurface()</TT> for <TT>G4Polycone</TT> to
0454             consider also points laying on rings when consecutive
0455             <TT>Z</TT>-sections are coincident. Added method
0456             <TT>GetPointOnRing()</TT>.</LI>
0457         </UL></LI>
0458     </UL></LI>
0459 <LI><B>Volumes</B>
0460     <UL>
0461     <LI>Extensions to the <TT>CheckOverlaps()</TT> algorithm:
0462         <UL>
0463         <LI>Added possibility to define a tolerance for reporting overlaps;
0464             added new argument to signature, by default tolerance is set to
0465             zero.</LI>
0466         <LI>Optimised implementation for detecting daughter volumes which are
0467             totally overlapping and checked in sequence.</LI>
0468         <LI>Added check on current volume to optimise and correctly handle the
0469             case of explicit call of the method when geometry is constructed.</LI>
0470         <LI>Made warning message more clear.</LI>
0471         </UL></LI>
0472    </UL></LI>
0473 </UL>
0474 
0475 <A NAME="glob-notes">
0476 <H3><I>Global</I></H3></A>
0477 <UL>
0478 <LI>Added <TT>G4TwoVector</TT> type, typef of CLHEP's <TT>Hep2Vector</TT>
0479     class.</LI>
0480 <LI>Changed date for release 8.3.</LI>
0481 </UL>
0482 
0483 <A NAME="greps-notes">
0484 <H3><I>Graphical Representations</I></H3></A>
0485 <UL>
0486 <LI><TT>G4VisAttributes</TT>:
0487     <UL>
0488     <LI>Bug fix in <TT>SetForceLineSegmentsPerCircle()</TT>; now correctly
0489         implementing the reset.</LI>
0490     <LI>Minor refinement: introduced <TT>IsForceLineSegmentsPerCircle()</TT>
0491         method.</LI>
0492     </UL></LI>
0493 <LI><TT>G4Colour</TT>: replaced static data members by static functions that
0494     create and copy out the relevant colours.</LI>
0495 </UL>
0496 
0497 <A NAME="had-notes">
0498 <H3><I>Hadronic Processes</I></H3></A>
0499 <UL>
0500 <LI>Added model name for hadronic whiteboard error reporting.</LI>
0501 <LI><B>Cross sections</B>
0502     <UL>
0503     <LI>Extend user-chosen isotope abundance capability to several classes:
0504         <TT>G4UPiNuclearCrossSection</TT>, <TT>G4UInelasticCrossSection</TT>,
0505         <TT>G4UElasticCrossSection</TT>, <TT>G4GlauberGribovCrossSection</TT>,
0506         <TT>G4NucleonNuclearCrossSection</TT>.</LI>
0507     <LI><TT>G4PiNuclearCrossSection</TT>: removed special treatment ('tuning') for 
0508             Copper (Z=29),i.e. the <TT>Cu</TT> cross section is no longer lowered 
0509             by 4%.</LI>
0510     <LI>New classes added:
0511         <UL>
0512         <LI><TT>G4BGGNucleonElasticXS</TT>: 
0513             provided proton and neutron elastic and cross section class 
0514             (<TT>G4BGGNucleonElasticXS</TT>) which uses the Barashenkov 
0515             parameterization below 100 GeV and Glauber-Gribov model above.</LI>
0516         <LI>also provided proton and neutron inelastic cross sections 
0517             (<TT>G4BGGNucleonInelasticXS</TT>), pion elastic cross sections 
0518             (<TT>G4BGGPionElasticXS</TT>), and pion inelastic cross sections
0519             (<TT>G4BGGPionInelasticXS</TT>) which combine the Barashenkov 
0520             parameterization below 100 GeV and Glauber-Gribov model above.</LI>
0521         <LI><TT>G4NucleonNuclearCrossSection</TT> which contains Barashenkov 
0522             cross sections for nucleon-nucleus scattering</LI> 
0523         </UL></LI>
0524     <LI>Added protection against division by zero in method
0525         <TT>G4CrossSectionDataStore::SelectRandomIsotope()</TT>.</LI>
0526     <LI>Added handling of user-defined isotope abundances for elements and
0527         proper cross section and abundance weighted choice of isotopes in
0528         reactions. New virtual methods for <TT>IsApplicable()</TT> and
0529         <TT>GetCrossSections()</TT> added to classes
0530         <TT>G4VCrossSectionDataSet</TT> and <TT>G4CrossSectionDataStore</TT>.</LI>
0531     <LI><TT>G4HadronCrossSections::GetParticleCode()</TT>: following report from CMS,
0532         replaced code which tested by particle name with more performant code
0533         that tests by PDG ID. Also, use switch-case instead of else-if.</LI>
0534     </UL></LI>
0535 <LI><B>Management</B>
0536     <UL>
0537     <LI><TT>G4HadronicProcess</TT>:
0538       <UL>
0539         <LI>Removed unused <TT>AlwaysKillLeadingHadron()</TT> method.</LI>
0540         <LI>Fixed bug which was killing primaries in elastic scattering.</LI>
0541         <LI>Fix weighting error in leading particle killer.</LI>
0542         <LI>Added handling of user-defined isotopes: re-implemented methods
0543             <TT>GetMeanFreePath()</TT> and <TT>ChooseAandZ()</TT> to use new
0544             methods in <TT>G4CrossSectionDataStore</TT>.</LI>
0545         <LI>No longer use dispatch pointer to call data store methods.</LI>
0546         <LI>Remove data members <TT>currentZ</TT>, <TT>currentN</TT> and methods
0547             <TT>GetCurrentZ()</TT>, <TT>GetCurrentN()</TT>.  They are no
0548             longer needed.</LI>
0549       </UL></LI>
0550     </UL></LI>
0551 <LI><B>Binary Cascade</B>
0552     <UL>
0553     <LI>Added protection against integrating zero <TT>timeStep</TT> in
0554         <TT>G4RKPropagation</TT>. This used to cause in some cases division
0555         by zero in integration.</LI>
0556     </UL></LI>
0557 <LI><B>Cascade</B>
0558     <UL>
0559     <LI>Added protection in <TT>G4ElementaryParticleCollider</TT> against negative
0560         value to <TT>sqrt()</TT>.</LI>
0561     </UL></LI>
0562 <LI><B>Chiral Invariant Phase Space (CHIPS)</B>
0563   <UL>
0564     <LI>Fix for NaN, protected coulomb barrier against divide by zero, now
0565         defaults to zero. Fix for NaN in <TT>G4QNucleus</TT> when using
0566         <TT>pow()</TT> and in <TT>G4QEnvironment</TT>.</LI>
0567     <LI>Completed implementation of G4QuasiFreeRatios which enables
0568         quasi-elastic scattering.</LI>
0569     <LI>To avoid early particle definition the CHIPS world is now created 
0570         at run time in the processes <TT>G4QElastic</TT>, <TT>G4QCollision</TT>,
0571         and <TT>G4QCaptureAtRest</TT>.</LI>
0572     <LI><TT>G4QElastic</TT>:
0573       <UL>
0574         <LI>Fix for mis-use of units.</LI>
0575         <LI>Treat particles with <TT>E=0</TT> as alive for tracking purposes.</LI>
0576       </UL></LI>
0577     <LI>CHIPS model for muon capture now available. It is handled by 
0578       <TT>G4QCaptureAtRest</TT>.</LI>
0579     <LI>Bug fix for muon-nuclear interactions.</LI>
0580     <LI>Bug fix for binomial distribution with <TT>p=1,q=0</TT> in <TT>G4QNucleus</TT>.</LI>
0581   </UL></LI>
0582 <LI><B>Elastic scattering</B>
0583   <UL>
0584     <LI>Speed up coherent hadron-nucleus scattering (<TT>G4ElasticHadrNucleusHE</TT>)
0585         by using iterator search on bin instead of computing <TT>log()</TT>.</LI>
0586     <LI><TT>G4HadronElastic</TT>:
0587       <UL>
0588         <LI>Use the most probable isotope for given Z to call the high energy part
0589             of the model (CPU/memory more efficient).</LI>
0590         <LI>HElastic model for projectile energy above 1 <TT>GeV</TT> is used
0591             for all targets with <TT>Z&gt;1</TT>.</LI>
0592       </UL></LI>
0593     <LI><TT>G4UHadronElasticProcess</TT>: fixed bug in number of neutrons in
0594         CHIPS interface.</LI>
0595     <LI><TT>G4HadronElastic</TT>, <TT>G4ChargeExchange</TT>: more accurately
0596         compute Z and A.</LI>
0597     <LI><TT>G4UHadronElasticProcess</TT> and <TT>G4ChargeExchangeProcess</TT>:
0598       <UL>
0599         <LI>Fixed bug of undefined isotope vector</LI>
0600         <LI>Migrated to interface for isotope-dependent cross sections;
0601             do not use QElastic total cross sections in
0602             <TT>G4ChargeExchangeProcess</TT>.</LI>
0603       </UL></LI>
0604   </UL></LI>
0605 <LI><B>High Energy</B>
0606     <UL>
0607     <LI>Added <TT>G4QuasiElasticChannel</TT> to simulate quasi-elastic
0608         scattering. Relies on CHIPS class <TT>G4QuasiFreeRatios</TT>.</LI>
0609     <LI>Modified <TT>G4TheoFSGenerator</TT> to use <TT>G4QuasiElasticChannel</TT>
0610         and add quasi-elastic scattering for string models, and use these in
0611         competition to the string model.</LI>
0612     </UL></LI>
0613 <LI><B>Low Energy</B>
0614     <UL>
0615     <LI><TT>G4LEAntiProtonInelastic</TT>: for low energy (< 0.1 MeV)
0616         anti-protons, the model was simply returning the particle change which
0617         had not yet been initialized, thus leading to an infinite loop. Now
0618         model returns particle change initialized from the original kinematics.
0619         Addresses problem report #888.</LI>
0620     <LI>All Low Energy models: added model name to constructor for use in
0621         traceback and debugging.</LI>
0622     <LI><TT>G4LElastic</TT>: added protection against <TT>sqrt()</TT> of
0623         negative value.</LI>
0624     </UL></LI>
0625 <LI><B>Parton String</B>
0626     <UL>
0627     <LI>Several modifications made to <TT>G4VLongitudinalStringFragmentation</TT>
0628         for use in FTF model. This was taken from the original QGS code.</LI>
0629     <LI>Revised FTF model now available. Single diffraction was added and 
0630         hadronization was improved.  Management and qgsm modules also affected.</LI>
0631     <LI><TT>G4ExcitedStringDecay::EnergyAndMomentumCorrector()</TT>, no longer
0632         causes exception when not converging. Added more info when failing and
0633         return correct status. Added protection in <TT>G4ExcitedStringDecay</TT>
0634         against division by 0.</LI>
0635     </UL></LI>
0636 <LI><B>Pre-Compound</B>
0637     <UL>
0638     <LI>Added protection against division by zero in
0639         <TT>G4PreCompoundTransitions</TT>.</LI>
0640     </UL></LI>
0641 <LI><B>Utils</B>
0642     <UL>
0643     <LI><TT>G4HadronicWhiteboard</TT>: added methods to set process and model
0644         names.</LI>
0645     <LI><TT>G4ReactionDynamics</TT>: added pi0 to anti-particle test.</LI>
0646     </UL></LI>
0647 </UL>
0648 
0649 <A NAME="part-notes">
0650 <H3><I>Particles</I></H3></A>
0651 <UL>
0652 <LI>Added protection against negative argument to <TT>sqrt()</TT> in
0653     <TT>G4DecayProducts::Boost()</TT>.</LI>
0654 </UL>
0655 
0656 <A NAME="lst-notes">
0657 <H3><I>Physics lists</I></H3></A>
0658 <UL>
0659 <LI>Added quasi-elastic in QGSP physics list; this required changes to:
0660     <UL>
0661     <LI>QGSP{proton,Neutron,PiK} Builder, adding <TT>QuasiElasticChannel</TT> on
0662         conditional flag.</LI>
0663     <LI><TT>HadronPhysicsQGSP</TT> passes flag (default=<TT>false</TT>) to
0664         Builders.</LI>
0665     <LI>QGSP uses flag to include quasi-elastic.</LI>
0666     </UL></LI>
0667 <LI>New list QGSP_NQSE, a copy of QGSP without quasi-elastic.</LI>
0668 <LI>For QGSC, QGSC_EMV, and QGSC_EFLOW enable use of <TT>G4QCaptureAtRest()</TT>
0669     also for muons. Changes made in <TT>G4QStoppingPhysics</TT> as well.</LI>
0670 <LI>Modifications for Quasi-elastic. Added to all QGS physics lists execpt
0671     the two obsolete QGSC_LEAD/QGSC_LEAD_HP. This also required adapting of
0672     <TT>HadronsPhysicsXYZ</TT> and {QGSP;QGSC;QGSC_EFLOW}{Neutron,Proton,PiK}
0673     Builders.</LI>
0674 <LI>Removed unnecessary <TT>HadronPhysics...{EMV,EMX}</TT> classes.</LI>
0675 <LI>Adopting recent upgrades in QGS and FTF for the QBBC physics list.</LI>
0676 <LI>Set <TT>skin</TT> to zero in <TT>G4EmStandardPhysics7</TT> (i.e. no use
0677     of <TT>ComputeStep()</TT> in multiple-scattering).</LI>
0678 <LI><TT>G4HadronHElasticPhysics</TT> uses new cross section classes
0679     <TT>G4BGGNucleonElasticXS</TT> and <TT>G4BGGPionElasticXS</TT>.</LI>
0680 <LI><TT>G4HadronElasticPhysics</TT>: set limits on low energy and QElastic
0681     to zero.</LI>
0682 <LI>Fixed special cuts for LBE physics list.</LI>
0683 <LI>Added set min/max Energy and Inelastic Energy to NeutronHP builder.</LI>
0684 <LI><TT>G4EmStandardPhysics</TT>:
0685     <UL>
0686     <LI>Use <TT>G4hMultipleScattering</TT> for muons and removed extra
0687         printouts.</LI>
0688     <LI>Use default multiple-scattering setup in <TT>G4EmStandardPhysics72</TT>.</LI>
0689     <LI>Use <TT>skin=0</TT> (no use of <TT>ComputeStep()</TT> in
0690         multiple-scattering) in <TT>G4EmStandardPhysics</TT> and
0691         <TT>G4EmStandardPhysics71</TT>.</LI>
0692     </UL></LI>
0693 <LI>Added new physics list QGSP_BERT_TRV, based on QGSP_BERT, but changing
0694     to Bertini Cascade occurs at 5.0-5.4 <TT>GeV</TT> for proton, neutron,
0695     pion and kaon.</LI>
0696 <LI>Increased version number to 5.2.</LI>
0697 </UL>
0698 
0699 <A NAME="run-notes">
0700 <H3><I>Run</I></H3></A>
0701 <UL>
0702 <LI>Prevent from unnecessary creation of <TT>G4String</TT> objects in
0703     <TT>G4Event</TT>, which were default for random number status.</LI>
0704 <LI>Added new <TT>G4RunManager</TT> flag and corresponding UI command.</LI>
0705 </UL>
0706 
0707 <A NAME="vis-notes">
0708 <H3><I>Visualization</I></H3></A>
0709 <UL>
0710 <LI><B>Management</B>
0711     <UL>
0712     <LI>Added command <TT>/vis/abortReviewKeptEvents</TT> and improved
0713         guidance of command <TT>/vis/reviewKeptEvents</TT>.</LI>
0714     <LI>Introduced command <TT>/vis/geometry/set/forceLineSegmentsPerCircle</TT>.</LI>
0715     <LI>Fixed bug concerning call to <TT>/vis/open</TT> in
0716         <TT>/vis/reviewKeptEvents</TT> loop.</LI>
0717     <LI><TT>G4VSceneHandler</TT>:
0718         <UL>
0719         <LI>Introduced utility <TT>LoadAtts()</TT> for <TT>G4AttValues</TT>
0720             and <TT>G4AttDefs</TT>.</LI>
0721         <LI>Improved other utilities (changed signature of
0722             <TT>GetLineWidth()</TT>).</LI>
0723         </UL></LI>
0724     <LI>Reduced WARNING noise and other minor improvements.</LI>
0725     </UL></LI>
0726 <LI><B>Modeling</B>
0727     <UL>
0728     <LI>Bug fix: corrected treatment of <TT>ForcedLineSegmentsPerCircle</TT>
0729         when clipping.</LI>
0730     </UL></LI>
0731 <LI><B>OpenGL</B>
0732     <UL>
0733     <LI>Implemented bitmap markers (for <TT>MarkerSizeType == screen</TT>).</LI>
0734     <LI>Bug fix: added missing break in X colormap lookup routine.</LI>
0735     <LI>Adapted to change of signature of <TT>GetLineWidth()</TT>.</LI>
0736     <LI>Fixed Windows problem with <TT>DBL_MAX</TT> and compilation warnings.</LI>
0737     <LI><TT>G4OpenGLXViewer</TT>: Small bug fix in <TT>print()</TT>;
0738         context was switched but not switched back.</LI>
0739     </UL></LI>
0740 <LI><B>OpenInventor</B>
0741     <UL>
0742     <LI>Moved <TT>LoadAtts()</TT> to vis management module.</LI>
0743     </UL></LI>
0744 <LI><B>RayTracer</B>
0745     <UL>
0746     <LI>Bug fix: use of window size hints.</LI>
0747     </UL></LI>
0748 <LI><B>ASCIITree</B>
0749     <UL>
0750     <LI>Bug fix: format of total mass.</LI>
0751     </UL></LI>
0752 </UL>
0753 
0754 <A NAME="ex-notes">
0755 <H3><I>Examples</I></H3></A>
0756 <UL>
0757 <LI>Updated reference outputs.</LI>
0758 <LI><B>extended</B>
0759     <UL>
0760     <LI>electromagnetic/TestEm2
0761         <UL>
0762         <LI>Uncommented hadron ionisation in Livermore builder.</LI>
0763         </UL></LI>
0764     <LI>electromagnetic/TestEm3
0765         <UL>
0766         <LI>Fixed compilation problem on SUN.</LI>
0767         <LI>Added command <TT>/testem/run/limitEdep</TT> allowing to compute
0768             restricted mean values to supress big statistical fluctuations.</LI>
0769         <LI>Updated command <TT>/testem/run/acceptance</TT>.</LI>
0770         <LI>Parameter <TT>skin=1</TT> is set as default PhysList.</LI>
0771         <LI>Added macro <TT>emtutor.mac</TT>.</LI>
0772         <LI>Added physics-lists names: penelope, livermore.</LI>
0773         <LI>Restored random seed storage.</LI>
0774         <LI>By default do not store random seed and do not activate VisManager
0775             in batch.</LI>
0776         <LI>Added <TT>G4standard_exp</TT> PhysList. Added material Lucite.</LI>
0777         <LI>Return Z-position computation.</LI>
0778         </UL></LI>
0779     <LI>electromagnetic/TestEm5
0780         <UL>
0781         <LI>Use all default values in default PhysList.</LI>
0782         <LI>Use hadronic builders from physics_lists library.</LI>
0783         </UL></LI>
0784     <LI>electromagnetic/TestEm7
0785         <UL>
0786         <LI>Parameter <TT>skin=1</TT> is set as default PhysList.</LI>
0787         <LI>Added physics-lists names: penelope, livermore.</LI>
0788         <LI>Fixed usage of elastic builders in PhysicsList.</LI>
0789         </UL></LI>
0790     <LI>electromagnetic/TestEm9
0791         <UL>
0792         <LI>Compute truncated mean values to reduce statistical fluctuations
0793             and fixed output of statistics.</LI>
0794         <LI>Added physics-lists names: penelope, livermore.</LI>
0795         <LI>Uncommented hadron ionisation in Livermore builder.</LI>
0796         </UL></LI>
0797     <LI>electromagnetic/TestEm12
0798         <UL>
0799         <LI>Uncommented hadron ionisation in Livermore builder.</LI>
0800         <LI><TT>HistoManager</TT>: by default, get <TT>csdaRange</TT> from
0801             <TT>G4EmCalculator</TT>.</LI>
0802         </UL></LI>
0803     <LI>electromagnetic/TestEm13, TestEm14
0804         <UL>
0805         <LI><TT>vis.mac</TT>: suppressed command drawTracks.</LI>
0806         </UL></LI>
0807     <LI>electromagnetic/TestEm15
0808         <UL>
0809         <LI>SteppingAction: added protection if no lateral displacement.</LI>
0810         </UL></LI>
0811     <LI>electromagnetic/TestEm18
0812         <UL>
0813         <LI>New example allowing for studying the energy lost by a charged
0814             particle in a single layer, due to ionization and bremsstrahlung.
0815             Results are compared to 'reference' values.</LI>
0816         </UL></LI>
0817     <LI>field/field03
0818         <UL>
0819         <LI>Fixed bug in <TT>F03FieldSetup</TT> for the activation of local
0820             fields.</LI>
0821         </UL></LI>
0822     <LI>hadronic/Hadr01
0823         <UL>
0824         <LI>PhysicsList update according to QBBC and quasi-elastic
0825             modifications.</LI>
0826         <LI>Fix in QGSP_BIC_HP physics list.
0827             Addressing problem report #937.</LI>
0828         </UL></LI>
0829     <LI>medical/fanoCavity
0830         <UL>
0831         <LI>New example for computing the dose deposited in an ionization
0832             chamber by a monoenergetic photon beam.</LI>
0833         </UL></LI>
0834     <LI>radioactivedecay/exrdm
0835         <UL>
0836         <LI>Fixed usage of physics-lists.</LI>
0837         </UL></LI>
0838     <LI>runAndEvent
0839         <UL>
0840         <LI>RE01: Removed large-N reference output.</LI>
0841         </UL></LI>
0842     </UL></LI>
0843 </UL>
0844 
0845 <HR>
0846 
0847 </BODY>
0848 </HTML>