Geant4 10.4 - patch-02 Release Notes ------------------------------------ 25 May 2018 List of fixes included in this public patch since the public release 10.4.p01: o Configuration: ------------- + CMake: o Updated to data-set G4RealSurface-2.1.1. Addressing problem report #2043. + GNUMake: o architecture.gmk: corrected default path for external expat and zlib. o Darwing-clang.gmk: removed -pthread and -fPIC compilation options. o WIN32-VC.gmk: updated obsolete configuration for Qt5. o Event: ----- o Use G4TrackStack as default and make use of G4SmartTrackStack optional. Addressing problem report #2040. o Externals: --------- + Corrected GNUmakefile on Windows. o Geometry: -------- + navigation: o G4PathFinder: in DoNextLinearStep(), use flag for relocated point to signal move from call to ReLocate(), and ensure that new point is used in cross-checks in subsequent Locate(). Fix to revert change previously introduced in release 10.4, to keep fMinStep as 'logical' value, which can be kInfinity when step is not limited by Navigators. Resolves warnings issued by G4PathFinder for inaccuracies in relocation. Addressing problem report #2033. o G4Navigator::GetLocalExitNormal(): fix for normal calculated at the endpoint of current step, on a 'candidate' next volume. Adds missing transformation to the frame of the current volume. Addresses problem report #2054. o G4Navigator: fix in Set/RestoreSavedState() for setting of ReplicaNumber. o G4SafetyHelper: do not limit memorisation of safety in case of parallel geometries (when a length is not passed to safety method). Fix to include full message in Exception. + solids/Boolean: o G4BooleanSolid: enhanced warning message for the case of an invalid (NULL) Boolean construct in GetPointOnSurface() and StackPolyhedron(). Use -1 instead of 0 as default initialisation value for area and capacity, so to distinguish cases when values are zero referring to NULL Boolean constructs. o G4UnionSolid: define simple bounding-box and make use of early returns in Inside() for points laying outside. o Improved contruction of G4DiplacedSolid to combine transformations for nested displaced types. o Replaced USOLIDS_LIBRARIES with VECGEOM_LIBRARIES in sources.cmake. + solids/CSG: o G4Box: simplified and optimised calculation of normal in method DistanceToOut(p,v,..). o Replaced USOLIDS_LIBRARIES with VECGEOM_LIBRARIES in sources.cmake. + solids/specific: o Corrected conversion of input parameters to internal structure (used for caching for adoption in GDML persistency) in G4UPolycone and G4UPolyhedra wrappers. o Replaced USOLIDS_LIBRARIES with VECGEOM_LIBRARIES in sources.cmake. o Global: ------ + Updated date and version for 10.4.p02. o Interfaces: ---------- + G4UIQt: fixed bug with command guidance including HTML tags inside (<, > and &) and for "critical errors" message. o Particles: --------- + G4PhaseSpaceDecayChannel: fixed incorrect indexing in ManyBodyDecayIt(), causing incorrect setting of daughter momentum in 4-body phase-space decay. Addressing problem report #2053. o Persistency - gdml ------------------ + Protect printout of progress in reading/writing by G4VERBOSE. o Physics Lists ------------- + constructors/electromagnetic: o G4EmModelActivator: fix for Opt4 and single-scattering activation. Addressing problem report #2045. o Processes - Electromagnetic: --------------------------- + lowenergy: o G4LivermorePhotoElectricModel: fixed incorrect deletion of static members when models defined per region. Addressing problem report #2052. o Processes - Hadronic: -------------------- + models/particle_hp: o G4ParticleHPFissionFS: protect against very rare cases of division by zero. + models/radioactive_decay: o G4RadioactiveDecay: in ConvolveSourceTimeProfile(), switch from std::exp() to std::expm1() where small exp arguments are expected. This greatly reduces cancellation errors as well as the accumulated error in the variance reduction weight calculation. Although negative weights still occur, their size is reduced by about ten orders of magnitude, enough to set negative weights to zero. G4Radioactivation::ConvolveSourceTimeProfile(): same as above. Addresses problem report #1480. o Make sure last stable nuclide in decay chain is included as secondary in G4RadioactiveDecay::AddDeexcitationSpectrumForBiasMode() and in G4Radioactivation::AddDeexcitationSpectrumForBiasMode(). Addresses problem report #2024. o Run: --- + G4ExceptionHandler: added track/step/volume information when an exception happens while event is being processed. o Visualization: ------------- + modeling: o Fixed bug in calculation of mass of parallel world, protecting for the case of no material assigned. Addressing problem report #2039. + Tree: o Fixed bug in suppressed writing of repeated parameterised volumes. o Improved command guidance and advice printing. o Data sets: --------- + Patched data set for measured optical surface reflectance G4RealSurface-2.1.1: o Merged LBNL LUTs data introduced in 2.0 with the Davis LUTs. Addressing problem report #2043. o Examples: -------- + extended/optical/LXe: o Fixed header guard. Addressing problem report #2041. ---------------------------------------------------------------------------- Technical Notes --------------- o This patch should be applied on top of release 10.4 or 10.4.p01. o Technical notes distributed for release 10.4 are also applicable and valid for this patch. The code and rebuilt binary libraries for release 10.4.p02 are available through our "Download" Web page. Please refer to the Geant4 User Documentation for further information about using Geant4.