
                 Geant4 8.3 - patch-02 Release Notes
                 -----------------------------------

                                                           25 January 2008

List of fixes included in this public patch since the public release 8.3.p01:

  o Event:
    -----
    + G4ParticleGun:
      o Added class member 'particle_momentum' and method
        SetParticleMomentum().
      o Added private copy constructor and =, ==, += operators to
        Addressing problem report #984.
    + Modified G4SPSEneDistribution to adress problem report #988.
    + Fix to normalisation of source intensities with multiple sources
      in G4GeneralParticleSource::IntensityNormalization().

  o Geometry:
    --------
    + management:
      o Fixed typo in forcing minimum number of points in method
        G4VSolid::EstimateSurfaceArea(). Addresses problem report #981.
      o Added dummy constructor and destructor to G4VPVParameterisation.
    + navigation:
      o G4PropagatorInField:
        - Fixes for compilation of code under G4DEBUG_FIELD
          (problem report #982).
        - Changed condition for 'ReEstimationEndPoint' in order to better
          handle very strict parameters of propagation. Also added more
          verbosity in case of error for negative step.
          Fixes rare problem observed in production by ATLAS.
    + solids/Boolean:
      o Boosted performance for response of Inside() for G4SubtractionSolid
        and G4UnionSolid according to suggestion in problem report #979.
    + solids/BREPS:
      o Fixed bug in G4BREPSolidPolyhedra::DistanceToOut() for cases of
        particle passing the border of two touching surfaces.
      o G4BREPSolidBox: fixed problem in the constructor in definition of
        the side for the normal to surface.
    + solids/CSG:
      o G4Torus:
        - Fixed bug in CalculateExtent() for case of non-rotated full-Phi
          torus definition: added protection against negative value for sqrt()
          and corrected formula for 'delta'.
          Fixes problem of NaN detected in initialisation by CMS.
        - Fixed bug in SolveNumericJT(): corrected handling of complex roots.
          Addresses problem report #969.
      o G4Tubs: fixed bug in DistanceToOut(p,v,..) for negative value under
        sqrt() for the case of point p on the surface and v tangent to the
        surface. Responsible for rare cases of NaN.
      o Fixed problem of undefined side for valid surface normal in case of
        'Phi' section and direction through the center of either a G4Tubs or
        G4Cons shape.
    + solids/specific:
      o G4EllipticalCone:
        - DistanceToIn(p): corrected answer for p.z()<-zTopCut and for the
          point p on the surface.
        - DistanceToOut(p,v): now returning positive solution or zero when
          crossing the elliptical surface.
        - Fix in DistanceToOut(p) which was giving always zero.
        - Corrected visualisation error of solid in graphics_reps.
        - Added some formulas on how to pre-calculate 'SemiAxis' and 'zheight'.
      o Fixed dummy constructors of G4Polycone and G4PolyPhiFace for
        initialisation of 'edges' and 'corners'.
      o G4PolyconeSide: added workaround to initialisation of 'corners'
        vector, to allow for object persistency with Root-I/O.
      o Removed debug printout in G4Polycone::GetPointOnCone().

  o Global:
    ------
    + Changed date for patch-02 to release 8.3.

  o Hadronic Processes:
    ------------------
    + management:
      o G4HadronicProcess:
        - Fix in FillTotalResult() addressing problem report #967, replaced
          call to 'aT.GetGlobalTime()' with an internal variable.
          Use different G4DynamicParticle constructor and do not allow kinetic
          energy to be exactly 0. This partly removes a spurious peak at
          90 degrees.
      o Fixed memory leak with deletion of 'theIsoResult' and
        'theCrossSectionDataStore' in destructor.
      o Changed default for isotope production to off. Fixes a memory leak.
      o Removed effective charge calculation and unused variable 'newWeight'.
    + models/chiral_inv_phase_space:
      o Fixed problem of non-reproducibility induced by G4QElasticCrossSection
        and G4StringChipsInterface.
      o Reduced memory allocation induced by use std::deque collection in
        G4QHadron class; temporary workaround by replacing it with std::list.
    + models/high_energy:
      o G4HEInelastic::TuningOfHighEnergyCascading(): fixed incorrect
        assignment of leading particle to low energy backward nucleons and
        fragments. This bug caused high energy backward particles to be
        emitted from high energy collisions.
      o G4HEPionMinusInelastic: fixed incorrect 'Imax' in sampling of charge
        exchange.
    + stopping:
      o G4StopElementSelector: fixed typo in Primakoff formula for
        capture velocity.
      o G4MuonMinusCaptureAtRest: fixed old memory leak.
      o Removed old-style copyright from all headers and fixed Software
        Reference Manual tags.
      o Fixed signature of G4MuMinusCaptureCascade::DoCascade() expecting
        'const' as arguments for A and Z. Resolves linking problems on SUN-CC.


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

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

  o  This patch should be applied on top of release 8.3
  o  Technical notes distributed for release 8.3 are also applicable and
     valid for this patch.

The code and rebuilt binary libraries for release 8.3 are available
through our "Archive of Previous Releases" Web page:
   http://cern.ch/geant4/support/source_archive.shtml

Please refer to the Geant4 User Documentation:
   http://cern.ch/geant4/support/userdocuments.shtml
for further information about using Geant4.
