
                 Geant4 5.0 Release Notes
                 ------------------------

                                                      13th December 2002

These are the main new features/fixes included in this release since the
last public release (for the detailed list of fixes/additions, please refer
to the related History files):


  o Configuration:
    -------------
    - Specific setups:
      o Linux-g++.gmk: added assignment 'CC := gcc' for default 'cc' compiler.
      o SUN-CC.gmk: removed -L/usr/lib path specification from LOADLIBS
        definition.
      o AIX-xlC.gmk: updated for porting on AIX with xlC 6.0 (unsupported).
      o WIN32-g++.gmk: updated setup to compile with -ansi and gcc-2.95.3
        for most recent versions of CygWin (unsupported). 
      o Darwin-g++.gmk: updated setup to support MacOS 10.2 (unsupported).
    - liblist.c:
      o Enhanced script to provide the whole list of installed libraries
        in the correct order, without requiring parsing of dependencies.
        The functionality is achieved by invoking "liblist" with option '-m",
          i.e. - liblist -m [libpath] < libname.map
        where [libpath] is the path where libraries are placed
        (i.e. $G4LIB/$G4SYSTEM).
    - binmake.gmk:
      o Use "liblist -m [libpath]" to retrieve the list of libraries to link
        in case headers are installed in $G4INCLUDE, and granular libraries
        are used.
    - Adopt new dependency file algorithm to avoid leaving corrupt .d files
      when #include's cannot be found.
    - Removed ODBMS setup. Now library for persistency is built as part of the
      kernel and specific implementations for persistency have been moved to
      examples. Setup for ODBMS no more required. G4USE_HEPODBMS is no longer
      used.
    - Removed obsolete setup for ObjectSpace-STL (G4USE_OSPACE and related
      variables). Removed obsolete variable G4USE_STL.
    - Made compilation of g3tog4 module optional (only if G4USE_G3TOG4 is
      defined). The module is not built by default.

  o Digitization & Hits:
    -------------------
    - Added classes for event scoring in module "detector":
      G4CellScoreComposer[.hh.cc], G4CellScoreValues.hh,
      G4CellStoreScorer[.hh.cc], G4TrackLogger[.hh.cc].
    - Added methods to G4VHit:
      virtual const G4std::vector<G4AttDef>* GetAttDefs/Values()
    - Added GetHit() and GetSize() to G4VHitsCollection.
    - Fixed minor memory leak in G4SDManager.

  o Event:
    -----
    - Added classes for scoring management:
      G4CellScorer[.hh.cc], G4CellScorerStore[.hh.cc],
      G4ScoreTable[.hh.cc], G4Scorer[.hh.cc].
    - Introduced first implementation of HepMC interfaces (not functional
      yet on Windows platforms, pending HepMC support in CLHEP).
    - Critical bug fix in G4PrimaryParticle for initialisation of non
      charged particles.
    - G4Event: introduced 'EventAborted' flag.
    - Added protection against user's mis-use of destruction of
      G4TrajectoryContainer.
    - Fix memory leak caused by deleting stacked tracks.

  o Electromagnetic Processes (Low-energy):
    --------------------------------------
    - Bug fix in delta-electron spectra.
    - Bug fix in simulation of EM processes in compounds.
    - Optimised loading of data in G4AugerData.
    - Fix in calculation of restricted energy loss of e-.
    - Fixed memory leak problem in G4AtomicTransition.
    - Bug fixes for ion ionisation, related to the interaction between
      energy loss and fluorescence.
    - Bug fix in G4BremsstrahlungParameters, to load EEDL correctly.
      Fixes problem report #430.
    - New model for angular distribution in Rayleigh.
      Fixes problem report #406.
    - Optimisation of tables in G4LowEnergyIonisation, G4eLowEnergyLoss,
      G4hLowEnergyLoss and G4hLowEnergyIonisation.

  o Electromagnetic Processes (Standard):
    ------------------------------------
    - Introduced new prototype implementation of model-dependent processes:
      G4MuBremsstrahlungSTD, G4MuIonisationSTD, G4MuPairProductionSTD,
      G4eBremsstrahlungSTD, G4eIonisationSTD, G4hIonisationSTD.
      G4MultipleScatteringSTD, G4VEnergyLossSTD, G4EnergyLossMessengerSTD.
    - G4Scintillation:
      o now allowing for fast and slow components. Scintillation properties
        are stored with the material and retrieved with GetConstProperty().
      o now allowing for particle dependent excitation levels.
      o using Poisson distribution (G4Poissin) for small MeanNumPhotons in
        a step.
      o using the nearest integer to calculate the number of photons in DoIt().
    - G4MultipleScattering:
      o Bug fix in PostStepDoIt() for lateral displacement.
      o Corrected angle distribution and fixes in the boundary algorithm.
        This new parameterisation improves the ~100 MeV proton scattering.
    - G4eBremsstrahlung::BuiltLossTable(): fixed rare cases of division by 0.
    - GammaConversionToMuons: corrected syntax of OR conditions in DoIt().
    - G4VEnergyLoss: fix for gaussian fluctuations sampling at very low energy.
    - Fixes in proton scattering and LossTableBuilder.
    - G4PAIonisation[.hh.icc.cc]: patched access to public static data.
      Added static accessor to be used in the kernel for inline functions
      to allow porting on Windows DLLs.

  o General Processes, Parameterisation, Decay, Optical:
    ---------------------------------------------------
    - Added new command /process/setVerbose for G4ProcessTableMessenger.
    - Fixed memory leak in G4ProcessTable::Insert().
    - Optical processes: fixed calculation of polarization on dielectric
      dielectric interfaces. Fixes problem report #427.
    - Fast simulation management:
      o Added method to retrieve G4VFastSimulationModel by name
        G4GlobalFastSimulationManager::GetFastSimulationModel().
        The method is matched also in G4FastSimulationManager.
      o Patched access to public static data in G4FastStep.cc and
        G4GlobalFastSimulationManager.cc to allow porting on Windows DLLs.

  o Geometry:
    --------
    - Importance biasing
      o New design iteration for importance biasing and scoring and
        reorganisation of classes to proper modules (digits+hits/detector,
        event and processes/transportation).
        + no biasing is applied between cells that are not known by 
          the G4IStore and its neighbors.
        + importance value 0 is allowed to flag that no biasing should
          be done betweeen the cell and its neighbors.
        + changed G4ParallelNavigator to use G4TouchableHanle and
          LocateGlobalPointAndSetup().
        + renamed G4VPScorer to G4VScorer and G4PStep to G4GeometryCellStep 
        + changes to handle 'pre' and 'post' importance in
          G4(V)ImportanceAlgorithm, G4ImportanceSplitExaminer and
          G4ImportanceFinder.
        + renamed G4PTouchableKey to G4GeometryCell.
        + removed G4VPrintableScorer.hh G4VPrintableScorerFactory.hh.
        + added G4VCellScorer.hh and G4VCellScorerStore.hh.
    - Management
      o Added checks for illegal geometry contructions for G4PVReplica and
        G4PVParameterised. Contructors now verify unicity of daughter volumes
        for replicas and parameterised volumes, as well as checks for attempt
        to replicate/parameterise the world volume. 
      o Added pure virtual method StreamInfo() in  G4VSolid to stream contents
        of a solid to a generic output stream. Interface change required for
        all derived concrete solids.
        Added method DumpInfo() using StreamInfo() to dump contents to the
        standard output. 
      o G4AssemblyVolume:
        + Fixed bug #409 concerning missing imprint counter method. 
        + Fixed bug #410 concerning the internal counting mechanism. 
          Added accessor methods for retrieving the instance ID. 
      o Added new method IsParameterised() for G4PVParameterised and
        G4PVPlacement, to enquire for existing parameterisation for a placed
        volume. 
      o Added methods IsParameterised() and GetMultiplicity() for G4PVReplica
        and G4VPhysicalVolume to enquire for existing parameterisation of
        placed volume, and number of replicated volumes.
      o Fixed bug in G4GeometryManager for the initialisation of
        fine-grained timer for voxelisation statistics.
      o Correction in G4LogicalVolume to allow correct propagation of the
        Field Manager to the daughter volumes. Fixes bug report for field
        by logical volume.
    - Solids
      o Implemented mechanism for dumping contents of solids to streams. 
      o G4Cons: bug fixed in DistanceToIn(p,v) concerning z-crossing at
        the edge with Rmin,Rmax.
      o Boolean solids:
        + Added method CleanTransformations() to G4DisplacedSolid and
          corrected implementation in destructor of G4BooleanSolid not to
          call for deletion of G4VSolid in the case where displacement is used. 
          Fixes a problem noticed on Linux-g++ at application closeout for
          double deletion of a solid in such special case. 
      o BREPS solids:
        + Fix in G4BREPSolidPCone in construction for creation of
          begin & end planar surfaces in the case where
          [RMIN[0] == 0.0 && RMAX[0] > 0.0] and/or 
          [RMIN[sections] == 0.0 && RMAX[sections] > 0.0]. 
          Fixes problem report #419. 
        + G4Ray, G4Surface: made static inline methods not inlined
          to allow porting on Windows DLLs.
      o Specific solids: fixed un-initialised data members in constructors
        of classes: G4ClippablePolygon, G4EnclosingCylinder, G4PolyconeSide, 
        G4ReduciblePolygon, G4VCSGfaceted. 
      o STEPinterface: made all static inline methods not inlined,
        to allow porting on Windows DLLs.
      o Some general cleanup.
    - Verification
      o G4GeomTestVolume: fixed recursive call to G4GeomTestVolume to
        consider also 'tolerance' as argument in the recursive test algorithm.
    - Volumes
      o Introduced abstract class G4VCurvedTrajectoryFilter, and created
        class G4IdentityTrajectoryFilter, concrete filter for trajectory
        points.
      o Code cleanup and cosmetics for most classes.
      o G4PropagatorInField:
        + Fix in ComputeStep() to correctly handle cases when tracks
          get killed.
        + Introduced memory of Charge Mass and Momentum in order for it to
          message the correct ChordFinder at each step. Fixes problem observed
          when multiple field managers are used.
        + Removed not-implemented constructor taking G4Navigator* as argument. 
        + Get rid of static const data for default 'epsilonStep' size. 
        + Initialised all data members in constructor! 
      o G4BlockingList.cc: fixed initialisation of fBlockTagNo.
        Fixes warnings reported by Valgrind to G4BlockingList,
        G4VoxelNavigation and G4ParameterisedNavigation.
      o Formatting cleanup in source implementation files.

  o Global:
    ------
    - Introduced new G4Exception scheme based on severity level.
      Added enumeration G4ExceptionSeverity.
      o Modified : G4VStateDependent[.hh.cc], G4Exception.cc,
                   G4StateManager.hh and globals.hh
    - Migration to new G4ApplicationState, prepending "G4State_" to each
      application state ID.
    - G4Allocator: moved page size to become data-member of G4Allocator.
      'fPageSize' is now computed according to the size of the object 
      to be allocated. The default size is 1024 bytes for objects whose
      size is less than 512 bytes, 10 times the size of the object otherwise. 
    - G4UnitsTable: made GetUnitsTable() static method not inlined.
    - G4Integrator: plugged minor memory leak and fixed uninitialised values.

  o Graphical representations:
    -------------------------
    - Introduced classes G4AttDef, G4AttDefStore and G4AttValue.
    - Added const G4std::vector<G4AttValue>* fAttValues/Defs to
      G4VisAttributes.
    - HepPolyhedron:
      o added methods createTwistedTrap() and createPolyhedron().
      o minor bug fix in method GetFacet().
      o changed inline static methods to not inlined.
    - Small revison of G4Scale and improvements in G4VMarker class description.
    - G4Colour class description corrected.
    - Patched access to public static data in G4Scale and G4VisAttributes.
      Added static accessors to be used in the kernel to allow porting on
      Windows DLLs.

  o Hadronic Processes:
    ------------------
    - cross_sections
      + added protection for low nuclear mass limit in high precision classes
        for neutron and proton nuclear scattering
      + added protection in electro-nuclear scattering (solves the problem
        seen in CMS, linear collider, and electron beam-dump studies)
      + added alternative description of pion nuclear reactions cross-sections
        (G4PiNuclearCrossSection), affecting in particular the absorption
        dominated (T<500MeV) region.
    - management
      + changed the memory management policy for model classes 
        (G4HadronicInteraction derived), so they get deleted exactly once,
        no matter what the physics list looks like.
    - processes
      + corrected documentation for electro and gamma nuclear process classes.
    - stopping
      + fixed light material problem and neutrino-flavour problem in
        muon-nuclear scatterering
    - util
      + enabled tracing of originator model (in development mode) for more
        detailed verfication
      + more work on energy conservation for low energy models in the case
        of annihilation events, charge exchange reactions, and strangeness
        production.
    - models/cascade
      + first release of the cascade part of the HETC re-write
    - models/chiral_inv_phase_space
      + bug fixes, and revised rho width.
    - models/coherent_elastic
      + removed some conservative programming in favour of performance.
    - models/high_energy
      + fixed known bug in the Cross method, and energy non-conservation
        problems in cases of strangeness production and anti-particle
        reactions
    - models/leading_particle
      + extended neutron spectrum to reach below 1 MeV
    - models/low_energy
      + improved treatement of the K0 system.
      + removed long-standing (small) memory leak in light ion reactions 
      + improved treatement of pion absorption at lowest energies
    - models/neutron_hp
      + added description of inelastic channel in case no energy distributions
        are given, and there are exactely two secondaries
        Fixes a problem seen in neutron scattering off iron
      + added protection a case where cross-sections went negative in
        non-linear interpolation mode
      + added an exception in case heavy elements with no data provided are
        searched for
    - models/de_excitation
      + new feature: internal conversion now available
      + fixes for integration problem in multi-fragmentation and random
        numbers generation
    - models/radiative_decay
      + now also using internal conversion
    - models/high_energy
      + cleared compilation warnings
    - models/kinetic_model
      + first release of the binary-cascade model
    - models/management
      + added coulomb barrier information to nucleus interface
    - models/pre_equilibrium
      + enabled source tracing in developer mode
      + fixed rare integration problem in the probability distribution
        function for ion emission
    - models/quark_gluon_string
      + added developer mode
    - models/scattering
      + First release of the generic scattering term, currently used by
        binary cascade.
    - models/string_fragmentation
      + removed some conservative programming
    - models/util
      + added coulomb barrier to nucleus' public interface
      + kinetic track now decay in cascade type codes with correct life-time
      + track 4-momentum can now be updated by specifying new energy
    - New data required for photon-evaporation and radioactive decay databases.
    - High precision neutron code will work with G4NDL0.2 through G4NDL3.7.


  o Magnetic Field:
    --------------
    - G4FieldManager:
      o made 'fDefault_Delta_One_Step_Value' and 
        'fDefault_Delta_Intersection_Val' non static constants to resolve
        initialisation problems. Fixes problem report #383. 
    - G4ChordFinder: 
      o fixed case of stepTrial >> stepTrialOld, for large multiple.
      o added guard for null stepTrial in FindNextChord().
      o correction from zero dChord in case of not-updated 'Unconstrained'
        step estimate (state).
      o Added instance variables to store number of calls and chord-trials.
    - G4EquationOfMotion: 
      o made RightHandSide() inlined.
      o changed signature of Point in GetFieldValue(), now double[4].
    - Protection against division by 0 in
      G4MagIntegratorDriver::ComputeNewStepSize. 
    - Fixes for unitialised variables in G4MagIntegratorStepper,
      G4FieldTrack, G4MagErrorStepper, G4Mag_SpinEqRhs, G4ExplicitEuler,
      and G4ImplicitEuler
    - Fixed memory leaks in G4ImplicitEuler and ExplicitEuler.

  o Materials:
    ---------
    - G4Material: removed constructors with chemical formula.
    - Added constant material properties to G4MaterialPropertiesTable.
    - G4IonisParamElm: fix in excitation energy interpolation.
    - G4IonisParamMat: added methods to Set/Find the mean excitation energy.

  o Particles:
    ---------
    - Updated mass width for resonance particles.
    - Fixed PDG codes for k0_star(1430), a0(1450) and f0(1370).
    - Made static inline method G4VDecayChannel::GetNoName() not inlined
      for porting on Windows DLLs.

  o Persistency:
    -----------
    - Implementation of abstract layer for persistency. Removed ODBMS
      specific implementation and setup. Now persistency library is part of
      the Geant4 kernel (see documentation on user manuals for details)
      o HepMC is not currently supported by CLHEP on Windows, so HepMC
        persistency is temporarly excluded from compilation on Windows.

  o Run, Intercoms and Interfaces
    -----------------------------
    - G4RunManager, G4RunMessenger:
      o Introduced "soft abortion", to allow event loop to abort after
        processing the current event. G4RunManager sets "eventAbortion"
        flag of G4Event if that particular event is aborted.
      o Introduced AbortEvent() method and corresponding UI command.
    - Introduced new G4Exception scheme: added G4ExceptionHandler class.
    - G4RunManager: introduced ResetNavigator() method needed in cases
      where a geometry has been modified between runs in order to properly
      re-initialize navigator's state.
    - Added two new pure virtual functions to G4VGraphicsScene:
        void AddThis(const G4VTrajectory&)
        void AddThis(const G4VHit&)
    - Fixed uninitialized data member and minor memory leak in G4UIcommand.
    - Fixed G4UIArrayStrings to work for "konsole" type termcap.
    - Patched access to public static data in G4VGlobalFastSimulationManager
      and G4VVisManager. Added static accessors to be used in the kernel to
      allow porting on Windows DLLs.

  o Tracking & Track:
    ----------------
    - Extensions of G4VTrajectory and introduction of curved trajectories
      o Added classes G4SmoothTrajectory and G4SmoothTrajectoryPoint.
      o Implemented default Show/DrawTrajectory() in G4VTrajectory.
    - G4SteppingManager:
      o implemented new ForceCondition flag StronglyForced.
      o fixed problem observed with optical processes.
    - G4TrackingManager
      o Re-implemented EventAborted() method to ensure this command
        works properly during stepping phase.
      o Set fpTrajectory pointer to zero when the trajectory is deleted.
    - Added accessors to auxiliary point vector, in both G4Step and
      G4ParticleChangeForTransport.
    - Set 'fUndefined' for the StepStatus in G4PostStepPoint.
    - Fixed initialisation of 'fCharge' in G4StepPoint constructor.
    - Patched access to public static data in G4VParticleChange.
      Added accessors to be used in the kernel to allow porting on
      Windows DLLs.

  o Transportation:
    --------------
    - G4Transportation: enable use of smooth (curved) trajectories.
    - Design iteration for standard scoring and class reorganisation
      o changed sampler concept: instead of separate samplers for
        all combinations of importance sampling, scoring, weight roulette
        for parallel and mass geometry, two samplers now are used
        for the mass and parallel geometry: G4MassGeometrySampler 
        and G4ParallelGeometrySampler. 
      o bug fixes in G4MassGeometrySampler, G4ParallelGeometrySampler,
        and G4MassGeometry.
      o moved G4CellStoreScorer, G4TrackLogger to digits+hits/detector.

  o Visualization:
    -------------
    - New implementation of HepRep driver (version 2).
    - Precision control of g4_XX.prim files are now generated by the
      DAWNFILE/DAWN-Network drivers, by use of a new variable for tuning
      precision G4DAWNFILE_PRECISION. Default precision is now set to
      9 digits.
    - Fix (removal) of ambiguous G4VVisCommand::GetNewDoubleValue().
    - Added /vis/viewer/set/globalMarkerScale.
    - Improved algorithm of CompareForKernelVisit on OpenGL and OpenInventor.
    - OpenGL driver: fixes for WIN32 architecture at compilation level.
      Viewer still to be implemented. 
    - Patched access to static data in G4VisCommandsSceneAdd.cc,
      G4VisManager.cc and G4FlavoredParallelWorldModel.cc to allow porting
      on Windows DLLs.
    - Corrected inclusion of G4OpenGLXViewer #ifdef X_DRIVER for Windows
      and other small changes in OpenGL.
    - Added integer argument to /vis/scene/add/trajectories [drawing-mode].
      drawing-mode is passed to DrawTrajectory.
    - Fixed bug in G4VisManager wich lead to zero G4VModel pointer.
    - Improved handling of models.
    - Fixed division-by-zero cases in G4RayTracer.
    - VRML driver: bug fix for marker size.
    - Improved end of run behaviour for non-post-processing graphics systems.

  o g3tog4 tool:
    -----------
    - Fix in G4gsdvn G4gsposp to enable larger number of clone volumes 
    - Fix for division defined in a mother with not yet defined parameters. 

  o data
    ----
  - Updated data-sets for:
    o PhotonEvaporation: data-base now includes internal conversion
      coefficients.
    o RadiativeDecay.

  o Examples:
    --------
  - advanced:
    + Migration of most examples to use AIDA 3.X for histogramming.
    + Added "composite_calorimeter" example based on CMS test-beam setup.
    + Added "lAr_calorimeter" example based on ATLAS lAr-calorimeter
      test-beam setup.
    + underground_physics:
      o Updates to cope with new interface for G4scintillation process.
      o Updated geometry for better comparison with data. Corrected
        overlapping volumes and inefficient physics list.
  - extended
    o analysis
      + added "A01" example for usage of analysis and HepRep.
    o biasing
      + reduced examples to three:
        B01 - importance sampling and scoring. Importance values are
              defined according to the mass geometry. Scoring performed.
        B02 - uses a parallel geometry to define G4GeometryCell objects
              for scoring and importance sampling. In addition it customizes
              the scoring. In this example one scorer creates a histogram.
              It can be run through a Python script.
        B03 - importance sampling and scoring interactively through Python.
    o electromagnetic:
      + migrated histogramming to AIDA 3.X.
      + fixes to allow compilation in gcc-3.2 (TestEm1, TestEm2, TestEm3).
    o eventGenerator
      + enhanced interface to HepMC to use CLHEP module.
    o gdml:
      + fixed warnings on SUN and SUN linker problem. 
    o persistency
      + introduced example (PersEx01) for persistency of calorimeter hits
        using ROOT-I/O.
      + removed old ODBMS-based examples.
  - novice
    o N06: updates according to new interface for G4Scintillation process.

 ----------------------------------------------------------------------------

                             Technical Notes
                             --------------- 

