Geant4 9.1 - patch-02 Release Notes ----------------------------------- 9 May 2008 List of fixes included in this public patch since the public release 9.1.p01: o Configuration: ------------- + Fixed in liblist.c use of gets() by adopting safer fgets(). + Linux-icc.gmk: updated setup to make use of icc-10.1 and ifort-10.1; changed compilation option "-mp" to more performant "-fp_model precise". + Linux-g++.gmk: Replaced g77 with gfortran compiler. o Environments: ------------ + Fixed compilation problems. + Make direct usage of tags in G4Version header. o Geometry: -------- + Cleared compilation warnings detected on gcc-4.3.0. + magneticfield: o Fixed 'unused' non-initialized values of dydx in classes G4EqMagElectricField and G4EqEMFieldWithSpin. + management: o Added missing protected copy-contructor and assignment operator for G4VSolid. o Added Shrink() and Reserve() methods to G4SmartVoxelNode to be used for debugging studies. + navigation: o G4PathFinder: commented out warning and exception in ComputeStep() for steps smaller than minimum threshold. + solids/CSG: o G4Cons: added protection against NaN in GetPointOnSurface() in the case the check is run for Rmax1==Rmax2. o G4Trap: corrections for arithmetic operations in 8-point constructor. Addressing problem report #934. + solids/specific: o G4ExtrudedSolid: bug fix in MakeFacets() to fill 'fTriangles' also in case of polygon with 3 or 4 vertices, as they are needed for Inside(p). Fix in Inside(p) for correctly handling the case of points located on the edges of triangles which are not the outline edges of the polygon. o G4TessellatedSolid: fixed bug in copy-constructor and internal method CopyObjects() for cloning of facets. Fix in DistanceToOut(p,v,..) to compute normal only if specified by flag in input. o G4Polyhedra: fixed problem of out-of-bound access to vectors in method GetPointOnSurface(). o G4IntersectingVone: added protection against NaN in LineHitsCone1() in case of configurations where a conic section becomes a tube. Added kCarTolerance in definition of "low" and "high" cone limits in R and in Z in order to protect against numerical errors; this fixes cases of DistanceToIn(p,v) returning 'kInfinity' when p+t*v cross intersection between two cones. o G4EllipticalCone: removed some debug printouts. o G4Hype: refined polyhedron representation for correct visualization of the shape. o Global: ------ + Introduced inclusion of and in G4String.hh and templates.hh respectively for porting on gcc-4.3.0 compiler. + Cleared compilation warnings detected on gcc-4.3.0 + Removed useless specification of units in implementation of G4GeometryTolerance::SetSurfaceTolerance(). + Changed date for patch-02 to release 9.1. o Graphics Representations: ------------------------ + Added G4Hype representation to HepPolyhedron and G4Polyhedron. + Added inclusion of in HepPolyhedron.cc for porting on gcc-4.3.0 compiler. o Materials: --------- + G4NistMaterialBuilder: using correct dimension for the density for ConstructNewMaterial() methods. + G4Material: improved printout in error conditions by specifying the name of the material affected. o Particles: --------- + G4ParticleTable: fixed implementation of methods Remove() and RemoveAllParticles() so that particle definition objects are properly deleted when invoking these methods between runs. It's user's responsibility to delete dynamically instantiated particle objects. Added method DeleteAllParticles() to remove and delete all particles in the list. Addressing problem report #1007. + Fixed bugs in G4Iontable::Remove() and G4ShortLivedTable::Remove(). o Physics Lists: ------------- + Fixed deletion using uninitialized pointers in FTF-BIC, for classes HadronPhysicsFTF_BIC, G4FTFBinaryNeutronBuilder and G4LEPNeutronBuilder. o Electromagnetic Processes: ------------------------- + Standard: o G4UrbanMscModel90, G4UrbanMscModel: fixed asymmetry of lateral displacement. o G4ionIonisation: adopt 'linLossLimit' 0.15 as it was originally in 9.1. o G4IonFluctuations: fixed discontinuity of width correction factor for small velocities and added a protection to its value (factor>1), which fixes very long alpha events. + Utils: o G4EmCorrections: set finite size correction to zero (provides flat distribution of vertex detector response for high energy hadrons). o G4ionEffectiveCharge: minor change of numerical constants to provide continuous change of charge versus energy. o Hadronic Processes: ------------------ + Cleared most compilation warnings detected on gcc-4.3.0. + cross_sections: o G4NeutronInelasticCrossSection: fixed bug which used to return zero cross section for 3He. o G4TripathiLightCrossSection: fixed bug in method IsApplicable() to use GetN() instead of GetA() for target. o Added capability to use element-based cross section data sets if no isotope-based ones are available. This is required to get the HP neutron code to work within the cross section framework introduced in version 9.0. Added internal method to class G4CrossSectionDataStore. + models/cascade: o Added Coulomb barrier in G4EquilibriumEvaporator. o Changed pp, nn total cross section parameterization in class G4CascadSpecialFunctions to more closely reflect the PDG values; fixed cross section bug responsible for returning low or zero total cross sections for pi-p, pi+n, np, and pi0 interactions. + models/chiral_inv_phase_space: o Modified G4QElasticCrossSection to fix problem with quasi-elastic. When run together with elastic, the parameters to sample T were not updated, this fix is to always update these. o Fixed case of exceeded boundary bounds in G4QCollision. o Check on tolerance is replaced by check on exact equality for fixing event reproducibility. + models/coherent_elastic: o G4HadronElastic: added extra protection against precision lost when projectile almost lost kinetic energy; set 'lowestEnergyLimit' to be 1.e-6*eV (was 0.0). Added extra protection: if sampled t out of the physics range then no scattering. o G4UHadronElasticProcess: call to G4QElasticCrossSection with option "false", so parameters for sampling of scattering are precalculated. + models/neutron_hp: o Fix against cases of division by zero. o Fixed erroneous condition in G4NeutronHPContAngularPar. o To increase performance, checking point of "neglecting doppler broadening" flag is changed from GetCrossSection() method to BuildPhysicsTable(). + models/theo_high_energy: o Added missing Fermi momentum to quasi elastic scattering. + stopping: o G4MuMinusCaptureCascade: fixed case of NaN value in bound muon decay. o Generic Processes: ----------------- + Decay: o Added protection to properly handle shortlived particles with finite pre-assigned proper time. + Management: o Fixed bug related to invoking ResetNumberOfInteractionLengthLeft() at the zero length step o Allow zero mean free path for PostStepDoIt(). + Parameterisation: o Cleared compilation warnings detected on gcc-4.3.0. o Run: --- + Added G4Transportation to shortlived particles in G4VUserPhysicsList in order to fix problem of non-assigned process for shortlived particle decay detected in CMS. o Examples: -------- + advanced/underground_physics: o Fixed mis-sized arrays 'ring_phys_gas' and 'ring_phys_liq'; both were less than the utilized size. + extended/field/field02: o Fixed setup to correctly handle electric field. + extended/field/field04: o Fix to avoid error for invalid rotation specification in F04DetectorConstruction::stringToRotationMatrix(). ---------------------------------------------------------------------------- Technical Notes --------------- o This patch should be applied on top of release 9.1 o Technical notes distributed for release 9.1 are also applicable and valid for this patch. The code and rebuilt binary libraries for release 9.1 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.