Geant4 10.2 - patch-03 Release Notes ------------------------------------ 27 January 2017 List of fixes included in this public patch since the public release 10.2.p02: o Configuration: ------------- + CMake: o Correctly export USolids/VecGeom settings to GNUmake configuration scripts. o Provided placeholder variable for adding setting of XercesC library path. Addressing problem report #1877. o Analysis -------- + Fixed incompatibility with ROOT 5.x and 6.x formats. + Fixed compilation warnings and MacOSX and Win64. o Error-Propagation ----------------- + G4ErrorPhysicsList: replaced direct use of 'aParticleIterator' with GetParticleIterator(), to allow for porting on clang-3.9 and XCode-8 on MacOS. o Event: ----- + Fixed way of deleting G4PrimaryVertex objects to avoid stack overflow for very large number of primary vertices. + Set polarization to pre-assigned decay products in G4PrimaryTransformer. Addressing problem report #1914. o Geometry: -------- + magnetic-field: o Fixed G4ClassicalRK4 header with protection against multiple inclusions. + management: o Moved initialisation of G4GeomSplitter thread-local data to be inline along with generic template type; moved accessors/modifiers for splitter data to non-inline in G4Region, G4LogicalVolume and G4VPhysicalVolume. Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS. o Removed redundant check in G4GeomSplitter::UseWorkArea(). Addressing problem report #1876. + navigation: o Fixed recursion test for overlaps in G4GeomTestVolume to iterate on all daughters. o G4ReplicaNavigation: use Cartesian tolerance in distance evaluation in DistanceToOutPhi(). Addressing problem report #1902. o G4Navigator: in ComputeStep() force abortion of event if track gets really stuck, but avoid check for overlaps if push-verbosity is set to false. Extended printout for stuck tracks, to show also local coordinates. o Fix in G4Navigator::GetGlobalExitNormal() to synchronise caching of 'fExitNormalGlobalFrame' before returning. Addressing problem report #1750. Added more diagnostics in G4VERBOSE mode. o G4PhantomParameterisation: revisited precision checks. o G4PropagatorInField: fix to pass accuracy values to Intersection Locator after re-evaluating epsilon. o Added annotations for while-do loops. + solids/Boolean: o G4SubtractionSolid: directly return previously computed distance in DistanceToIn(p,v) if no progress is made (zero step). + solids/CSG: o Disabled check for intersection of cut planes in G4CutTubs constructor, as too strict and not necessary. Addressing problem report #1887. o Use G4RandFlat instead of RandFlat. + solids/specific: o Moved accessors/modifiers for splitter data to non-inline in G4PolyhedraSide and G4PolyconeSide. Moved initialisation of G4GeomSplitter thread-local data to be inline along with generic template type. Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS. o Fixed minor typo in function Create() for G4Polycone, G4Polyhedra and G4GenericPolycone. Fixed minor typos in G4GenericTrap::SurfaceNormal() and G4VTwistSurface::CurrentStatus::ResetfDone(). Addressing problem report #1876. o Use G4RandFlat instead of RandFlat. + volumes: o Correction in G4NavigationHistory default constructor to use GetLevels() instead of GetNewLevels() from G4NavigationHistoryPool, to favor re-use of already allocated space. Corrected printout in streaming operator. o Moved initialisation of G4GeomSplitter thread-local data to be inline along with generic template type. Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS. o Global: ------ + G4StatDouble: fixed computation of RMS and added new constructor. + G4UnitsTable: use 'hep_pascal' instead of 'pascal' to avoid potential symbol conflicts on Windows. + Made initialisation of G4TWorkspacePool thread-local data to be inline along with generic template type. Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS. + Fixed compilation warning on MacOS Sierra in MT mode in function G4Threading::G4GetPidId(). + Updated date and version for 10.2.p03. o Graphics Representations: ------------------------ + G4VisAttributes::GetInvisible(): changed to use a static instance instead of G4VisAttributes::Invisible; moved implementation to be not inline. Deprecated G4VisAttributes::Invisible. o Materials: --------- + Fixed incorrectly calculated index for MicroRoughness lookup table in G4UCNMaterialPropertiesTable. Fixed incorrectly calculated MicroRoughness amplitude in G4UCNMicroRoughnessHelper. o Parameterisations: ----------------- + gflash: o Fixed memory leak in GVFlashShowerParameterisation. o Removed redundant condition in GFlashHitMaker::make(). Addressing problem report #1876. o Particles: --------- + Fixed way of deleting G4PrimaryVertex and G4PrimaryParticle objects to avoid stack overflow for very large number of primary vertices or primary particles. + Fixed calculation of neutrino mass in G4MuonRadiativeDecayWithSpin. Addressing problem report #1928. + Replaced use of obsolete G4PDefSplitter class by G4PDefManager, concrete class with implementation. This addresses initialisation problems of static data previously in template. Moved accessors/modifiers for splitter data to non-inline in G4ParticleDefinition and moved initialisation of Splitter thread-local data to be inline along with generic template type. Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS. o Persistency: ----------- + GDML: o Fixed check for correctness of the units for divisions and replicas along angular axis. Addressing problem report #1912. + mctruth: o Fixed typo in G4PersistencyCenterMessenger::GetCurrentValue() in selection of verbose mode. Addressing problem report #1876. o Physics Lists ------------- + Replaced direct use of aParticleIterator by GetParticleIterator(). Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS. o Processes - Electromagnetic: --------------------------- + dna: o Removed check of c++ version for unique_ptr/auto_ptr selection in G4MoleculeCounter. + lowenergy: o Removed verbosity in G4AtomicTransitionManager. Addressing problem report #1874. o Fixed typo in G4hParameterisedLossModel. Addressing problem report #1876. + utils: o G4EmBiasingManager: fixed typo in condition. Addressing problem report #1876. o Processes - Hadronic: -------------------- + models/im_r_matrix: o G4VScatteringCollision: fixed memory leak in MT-mode. Addressing problem report #1905. + models/lend: o Fixed to use G4Random. o Improved memory consumption in multi-threaded runs. o Fixed compilation warning in GCC with -O3 optimisation option. + models/particle_hp: o Reintroduced cache of cross-section in GetIsoCrossSection(). Fixing CPU performance penalty introduced in release 10.2 on HP processes. o Fixed warning messages on clang-3.8, + processes: o UCN processes: fixed incorrectly calculated MicroRoughness correction to absorption probability. Corrected calculation of refracted velocity after transmission. + util: o Fix in G4Nucleus::GetThermalNucleus() in branch on total energy calculation using relativistic energy at higher energies. Addressing problem report #1911. o Processes - Optical: ------------------- + Fixed potential problem of photon stuck when traveling almost perpendicular to the surface normal. Addressing problem report #1888. o Run: --- + Added method GetParticleIterator() in G4VPhysicsConstructor and in G4VUserPhysicsList. Mved static GetInstance() method in G4RNGHelper to be not inline. Moved initialisation of G4VUPLSplitter thread-local data to be inline along with generic template type. Removed explicit initialisation of thread-local data from workspaces, as now happening inline in G4TWorkspacePool. Fixing compilation/linking errors on clang-3.9 and XCode-8 on MacOS. + Removed redundant check in G4VUPLSplitter::UseWorkArea(). Addressing problem report #1876. + G4WorkerRunManager: minor printout improvement. o Visualization: ------------- + management: o G4Scene: replaced warning reference to obsolete G4VisAttributes::Invisible to G4VisAttributes::GetInvisible(). + OpenGL: o Fixed compilation warning on Win64. o Examples: -------- + Updated reference outputs. + Replaced direct use of 'a/theParticleIterator' with GetParticleIterator(). ---------------------------------------------------------------------------- Technical Notes --------------- o This patch should be applied on top of release 10.2. o Technical notes distributed for release 10.2 are also applicable and valid for this patch. The code and rebuilt binary libraries for release 10.2.p03 are available through our "Download" Web page. Please refer to the Geant4 User Documentation for further information about using Geant4.