Warning, /geant4/CHANGELOG/Patch4.10.1-2.txt is written in an unsupported language. File is not indexed.
0001
0002 Geant4 10.1 - patch-02 Release Notes
0003 ------------------------------------
0004
0005 19 June 2015
0006
0007 List of fixes included in this public patch since the public release 10.1.p01:
0008
0009 o Configuration:
0010 -------------
0011 + CMake:
0012 o Added extensions to allow use of system CLHEP granular libraries.
0013 Provide new advanced option GEANT4_USE_SYSTEM_CLHEP_GRANULAR, which can
0014 be set to enable use of CLHEP granular libraries from the system; when
0015 activated, use new FindCLHEP interface to search for Geant4's required
0016 Export and document a new variable "Geant4_system_clhep_ISGRANULAR" that
0017 clients can query to check whether the system CLHEP was linked in granular
0018 mode. Support CLHEP granular library listing in '--libs' argument.
0019 Added CLHEP_ROOT_DIR to CMake cache, allowing it to be edited in the
0020 CMake curses/GUI.
0021 o Updated AppleClang version regex to properly parse LLVM version
0022 number in Xcode 6.3.
0023 o Corrected Qt5 settings for test applications.
0024 o Added '-no-gcc' compilation option for Intel-icc compiler.
0025 + GNUMake:
0026 o Updated CPPFLAGS for Linux-icc and WIN32-g++ configurations.
0027
0028 o Analysis:
0029 --------
0030 + Updated to g4tools 1.17.2: changes for Windows (MinGW) to use '_MSC_VER'
0031 in place of 'WIN32' flag. Addressing problem report #1721.
0032
0033 o Event:
0034 -----
0035 + Increased level of verbosity of /gps/verbose command.
0036 /gps/verbose now acts globally on all sources in case of multiple ones
0037 (no need to activate verbosity for each source).
0038 Protecting the command /gps/source/set in case of out-of-bound index.
0039 Addressing problem report #1744.
0040 + Clean up code and removed not needed thread-local data that
0041 need to be shared for UI commands to work properly.
0042 + Fixes for Coverity defects.
0043
0044 o Externals:
0045 ---------
0046 + CLHEP:
0047 o Fixed usage of std::abs() in RandGaussZiggurat.
0048 o Moved static methods handling static data in G4RandGauss from inline
0049 to source. Addressing problem report #1754.
0050 o Switch off warnings for deprecated calls to auto_ptr in Utility headers.
0051 + USolids:
0052 o Corrected string returned as type-ID by GetEntityType() to conform
0053 to shape kind in: UExtrudedSolid, UMultiUnion, UQuadrangularFacet,
0054 UTessellatedSolid, UTrap, UTriangularFacet and UVCSGfaceted.
0055 o Replaced Exception IDs in UUtils to avoid clashes with wild global
0056 extern functions in Root.
0057 o UVector3: made data private and defined accessors x(), y() and z().
0058 Made implementations operators +(), -(), *(), and /() inline.
0059 Adapted all classes to the change.
0060 o Fixed DistanceToOut(p) and Inside(p) in USphere for sphere cut in theta
0061 for point (0,0,0) and for cases when Start/End angle have not to be taken
0062 in account (STheta==0 || eTheta==pi).
0063 o Added method GetPointOnEdge() to UBox.
0064 o Fixed Coverity defect for unused variable quantity in UCons.
0065 o Some code cleanup and minor fixes...
0066
0067 o Geometry:
0068 --------
0069 + divisions:
0070 o G4VDivisionParameterisation: avoid creation/deletion of rotation matrix
0071 for ChangeRotMatrix(). Addressing problem report #1743.
0072 o Fixed Coverity defect in G4ReplicatedSlice for uninitialised pointer.
0073 + management:
0074 o Added streaming operator <<() to G4AffineTransform.
0075 o Removed unused data-member in G4LogicalVolume, and fixed minor
0076 Coverity defect for unitialised member 'fBiasWeight' in constructor.
0077 o G4USolid: use accessors x(), y() and z() from UVector3, instead of
0078 directly accessing its data-members.
0079 Use scoped enum for EnumSide if c++11 enabled.
0080 + navigation:
0081 o Enabled ComputeStep() in navigation helper classes (Normal, Voxel,
0082 and Parameterised) to recognise invalid points outside the mother
0083 volume. Before it was not recognised, but used instead as a numeric
0084 value (kInfinity). In case it was kInfinity, this meant the volume
0085 could not be chosen, and the track never exited the volume. This
0086 invalid response now triggers an immediate exit from the volume
0087 and daughters do not need to be considered.
0088 Use return value of motherSolid DistanceToOut(p,v), each time
0089 that it is called. Correct 'invalid' answer ('kInfinity' or
0090 negative) to zero.
0091 o Improvements in G4PropagatorInField to enable identification of first
0092 and last step in a volume, when tracking in a field.
0093 Addressing old problem report #1032.
0094 Added new methods to report looping and stuck tracks and correction
0095 for roundoff issue.
0096 o NavigationLogger: added method for Reporting a point is outside the
0097 mother volume: CheckAndReportBadNormal(), CheckDaughterEntryPoint().
0098 o G4AuxiliaryNavigationServices: optimised to reuse dot product, rather
0099 than recomputing; added optional printout (protected by debug flag).
0100 o G4VIntersectionLocator: added PrintStatus() method with additional
0101 ostringstream argument.
0102 o Code cleanup and various minor fixes.
0103 + solids/Boolean:
0104 o G4UMultiUnion: use accessors x(), y() and z() from UVector3, instead
0105 of directly accessing its data-members.
0106 + solids/CSG:
0107 o Fixed calculation of Normal in G4Para for kPX and kMX sides in
0108 DistanceToOut(p,v) and ApproxSurfaceNormal(p).
0109 Addressing problem report #1736.
0110 o Fixed DistanceToOut(p) and Inside(p) in G4Sphere for sphere cut in theta
0111 for point (0,0,0) and for cases when Start/End angle have not to be taken
0112 in account (STheta==0 || eTheta==pi).
0113 Added corresponding test cases to unit test for testG4Sphere.
0114 Fix triggered by analysing setup provided in problem report #1702.
0115 o Use accessors x(), y() and z() from UVector3 in USolids wrappers, instead
0116 of directly accessing its data-members.
0117 o Fixed Coverity defect for unused variable quantity in G4Cons.
0118 + solids/specific:
0119 o Use accessors x(), y() and z() from UVector3 in USolids wrappers, instead
0120 of directly accessing its data-members.
0121 + volumes:
0122 o Simplified implementation in G4NavigationHistoryPool to make use of simple
0123 stack of free entries. Pre-allocate size of vectors and inlined GetLevels().
0124 Also addressing problem report #1730.
0125
0126 o Generic Processes:
0127 -----------------
0128 + Transportation:
0129 o G4Transportation, G4CoupledTransportation: added ability to identify last
0130 step in volume for the case of propagation in field.
0131 Addresses old problem report #1032.
0132
0133 o Global:
0134 ------
0135 + Fix in G4StatDouble to return RMS 0 instead of -1 in the case the number
0136 of entries is below 2 (fixes arithmetic exceptions in examples for run
0137 with 1 event only).
0138 + Fixed bug in G4CacheReference::Destroy(); modified behavior to identify
0139 internal inconsistencies and throw exception.
0140 + Added copy constructor and assignment operator to G4Cache.
0141 Addressing problem report #1739.
0142 + Corrected logic for use of TLS on clang compiler for the Random module.
0143 + Added guard against potential loop in G4RandomTools::G4LambertianRand().
0144 + Added "g/mole" Molar mass definition to G4UnitsTable.
0145 + Define G4THREADSLEEP(tick) macro in G4Threading.hh also for sequential
0146 builds.
0147 + Updated date and version for 10.1.p02.
0148
0149 o Materials:
0150 ---------
0151 + G4NistManager: corrected printout of elements and materials.
0152 Addressing problem report #1747.
0153
0154 o Persistency:
0155 -----------
0156 + GDML:
0157 o Added missing "dichroic" surface model for optical property,
0158 consistent with addition done since release 10.0.
0159 o Avoid use of standard evaluator for import of units; adopt G4UnitsTable
0160 instead, in order to avoid loss of precision due to unit's conversion.
0161 o Correction for optional stripping of world-volume.
0162 o Corrected parsing of shape type-ID for MultiUnion in G4GDMLWriteSolids.
0163 o Improved text in G4Exception for failed import of file in G4GDMLRead.
0164 o Fixed non-initialised boolean flag in G4GDMLRead, reported by Coverity.
0165
0166 o Physics Lists:
0167 -------------
0168 + constructors/gamma_lepto_nuclear:
0169 o G4EmExtraPhysics, G4EmMessenger: clean up messenger and added new
0170 UI commands. Addresses problem report #1752.
0171 o Fixed Coverity defects.
0172
0173 o Processes - Electromagnetic:
0174 ---------------------------
0175 + dna:
0176 o Fixed reproducibility of the chemistry module.
0177 o Fixed bug for "no reaction table found"; new class G4ITReaction.
0178 o Added Fe56 into G4DNARuddIonisationExtendedModel.
0179 o BornIonisation: corrected array cleaning.
0180 o ScreenRutherfordElastic: corrected retrieval of water density.
0181 o Added missing virtual GetValue() method in G4DNAChemistryManager.
0182 o Removed "virtual" keyword when accessing position in G4IT.
0183 o G4shared_ptr refers to std::shared_ptr when C++11 is activated.
0184 o Some code cleanup.
0185 + high-energy:
0186 o G4eeTo3PiModel: do not use default constructor for G4LorentzVector.
0187 + low-energy:
0188 o G4LivermorePhotoElectricModel: implemented protection to avoid rare
0189 precision lost in de-excitation.
0190 o G4EMDataSet: fixed Coverity defects.
0191 + standard:
0192 o G4WentzelVIModel: repeat check on safety for new steps.
0193 In SampleScattering optimized use of random engine.
0194 o G4UniversalFluctuation, G4KleinNishinaCompton, G4KleinNishinaModel:
0195 define local pointer to random engine.
0196 o G4WentzelOKandVIxSection: improved angular sampling.
0197 o G4KleinNishinaModel, G4WentzelOKandVIxSection: accurate initialisation
0198 of G4ThreeVectors and G4LorentzVector in constructors.
0199 o G4PAIModel, G4PAIModelData, G4PAIPhotModel, G4PAIPhotModelData: fixed
0200 initialisation of cuts to happen only in run-time methods; added copy
0201 of vector of G4MaterialCutsCouple from master to worker threads.
0202 Addresses problem report #1731.
0203 + utils:
0204 o G4VMultipleScattering, G4VMscModel, G4VEmAngularDistribution: accurate
0205 initialisation of G4ThreeVectors and G4LorentzVector in constructors.
0206
0207 o Processes - Hadronic:
0208 --------------------
0209 + cross_sections:
0210 o G4ComponentGGHadronNucleusXsc: extended applicability for kaons down
0211 to 0.1*MeV.
0212 + models/binary_cascade:
0213 o Use const address as argument to typeid() in method
0214 G4BinaryCascade::DebugApplyCollisionFail(), fixing compilation
0215 warning on clang-3.6.
0216 + models/cascade:
0217 o G4PreCompoundDeexcitation: properly delete precompound products (i.e.
0218 G4ReactionProduct objects). Fixes issue of constant memory growth in
0219 the use of G4Allocator. Also addressing problem report #1735.
0220 + models/de_excitation:
0221 o G4NeutronRadCapture: added check on initial kinematics for all isotopes;
0222 proper initialisation of G4LorentzVector in class constructor, fixed
0223 Coverity reports.
0224 + models/parton_string:
0225 o G4FTFParticipants: added a new method to clean up the member vector;
0226 using the above new method in G4FTFModel::GetStrings() to release
0227 memory allocated and otherwise leaked; reduces observed memory growth
0228 in use of G4Allocator. Also addressing problem report #1735.
0229 o G4FTFModel: fixed bug in the method SamplingNucleonKinematics().
0230 Addressing problem report #1741.
0231 Fixed energy non-conservation in nucleus-nucleus interactions.
0232 o G4FTFParameters: fixed bug in nucleon-nucleon cross-section, and
0233 added protection against zero inelastic cross-section.
0234 + models/pre_equilibrium:
0235 o G4PreCompoundTransition: added protection against numerical problem
0236 due too high excitation energy; use G4Log and G4Exp instead of G4Pow;
0237 cleanup sampling of number of charged excitons.
0238 o Fixed Coverity defects and some code cleanup.
0239 + models/quasi_elastic:
0240 o Code cleanup: removed unneeded statics and thread-local variables.
0241 + models/theo_high_energy:
0242 o Updated according to new quasi-elastic code cleanup.
0243
0244 o Track
0245 -----
0246 + Improved G4ParticleChangeForTransport by adding update for FirstStep
0247 in volume. Also addressing problem report #1715.
0248
0249 o Examples:
0250 --------
0251 + Updated reference outputs.
0252 + extended/electromagnetic/TestEm8:
0253 o PhysicsList: fix in configuration of models per G4Region in MT mode.
0254 Addressing problem report #1731.
0255 o Run: added protection against numerical exception for run
0256 with 0 or 1 events
0257
0258 ----------------------------------------------------------------------------
0259
0260 Technical Notes
0261 ---------------
0262
0263 o This patch should be applied on top of release 10.1 or 10.1.p01.
0264 o Technical notes distributed for release 10.1 are also applicable and
0265 valid for this patch.
0266
0267 The code and rebuilt binary libraries for release 10.1.p02 are available
0268 through our "Download" Web page:
0269 http://cern.ch/geant4/support/download.shtml
0270
0271 Please refer to the Geant4 User Documentation:
0272 http://cern.ch/geant4/support/userdocuments.shtml
0273 for further information about using Geant4.