
                 Geant4 9.3 - patch-01 Release Notes
                 -----------------------------------

                                                              9 April 2010

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

  o Configuration:
    -------------
    + Configure script: 
      o Corrected settings of LD_LYBRARY_PATH for CLHEP for the case of static
        libraries build selection (path was set only for the dynamic libraries
        case...).
      o Corrected detection of Qt modules on MacOSX.
        Addressing problem report #1095.
    + binmake.gmk: removed extra space characters in definition of TARGOBJEXT,
      fixing issue with target for main() not being rebuilt according to
      dependencies change. Addressing problem report #1098.

  o Event:
    -----
    + Minor changes to G4GeneralParticleSourceMessenger to now use full range
      of predefined units for length, energy and angle.
    + Fixed gcc-4.4.0 compilation warning message for non-initialised variable
      in G4SPSEneDistribution.

  o Geometry:
    --------
    + management:
      o Fixed initialisation of min/max extent for mother and target volumes
        in method BuildNodes() of G4SmartVoxelHeader.
    + navigation:
      o Avoid unnecessary creation of debug string in G4PropagatorInField. 
        Also printout reformatting.
    + solids/specific:
      o Adopt caching of Phi in G4PolyconeSide and G4PolyhedraSide to avoid
        unnecessary consecutive computations on the same point.
      o Use kInfinity for initialising minimum and maximum allowed extent for
        G4SolidExtentList of faceted solids.
    + volumes:
      o Adopt assign() within copy-constructor of G4NavigationHistory.
        Should provide slight performance improvement.

  o Global:
    ------
    + G4PhysicsLogVector, G4PhysicsLnVector, G4PhysicsLinearVector: preserve
      values of 'edgeMin' and 'edgeMax' in constructors avoiding recomputation,
      to avoid precision problem; fixes problem detected on Windows/VC++.
    + Moved 'mem' pool in G4Allocator to public section, to allow for use of
      allocator in vectors on Windows/C++.
    + Changed date for patch-01 to release 9.3.

  o Materials:
    ---------
    + G4OpticalSurface: removed left-over debug test function OverWrite()
      from header.

  o Persistency (GDML):
    ------------------
    + Added missing reference attribute in G4GDMLWriteMaterials for dumping
      of materials property vectors. Increased string buffer in G4GDMLWrite.
      Addressing problem report #1104.
    + Corrected import of surface properties in G4GDMLReadSolids for the case
      of recursive read of files.
    + Added IsValid() method to parser to verify if variable/constant/quantity
      is defined and is valid. Added const qualifier to reader accessors in
      parser.

  o Low-energy Electromagnetic Processes:
    ------------------------------------
    + Modified hydrogen correction in G4DNARuddIonisation.
    + Re-added vapor water shell constants to G4DNARuddIonisationModel
      and modified electron correction.
    + Extended low energy cover of G4DNA charge change processes
    + Improved way of testing material in Geant4-DNA models.
    + Fixed initialisation of 'atomTotalCrossSection' in
      G4hShellCrossSectionDoubleExp.

  o Standard Electromagnetic Processes:
    ----------------------------------
    + High Energy:
      o G4mplIonisation: fixed IsApplicable() method, now returning always
        "true". Addresses a problem report by CMS about crashes in the case
        when several types of monopoles are instantiated.
    + Standard:
      o G4CoulombScatteringModel: added comments to relativistic formula.
      o G4eCoulombScatteringModel: added method SetLowEnergyLimit().
      o G4CoulombScattering: removed inlined method SetBuildTableFlag()
        hiding implementation in the base class.
      o G4PolarizedComptonScattering: added message for obsolete process.
      o Use data for Oxygen (G4_O) from ICRU'49 instead NIST for alpha stopping
        power. Fixes problem of data corruption when such material is used.
    + Utils:
      o G4EmCorrections: added protection against large Barkas and Bloch
        corrections in the case of large negatively charged particle
        (Q^2 > 50); addresses problem of simulation of highly charged
        exotic particles reported by ATLAS.
      o Code cleanup in G4EmCalculator.
      o G4VEmProcess: added protection against negative cross section.
        Moved SetBuildTableFlag() method from protected to public.
        Fixed problem for ion processes by adding pointer to 'currentParticle'
        which may be different from generic ion.
      o G4VEnergyLossProcess: added protection against negative cross
        section, and improved logic in RetrieveTable() method.
      o Reordered inline methods and improved comments in classes G4VEmModel,
        G4VEmProcess, G4VEnergyLossProcess, G4VMultipleScattering and
        G4LossTableManager.

  o Hadronic Processes:
    ------------------
    + cross_sections:
      o G4CrossSectionDataSetRegistry: do not pop_back vector of pointers
        when deregistering cross-section data set; addresses problem detected
        on Windows/VC++.
      o G4UPiNuclearCrossSection: fixed bug for high Z (>83) atoms.
      o Cache computation of std::pow() in GetCaptureCrossSection() method of
        G4HadronCrossSections, avoiding repeated calls with same argument.
    + models/cascade:
      o G4InteractionCase: minor change in initialisation in constructor to
        allow for porting on C++0x Standard.
    + models/CHIPS:
      o Correction of mass in G4Quasmon, and fix of memory corruption in mass
        calculation; 
      o Tuning of parameters and fixed bug in CHIPS fragmentation.
    + models/de_excitation:
      o G4ExcitationHandler: activated Fermi-BreakUp by setting limits to the
        default values (Z=9 and A=17) for this model.
    + models/high_energy:
      o Fixed segmentation fault in G4HEKaonZeroLongInelastic and
        G4HEKaonZeroShortInelastic due to local instantiation and subsequent
        deletion of the K0 and anti-K0 models. As added feature, the production
        of K0 and anti-K0 outside the nucleus is now prohibited.
    + models/management:
      o G4HadronicInteractionRegistry: do not pop_back vector of pointers
        when deregistering cross-section data set; addresses problem detected
        on Windows/VC++.
    + models/neutron_hp:
      o Add 'Ignore' and 'Enable' methods for on-flight Doppler broadening
        in G4NeutronHPElasticData, G4NeutronHPInelasticData and
        G4NeutronHPCaptureData, which can now be set from the physics-lists.
    + models/pre_equilibrium:
      o Added protections for numerical computations to G4PreCompoundEmission.

  o Generic Processes:
    -----------------
    + Cuts:
      o Fix in G4ProductionCutTable to solve problems with zero range for
        protons.
    + Optical:
      o Fixed problem of initialization of 'PropertyPointers', now set to
        NULL at the start of PostStepDoIt(). Addresses problem report #1094.

  o Physics Lists:
    -------------
    + QBBC: fixed hadron inelastic configuration; instantiated
      G4PreCompoundModel and its pointer propagated to all high energy models.
      Use CHIPS for anti-protons to fix crash in FTF.

  o Track:
    -----
    + Replace string data member to a pointer in G4VUserTrackInformation
      for property to indicate type of UserTrackInformation; helps in reducing
      unnecessary memory churn reported by CMS.
    + Modified G4VUserTrackInformation::Print() method from pure-virtual to
      simple virtual.

  o Tracking:
    --------
    + G4RichTrajectory: Fixed bug in MergeTrajectory(), to not invoke
      G4Trajectory::MergeTrajectory().
    + G4RichTrajectory and G4RichTrajectoryPoint: eliminated spaces in
      G4AttValue values; G4AttValue() values are "None" for attributes
      derived from zero pointers.

  o Visualization:
    -------------
    + gMocren: fixed file-I/O bug in G4GMocrenFileViewer and G4GMocrenIO;
      fix in G4GMocrenFileSceneHandler to allow for porting on C++0x Standard,
      also use G4 types in consistent way. Removed debug code with printout.

  o Examples:
    --------
    + Migrated physics-lists to use particle-based multiple-scattering
      wherever necessary, and updated reference outputs.
    + advanced/microbeam:
      o Added density initialisation in MicrobeamPhantomConfiguration and
        changed material/density selection.
    + advanced/microdosimetry:
      o Disable use of G4UItcsh on Windows.
    + advanced/underground_physics:
      o Physics list migrated from LowEnergy processes to the new Livermore
        models. Physics results unchanged for gamma/e-. Possible differences
        with ions/protons.
      o Corrected analysis-manager to solve a problem with the HBOOK output
        files (ntuples not filled, histograms not saved).
        Get rid of a warning message and allocation problems with ntuple2.
    + extended/field/field04:
      o Fixed compilation error on Windows in F04RunAction.
    + extended/hadronic/Hadr01:
      o Fixed problem of counting of particles leaked from the target.
      o When PhysList defined via PHYSLIST environment variable still
        make local PhysList messenger available to avoid crash in old macro.
    + extended/optical/wls:
      o Added missing initialization macro init.in.
      o Replaced use of 2*M_PI with CLHEP::twopi.
    + extended/persistency/gdml/G01:
      o Added printout of associated auxiliary information value.
      o Corrected typo in replicated.gdml file.
    + extended/persistency/gdml/G03:
      o Disable use of G4UItcsh on Windows.
    + extended/visualization/userVisAction:
      o Introduced G4UIExecutive.
    + novice/N02:
      o Correction in DetectorConstruction::SetMagField() to invoke
        fpMagField->SetMagFieldValue().
    + novice/N03:
      o visTutor: corrected exN03Vis14.mac and exN03Vis15.mac to enable
        visualization of tracks and removed redundancy; updated gui.mac
        adding missing macros and correcting order; corrected comments
        wherever necessary.

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

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

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

The code and rebuilt binary libraries for release 9.3 are available
through our "Download" Web page:
   http://cern.ch/geant4/support/download.shtml

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