The code and some binary libraries are available through our "Source Code"
Web page:
- see our Geant4 Home Page (http://cern.ch/geant4).

Please refer to the Geant4 User Documentation
(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
for further information about using Geant4.


Contents
--------

  1. Supported and Tested Platforms
  2. AIDA and CLHEP
  3. The Standard Template Library (STL)
  4. Compiler Specific Problems
  5. Known Run-Time Problems
  6. Compilation Warnings
  7. Known Run-Time Warnings
  8. Items for migration of user code

1. Supported and Tested Platforms
---------------------------------

  o SUN Solaris 5.8, C++ 5.3 Patch 111685-07, C++ 5.4 Patch 111715-02.
  o Linux, gcc 2.95.2, gcc 3.2.
      This configuration was tested with the RedHat 7.2 and 7.3 distributions,
      versions of Geant4 have also been compiled successfully on other Linux
      distributions, like Debian or Suse.
      The default RedHat compiler gcc-2.96 ditributed in RedHat 7.X is NOT
      supported. It has been verified that it produces incorrect binaries,
      therefore is not reliable. See also note below.
  o Windows-2000/XP and CygWin Tools with: Visual C++ 6.0 Service Pack 5

Platforms configured but not tested and not supported:
  o DEC V4.0, cxx C++ V6.1-027
  o HP 10.20, aCC C++ B3910B A.01.23
  o SGI V6.5.5, CC 7.2.1
  o AIX 4.3.2, xlC 6.0 
  o MacOS 10.2, gcc 2.92.2 / gcc-3.2

2. AIDA and CLHEP
-----------------

Geant4 5.0 requires the installation of CLHEP. 

See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
Tests have been performed with CLHEP 1.8.0.0.

Geant4 5.0 examples with histogramming cowork with AIDA 3.0 implementations.
These include:
- ANAPHE and components included therein
  (see: http://cern.ch/anaphe)
- JAS (Java Analysis Studio)
  (see: http://jas.freehep.org)
- Open Scientist
  (see: http://www.lal.in2p3.fr/OpenScientist)

AIDA headers can be downloaded from:  http://aida.freehep.org


3. The Standard Template Library
--------------------------------

Native versions of STL have been tested on the following platforms:

   Windows/2000, Linux, and SUN.

NOTES:

- Platform specific setup:
  o SUN:     Native STL is required for ISO/ANSI setup.
  o Linux:   Native STL is required (non ISO/ANSI setup for egcs compiler only).
  o Windows: Native STL and ISO/ANSI setup required (VC++ 6.0).


4. Compiler Specific Problems
-----------------------------

  o Linux Red Hat 7.X, gcc-2.96.

    - The default compiler distributed by Red Hat since release 7.0 is
      NOT supported and not considered reliable for running a Geant4-based
      application. In more than one test case, binaries produced by gcc-2.96
      have shown incorrect behavior, either due to wrong order of
      initialisation of static data in memory or to bugs in the system
      iostream classes, problems which apparently have all been solved in
      more recent versions of the compiler (3.X series).
      For information, gcc-2.96 is a compiler that has never been
      officially released, nor supported by the GNU team itself and is not
      considered reliable by the authors (for more information, see also
      http://gcc.gnu.org/gcc-2.96.html).


5. Known Run-Time Problems and Limitations
------------------------------------------

For a complete list of outstanding run-time problems and to submit any
problem you may find running this version of Geant4, please refer to the
Geant4 Problem Reporting System, available on the Web at this address:

    http://cern.ch/geant4/problemreport


6. Compilation Warnings
-----------------------

There are compilation warnings on some platforms.  We do not believe
that any will lead to incorrect run-time behaviour, but we are working
on reducing them.


7. Known Run-Time Warnings
--------------------------

The following messages can be written to error output while tracking.
We believe none give rise to incorrect behaviour.

  o G4PropagateInField: Warning: Particle is looping 
    -  tracking in field will be stopped. 
       It has performed 10000 steps in Field while a maximum of 10000
       are allowed. 


8. Items for migration of user code
-----------------------------------

o Compilation/installation of the 'g3tog4' module is now -optional- in
  release 5.0 and can be triggered only if G4USE_G3TOG4 is set during
  installation.
o The new data sets for photon-evaporation and radioactive-decay are
  required, old data-sets are not compatible with this release.
o Definition of the state IDs in G4ApplicationState have changed to
  prepend the "G4State_" prefix to the original state ID (i.e. "Idle"
  becomes "G4State_Idle", "Init" becomes "G4State_Init", and so on...).
  The user code (particularly, user defined messengers defining state
  dependent commands) will need to migrate to this new convention.
o The interface for usage of the scintillation process has changed.
  Refer to the user's manual to learn about how to migrate the user code
  to use the new interface.
o Interfaces for importance biasing and scoring have substantially changed
  and migration of the user code using these classes is required. Refer to
  the user's manual to learn about how to migrate the user code
  to use the new interfaces.
o User defined solids will need to implement a new method:
      std::ostream& StreamInfo(std::ostream& os) const
  to dump solid's contents to an output stream.
  The method is now pure virtual in the base class G4VSolid.
o The base class G4VTrajectory has been enhanced and new pure virtual
  functions have been introduced in G4VGraphicsScene:
      void AddThis(const G4VTrajectory&)
      void AddThis(const G4VHit&)
  User inherited classes require concrete implementations of the methods
  above, as well.
