Back to home page

EIC code displayed by LXR

 
 

    


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.