
                 Geant4 10.3 - patch-01 Release Notes
                 ------------------------------------

                                                                 24 February 2017

List of fixes included in this public patch since the public release 10.3:

  o Configuration:
    -------------
    + CMake:
      o Updated data-sets to G4PhotonEvaporation-4.3.2 and
        G4RadioactiveDecay-5.1.1.

  o Analysis
    --------
    + Restored clean-up of Root empty files in MT mode.

  o Geometry:
    --------
    + solids/Boolean:
      o Return normal from solid being subtracted, in case point is located
        outside in G4SubtractionSolid::SurfaceNormal().
      o Code formatting and minor cleanup in G4IntersectionSolid.
    + solids/CSG:
      o Use radius differences and hypot to improve precision in G4Torus.
        Addressing problem report #1931.
      o Fix in GetCubicVolume() and GetSurfaceArea() for G4CutTubs, to make
        use of the cached values. Addressing problem report #1943.
      o Removed redundant code/checks in G4Orb::SurfaceNormal().
    + solids/specific:
      o Correction in G4UExtrudedSolid to signature for CalculateExtent().
        Fixes issue of undefined symbol if extruded-solid not included in the
        list of VecGeom wrappers to activate.
    + volumes:
      o Correction in G4NavigationHistory default constructor to use
        GetLevels() instead of GetNewLevels() from G4NavigationHistoryPool,
        to favor re-use of already allocated space.

  o Global:
    ------
    + Removed obsolete G4SubString code used internally in G4String, as no
      longer necessary and also including unnecessary and buggy operators.
      Addressing problem report #1864.
    + Updated date and version for 10.3.p01.

  o Intercoms:
    ---------
    + Added "/control/useDoublePrecision" UI command to extend to 17 digits
      precision printout for the current parameter values.
      Addressing problem report #1921.

  o Interfaces:
    ----------
    + G4UIQt: added missing check for pointer deletion.
      Addressing problem report #1933.

  o Materials:
    ---------
    + Removed debug printout from G4MaterialPropertiesTable destructor.
      Addressing problem report #1944.

  o Particles:
    ---------
    + Fixed calculation of neutrino mass in G4MuonRadiativeDecayWithSpin.
      Addressing problem report #1928.
    + Added class G4AdjointElectronFI.

  o Physics Lists
    -------------
    + constructors/decay:
      o G4RadioactiveDecayPhysics: simplified list of EM parameters.
        Switch on storing of all internal conversion data vector for correct
        gamma deexcitation modeling in radioactive decay.
    + constructors/electromagnetic:
      o Added 'setCerenkov/ScintillationStackPhotons' commands to
        G4OpticalPhysicsMessenger and use them in G4OpticalPhysics.
    + constructors/hadron_inelastic:
      o Fixed printing of setup for transition energy region between FTFP
        and BERT  to happen only from master thread.
    + constructors/limiters:
      o Fixed printing of setup parameter for nureon tracking cuts to happen
        only from master thread.
    + lists:
      o G4PhysListFactory: added single scattering EM option (need to add
        "__SS" to the reference physics list name for activation).

  o Processes - Electromagnetic:
    ---------------------------
    + adjoint:
      o Correction for cases of FPE in G4AdjointForcedInteractionForGamma.
    + dna:
      o Prevent a crash when calling G4ITTrackingManager::EndTracking() from
        the UserTimeStepAction::PostTimeStepAction.
      o Added missing call to tracking-manager.
      o Code cleanup in G4KDNode and G4KDMap.
    + utils:
      o Fixed typo in G4EmParametersMessenger. Addressing problem report #1929.

  o Processes - Hadronic:
    --------------------
    + models/de_excitation:
      o G4LevelManager, G4NuclLevel, G4LevelReader: reduce memory for description
        of a level: each two integer parameters are packed into one integer value;
        use only one set of probabilities of transition independently on use-case
        (HEP or radioactive decay). Fill internal conversion coefficients into the
        data structure only if a flag SetStoreAllLevels() is set to true; in the
        last case, more memory required per isotope (~8 times).
      o G4LevelManager: fixed unpacking of spin.
      o G4LevelReader: fixed Ra228 problem; read all levels from a data file.
        Fixed U235[0.076] problem: if value of alpha (relative probability of the
        internal conversion) is 10^10, then assume that internal conversion will
        go via outer levels and gamma emission has zero probability; internal
        conversion is forced independently on other flags.
      o G4NucLevel: in TransitionType, use % operator to correctly strip off
        leading digit.
      o G4GammaTransition: sample e- with kinetic energy corresponding to
        transition between nuclear levels, ignoring atomic effects, when internal
        conversion data are not filled but sampling e- emission is selected.
        In SampleDirection(), fix to avoid only zero polarization returned;
        return back sampling when initial state has angular moment but its
        polarisation is random; also fix in order to comply with instructions in
        G4PolarizationTransition for the call order and to properly initialize
        the nuclear polarization.
        Use SetExcitationEnergy() method of G4Fragment for keeping excitation
        energy exact as in the database and avoid rare cases of event
        non-reproducibility; added SetVerbose() method.
        Fixed multipolarity based on the updated data-set.
        Added control on printout; fixed thread unsafe check.
      o G4PhotonEvaporation, G4GammaTransition: improved sampling and kinematics
        for internal conversion. Added internal conversion in G4PhotonEvaporation
        even if the data are not stored.
      o G4PolarizationTransition: fix for computation of polarisation and
        multi-polarity. Fix in SetGammaTransitionData().
        Added SetVerbose() method; added protection from extra verbosity.
      o G4ExcitationHandler: moved Dump() printout within Initialise()
        method; print info if evaporation channels are changed.
        Added local data member to control verbosity level.
      o G4ExcitationHandler, G4PhotonEvaporation: use floating level number.
      o G4DeexPrecoParameters: changed default time limit from 0.01 s to
        1 microsecond. By default use uniform angular distribution in CM
        system of precompound decay. Extended Dump() printout; make new data
        structure the default. By default, use uniform angular distribution
        in CM sytem of precompound decay.
        Changed minimum excitation energy now set to 10 eV (was 100 eV).
      o G4VEvaporation: added extra const access method.
      o G4Evaporation: added data member to control verbosity level.
      o Fixed case of event non-reproducibility due precision lost in
        Lorentz transformations.
      o G4LevelReader: in the case of broken file structure or absence of
        a data file a fatal exception is issued.
        Addressing problem report #1942.
    + models/im_r_matrix:
      o G4VScatteringCollision: fixed memory leak in MT-mode.
        Addressing problem report #1905.
    + models/radioactive_decay:
      o G4ITDecay: in constructor, make G4PhotonEvaporation a class member 
        and initialize only once to avoid memory churn.
        Added check on Z, A, excitation energy in order to be sure that
        correlated gamma may be sampled; reset 4-momentum at rest when previous
        nucleaus is reused; use floating level index when a new ion is created.
      o G4RadioactiveDecay: temporarily switched off correlated gamma emission,
        to limit observed event non-reproducibility violations.
    + models/util:
      o G4Fragment: minor cleanup of check on excitation energy of a ground
        state. Added method SetExcEnergyAndMomentum() allowing to preserve
        excitation energy value without precision lost; 4-momentum is
        recomputed. Added missing class member and accesors/modifiers for
        floating levels number.
      o Added control on printout in G4PolynomialPDF.

  o Run:
    ---
    + Modifications to fix bug with reverse track splitting.
      Added function ResetDidOneAdjPartReachExtSourceDuringEvent() to
      G4AdjointSimManager and use it in G4AdjointPrimaryGeneratorAction.
    + Fixed printing of banner to happen only from master thread.

  o Tracking:
    --------
    + Modification in G4AdjointSteppingAction for fixing bug with reverse
      track splitting.

  o Visualization:
    -------------
    + management:
      o Fix in G4VisCommandsViewer to have '/vis/viewer/interpolate' to work
        on Windows.
    + OpenGL:
      o Fixed bug in ScaledFlush.
    + OpenInventor:
      o G4OpenInventorXtExtendedViewer: added viewer button for Wireframe/Solid
        switching. Added workaround to prevent empty second page in PS and PDF
        output (due to superimposed scene).
    + RayTracer:
      o G4RTXScanner: changed XA_RGB_BEST_MAP to XA_RGB_DEFAULT_MAP.

  o Data sets:
    ---------
    + Patched data set for nuclides properties G4PhotonEvaporation-4.3.2:
      o Corrected correlated_gamma files for the uncorrect setting of the
        multipolarity E0 as -1. Now considering E0,E1,M1, as 1,2,3,.....
        The value of = is for unkown.
      o Corrected correlated_gamma files z64.a148,z64.a149,z64.a150,z81.a194
        for problem of order of level index.
    + Patched data set for radioactive-decay, G4RadioactiveDecay-5.1.1:
      o Correction of negative Q value for metastable 190+X level in z77.a194. 
      o Correction of z38.a85 (Sr-85) with input data from DDEP.
        Addressing problem report #1922.

  o Examples:
    --------
    + Updated reference outputs.
    + advanced/hadrotherapy:
      o Fixed field setup; corrected physics-list.
        Addressing problem report #1879.
    + extended/exoticphysics/ucn:
      o Reduced verbosity.
    + extended/medical/dna/pdb4dna:
    + extended/medical/dna/wholeNuclearDNA:
      o Fixed compilation problem when Qt is enabled.

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

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

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

The code and rebuilt binary libraries for release 10.3.p01 are available
through our "Download" Web page.

Please refer to the Geant4 User Documentation for further information about
using Geant4.
