Geant4 10.7 - patch-01 Release Notes ------------------------------------ 5 February 2021 List of fixes included in this public patch since the public release 10.7: o Configuration ------------- + CMake: o Make fail configuration if Qt is enabled with CMake < 3.9. Addressing problem report #2303. o Fixed potential installation error with Homebrew/MacPorts X11/GL. Apply GitHub PR #17. o Fixed configure/build with system PTL 1.0.0. Apply GitHub PR #16. o Install/Use builtin PTL CMake scripts from PTL subdirectory alongside Geant4Config.cmake. o Updated to data set G4PARTICLEXS-3.1.1. + GNUmake: o Updated Qt5 settings in Linux targets. o Analysis: -------- + Updated to g4tools 5.2.3: o Fixed bug in tools/histo/h2,h3 for get_bin_content(); have '&' in "get" arguments. Addressing problem report #2306. o See History_tools for the complete list of modifications. + Fixed problem with merging n-tuples with columns of vector type. o Externals: ---------- + Force PTL to install its CMake configuration files within the directory where Geant4 installs its own. Force to install its headers under CMAKE_INSTALL_INCLUDEDIR/Geant4. Addressing problem report #2298. + ptl: apply patch to fix component installs on Windows. o Geometry: -------- + navigation: o G4ReplicaNavigation: reduced step correction in ComputeStep(). Addressing problem report #2302. o G4PathFinder: moved debug printout within debug block in Locate(). o G4RegularNavigation: protected within G4DEBUG_NAVIGATION debug printout. Substituted warning printout with proper G4Exception. + solids/Boolean: o Added protection against using invalid normal in G4ScaledSolid::DistanceToOut(p,v). + solids/CSG: o G4Trap, G4Para: removed spurious character in printout in StreamInfo(). Addressed problem report #2318. + solids/specific: o Reduce cases of bad speculation in G4PolyhedraSide::Inside() and G4PolyPhiFace::InsideEdges(), based on profiling analysis. + volumes: o Added creation order index in G4LogicalBorderSurface. Addressing problem report #2311. o G4GeometryWorkspace: added protection for thread contention in function DestroyWorkspace(). Some code cleanup. o Global: ------ + Updated date and version for 10.7.p01. o Intercoms: --------- + G4UImanager: introduced flag and access functions for LastCommandOutputTreated. This flag is set to false at the point in ApplyCommand() where, if verbosity>0, the command is sent to G4cout. The treating UI must reset to true when the line has been treated. Of course, the UI may simply ignore it. o Interfaces: ---------- + G4UIQt: Use QPalette to get colour and background from OS; instead of fixed background instead of
in HTML wrappers. + Introduce choice of output styles: o /gui/outputStyle o Highlighting applies to the echoed command line if echoing is requested with /control/verbose > 0. o Persistency - gdml: ------------------ + Fix for proper treatment of material properties reading for skinsurface and bordersurface elements; adopt the key of the property vector map as 'name + ref'. Addressing problem report #2305. + Fixed parsing of regions in G4GDMLParser::ImportRegions(). Allow for proper deletion of meta-data lists in destructor. Based on GitHub PR#19. + Fixed reading of units for GenericTrap in G4GDMLReadSolids. Addressing problem report #2317. o Physics Lists: ------------- + builders o G4HadronicBuilder: replaced 2-body decays of bottom mesons into charmed mesons and charged rho resonance, with 3-body decays into the same charmed mesons and charged pion and neutral pion. This allows to get a more precise numerical treatment of the decay kinematics in the rest frame, avoiding spurious energy-momentum violations reported by G4DecayProducts. o OrderingParameterTable: added forgotten processes (general positron, surface reflection, DNA) coherently with G4PhysicsListHelper. + constructors/electromagnetic o G4GammaGeneralProcess: changed 1st energy limit from 50 keV to 150 keV to guarantee K-shell energy for any element to be within 1st energy area. Changed logic for selection of a concrete process. Maximally reduced use of 'if' statements; reduced number of 'return' in run time methods; removed shadowing of base class methods. Addressing problem report #2309. + constructors/hadron_elastic o G4HadronElasticPhysics: fixed type of builder in all hadron elastic constructors. Addressing problem report #2183. o G4IonElasticPhysics, G4ThermalNeutrons: added comments + constructors/hadron_inelastic o G4HadronPhysicsFTFP_BERT, G4HadronPhysicsQGSP_BERT, G4HadronInelasticQBBC, G4HadronPhysicsQGSP_BIC: fixed type of builder in all hadron inelatic constructors. Addressing problem report #2296. o Processes - Electromagnetic: --------------------------- + lowenergy o G4MicroElecSurface, G4MicroElecLOPhononModel: fixed Coverity defects. + standard o G4BetheBlochModel, G4LindhardSorensenIonModel: restore computation of maximum energy transfer as in Geant4 version 10.4; affecting only ultra-relativistic ions. Addressing problem report #2312. + utils o G4EmCorrections: fixed 2-D interpolation of shell corrections, which provides minor change of ranges of charge particles (< 0.1 mm). Addressing problem report #2308. o G4VEnergyLossProcess, G4VEmProcess, G4EmExtraParameters and G4EmExtraParametersMessenger: improved printout. Addressing problem report #2292. o Processes - Hadronic: -------------------- + cross_sections: o Drop cache for per-element G4CrossSectionDataStore::GetCrossSection(), as never used in practice. Note that material, particle, and energy are still cached by G4CrossSectionDataStore::ComputeCrossSection(). The condition to check for the cache in that case has been optimized to minimize unnecessary checks by reordering checked conditions from most to least discriminant. o G4ParticleInelasticXS, G4CrossSectionInelastic, G4CrossSectionElastic: extended maximum energy range for ion cross-sections (QBBC and other Physics Lists has the same high energy limits). o G4ParticleInelasticXS, G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS: make MAXZ variable static class member. o G4GammaNuclearXS: fixed duplicated name of static variable. o G4VCrossSectionRatio: use inheritance from G4VCrossSectionDataSet in order to guarantee deletion of the object at the end of run. + models/particle_hp o G4ParticleHPThermalScattering: added final state phi-rotation. Addressing problem reports #1856 and #2290. + stopping o G4MuonicAtomDecay: fixed Coverity defects; removed commented code. o Processes - Transportation -------------------------- + Limit reporting of number of calls to G4Transportation::AlongStepDoIt() to when either G4VERBOSE or G4DEBUG_TRANSPORT is defined, which allows to avoid using a thread local variable for a slight performance gain. o Run: --- + G4PhysicsListHelper: added forgotten processes (general positron and surface reflection). o Tasking: ------- + G4WorkerTaskRunManager: corrected way to count the number of events processed in a worker thread. This correction also fixes a rare crash due to accessing to the seed vector more than necessary. + G4TaskRunManager: reduce number of events per task to evenly distribute events to all available threads. o Visualization: ------------- + OpenInventor o Consolidated all the planned features of the OIQt viewer. + Qt3D o Auxiliary edge suppression and some small improvements. o Data Sets: --------- + G4PARTICLEXS-3.1.1: o Fixed data for He3 and He4 for few light targets. o Examples: -------- + basic/B4: o Fixed README: updated visualization tutorial to follow smart parsing. + extended/persistency/gdml/G01: o Fixed auxiliary.gdml sample to define proper Region tags. o Added scaledSolids.gdml sample setup. ---------------------------------------------------------------------------- Technical Notes --------------- o This patch should be applied on top of release 10.7. o Technical notes distributed for release 10.7 are also applicable and valid for this patch. The code and rebuilt binary libraries for release 10.7.p01 are available through the Geant4 "Download" Web page. Please refer to the Geant4 User Documentation for further information about using Geant4.