Warning, /geant4/CHANGELOG/Patch4.9.2-2.txt is written in an unsupported language. File is not indexed.
0001
0002 Geant4 9.2 - patch-02 Release Notes
0003 -----------------------------------
0004
0005 28 August 2009
0006
0007 List of fixes included in this public patch since the public release 9.2.p01:
0008
0009 o Configuration:
0010 -------------
0011 + Configure script:
0012 o Rewritten check on make/gmake on WIN32-VC systems to avoid problems
0013 with cygwin and Matlab.
0014 o Added check to build Qt driver only when Qt UI module is built;
0015 reordered moc checks and added cross-check on moc version.
0016 Added safety reset of OpenGL QT build and use variables.
0017 o Commented out echo compatibility warning.
0018 Addresses problem report #1067.
0019 + Corrections in analysis.gmk for AIDA setup on Windows.
0020 + Improved non-standard setup for Qt on Linux, Mac and Windows.
0021 + Removed "-lcxa -lunwind" LOADLIBS addition in Linux-icc.gmk,
0022 no longer necessary since icc version 11.0.083.
0023 + Added -arch_multiple option to LDFLAGS in Darwin-g++.gmk to force more
0024 diagnostics for wrong architecture errors at link stage.
0025 + binmake.gmk: moved definition of TARGOBJEXT to place not dependent
0026 on G4EXLIB, such that the extension is defined when no lib is present
0027 (change required for upgrading exercisers in testing).
0028
0029 o Digits_Hits:
0030 -----------
0031 + Replaced usage of non-Standard calls to sprintf() with ostringstream,
0032 to fix compilation errors reported by gcc-4.4.0 compiler.
0033
0034 o Environments:
0035 ------------
0036 + G4Py: updated configuration scripts and some minor fixes.
0037
0038 o Event:
0039 -----
0040 + Minor changes to G4GeneralParticleSourceMessenger to now use full range
0041 of predefined units for length, energy and angle.
0042 + Fixed gcc-4.4.0 compilation warning message for non-initialised variable
0043 in G4SPSEneDistribution.
0044
0045 o Geometry:
0046 --------
0047 + magnetic_field:
0048 o Minor enhancement in G4ChordFinder::ApproxCurvePointS() in order to
0049 speedup Brent locator.
0050 o Added 3rd term of BMT equation (Spin x Beta x Efield) to
0051 G4EqEMFieldWithSpin, as reported in the Emfield Hypernews Forum
0052 posting #155.
0053 o Moved renormalization of spin from G4EqEMFieldWithSpin and
0054 G4Mag_SpinEqRhs to G4ClassicalRK4 and G4SimpleHeum.
0055 o Added Spin propagation errors to the criteria for 'OneGoodStep' in
0056 G4MagIntegratorDriver; not added it yet to the decision logic.
0057 o Some code cleanup and formatting.
0058 + management:
0059 o Added explicit initialisation of min/max extent in method
0060 BuildReplicaVoxels() in G4SmartVoxelHeader.
0061 o Adopt 'const' references for strings as arguments/return-values in
0062 G4LogicalSurface. Some minor cleanup...
0063 + navigation:
0064 o Fix in G4Navigator::ComputeStep() for the computation of rotation of
0065 the 'LocalExitNormal' in cases when DistanceToOut() returns non-valid
0066 normal for optical photons in rotated solids.
0067 Addresses problem report #1059.
0068 o Fix in G4PathFinder: a geometry is at a boundary if its step is within
0069 tolerance of the minimum step for any defined geometry.
0070 o Enhancement to the 'FB_intersects' algorithm in order to speedup Brent
0071 locator.
0072 o Fix in the usage of the geometrical tolerance in G4VIntersectionLocator
0073 in method AdjustementOfFoundIntersection().
0074 o Fix in G4PropagatorInField::SetNavigator() to forward new navigator to
0075 G4VIntersectionLocator.
0076 o Added method BuildContainerSolid() taking a solid as argument to
0077 G4PhantomParameterisation and added protection to GetMaterialIndex()
0078 for zero index.
0079 + solids/CSG:
0080 o Introduced to DistanceToIn(p,v) splitting of the distance for point
0081 very far from intersection area and big difference between solid
0082 dimensions and distance to it; resolves issue observed on 64 bits
0083 systems. Affected solids: G4Tubs, G4Cons, G4Sphere, G4Orb.
0084 Addresses problem report #1022.
0085 + solids/specific:
0086 o G4Ellipsoid:
0087 - Fixes in Inside(p) and in DistanceToIn(p,v) for points
0088 located on the curved surface within tolerance. Final fix for issue
0089 reported in problem report #1050 and concerning warnings reported by
0090 grid_test.
0091 - Introduced to DistanceToIn(p,v) splitting of the distance for
0092 point very far from intersection area and big difference between
0093 solid dimensions and distance to it; resolves issue observed on
0094 64 bits problem. Also addressing problem report #1022.
0095 - Fix to DistanceToIn(p,v) in the calculation of the roots of
0096 the quadratic equation and in DistanceToOut(p,v) in the calculation
0097 of the normal on cut surfaces. Final fix for problem report #1022.
0098 - Adopt pre-computed half-tolerance values for optimisation.
0099 o G4PolyconeSide: added protection in method Normal().
0100 Addressing problem report #1073.
0101 o Corrected typo in base implementation of GetSurfaceArea() in
0102 G4VCSGfaceted, which was erroneously returning cubic volume estimation.
0103 Addresses problem report #1062.
0104 o Relaxed error in G4TessellatedSolid::Inside(p) to warning,
0105 for excess of max trials and anomalous conditions in distance
0106 calculation. Added more printout information when error condition is
0107 detected.
0108 + volumes:
0109 o Get rid of unnecessary call to Reset() in G4NavigationHistory
0110 destructor.
0111 o Some code formatting.
0112
0113 o Global:
0114 ------
0115 + Some improvements to G4String and G4SubString implementation of
0116 operators and comparison stub functions, to reduce generation of
0117 temporaries. Removed obsolete static hash(s) method in G4String.
0118 + Changed date for patch-02 to release 9.2.
0119
0120 o Particles:
0121 ---------
0122 + Ascertain that the absolute of the argument to boost is <1.0
0123 in G4MuonRadiativeDecayChannelWithSpin.
0124
0125 o Standard Electromagnetic Processes:
0126 ----------------------------------
0127 + Muons: added protection against numerical problem due to negative
0128 value of transfered energy in G4MuPairProductionModel.
0129
0130 o Hadronic Processes:
0131 ------------------
0132 + cross_sections:
0133 o G4IonsKoxCrossSection, G4IonsShenCrossSection, G4TripathiCrossSection,
0134 G4TripathiLightCrossSection: added protections against numerical
0135 exceptions. Added simple check that cross-section is positive and
0136 removed not optimal control in G4TripathiLightIonCrossSection class.
0137 Added default constructor and destructor to G4TripathiCrossSection.
0138 o G4GGNuclNuclCrossSection: updated Glauber-Gribov cross section for ions.
0139 o G4CrossSectionDataSetRegistry: fixes for better memory management.
0140 + models/neutron_hp:
0141 o Fixed bug in IC electron emissions for G4NeutronHPPhotonDist and
0142 G4NeutronHPInelasticCompFS.
0143 + models/parton_string:
0144 o Fix in G4SPBaryon for anti-baryon: a diquark & quark was given instead
0145 of anti-diquark & antiquark; note the reverse order, too.
0146 Fixes problems with incident anti-baryons, e.g. anti-proton,
0147 manifesting in problems with forming hadrons.
0148 o Changed pt sampling in G4LundStringFragmentation to avoid near endless
0149 loop; this should improve overall performance slightly.
0150 Addresses problem report #1066. Affected G4VLongitudinalStringDecay,
0151 where SampleQuarkPt() is implemented; added new optional argument of
0152 max Pt to SampleQuarkPt().
0153 o Modifications in G4GammaParticipants and G4QGSParticipants for
0154 applying QGSC from zero energy.
0155 + models/qmd:
0156 o Fixed bug in gamma (mass zero) participants in G4QMDCollision.
0157 o Changed object data member to pointer in G4QMDReaction.
0158 + models/rpg:
0159 o Removed global variables (pointers to static particle definitions) in
0160 G4RPGInelastic and replaced with local array. Fixing issues of wrong
0161 order for static initialization.
0162 + processes:
0163 o Fix to address problem report #1056: cross section data set now are
0164 created dynamically in G4PhotoNuclearProcess, G4ElectronNuclearProcess
0165 and G4PositronNuclearProcess.
0166 o Moved inline constructor and destructors to source in class
0167 G4PositronNuclearProcess.
0168
0169 o Generic Processes:
0170 -----------------
0171 + Cuts:
0172 o Added missing implementation of GetParticleType() in
0173 G4VRangeToEnergyConverter.
0174 o Replaced usage of std::abs() with std::fabs() where appropriate.
0175 + Optical:
0176 o Fix in G4OpBoundaryProcess for complex index of refraction: resample
0177 the reflectivity every time for DielectricMetal, and do not re-calculate
0178 normal to facet; also fixed possible infinite loop by resetting iTE and
0179 iTM inside GetReflectivity().
0180 o Added exception for cases where invalid normal is returned;
0181 following problem report #1060.
0182
0183 o Persistency:
0184 -----------
0185 + gdml:
0186 o Defined missing copy constructor and operator=() to G4GDMLMatrix
0187 internal class, to avoid cases of memory corruption when handling
0188 matrices.
0189 o Correction in materials and solids tags for allowing parsing of
0190 definitions within the tag scope; possibility foreseen by the schema.
0191 o Correction in G4GDMLWriteSolids::BooleanWrite() in order to handle
0192 cases of nested displaced solids given to both operands in a Boolean
0193 operation (ATLAS use case).
0194 o Renamed flag for maximum number of transformations applied to a solid
0195 and moved to G4GDMLWriteSolids base class.
0196 o First virtual layer for custom writer classes; added empty default
0197 constructor and virtual destructor to classes in new inheritance chain.
0198 o Restricted usage of loops only for placement of volumes. Now correctly
0199 handling most common use-case of multiple copies of the same
0200 volume/solid through loop statement. Addressing problem report #1063.
0201
0202 o Physics Lists:
0203 -------------
0204 + Fix to address problem report #1056: all cross section data sets are
0205 created dynamically and no longer member of the class.
0206 Fix in G4HadronInelasticQBBC: cross sections are created dynamically
0207 not by value, fission only instantiated for HP.
0208 + Inline constructor and destructors are moved to source for classes:
0209 G4VNeutronBuilder, G4VPiKBuilder, G4VProtonBuilder, G4WarnPLStatus.
0210
0211 o Visualization:
0212 -------------
0213 + HepRep: added inclusion of <cstdio> in DeflateOutputStreamBuffer
0214 header to resolve compilation errors reported by gcc-4.4.0.
0215
0216 o Examples:
0217 --------
0218 + Removed unnecessary AIDA setup in GNUmakefiles wherever necessary.
0219 + advanced/air_shower:
0220 o Updated README file.
0221 + advanced/nanobeam:
0222 o Fixed compilation warnings on gcc-4.3 on SLC5.
0223 + advanced/radiation_monitor:
0224 o Added macros reproducing run results: new results with proton at
0225 254MeV, 150 Mev and 50 Mev of energy; new macros with Kapton material.
0226 o Changed limits of LENeutronInelastic for 0.1 GeV in
0227 RadmonPhysicsNeutronBertini and RadmonPhysicsNeutronBinary classes.
0228 o Fix for compilation error in RadmonTLabelledCollection.
0229 + advanced/xray_fluorescence:
0230 o Reviewed physics setup and analysis.
0231 + extended/analysis/AnaEx01:
0232 o Corrected GNUmakefile and some cleanup.
0233 + extended/field/field04:
0234 o Commented out timing on initial seed for reproducibility of results.
0235 + extended/persistency/gdml/G01:
0236 o Modified loop.gdml to restrict multiple placements within a loop.
0237
0238 ----------------------------------------------------------------------------
0239
0240 Technical Notes
0241 ---------------
0242
0243 o This is a cumulative patch and can be applied on top of relese 9.2
0244 or 9.2.p01.
0245 o Technical notes distributed for release 9.2 are also applicable and
0246 valid for this patch.
0247
0248 The code and rebuilt binary libraries for release 9.2 are available
0249 through our "Download" Web page:
0250 http://cern.ch/geant4/support/download.shtml
0251
0252 Please refer to the Geant4 User Documentation:
0253 http://cern.ch/geant4/support/userdocuments.shtml
0254 for further information about using Geant4.