File indexing completed on 2025-01-18 09:16:07
0001 <HTML>
0002 <HEAD>
0003 <TITLE>Geant4 6.0 Release Notes</TITLE>
0004 </HEAD>
0005 <BODY BGCOLOR='F0F0F0'>
0006
0007 <P> </P>
0008 <BR>
0009 <P> </P>
0010
0011 <P ALIGN="Center">
0012 <FONT SIZE="+4" COLOR="#238E23">
0013 <B>Geant4 6.0 Release Notes</B>
0014 </FONT>
0015
0016 <TABLE WIDTH="100%">
0017 <TR><TD ALIGN="Right">
0018 <FONT SIZE="-1" COLOR="#5C3317">
0019 <B><I>December 12<SUP>th</SUP>, 2003</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">Source Code Web page</A>.
0029 </P>
0030 <P>
0031 Please refer to the
0032 <A TARGET="ext" HREF="http://cern.ch/geant4/G4UsersDocuments/Overview/html">Geant4
0033 User Documentation</A> for further information about using Geant4.
0034 </P>
0035
0036 <H2><I>Contents</I></H2>
0037 <OL>
0038 <LI><A HREF="#1.">Supported and Tested Platforms</A></LI>
0039 <LI><A HREF="#2.">AIDA and CLHEP</A></LI>
0040 <LI><A HREF="#3.">Compiler Specific Problems</A></LI>
0041 <LI><A HREF="#4.">Known Run-Time Problems</A></LI>
0042 <LI><A HREF="#5.">Compilation Warnings</A></LI>
0043 <LI><A HREF="#6.">Known Run-Time Warnings</A></LI>
0044 <LI><A HREF="#7.">Major items for migration of user code</A></LI>
0045 <LI><A HREF="#8.">Detailed list of changes and fixes</A></LI>
0046 </OL>
0047
0048 <P> </P>
0049 <A NAME="1."></a>
0050 <HR>
0051
0052
0053
0054 <H2>1. Supported and Tested Platforms</H2>
0055
0056 Official platforms:
0057 <UL>
0058 <LI>SUN Solaris 5.8, C++ CC-5.4 Patch 111715-02.</LI>
0059 <LI>Linux, gcc 2.95.2, gcc 3.2.<BR>
0060 This configuration was tested with the RedHat 7.3 distribution,
0061 versions of Geant4 have also been compiled successfully on other
0062 Linux distributions, like Debian, Suse or more recent RedHat systems.
0063 The default RedHat compiler gcc-2.96 distributed in RedHat 7.X is NOT
0064 supported. It has been verified that it produces incorrect binaries,
0065 therefore is not reliable. See also <A HREF="#note-1">note below</A>.</LI>
0066 <LI>Windows/2000 and CygWin Tools with: Visual C++ 6.0 Service Pack 5</LI>
0067 </UL>
0068
0069 More verified configurations:
0070 <UL>
0071 <LI>SUN Solaris 5.8, C++ CC-5.5.</LI>
0072 <LI>Linux, gcc 3.3.2.</LI>
0073 <LI>Windows/XP and CygWin Tools, .NET Visual Studio 2003 C++ 7.1</LI>
0074 </UL>
0075
0076 Platforms configured but not tested and not supported:
0077 <UL>
0078 <LI>DEC V4.0, cxx C++ V6.1-027</LI>
0079 <LI>HP 10.20, aCC C++ B3910B A.01.23</LI>
0080 <LI>SGI V6.5.5, CC 7.2.1</LI>
0081 <LI>AIX 4.3.2, xlC 6.0</LI>
0082 <LI>MacOS 10.2, gcc 2.95.2 / gcc-3.2</LI>
0083 </UL>
0084
0085 <P> </P>
0086 <A NAME="2."></A>
0087 <HR>
0088
0089
0090
0091 <H2>2. AIDA and CLHEP</H2>
0092
0093 Geant4 6.0 requires the <A TARGET="ext"
0094 HREF="http://cern.ch/clhep/INSTALLATION/clhep.html">installation
0095 of CLHEP</A>.<BR>
0096 Tests have been performed with <B>CLHEP-1.8.1.0</B>.
0097 <P> </P>
0098 Geant4 6.0 examples with histogramming cowork with AIDA 3
0099 implementations. These include:
0100 <UL>
0101 <LI><A TARGET="ext" HREF="http://cern.ch/anaphe">ANAPHE</A> and included components</LI>
0102 <LI><A TARGET="ext" HREF="http://jas.freehep.org">JAS (Java Analysis Studio)</A></LI>
0103 <LI><A TARGET="ext" HREF="http://www.lal.in2p3.fr/OpenScientist">Open Scientist</A></LI>
0104 </UL>
0105
0106 AIDA headers can be downloaded from:
0107 <A TARGET="ext" HREF="http://aida.freehep.org">http://aida.freehep.org</A>
0108
0109
0110 <P> </P>
0111 <A NAME="3."></A>
0112 <HR>
0113
0114
0115
0116 <H2>3. Compiler Specific Problems</H2>
0117
0118 <UL>
0119 <LI><A NAME="note-1"><B>Linux Red Hat 7.X, gcc-2.96</B></A>.
0120 <UL>
0121 <LI>The default compiler distributed by Red Hat since release 7.0 is
0122 NOT supported and not considered reliable for running a Geant4-based
0123 application. In more than one test case, binaries produced by gcc-2.96
0124 have shown incorrect behavior, either due to wrong order of
0125 initialisation of static data in memory or to bugs in the system
0126 <TT>iostream</TT> classes, problems which apparently have all been
0127 solved in more recent versions of the compiler (3.X series).<BR>
0128 For information, gcc-2.96 is a compiler that has never been
0129 officially released, nor supported by the GNU team itself and is not
0130 considered reliable by the authors (for more information, see also
0131 <A TARGET="ext" HREF="http://gcc.gnu.org/gcc-2.96.html">http://gcc.gnu.org/gcc-2.96.html</A>).</LI>
0132 </UL></LI>
0133 </UL>
0134
0135 <P> </P>
0136 <A NAME="4."></A>
0137 <HR>
0138
0139
0140
0141 <H2>4. Known Run-Time Problems and Limitations</H2>
0142
0143 For a complete list of outstanding run-time problems and to submit any
0144 problem you may find running this version of Geant4, please refer to the
0145 <A TARGET="ext" HREF="http://cern.ch/geant4/problemreport">Geant4 Problem Reporting
0146 System</A>.
0147
0148
0149 <P> </P>
0150 <A NAME="5."></A>
0151 <HR>
0152
0153
0154
0155 <H2>5. Compilation Warnings</H2>
0156
0157 There may be compilation warnings on some platforms. We do not believe
0158 that any will lead to incorrect run-time behaviour.
0159
0160
0161 <P> </P>
0162 <A NAME="6."></A>
0163 <HR>
0164
0165
0166
0167 <H2>6. Known Run-Time Warnings</H2>
0168
0169 The following messages can be written to error output while tracking.
0170 We believe none give rise to incorrect behaviour.
0171 <PRE>
0172 G4PropagateInField: Warning: Particle is looping
0173 - tracking in field will be stopped.
0174 It has performed 1000 steps in Field while a maximum of 1000
0175 are allowed.
0176 </PRE>
0177
0178
0179 <P> </P>
0180 <A NAME="7."></A>
0181 <HR>
0182
0183
0184
0185 <H2>7. Major items for migration of user code</H2>
0186
0187 <H3><I>Data sets</I></H3>
0188 <UL>
0189 <LI>The new data sets for low-energy EM processes <TT>G4EMLOW2.3</TT>
0190 is required for applications making use of such processes.</LI>
0191 </UL>
0192
0193 <P> </P>
0194
0195 <H3><I>Geometry</I></H3>
0196 <UL>
0197 <LI>In <TT>G4VPhysicalVolume</TT> it is no longer possible to retrieve the
0198 pointer to the <I>physical</I> mother volume. The related accessor
0199 declared obsolete since release 4.1, has been removed in this release.<BR>
0200 To properly access information about the current physical volume or
0201 its mother physical volume during the navigation, it is now required to
0202 adopt <I>touchables</I> through the pre/post-step point.<BR>
0203 Examples on how to do this are provided in the
0204 <A TARGET="ext" HREF="http://geant4.web.cern.ch/geant4/support/faq.html#a-geom-3">FAQ page</A></LI>
0205 <LI>Inherited user-defined physical volumes will have to adapt to the
0206 new interface by removing the method <TT>Setup()</TT>, now no longer
0207 required.</LI>
0208 <LI>A revision of methods in <TT>G4Navigator</TT> has taken place, some
0209 obsolete methods not used and available in the public interface have been
0210 removed, others originally meant for internal use have been moved
0211 to <TT>protected</TT> (see <A HREF="#geo-notes">notes</A> for details).<BR>
0212 <TT>LocateGlobalPointAndSetup(p,v,history)</TT> has been renamed to
0213 <TT>ResetHistoryAndLocate(p,v,history)</TT>.</LI>
0214 <LI>A revision of the inclusion of header files has been done in all
0215 geometry modules. This may require explicit inclusion of headers
0216 in the client code.</LI>
0217 <LI><TT>STEP</TT> and <TT>STEPinterface</TT> modules have been archived
0218 and are no longer available in this release.</LI>
0219 <LI>Internal modules in the geometry have been reorganised. External
0220 frameworks taking into account the internal structure of the Geant4
0221 modules will have to be adapted to the new configuration (see
0222 <A HREF="#geo-notes">notes</A> for the details).</LI>
0223 </UL>
0224
0225 <P> </P>
0226
0227 <H3><I>Magnetic Field</I></H3>
0228 <UL>
0229 <LI>The accuracy parameters <TT>EpsilonMin</TT> and <TT>EpsilonMax</TT>
0230 (for the relative integration accuracy of momentum, energy etc in a
0231 sub-step) have been moved from <TT>G4PropagatorInField</TT> to
0232 <TT>G4FieldManager</TT>, enabling different values.<BR>
0233 Default values have changed, in particular:
0234 <UL>
0235 <LI><TT>EpsilonMin</TT> to <TT>0.001</TT> (from <TT>0.05</TT>) for
0236 better energy / momentum integration.</LI>
0237 <LI><TT>MaxLoopCount</TT> to <TT>1,000</TT> (from <TT>10,000</TT>)
0238 to kill looping tracks.</LI>
0239 </UL></LI>
0240 <LI>In <TT>G4PropagatorInField</TT> the methods <TT>GetDeltaIntersection()</TT>,
0241 <TT>GetDeltaOneStep()</TT> and their corresponding <TT>Set</TT> methods
0242 including <TT>SetAccuraciesWithDeltaOneStep()</TT>, will become obsolete
0243 in <TT>G4PropagatorInField</TT> at the next major release.<BR>
0244 These quantities are properties of <TT>G4FieldManager</TT>.</LI>
0245 <LI>Electric and electromagnetic fields must have their chord finder and
0246 equation of motion initialised directly. See the example in
0247 <TT>examples/extended/field/field02</TT>.</LI>
0248 </UL>
0249
0250 <P> </P>
0251
0252 <H3><I>Electromagnetic physics</I></H3>
0253 <UL>
0254 <LI>Standard electromagnetic processes now adopt a new design based on
0255 a model approach for energy loss and multiple scattering.<BR>
0256 User interfaces are maintained unmodified. However, the old process
0257 implementations (frozen at the release 5.2 versions) are still available
0258 as classes with "<TT>52</TT>" postfix to their name.</LI>
0259 <LI>The class <TT>G4ionIonisation</TT> is now assumed to be used for
0260 simulation of the energy loss of <TT>GenericIons</TT>.
0261 </UL>
0262
0263 <P> </P>
0264
0265 <H3><I>Hadronic physics</I></H3>
0266 <UL>
0267 <LI>The interface for registration of cross-sections has been changed.
0268 Cross-sections can now be registered directly with the process as
0269 follows:<BR>
0270
0271 <TT>aHadronicProcess.AddDataSet(myFavoriteDataSetPointer);</TT></LI>
0272 <LI>Exception handling is enabled and used to percolate up the calling
0273 stack and get more information as to what was the initial condition
0274 of a particular reaction.</LI>
0275 <LI>A design iteration of the implementation frameworks to enable biasing,
0276 and decouple from <TT>G4ParticleChange</TT> has been done; also in view
0277 of future provisions of a user hook for inspection of the initial and
0278 final states of hadronic interactions.</LI>
0279 </UL>
0280
0281 <P> </P>
0282
0283 <H3><I>Run</I></H3>
0284 <UL>
0285 <LI>Some mandatory kernel functionalities of the run-manager have been
0286 grouped in a new G4RunManagerKernel class so that advanced users who
0287 have their own run manager can easily use key functions of the Geant4
0288 kernel.</LI>
0289 </UL>
0290
0291 <P> </P>
0292
0293 <H3><I>Visualization</I></H3>
0294 <UL>
0295 <LI>A new command, <TT>/vis/scene/endOfRunAction</TT>, has been implemented.
0296 The default behaviour is "refresh". In the case when
0297 <TT>endOfEventAction</TT> is "accumulate", it causes systems requiring
0298 post-processing, such as DAWN, or file-based systems, such as DAWNFILE
0299 and HepRep, to show the view (equivalent to <TT>/vis/viewer/update</TT>)
0300 at the end of run and screen-based systems, such as OpenGL, to clear the
0301 tracks. hits, etc., at the start of the next run. Usually this is the
0302 desired behaviour.<BR>
0303 The user will find that it is no longer needed to issue
0304 <TT>/vis/viewer/update</TT> (or <TT>/vis/viewer/flush</TT>) at the end
0305 of a run. To revert to the old behaviour, one should issue the command
0306 <TT>/vis/scene/endOfRunAction accumulate</TT>.</LI>
0307 <LI>The OPACS graphics driver has been removed since that graphics
0308 system has been superseded by
0309 <A TARGET="ext" HREF="http://www.lal.in2p3.fr/OpenScientist">OpenScientist</A>.</LI>
0310 <LI>A new HepRep driver has been added, producing files suitable for viewing
0311 with the <A TARGET="ext" HREF="http://wired.freehep.org">WIRED event display</A> (or
0312 other HepRep clients).<BR>
0313 The previous HepRep driver that produced HepRep version 1 files
0314 from <TT>/vis/open HepRepFile</TT> is still supported.
0315 But a new driver producing HepRep version 2 files is now available
0316 from <TT>/vis/open HepRepXML</TT>.<BR>
0317 The newer HepRep format allows the WIRED event display to give you greater
0318 control over visibility of various event and detector components.
0319 It will also set the stage for many improvements to come in later versions
0320 of WIRED (such as the ability to edit and save attribute changes from the
0321 event display client and have these changes apply to subsequent Geant4
0322 images that one reads, and the ability to adjust visibility based on cuts
0323 on attributes such as energy and momentum).<BR>
0324 <TT>/vis/open HepRepXML</TT> provides the following other additional
0325 benefits over <TT>/vis/open HepRepFile</TT>:
0326 <UL>
0327 <LI>More compact files (by better hierarchical handling of repeated
0328 attributes).</LI>
0329 <LI>Ability to save individual events directly to gzipped files.</LI>
0330 <LI>Ability to save multiple events to a single zip file.</LI>
0331 </UL>
0332 For details, see the README in <TT>$G4INSTALL/source/visualization/HepRep</TT>.<BR>
0333 HepRep examples are included in the <TT>$G4INSTALL/examples/novice/N03</TT>
0334 and in <TT>$G4INSTALL/examples/extended/analysis/A01</TT>.<BR>
0335 A <A TARGET="ext" HREF="http://geant4.slac.stanford.edu/g4cd/Documentation/Visualization/G4WIREDTutorial/G4WIREDTutorial.html">tutorial
0336 on HepRep and on WIRED</A> for Geant4 users is also available.</LI>
0337 </UL>
0338
0339 <P> </P>
0340 <A NAME="8."></A>
0341 <HR>
0342
0343
0344
0345 <H2>8. Detailed list of changes and fixes</H2>
0346
0347 These are the main new features/fixes included in this release since the
0348 last patched public release (for the detailed list of fixes/additions,
0349 please refer to the related History files provided in most packages):
0350
0351 <P> </P>
0352
0353 <A NAME="conf-notes">
0354 <H3><I>Configuration</I></H3></A>
0355 <UL>
0356 <LI>Added entry for new geometry modules, <TT>particles/utils</TT>,
0357 <TT>processes/cuts</TT>, <tt>digits_hits</TT> and new hadronic
0358 modules.</LI>
0359 <LI>Removed setup for STEP and OPACS, now archived.</LI>
0360 <LI>Brought Configure installation script up-to-date.</LI>
0361 </UL>
0362
0363 <A NAME="dgt-notes">
0364 <H3><I>Digitization & Hits</I></H3></A>
0365 <UL>
0366 <LI>Imported files from directory digits+hits and changed name of
0367 compound library to 'G4digits_hits'.</LI>
0368 </UL>
0369
0370 <A NAME="evt-notes">
0371 <H3><I>Event</I></H3></A>
0372 <UL>
0373 <LI>Design iteration implementing modular run-manager:
0374 <UL>
0375 <LI><TT>G4EventManager</TT> now toggles the application states between
0376 '<TT>G4State_GeomClosed</TT>' and '<TT>G4State_EventProc</TT>'.</LI>
0377 <LI>New entry methods <TT>G4EventManager::ProcessOneEvent()</TT> are
0378 introduced:
0379 <UL>
0380 <LI>taking <TT>HepMC</TT> event object instead of <TT>G4Event</TT>
0381 object.</LI>
0382 <LI>taking <TT>G4TrackVector</TT> object.</LI>
0383 </UL>
0384 <LI>Added mechanism for merging more than one kind of primaries
0385 (<TT>HepMC</TT> and <TT>G4PrimaryVertex</TT> or <TT>G4TrackVector</TT>
0386 and <TT>G4PrimaryVertex</TT>).</LI>
0387 <LI><TT>G4HepMCInterface::HepMC2G4()</TT> becomes a static service
0388 method.</LI>
0389 <LI><TT>G4HepMCInterface::CheckVertexInsideWorld()</TT> is moved to
0390 <TT>G4VPrimaryGenerator</TT> and also becomes a static service
0391 method.</LI>
0392 <LI>Changed the trackID numbering scheme for '<TT>PostposedToNextEvent</TT>'
0393 tracks. They now use negative trackID.</LI>
0394 <LI>Keep links between pre-assigned decay products and corresponding
0395 primary particle. Due to this, proper track-ID is assigned to
0396 <TT>G4PrimaryParticle</TT> objects of pre-assigned decays.</LI>
0397 </UL></LI>
0398 <LI>Added treatment of <I>proper decay time</I> for preassigned decay
0399 products.</LI>
0400 <LI>Correctly set in <TT>G4DynamicParticle</TT> the pointer to the
0401 corresponding primary particle.</LI>
0402 <LI>Introduced <TT>G4StackChecker</TT> class, utility class to be used
0403 from the user stacking action for enhancing the verbosity on tracks
0404 being pushed into the stack.</LI>
0405 <LI>Introduced <TT>G4VUserEventInformation</TT> class. Objects of this
0406 class can be associated by the user to <TT>G4Event</TT>.</LI>
0407 <LI>Introduced new classes <TT>G4VUserPrimaryVertexInformation</TT> and
0408 <TT>G4VUserPrimaryParticleInformation</TT>, which can be associated
0409 by the user to <TT>G4PrimaryVertex</TT> and <TT>G4PrimaryParticle</TT>
0410 respectively.</LI>
0411 <LI><TT>G4GeneralParticleSource</TT>:
0412 <UL>
0413 <LI>Increased the array size from 256 to 1024 for user defined
0414 histograms.</LI>
0415 <LI>Bug fix: make sure the <TT>SideRefVec(1/2/3)</TT> are unit
0416 vectors.</LI>
0417 </UL></LI>
0418 <LI><TT>G4ParticleGun</TT>, <TT>G4ParticleGunMessenger</TT>:
0419 added protection against shooting shortlived particles.</LI>
0420 </UL>
0421
0422 <A NAME="emlow-notes">
0423 <H3><I>Electromagnetic Processes (Low-energy)</I></H3></A>
0424 <UL>
0425 <LI>New models of Bremsstrahlung angular distribution (2BN, 2BS).</LI>
0426 <LI>New processes for electrons and positrons according to Penelope models.</LI>
0427 <LI>Improved user interface to select Bremsstrahlung angular
0428 distribution models.</LI>
0429 <LI>Performance optimisation in Penelope Bremsstrahlung and minor fixes.</LI>
0430 <LI>Bug fixes in <TT>G4hLowEnergyIonisation</TT> and
0431 <TT>G4AtomicDeexcitation</TT>.</LI>
0432 </UL>
0433
0434 <A NAME="emstd-notes">
0435 <H3><I>Electromagnetic Processes (Standard)</I></H3></A>
0436 <UL>
0437 <LI>Replaced standard processes with new '<I>STD</I>' processes implementing
0438 the new design based on model approach for energy loss and multiple
0439 scattering.
0440 <UL>
0441 <LI>No changes to interfaces. Old energy loss processes are frozen
0442 at the release 5.2 versions. They are stored in classes with
0443 "<TT>52</TT>" postfix to the name.</LI>
0444 <LI>Substituted <TT>G4Material</TT> by <TT>G4MaterialCutsCouple</TT> in
0445 <TT>dEdx</TT> and <TT>CrossSection</TT> methods. Now throwing warning
0446 for obsolete interfaces which uses <TT>G4Material</TT> instead of
0447 <TT>G4MaterialCutsCouple</TT>.</LI>
0448 <LI>Added methods to define energy range for multiple-scattering table
0449 and to change the energy range of the model.</LI>
0450 <LI>Added PAI model processes and minor change of interface to
0451 <TT>G4EmFluctuationModel</TT> for PAI development.</LI>
0452 <LI>Updated default settings for processes.</LI>
0453 <LI>Tuning for tail of the angular distribution.</LI>
0454 </UL></LI>
0455 <LI><B>Ionisation</B>:
0456 <UL>
0457 <LI>The class <TT>G4ionIonisation</TT> is now assumed to be used for
0458 simulation of the energy loss of <TT>GenericIons</TT>.<BR>
0459 Effective charge approach is introduced to <TT>G4ionIonisation</TT>.</LI>
0460 <LI>Ion fluctuation models have been updated.</LI>
0461 <LI>Updated energy intervals for ionisation models.</LI>
0462 <LI>Removed forced <TT>verbose=0</TT> for <TT>G4MuIonisation</TT>.</LI>
0463 </UL></LI>
0464 <LI><B>Multiple-scattering</B>:
0465 <UL>
0466 <LI>New Tuning of multiple scattering model</LI>
0467 <LI>Fixed problems for width and tails of angular distributions.</LI>
0468 <LI>Fixed numerical error for small stepsize in G4MscModel (z sampling).</LI>
0469 <LI>Bugfix in <TT>G4VMultipleScattering::AlongStepDoIt()</TT> and added
0470 check <TT>truestep <= range</TT> in <TT>G4MscModel</TT>.</LI>
0471 <LI>Set <TT>highKinEnergy</TT> back to 100 TeV for multiple scattering.</LI>
0472 <LI>Set number of table bins to 120 for multiple scattering.</LI>
0473 </UL></LI>
0474 <LI><B>Pair-production</B>:
0475 <UL>
0476 <LI>Changed secondary particle from e- to e+ for <TT>G4MuPairProduction</TT>
0477 to avoid problems with custom physics lists.</LI>
0478 <LI>Fixes in <TT>G4MuPairProductionModel</TT>:
0479 <UL>
0480 <LI>2*xi in <TT>ComputeDDMicroscopicCrossSection()</TT>.</LI>
0481 <LI>8 integration points in <TT>ComputeDMicroscopicCrossSection()</TT>.</LI>
0482 </UL></LI>
0483 </UL></LI>
0484 <LI><B>Energy-loss</B>:
0485 <UL>
0486 <LI>Updated initialization of energy loss processes.</LI>
0487 <LI>Updated logic of the messenger to provide
0488 independence on command sequence.</LI>
0489 <LI>Fixed cases of negative energy loss.</LI>
0490 </UL>
0491 <LI>Added new method <TT>DefineForRegion()</TT> to <TT>G4VEmModel</TT>.</LI>
0492 <LI>Updated logic of <TT>BuildPhysicsTable()</TT> to take into account
0493 deactivated processes</LI>
0494 <LI>Increased verbosity for store/retrieve tables.</LI>
0495 <LI>Fixed wrong deletion and error in <TT>SetRangeTable()</TT>.</LI>
0496 <LI>Fixed bug and updated printout in <TT>RetrievePhysicsTable()</TT>.</LI>
0497 <LI>Fixed crash for case of inactivated ionisation and bremsstrahlung.</LI>
0498 <LI>Fixed problem of rounding of double in <TT>G4UniversalFluctuations</TT>.</LI>
0499 <LI>Fixed precision problems for high energy (PeV) particles.</LI>
0500 </UL>
0501
0502 <A NAME="gen-notes">
0503 <H3><I>General Processes, Parameterisation, Cuts, Decay, Optical</I></H3></A>
0504 <UL>
0505 <LI>Introduced optical process for wavelength shifting, <TT>G4OpWLS</TT>.</LI>
0506 <LI><TT>G4OpBoundaryProcess</TT>: now adopting <TT>G4SurfaceProperty</TT> from
0507 <TT>materials</TT>.</LI>
0508 <LI>New sub-category <TT>cuts</TT>: moved classes from
0509 <TT>particles/management</TT>
0510 <UL>
0511 <LI>Fixed bugs in <TT>G4VRangeToEnergyConverter</TT> (and derived class).</LI>
0512 <LI>Revised error messages in retreiving <TT>G4ProductionCutsTable</TT>.</LI>
0513 <LI>Added <TT>verboseLevel</TT> in <TT>G4ProductionCutsTable</TT>.</LI>
0514 </UL></LI>
0515 <LI>Use <TT>G4ExceptionSeverity</TT> for all <TT>G4Exception</TT> cases.</LI>
0516 <LI><TT>G4FastTrack</TT>: use <TT>G4Navigator::CreateTouchableHistoryHandle()</TT>
0517 instead of <TT>CreateTouchableHistory()</TT> in method
0518 <TT>FRecordsAffineTransformation()</TT>.</LI>
0519 </UL>
0520
0521 <A NAME="geo-notes">
0522 <H3><I>Geometry</I></H3></A>
0523 <UL>
0524 <LI>Logical reorganisation and restructure of modules:
0525 <UL>
0526 <LI>Added new module <TT>navigation</TT> for navigation-releated classes.</LI>
0527 <LI>Removed module <TT>verification</TT> and merged classes in <TT>navigation</TT>.</LI>
0528 <LI>Archived <TT>solids/STEP</TT> and <TT>solids/STEPinterface</TT> modules.</LI>
0529 <LI>Migrated calls to <TT>G4Exception</TT> to new scheme.</LI>
0530 <LI>Code cleanup and header inclusions review.</LI>
0531 </UL></LI>
0532 <LI><B>Divisions</B>
0533 <UL>
0534 <LI>First implementation of volume divisions for <TT>G4Box</TT>,
0535 <TT>G4Tubs</TT>, <TT>G4Cons</TT>, <TT>G4Para</TT>, <TT>G4Trd</TT>,
0536 <TT>G4Polycone</TT>, <TT>G4Polyhedra</TT> along the relevant axes.</LI>
0537 </UL></LI>
0538 <LI><B>Importance biasing</B>
0539 <UL>
0540 <LI>First implementation of weight-window biasing technique.</LI>
0541 <LI>Removed obsolete class <TT>G4ImportanceFinder</TT>.</LI>
0542 </UL></LI>
0543 <LI><B>Management</B>
0544 <UL>
0545 <LI>Moved classes to geometry/volumes:<BR>
0546 <TT>G4AssemblyVolume</TT>, <TT>G4PVParameterised</TT>,
0547 <TT>G4PVPlacement</TT>, <TT>G4PVReplica</TT>.</LI>
0548 <LI>Moved classes to new module geometry/navigation:<BR>
0549 <TT>G4DrawVoxels</TT>.</LI>
0550 <LI>Imported files from geometry/volumes:<BR>
0551 <TT>G4BlockingList</TT>, <TT>G4IdentityTrajectoryFilter</TT>,
0552 <TT>G4VCurvedTrajectoryFilter</TT>.</LI>
0553 <LI>Introduced new abstract class <TT>G4VUserRegionInformation</TT>
0554 for storing user information associated with a <TT>G4Region</TT>.</LI>
0555 <LI><TT>G4VPhysicalVolume</TT>:
0556 <UL>
0557 <LI>Removed pointer to mother physical volume and related accessor
0558 methods: <TT>SetMother()</TT>/<TT>GetMother()</TT>.</LI>
0559 <LI>Removed pure virtual method <TT>Setup(G4VPhysicalVolume*)</TT>,
0560 no longer necessary. Subclasses will require modification as
0561 well.</LI>
0562 </UL></LI>
0563 <LI><TT>G4LogicalVolume</TT>:
0564 <UL>
0565 <LI>Updated/fixed initialisation of data and fast-simulation manager
0566 according to above changes.</LI>
0567 </UL></LI>
0568 <LI><TT>G4SmartVoxelHeader</TT>:
0569 <UL>
0570 <LI>Cleared usage of <TT>PV->Setup()</TT>, according to above changes.</LI>
0571 </UL></LI>
0572 <LI><TT>G4VPVParameterisation</TT>:
0573 <UL>
0574 <LI>Added <TT>G4Orb</TT>, <TT>G4Polycone</TT> and <TT>G4Polyhedra</TT>
0575 to list of possible parameterisations by dimension.</LI>
0576 </UL></LI>
0577 <LI><TT>G4LogicalSurface</TT>:
0578 <UL>
0579 <LI>Modified to use generic <TT>G4SurfaceProperty</TT>.</LI>
0580 </UL></LI>
0581 </UL></LI>
0582 <LI><B>Navigation</B>
0583 <UL>
0584 <LI>Imported classes from <TT>volumes</TT>, and <TT>management</TT>
0585 modules:<BR>
0586 <TT>G4AuxiliaryNavServices</TT>, <TT>G4GeometryMessenger</TT>, <TT>G4Navigator</TT>,<BR>
0587 <TT>G4NormalNavigation</TT>, <TT>G4ParameterisedNavigation</TT>, <TT>G4PropagatorInField</TT>,<BR>
0588 <TT>G4ReplicaNavigation</TT>, <TT>G4TransportationManager</TT>, <TT>G4VoxelNavigation</TT>,<BR>
0589 <TT>G4DrawVoxels</TT>.</LI>
0590 <LI>Imported all classes from <TT>verification</TT> module.</LI>
0591 <LI>Cleared call to <TT>PV->Setup()</TT> according to changes in
0592 <TT>G4VPhysicalVolume</TT>. Affected classes:<BR>
0593 <TT>G4Navigator</TT>, <TT>G4ParameterisedNavigation</TT>, <TT>G4VoxelNavigation</TT>,<BR>
0594 <TT>G4ReplicaNavigation</TT>, <TT>G4NormalNavigation</TT>.</LI>
0595 <LI><TT>G4DrawVoxels</TT>:
0596 <UL>
0597 <LI>Retrieve top transformation through touchable
0598 history in method <TT>DrawVoxels()</TT>. Removed old method
0599 <TT>GetAbsoluteTransformation()</TT>.</LI>
0600 </UL></LI>
0601 <LI><TT>G4GeomTestErrorList</TT>:
0602 <UL>
0603 <LI>Retrieve top transformation through touchable
0604 history in method <TT>FindGlobalCoordinateSystem()</TT>.</LI>
0605 </UL></LI>
0606 <LI><TT>G4PropagatorInField</TT>:
0607 <UL>
0608 <LI>Added option to turn On/Off the optimisation of using the safety
0609 in calling <TT>G4Navigator</TT>.</LI>
0610 <LI>Pass safety sphere information to <TT>G4ChordFinder</TT> for
0611 optimisation.</LI>
0612 <LI>Implemented move of <TT>EpsilonMin/Max</TT> to <TT>G4FieldManager</TT>.</LI>
0613 <LI>Added boolean argument to method <TT>LocateIntersectionPoint()</TT>
0614 to return <TT>true</TT> if the endpoint has been recalculated.<BR>
0615 This fixes a problem that can occasionally cause the skipping of a
0616 volume boundary in the case when a re-integration was done near a
0617 boundary. Changed <TT>ComputeStep()</TT> to accept above
0618 recalculation.</LI>
0619 <LI>New method <TT>GetVerboseLevel()</TT>, deprecating <TT>Verbose()</TT>.</LI>
0620 <LI>Fixed <TT>LocateIntersectionPoint()</TT> for long-standing error.<BR>
0621 A section of the chord was not considered in use case where
0622 a previous chord at first appeared to have an intersection,
0623 but did not. Refined re-setting of <TT>finalSection</TT>
0624 (<TT>Endpoint</TT> recalculation is returned only for final
0625 section).</LI>
0626 <LI>Fixed <TT>ReEstimateEndPoint()</TT> which ignored return code of
0627 <TT>AccurateAdvance()</TT> and moved to short end-point for long
0628 requests. It now leaves the endpoint unchanged, when it cannot
0629 improve it.</LI>
0630 </UL></LI>
0631 <LI><TT>G4Navigator</TT> - methods review:
0632 <UL>
0633 <LI>Made relevant methods <TT>virtual</TT> to allow specialization of
0634 navigators:<BR>
0635 <TT>ComputeStep(p,v)</TT>, <TT>ResetHierarchyAndLocate(p,v,h)</TT>, <TT>SetupHierarchy()</TT>,<BR>
0636 <TT>LocateGlobalPointWithinVolume(p)</TT>, <TT>ComputeSafety(p)</TT>,<BR>
0637 <TT>LocateGlobalPointAndUpdateTouchableHandle(p,v,t)</TT>, <TT>ResetState()</TT>,<BR>
0638 <TT>CreateTouchableHistoryHandle()</TT>, <TT>GetLocalExitNormal()</TT>.</LI>
0639 <LI>Removed obsolete methods:<BR>
0640 <TT>IsExitNormalValid()</TT>, <TT>GetLocalExitNormal()</TT>.</LI>
0641 <LI>Renamed method <TT>LocateGlobalPointAndSetup(p,v,history)</TT> to
0642 <TT>ResetHistoryAndLocate(p,v,history)</TT>.</LI>
0643 <LI>Moved to protected methods:<BR>
0644 <TT>GetCurrentLocalCoordinate()</TT>, <TT>ComputeLocalPoint()</TT>, <TT>ComputeLocalAxis()</TT>,<BR>
0645 <TT>NetTranslation()</TT>, <TT>NetRotation()</TT>, <TT>EnteredDaughterVolume()</TT>.</LI>
0646 <LI>Fixed consistency of inline/not-inline implementations of methods.</LI>
0647 </UL></LI>
0648 <LI><TT>G4TransportationManager</TT>:
0649 <UL>
0650 <LI>Removed initialisation of allocators for navigation levels,
0651 now moved to "volumes" module, where they should belong, in
0652 <TT>G4TouchableHistory</TT>.</LI>
0653 </UL></LI>
0654 </UL></LI>
0655 <LI><B>Solids</B>
0656 <UL>
0657 <LI>Archived <TT>solids/STEP</TT> and <TT>solids/STEPinterface</TT> modules.</LI>
0658 <LI><I>Boolean solids</I>:
0659 <UL>
0660 <LI>Fixes to default safety to zero in DistIn/Out(p) methods.</LI>
0661 <LI>G4ReflectedSolid: fixed trivial leak in constructor.</LI>
0662 </UL></LI>
0663 <LI><I>CSG solids</I>:
0664 <UL>
0665 <LI>Fixes to default safety to zero in DistIn/Out(p) methods.</LI>
0666 <LI>New shape <TT>G4Orb</TT>.</LI>
0667 <LI><TT>G4Sphere</TT>:
0668 <UL>
0669 <LI>Fix in <TT>Inside()</TT> for <TT>Phi_start</TT>
0670 (<TT>0.5 kAngTol < phi < Phi_start</TT>).</LI>
0671 <LI>Revision of algorithm for <TT>Phi</TT> sections in method
0672 <TT>Inside()</TT>.</LI>
0673 </UL></LI>
0674 </UL></LI>
0675 <LI><I>Specific solids</I>:
0676 <UL>
0677 <LI><TT>G4Polycone</TT>, <TT>G4Polyhedra</TT>:
0678 <UL>
0679 <LI>Added accessors to <TT>original_parameters</TT> for
0680 <TT>G4Polycone</TT> and <TT>G4Polyhedra</TT>.<BR>
0681 Made <TT>G4PolyconeHistorical</TT> and <TT>G4PolyhedraHistorical</TT>
0682 classes visible in global scope.</LI>
0683 <LI>Added protections in constructors for invalid constructs with
0684 no contiguous segments in Z planes as input.</LI>
0685 <LI>Added <TT>SetOriginalParameters()</TT> method.</LI>
0686 </UL></LI>
0687 <LI><TT>G4Trap</TT>:
0688 <UL>
0689 <LI>Fixed initialisation of planes in default constructor.</LI>
0690 </UL></LI>
0691 </UL></LI>
0692 </UL></LI>
0693 <LI><B>Volumes</B>
0694 <UL>
0695 <LI>Moved classes to <TT>geometry/management</TT>:<BR>
0696 <TT>G4BlockingList</TT>, <TT>G4IdentityTrajectoryFilter</TT>,
0697 <TT>G4VCurvedTrajectoryFilter</TT>.</LI>
0698 <LI>Moved classes to new module <TT>geometry/navigation</TT>:<BR>
0699 <TT>G4AuxiliaryNavServices</TT>, <TT>G4GeometryMessenger</TT>, <TT>G4Navigator</TT>,<BR>
0700 <TT>G4NormalNavigation</TT>, <TT>G4ParameterisedNavigation</TT>, <TT>G4PropagatorInField</TT>,<BR>
0701 <TT>G4ReplicaNavigation</TT>, <TT>G4TransportationManager</TT>, <TT>G4VoxelNavigation</TT>.</LI>
0702 <LI>Imported files from geometry/management:<BR>
0703 <TT>G4AssemblyVolume</TT>, <TT>G4PVParameterised</TT>, <TT>G4PVPlacement</TT>,
0704 <TT>G4PVReplica</TT>.</LI>
0705 <LI>Removed implementation of method <TT>Setup()</TT> and updated
0706 initialisation of data, according to changes in the base class
0707 <TT>G4VPhysicalVolume</TT>. Affected classes:<BR>
0708 <TT>G4PVPlacement</TT>, <TT>G4PVReplica</TT>.</LI>
0709 <LI>Added protection to placement and replica constructors for cases
0710 where a volume is placed inside itself.</LI>
0711 <LI><TT>G4TouchableHistory</TT>:
0712 <UL>
0713 <LI>Added initialisation of allocators for navigation levels,
0714 moved from <TT>G4TransportationManager</TT>, where they were
0715 introduced as workaround for solving static initialisation a
0716 long time ago.</LI>
0717 </UL></LI>
0718 <LI><TT>G4NavigationHistory</TT>:
0719 <UL>
0720 <LI>Fixed redundant calls and initialisations.</LI>
0721 </UL></LI>
0722 <LI><TT>G4NavigationLevel</TT>, <TT>G4NavigationLevelRep</TT>:
0723 <UL>
0724 <LI>Fixed implementation of <TT>operator=()</TT> for inlining.</LI>
0725 </UL></LI>
0726 <LI><TT>G4LogicalBorderSurface</TT>, <TT>G4LogicalSkinSurface</TT>:
0727 <UL>
0728 <LI>Now using generic <TT>G4SurfaceProperty</TT>.</LI>
0729 </UL></LI>
0730 </UL></LI>
0731 </UL>
0732
0733 <A NAME="glob-notes">
0734 <H3><I>Global</I></H3></A>
0735 <UL>
0736 <LI>Added method <TT>ExistPhysicsTable()</TT> to <TT>G4PhysicsTable</TT>.</LI>
0737 <LI><TT>G4UnitsTable</TT>: fixed units initialisation and deletion of objects
0738 in constructors.</LI>
0739 </UL>
0740
0741 <A NAME="greps-notes">
0742 <H3><I>Graphical representations</I></H3></A>
0743 <UL>
0744 <LI>Introduced <TT>G4Colour</TT> <-> <TT>G4ThreeVector</TT> conversion
0745 operators.</LI>
0746 </UL>
0747
0748 <A NAME="had-notes">
0749 <H3><I>Hadronic Processes</I></H3></A>
0750 <UL>
0751 <LI>Internal restructuring of modules and physical architecture to
0752 flatten the package hierarchy, and dissolve bloated packages:
0753 <UL>
0754 <LI>Moved <TT>photolepton_hadron</TT> from top-level directory
0755 <TT>processes</TT> to <TT>hadronic/models</TT></LI>
0756 <LI>Removed modules:<BR>
0757 <TT>models/radiative_decay</TT>, <TT>models/generator/*</TT></LI>
0758 <LI>New modules<BR>:
0759 <TT>models/binary_cascade</TT>, <TT>models/de_excitation/evaporation</TT>,<BR>
0760 <TT>models/de_excitation/fermi_breakup</TT>, <TT>models/de_excitation/fission</TT>,<BR>
0761 <TT>models/de_excitation/gem_evaporation</TT>, <TT>models/de_excitation/handler</TT>,<BR>
0762 <TT>models/de_excitation/management</TT>, <TT>models/de_excitation/multifragmentation</TT>,<BR>
0763 <TT>models/de_excitation/photon_evaporation</TT>, <TT>models/de_excitation/util</TT>,<BR>
0764 <TT>models/im_r_matrix, models/management</TT>, <TT>models/parton_string/diffraction</TT>,<BR>
0765 <TT>models/photolepton_hadron/muon_nuclear</TT>, <TT>models/parton_string/hadronization</TT>,<BR>
0766 <TT>models/parton_string/management</TT>, <TT>models/parton_string/qgsm</TT>,<BR>
0767 <TT>models/pre_equilibrium/exciton_model</TT>, <TT>models/radioactive_decay</TT>,<BR>
0768 <TT>models/theo_high_energy</TT>, <TT>models/util</TT></LI>
0769 <LI>Updated GNUmakefiles accordingly.</LI>
0770 </UL></LI>
0771 <LI>Introduction of new G4Exception syntax at the top level catch of the
0772 C++ exception roll-back.</LI>
0773 <LI>Cleared many compilation warnings.</LI>
0774 <LI>Systematic scoping of std name-space.</LI>
0775 <LI><B>cross_sections</B>
0776 <UL>
0777 <LI>Bug fix in electro-nuclear cross-sections:
0778 <UL>
0779 <LI>y now calculated correctly</LI>
0780 <LI>photon cross-section integration fixed</LI>
0781 <LI>Electro-nuclear reactions extended beyond 50 GeV</LI>
0782 </UL></LI>
0783 <LI>Added ion reaction cross-section parameterizations from
0784 Shiver, Kox, and most prominently Shen (see physics reference
0785 manual for details).</LI>
0786 <LI>Bug fix in Tripathi's formula to do with rounding of atomic mass
0787 numbers.</LI>
0788 </UL></LI>
0789 <LI><B>management</B>
0790 <UL>
0791 <LI>Isotope wise final state generation with a A^(2/3) approximation for
0792 the cross-section. Note: Design iteration of the cross-section classes
0793 is scheduled to decouple from <TT>G4Element</TT>, so this can be done
0794 more precisely.</LI>
0795 <LI>Catching all exception thrown in context, and forwarding to
0796 G4Exception.</LI>
0797 <LI>Cross-section biasing added for gamma and electro nuclear reactions.</LI>
0798 <LI>Leading particle biasing added for the general case.</LI>
0799 <LI>Design iteration to simplify the API for cross-section registration
0800 with hadronic processes.</LI>
0801 <LI>Re-implementation of the energy-range manager logic using STL.</LI>
0802 <LI>Model registration is now in terms of energy/nucleon for ion induced
0803 reactions.</LI>
0804 <LI>Migration to a generic delete template.</LI>
0805 <LI>Correction in logic of element selection for final state generation
0806 for materials with many elements.</LI>
0807 <LI>Added automatic verboseness in case of unphysical conditions.</LI>
0808 </UL></LI>
0809 <LI><B>processes</B>
0810 <UL>
0811 <LI>Design iteration to remove a few un-needed methods in Capture,
0812 elastic and fission process.</LI>
0813 <LI>Adaption to the new framework behavior.</LI>
0814 </UL></LI>
0815 <LI><B>stopping</B>
0816 <UL>
0817 <LI>Memory leaks fixed in AntiNeutronAnnihilation and
0818 AntiProtonAnnihilation.</LI>
0819 </UL></LI>
0820 <LI><B>util</B>
0821 <UL>
0822 <LI>Corrected electronic charge-state treatment for residual nucleus.</LI>
0823 <LI>Relaxing fixed constraint on the number of particles to result from a
0824 inelastic interactions.</LI>
0825 <LI>Added exception classes for terminal and re-entrant exceptions.</LI>
0826 <LI>Added utility methods and functors for treating STL collections of
0827 pointers, and issues relating to rounding in conversion from double
0828 to integer.</LI>
0829 <LI>Added a template meta program to enable compile-time checking of
0830 inheritance of template arguments.</LI>
0831 </UL></LI>
0832 <LI><B>models/binary_cascade</B>
0833 <UL>
0834 <LI>Added light ion reactions.</LI>
0835 <LI>Optimized transition between cascade and pre-equilibrium decay.</LI>
0836 <LI>Design iteration to enable generic action classes in the imaginary
0837 part of the R-matrix.</LI>
0838 <LI>Minor fixes and corrections.</LI>
0839 </UL></LI>
0840 <LI><B>models/cascade</B>
0841 <UL>
0842 <LI>Corrections for scattering on hydrogen and Iron.</LI>
0843 <LI>Now applicable up to 10 GeV particle energy.</LI>
0844 </UL></LI>
0845 <LI><B>models/chiral_inv_phase_space</B>
0846 <UL>
0847 <LI>The final State interaction is used to fix the Under Mass
0848 Shell problems.</LI>
0849 <LI>The robustness of the code is greatly increased, in particular for
0850 anti-proton annihilation at rest.</LI>
0851 <LI>Converted static Data Base of Particle Decays to a Singleton.
0852 This changes the rules of application of G4QCHIPSWorld in stand
0853 alone programs.</LI>
0854 </UL></LI>
0855 <LI><B>models/de_excitation</B>
0856 <UL>
0857 <LI>Fermi breakup redesign.</LI>
0858 <LI>New algorithm for nuclear splitting in Fermi breakup.</LI>
0859 <LI>Improved sampling of energies in the micro-canonical phase space.</LI>
0860 <LI>Added some protections to multi fragmentation.</LI>
0861 <LI>Added protection to fission probability.</LI>
0862 <LI>Corrected algorithm in excitation handler to take into account
0863 what can't be de-excited by Fermi breakup.</LI>
0864 </UL></LI>
0865 <LI><B>models/high_energy</B>
0866 <UL>
0867 <LI>Adapted to the new framework behavior.
0868 </UL></LI>
0869 <LI><B>models/im_r_matrix</B>
0870 <UL>
0871 <LI>Included pion induced reactions (up to 1.5 GeV).</LI>
0872 <LI>Included S-wave absorption for pions.</LI>
0873 <LI>Extended applicability for nucleon induced reactions to 8 GeV.</LI>
0874 </UL></LI>
0875 <LI><B>models/leading_particle</B>
0876 <UL>
0877 <LI>Adaption to the new framework behavior.</LI>
0878 </UL></LI>
0879 <LI><B>models/low_energy</B>
0880 <UL>
0881 <LI>Removed an internal limitation on the number of secondaries
0882 created in inelastic scattering.</LI>
0883 <LI>Added protection for negative kinetic energies in elastic scattering
0884 off hydrogen (precision problem), resulting in negative velocities.</LI>
0885 <LI>Adaption to the new framework behavior.</LI>
0886 <LI>Small improvement in the fission barrier.</LI>
0887 </UL></LI>
0888 <LI><B>models/neutron_hp</B>
0889 <UL>
0890 <LI>Added protection of interpolation schemes against invalid conditions.</LI>
0891 <LI>Improved sampling of the fission neutron spectrum.</LI>
0892 </UL></LI>
0893 <LI><B>models/parton_string</B>
0894 <UL>
0895 <LI>Improved meson splitting behavior in QGS model.</LI>
0896 </UL></LI>
0897 <LI><B>models/photolepton_hadron</B>
0898 <UL>
0899 <LI>New directory, imported from processes/photolepton_hadron;
0900 technically adapted to the new framework behavior.</LI>
0901 </UL></LI>
0902 <LI><B>models/pre_equilibrium</B>
0903 <UL>
0904 <LI>Bug fix in transition probabilities.</LI>
0905 <LI>Several bug fixes in angular distributions.</LI>
0906 <LI>Modified switch condition to de-excitation.</LI>
0907 <LI>Fixed small memory leaks.</LI>
0908 </UL></LI>
0909 <LI><B>models/util</B>
0910 <UL>
0911 <LI>Small correction of strong resonance decay, now taking exact lower
0912 limits for channel openness, in case of final state resonances.</LI>
0913 <LI>Correcting decay, so it will work correctly in the presence of
0914 Pauli-blocking.</LI>
0915 <LI>Removed calculations performed for conservative programming in
0916 inner loops.</LI>
0917 <LI>Introduced tracking momentum in a nucleus.</LI>
0918 <LI>Resolved issues related with conversion from double to integer.</LI>
0919 </UL>
0920 </UL>
0921
0922 <A NAME="fld-notes">
0923 <H3><I>Magnetic Field</I></H3></A>
0924 <UL>
0925 <LI><TT>G4ChordFinder</TT>:
0926 <UL>
0927 <LI>Made <TT>G4ChordFinder</TT> a base class
0928 <UL>
0929 <LI>to enable specialised implementations</LI>
0930 <LI>virtual methods: <TT>FindNextChord()</TT>, <TT>PrintStatistics()</TT></LI>
0931 <LI>new method AccumulateStatistics() to aid in this.</LI>
0932 </UL></LI>
0933 <LI>Extended arguments of <TT>AdvanceChordLimited()</TT> and <TT>FindNextChord()</TT>
0934 adding the current safety sphere (origin, radius), for optimisation.</LI>
0935 <LI>Fixed set functions which had side effect (on first fraction).</LI>
0936 <LI>Set new default value of Accuracy:
0937 <UL>
0938 <LI>Delta Chord to <TT>0.25 mm</TT> (from <TT>3.00 mm</TT>).</LI>
0939 </UL></LI>
0940 <LI>Created new class members for parameters used in heuristics:
0941 <UL>
0942 <LI>fFirstFraction - for first step</LI>
0943 <LI>fFractionLast - fraction of last step, if redoing</LI>
0944 <LI>fFractionNextEstimate - confidence in step est from chord</LI>
0945 <LI>fMultipleRadius - for small radii of curve.</LI>
0946 </UL></LI>
0947 <LI>Added new method to print statistics. Enhanced verbosity to
0948 enable optional printing of statistics in destructor.</LI>
0949 <LI>Moved constructors to .cc file.</LI>
0950 <LI>Changed fDefaultDeltaChord to a constant member variable.</LI>
0951 </UL></LI>
0952 <LI>Added new class <TT>G4ChordFinderSaf</TT> (using <TT>G4ChordFinder</TT>)
0953 for performance optimisation, which adopts safety to create longer chords,
0954 so enabling propagation in fewer steps.</LI>
0955 <LI><TT>G4FieldManager</TT>:
0956 <UL>
0957 <LI>Changed default accuracy parameters to better values:
0958 <UL>
0959 <LI>Epsilon Min Default to <TT>5.0e-5</TT> from <TT>5.0e-7</TT></LI>
0960 <LI>Epsilon Max Default to <TT>0.001</TT> from <TT>0.05</TT>.</LI>
0961 </UL></LI>
0962 <LI>Increased default accuracy. Changed default values of:
0963 <UL>
0964 <LI>Delta One Step to <TT>0.010 mm</TT> (from <TT>0.25 mm</TT>)</LI>
0965 <LI>Delta Intersection to <TT>0.001 mm</TT> (from <TT>0.10 mm</TT>).</LI>
0966 </UL></LI>
0967 <LI>Use field's <TT>DoesFieldChangesEnergy()</TT> method to set relevant member
0968 variables.</LI>
0969 <LI>Added methods <TT>Get/Set Min/MaximumEpsilonStep()</TT>.</LI>
0970 <LI>Added <TT>fEpsilonMin fEpsilonMax</TT> & default to member variables.<BR>
0971 Now these can be tailored for different parts of a detector or setup.</LI>
0972 </UL></LI>
0973 <LI><TT>G4Field</TT>, <TT>G4ElectroMagneticField</TT>, <TT>G4MagneticField</TT>:
0974 <UL>
0975 <LI>Added virtual method <TT>DoesFieldChangeEnergy()</TT>.</LI>
0976 <LI><TT>G4ElectroMagneticField</TT> derives from <TT>G4Field</TT> and
0977 <TT>G4MagneticField</TT> derives from <TT>G4ElectroMagneticField</TT>.</LI>
0978 </UL></LI>
0979 <LI><TT>G4MagErrorStepper</TT> and derived classes (<TT>G4ClassicalRK4</TT>,
0980 <TT>G4SimpleRunge</TT>, <TT>G4ExplicitEuler</TT>, <TT>G4ImplicitEuler</TT>,
0981 <TT>G4SimpleHeum</TT>):<BR>
0982 Constructors take <TT>G4EquationOfMotion</TT> in place of a
0983 <TT>G4Mag_EqRhs</TT> as applicable to all types of equations (not just
0984 ones for magnetic field).</LI>
0985 <LI><TT>G4EqMagElectricField</TT> now derives from <TT>G4EquationOfMotion</TT>.</LI>
0986 </UL>
0987
0988 <A NAME="mat-notes">
0989 <H3><I>Materials</I></H3></A>
0990 <UL>
0991 <LI>Added base class <TT>G4SurfaceProperty</TT>.</LI>
0992 <LI><TT>G4OpticalSurface</TT>: now inheriting from <TT>G4SurfaceProperty</TT>.</LI>
0993 </UL>
0994
0995 <A NAME="part-notes">
0996 <H3><I>Particles</I></H3></A>
0997 <UL>
0998 <LI>Moved classes related to cuts to new <TT>processes/cuts</TT>
0999 subcategory.</LI>
1000 <LI>Removed obsolete cut methods.</LI>
1001 <LI>Added new sub-module <TT>utils</TT>.</LI>
1002 <LI>Fixed <TT>NULL</TT> type pointer initialisation in
1003 <TT>G4DynamicParticle</TT> to <TT>G4PrimaryParticle</TT>.</LI>
1004 <LI>Fixed anti-particle PDG code for Gluon.</LI>
1005 </UL>
1006
1007 <A NAME="run-notes">
1008 <H3><I>Run, Intercoms and Interfaces</I></H3></A>
1009 <UL>
1010 <LI><TT>G4RunManager</TT>:
1011 <UL>
1012 <LI>Design iteration implementing <I>modular</I> run-manager</LI>
1013 <LI>Introduced <TT>G4RunManagerKernel</TT> class and simplified
1014 <TT>G4RunManager</TT> implementation.</LI>
1015 <LI>Introduced <TT>PhysicsHasBeenModified()</TT> method in
1016 <TT>G4RunManagerKernel</TT> class and related wrapper methods in
1017 <TT>G4RunManager</TT> and <TT>G4RunMessenger</TT>.</LI>
1018 </UL></LI>
1019 <LI><TT>G4VUserPhysicsList</TT>:
1020 <UL>
1021 <LI>Cleanup error messages for store/retrieving physics table.</LI>
1022 <LI>Removed dedicated treatment of anti-proton, neutron and anti-neutron
1023 from <TT>BuildPhysicsTable()</TT>.</LI>
1024 <LI>Fixed typo for '<TT>neutron</TT>'.</LI>
1025 </UL></LI>
1026 <LI><B>Interfaces</B>
1027 <UL>
1028 <LI>Archived obsolete OPACS module and cleared build setup.</LI>
1029 <LI><TT>G4Xt</TT>: removed unused and commented code.</LI>
1030 </UL></LI>
1031 </UL>
1032
1033 <A NAME="trk-notes">
1034 <H3><I>Tracking & Track</I></H3></A>
1035 <UL>
1036 <LI><TT>G4TrackingManager</TT>:
1037 <UL>
1038 <LI>Moved invocation of <TT>PreUserTrackingAction()</TT>
1039 after <TT>SetInitialStep()</TT>, so that geometrical infomation
1040 is available at <TT>PreUserTrackingAction()</TT>.</LI>
1041 </UL></LI>
1042 <LI><TT>G4SteppingManager</TT>:
1043 <UL>
1044 <LI>Fixed problem in setting pointer to the user stepping action.</LI>
1045 <LI>Renamed method <TT>LocateGlobalPointAndSetup(p,v,history)</TT>
1046 to <TT>ResetHistoryAndLocate(p,v,history)</TT> according to changes
1047 in <TT>G4Navigator</TT>.</LI>
1048 </UL></LI>
1049 <LI>Fixed problem of setting default momentum direction for stoppped
1050 particle in <TT>G4ParticleChange</TT>.</LI>
1051 </UL>
1052
1053 <A NAME="transp-notes">
1054 <H3><I>Transportation</I></H3></A>
1055 <UL>
1056 <LI>Introduced first implementation of weight-window biasing technique.</LI>
1057 <LI>Migrated <TT>G4UserSpecialCuts</TT> to model variant of EM physics.</LI>
1058 <LI>Adopt new <TT>G4Exception</TT> scheme and header inclusions and code
1059 cleanup.</LI>
1060 </UL>
1061
1062 <A NAME="vis-notes">
1063 <H3><I>Visualization</I></H3></A>
1064 <UL>
1065 <LI>New <B>HepRep</B> XML driver for HepRep Version 2.</LI>
1066 <LI><B>RayTracer</B>
1067 <UL>
1068 <LI>Introduced <TT>G4VRTScanner</TT> and its default concrete
1069 implementation, <TT>G4RTSimpleScanner</TT>. It controls the
1070 shooting order of rays.</LI>
1071 <LI>Added new command <TT>/vis/rayTracer/backgroundColour</TT>.</LI>
1072 </UL></LI>
1073 <LI><B>OpenGL</B>: cosmetic change to regularise names.</LI>
1074 <LI>Removed obsolete OPACS module.</LI>
1075 <LI><B>Tree</B>: improved printing.</LI>
1076 <LI>Commands:
1077 <UL>
1078 <LI>Added command <TT>/vis/scene/endOfRunAction</TT>.</LI>
1079 <LI>Improved guidance for <TT>/vis/scene/notifyHandlers</TT>.</LI>
1080 <LI>Bug fix in <TT>/vis/scene/add/volume</TT>:<BR>
1081 <TT>requestedDepthOfDescent</TT> now correctly propagated to
1082 <I>world</I> volume.</LI>
1083 </UL></LI>
1084 <LI><B>management</B>
1085 <UL>
1086 <LI><TT>G4VisManager</TT>:
1087 <UL>
1088 <LI>Improved handling of auto refresh at end of event and run.
1089 <LI>Removed PrintAllGraphicsSystems(), PrintInstalledGraphicsSystems()
1090 methods.</LI>
1091 <LI>Bug fix in EndOfEvent().</LI>
1092 </UL></LI>
1093 <LI><TT>G4VisCommandsScene</TT>: improved <TT>endOfEventAction</TT> and
1094 improved guidance.</LI>
1095 <LI>Change initialisation of <TT>G4VSceneHandler</TT> so that there is
1096 always a clear on first drawing.</LI>
1097 </UL></LI>
1098 <LI><TT>G4VRML2SceneHandlerFunc</TT>: changed <TT>const char* pv_name</TT>
1099 to <TT>G4String pv_name</TT>.</LI>
1100 <LI>Patch in <TT>G4OpenInventorSceneHandler::PreAddThis()</TT> to cope with
1101 changes introduced in <TT>G4VPhysicalVolume</TT> where pointer to mother
1102 physical-volume is no longer available.</LI>
1103 <LI><TT>G4PhysicalVolumeModel::CalculateExtent()</TT> always searches complete
1104 hierarchy.</LI>
1105 <LI>Introduced Doxygen documentation for management and OpenGL.</LI>
1106 </UL>
1107
1108 <A NAME="env-notes">
1109 <H3><I>Environments</I></H3></A>
1110 <UL>
1111 <LI>Added module MOMO with Java archives for UI tools from Naruto.<BR>
1112 Includes new version of MOMO with XML import/export abilities.</LI>
1113 <LI>Removed OPACS setup.</LI>
1114 </UL>
1115
1116 <A NAME="hlst-notes">
1117 <H3><I>Hadronic physics-lists</I></H3></A>
1118 <UL>
1119 <LI>New module <TT>hadronic_lists</TT> of physics lists for hadronic physics
1120 lists by use case.<BR>
1121 The module can only be built and installed separately
1122 in addition to the standard libraries installation.
1123 </UL>
1124
1125 <A NAME="data-notes">
1126 <H3><I>Data</I></H3></A>
1127 <UL>
1128 <LI>Updated data-sets for low-energy electro-magnetic processes
1129 (<TT>G4EMLOW2.3</TT>).</LI>
1130 </UL>
1131
1132 <A NAME="ex-notes">
1133 <H3><I>Examples</I></H3></A>
1134 <UL>
1135 <LI>Fixed pedantic compilation warnings on Linux-g++.</LI>
1136 <LI>Updated reference outputs.</LI>
1137 <LI>Removed OPACS driver from vis-managers where needed.</LI>
1138 <LI><B>advanced</B>
1139 <UL>
1140 <LI><I>brachytherapy</I>
1141 <UL>
1142 <LI>Implemented migration to cuts by region.</LI>
1143 <LI>Updates to geometry and sources.</LI>
1144 </UL></LI>
1145 <LI><I>composite_calorimeter</I>
1146 <UL>
1147 <LI>Removed hadronics physics-lists. Now using default setup
1148 provided in $G4INSTALL/hadronic_lists.</LI>
1149 <LI>Removed GetCopyNo() and replaced it with GetReplicaNumber()
1150 using G4TouchableHistory.</LI>
1151 <LI>Enabled possibility of running the simulation in HCal alone or
1152 HCal+ECal mode with the correct B-field + a few small bug corrections.
1153 Changed also the default stepper (in magnetic field).</LI>
1154 </UL></LI>
1155 <LI><I>gammaray_telescope</I>
1156 <UL>
1157 <LI>Updates to sensitive detectors.</LI>
1158 </UL></LI>
1159 <LI><I>lAr_calorimeter</I>
1160 <UL>
1161 <LI>Implemented migration to cuts by region.</LI>
1162 <LI>Fixed compilation errors if histograms disabled.</LI>
1163 </UL></LI>
1164 <LI><I>Rich</I>
1165 <UL>
1166 <LI>Fixed compilation errors and warnings.</LI>
1167 </UL></LI>
1168 <LI><I>Tiara</I>
1169 <UL>
1170 <LI>Removed hadronics physics-lists. Now using default setup
1171 provided in <TT>hadronic_lists</TT> module.</LI>
1172 <LI>Use decays for all particles.</LI>
1173 </UL></LI>
1174 <LI><I>underground_physics</I>
1175 <UL>
1176 <LI>Migrated to new hadronic processes for release 6.0.</LI>
1177 <LI>Implemented migration to cuts by region.</LI>
1178 </UL></LI>
1179 </UL></LI>
1180 <LI><B>extended</B>
1181 <UL>
1182 <LI><I>analysis/A01</I>
1183 <UL>
1184 <LI>Renewed test to work with latest developments in AIDA 3.</LI>
1185 </UL></LI>
1186 <LI><I>biasing</I>
1187 <UL>
1188 <LI>Archived some obsolete files.</LI>
1189 <LI>Extended to included new weight-window biasing technique.</LI>
1190 </UL></LI>
1191 <LI><I>electromagnetic/TestEm1</I>
1192 <UL>
1193 <LI>General revision. Renamed classes.</LI>
1194 <LI>Migration to model variant of EM physics.</LI>
1195 <LI>Added printout of total energy deposit.</LI>
1196 <LI>Added process <TT>G4eBremsstrahlungCMS</TT>.</LI>
1197 <LI><TT>G4NOHIST</TT> replaced by <TT>G4ANALYSIS_USE</TT>.</LI>
1198 </UL></LI>
1199 <LI><I>electromagnetic/TestEm2</I>
1200 <UL>
1201 <LI>General revision. Renamed classes.</LI>
1202 <LI>Migration to model variant of EM physics.</LI>
1203 <LI><TT>G4NOHIST</TT> replaced by <TT>G4ANALYSIS_USE</TT>.</LI>
1204 </UL></LI>
1205 <LI><I>electromagnetic/TestEm3</I>
1206 <UL>
1207 <LI>General revision. Renamed classes.</LI>
1208 <LI>Migration to model variant of EM physics.</LI>
1209 <LI>Added estimation of the mean energy leaving each absorber.</LI>
1210 </UL></LI>
1211 <LI><I>electromagnetic/TestEm4</I>
1212 <UL>
1213 <LI>General revision. Renamed classes.</LI>
1214 <LI>Substituted obsolete interface to cut energy range.</LI>
1215 <LI>Migration to model variant of EM physics.</LI>
1216 <LI><TT>G4NOHIST</TT> replaced by <TT>G4ANALYSIS_USE</TT>.</LI>
1217 </UL></LI>
1218 <LI><I>electromagnetic/TestEm5</I>
1219 <UL>
1220 <LI>General revision. Renamed classes.</LI>
1221 <LI>Suppressed sensitive detector and hits.</LI>
1222 <LI><TT>EmPhysicsList</TT>: use <TT>SetFacRange()</TT> in multiple
1223 scattering.</LI>
1224 <LI>new classes <TT>HistoManager</TT>, <TT>TrackingAction</TT>,
1225 <TT>StackingAction</TT> in order to book and fill histograms.</LI>
1226 <LI>new UI command <TT>setHisto</TT> to control the binning of
1227 histograms.</LI>
1228 <LI><TT>StackingAction</TT> and its messenger: added possibility to kill
1229 secondaries.</LI>
1230 <LI><TT>DetectorConstruction::DefineMaterials()</TT> invoked in
1231 constructor.</LI>
1232 <LI>Updated and renamed macros according to authors of experimental
1233 results.</LI>
1234 <LI>Migration to model variant of EM physics.</LI>
1235 <LI><TT>G4NOHIST</TT> replaced by <TT>G4ANALYSIS_USE</TT>.</LI>
1236 </UL></LI>
1237 <LI><I>electromagnetic/TestEm6</I>
1238 <UL>
1239 <LI>Use <TT>SetMaterial()</TT> in constructor.</LI>
1240 <LI>Updated all macros for <TT>/run/initialize</TT>.</LI>
1241 <LI><TT>G4NOHIST</TT> replaced by <TT>G4ANALYSIS_USE</TT>.</LI>
1242 </UL></LI>
1243 <LI><I>electromagnetic/TestEm7</I>
1244 <UL>
1245 <LI>Updated hadronic physics according to new <TT>hadronics_lists</TT> module.</LI>
1246 <LI>Updated BinaryCascade; added light ion interactions.</LI>
1247 <LI>Migration to model variant of EM physics.</LI>
1248 <LI><TT>G4NOHIST</TT> replaced by <TT>G4ANALYSIS_USE</TT>.</LI>
1249 </UL></LI>
1250 <LI><I>electromagnetic/TestEm8</I>
1251 <UL>
1252 <LI>Upgraded PAI model, renewed test.</LI>
1253 <LI>Removed obsolete classes.</LI>
1254 <LI>Updated histogramming to work with AIDA 3.</LI>
1255 </UL></LI>
1256 <LI><I>electromagnetic/TestEm9</I>
1257 <UL>
1258 <LI>New example implementing a crystal calorimeter with
1259 demonstration of definition of different detector regions for cuts.</LI>
1260 </UL></LI>
1261 <LI><I>electromagnetic/TestEm10</I>
1262 <UL>
1263 <LI>Removed obsolete interfaces.</LI>
1264 </UL></LI>
1265 <LI><I>eventgenerator</I>
1266 <UL>
1267 <LI>Brought up-to-date with original novice examples.</LI>
1268 </UL></LI>
1269 <LI><I>field</I>
1270 <UL>
1271 <LI>Open geometry before clearing stores in
1272 <TT>DetectorConstruction</TT> class.</LI>
1273 <LI><I>BlineTracer</I>
1274 <UL>
1275 <LI>New plug-in module for visualization of magnetic-field lines.</LI>
1276 </UL></LI>
1277 <LI><I>field01</I>
1278 <UL>
1279 <LI>Renamed F01ElectroMagneticField into F01FieldSetup.</LI>
1280 <LI>Deleted forgotten inheritance from G4MagneticField.</LI>
1281 <LI>New output format in F01SteppingVerbose.</LI>
1282 <LI>Input macro: different energies, 1 track each in place</LI>
1283 of 100 events of 1 energy.</LI>
1284 </UL></LI>
1285 <LI><I>field02</I>
1286 <UL>
1287 <LI>Revised to work with new developments in magnetic-field:<BR>
1288 creation of chord finder for electric field is now explicit.</LI>
1289 <LI>Created helper class F02ElectricFieldSetup, using nearly all of
1290 F02ElectroMagneticField, but not being a field.</LI>
1291 </UL></LI>
1292 <LI><I>field03</I>
1293 <UL>
1294 <LI>Renamed F03ElectroMagneticField into F03FieldSetup.</LI>
1295 </UL></LI>
1296 </UL></LI>
1297 <LI><I>geometry</I>
1298 <UL>
1299 <LI>Archived "cad" example.</LI>
1300 </UL></LI>
1301 <LI><I>gdml</I>
1302 <UL>
1303 <LI>Updated to adopt XercesC 2.x family.</LI>
1304 </UL></LI>
1305 <LI><I>medical/DICOM</I>
1306 <UL>
1307 <LI>Updated physics-list.</LI>
1308 </UL></LI>
1309 <LI><I>parallel</I>
1310 <UL>
1311 <LI>Brought up-to-date with original novice examples.</LI>
1312 </UL></LI>
1313 </UL></LI>
1314 <LI><B>novice</B>
1315 <UL>
1316 <LI><I>N01</I>
1317 <UL>
1318 <LI>Cosmetics in material definitions.</LI>
1319 </UL></LI>
1320 <LI><I>N02</I>
1321 <UL>
1322 <LI>Cosmetics in material definitions.</LI>
1323 <LI>PhysicsList: AddProcess(Bremsstrahlung,-1,3,3) ..etc..</LI>
1324 </UL></LI>
1325 <LI><I>N03</I>
1326 <UL>
1327 <LI>Suppressed sensitive detector and hits.</LI>
1328 <LI>Suppressed specific code for curved trajectories.</LI>
1329 <LI><TT>DetectorConstruction::DefineMaterials()</TT> invoked in
1330 constructor.</LI>
1331 <LI><TT>PhysicsList: AddProcess(Bremsstrahlung,-1,3,3)</TT> ..etc..</LI>
1332 <LI>Removed OPACS script from <TT>visTutor</TT>. renamed scripts 6/7/8/9 to
1333 5/6/7/8 respectively. Added scripts to <TT>gui.mac</TT>.</LI>
1334 <LI>Removed extraneous flushes from <TT>visTutor/heprep.mac</TT> to
1335 match new <TT>endOfRunAction</TT> behavior and cleaned up <TT>vis.mac</TT>.</LI>
1336 </UL></LI>
1337 <LI><I>N04</I>
1338 <UL>
1339 <LI><TT>DetectorConstruction::DefineMaterials()</TT> invoked in constructor.</LI>
1340 <LI>Physics-list: updated and <TT>AddProcess(Bremsstrahlung,-1,3,3)</TT> ..etc..</LI>
1341 <LI>Cosmetics in material definitions.</LI>
1342 </UL></LI>
1343 <LI><I>N05</I>
1344 <UL>
1345 <LI>Added protection for negative proposed step in
1346 <TT>ExN05MinEkineCuts</TT>.</LI>
1347 </UL>
1348 <LI><I>N06</I>
1349 <UL>
1350 <LI>PhysicsList: <TT>AddProcess(Bremsstrahlung,-1,3,3)</TT> ..etc..</LI>
1351 <LI>DetectorConstruction: use <TT>G4SurfaceProperty</TT>.</LI>
1352 <LI>Cosmetics in material definitions.</LI>
1353 </UL></LI>
1354 <LI><I>N07</I>
1355 <UL>
1356 <LI>PhysicsList: <TT>AddProcess(Bremsstrahlung,-1,3,3)</TT> ..etc..
1357 </UL></LI>
1358 </UL></LI>
1359 </UL>
1360
1361 <HR>
1362
1363 </BODY>
1364 </HTML>