364 lines
17 KiB
Plaintext
364 lines
17 KiB
Plaintext
|
|
Geant4 10.1 - patch-01 Release Notes
|
|
------------------------------------
|
|
|
|
27 March 2015
|
|
|
|
List of fixes included in this public patch since the public release 10.1:
|
|
|
|
o Configuration:
|
|
-------------
|
|
+ CMake:
|
|
o Added support for compiling against c++1y standard for GNU and Clang
|
|
compilers. Added support for compiling against c++11 standard for
|
|
Intel 15 compiler. 'c++0x' is used for compilers with partial support
|
|
(even if 'c++11' is allowed), reserving 'c++11' for fully supported
|
|
cases.
|
|
o Corrected search path for X11 libraries to ensure location of Xquartz
|
|
libs on MacOSX. Addressing problem report #1683.
|
|
o Added external USolids library to static linkage list.
|
|
Addressing problem report #1725.
|
|
o Ensure that system/compiler is correctly set for GNUMake compatibility
|
|
on MacOSX.
|
|
|
|
o Analysis:
|
|
--------
|
|
+ Fixed G4AnalysisManager::IsActive(), now taken into all Hn & Pn managers.
|
|
+ Fixes in the Root files output to be compatible with ROOT 6.02/x.
|
|
+ Fixed reading XML ntuples with a column of a vector type; tools do not
|
|
support direct use of ntuple_bindings with a vector, use of a temporary
|
|
sub-ntuple is needed.
|
|
+ Fixed resetting histograms.
|
|
|
|
o Digits & hits:
|
|
-------------
|
|
+ Fix in CMake script of 'scorer' module for missing dependency on
|
|
external library.
|
|
+ Added calls to G4VisManager::BeginDraw2D() and G4VisManager::EndDraw()
|
|
in G4VScoreColorMap to speedup drawing of texts and color chart.
|
|
Revised Draw() DrawColumn() methods in G4ScoringBox and G4ScoringCylinder
|
|
to speed up drawing primitive scorers attached to the scoring meshes.
|
|
|
|
o Event:
|
|
-----
|
|
+ Fix to reduce performance penalty in MT mode when using GPS with low
|
|
energy primaries. Addressing problem report #1706.
|
|
|
|
o Externals:
|
|
---------
|
|
+ USolids:
|
|
o UPolycone: fix in InsideSection() for points(0,0,z). Fix in
|
|
SetOriginalParameters(), in case of presence of 'rings' structures
|
|
constructed by (r,z) corners.
|
|
Use canonical form for operator=(). Code cleanup and formatting.
|
|
o Added special DistanceAway() method for Inside() in order to fix
|
|
precision problem in calculation of DistanceToSide() in UPolyconeSide.
|
|
o Fixed typo in copy-ctor and assignment operator for UTubs.
|
|
o Renamed ExceptionSeverity struct to UExceptionSeverity in UUtils to
|
|
avoid possible clashes with external libraries.
|
|
o UTrap: fix in SafetyToIn/SafetyToOut() for implementations which were
|
|
reverted.
|
|
o Fixed triangularisation method AddGeneralPOlygoneFacets() in
|
|
UExtrudedSolid by avoiding flat triangles.
|
|
o Added warning message to UTriangularFacet constructor if Area is 0;
|
|
i.e. case of flat triangle.
|
|
|
|
o G3toG4:
|
|
------
|
|
+ Fix to CMake script to include missing dependency on external library.
|
|
|
|
o Geometry:
|
|
--------
|
|
+ biasing:
|
|
o Set G4IStore and G4WeightWindowStore as thread-local singletons to
|
|
avoid data races when accessing iterators.
|
|
Use const references for string in argument for constructor and
|
|
accessor.
|
|
+ magneticfield:
|
|
o Small refinements in G4FieldTrack: added method to access rest mass
|
|
and avoid division by zero for unit direction.
|
|
+ navigation:
|
|
o G4ErrorPropagationNavigator: revised implementation of ComputeStep(),
|
|
to avoid calling G4Navigator::ComputeSafety().
|
|
Addresses problem report #1679.
|
|
o G4PathFinder: pass to equation of motion relevant properties of current
|
|
particle: latest charge state, PDG spin value, momentum and rest mass
|
|
of current particle. Fix in calls to ComputeSafety() to correctly
|
|
use length as argument.
|
|
Increased maximum number of navigators from 8 to 16.
|
|
Addressing problem report #1696.
|
|
+ solids/CSG:
|
|
o Fixed typo in copy-ctor and assignment operator for G4Tubs and G4OTubs.
|
|
o Fix in temporary class G4OTubs to include symbol in library in any case.
|
|
+ solids/specific:
|
|
o Fixed triangularisation method AddGeneralPOlygoneFacets() in
|
|
G4ExtrudedSolid by avoiding flat triangles. Added warning message to
|
|
G4TriangularFacet constructor if Area is 0; i.e., case of flat triangle.
|
|
Addressing problem report #1703.
|
|
o Added special DistanceAway() method for Inside() in order to fix
|
|
precision problem in calculation of DistanceToSide() in G4PolyconeSide.
|
|
o Fix in SetOriginalParameters() for G4Polycone and G4Polyhedra, in case
|
|
of presence of 'rings' structures. Addressing problem report #1705.
|
|
o Use canonical form for operator=() in G4PolyconeHistorical and
|
|
G4PolyhedraHistorical.
|
|
+ volumes:
|
|
o G4NavigationHistoryPool: moved printout from the destructor to
|
|
dedicated Print() method.
|
|
o Avoid post-increment in G4NavigationLevelRep::AddAReference().
|
|
o Use canonical form for copy-ctor and operator=() in G4GRSSolid,
|
|
G4GRSVolume, G4LogicalBorderSurface and G4LogicalSkinSurface.
|
|
|
|
o Generic Processes:
|
|
-----------------
|
|
+ Biasing:
|
|
o G4ImportanceProcess, G4WeightCutOffProcess, G4WeightWindowProcess:
|
|
made static thread-local variables into simple class data members.
|
|
Use const reference for string in argument in SetParallelWorld().
|
|
+ Management:
|
|
o Fixed logic in G4ProcessManager::SetProcessOrderingToSecond() to make
|
|
sure the process is always set before the process that has ordering
|
|
index 1.
|
|
+ Transportation:
|
|
o G4Transportation, G4CoupledTransportation: in AlongStepGetPIL(),
|
|
initialize restMass with G4DynamicParticle (as is used in DoIt()),
|
|
not with G4ParticleDefinition. Resolves inconsistent kinematics
|
|
when dynamic mass is measurably different from "PDG" mass.
|
|
|
|
o Global:
|
|
------
|
|
+ Define support for c++11 thread_local keyword on Intel-icc compiler
|
|
version 15.
|
|
+ Define G4THREADSLEEP(tick) macro in G4Threading header.
|
|
+ Updated date and version for 10.1.p01.
|
|
|
|
o Graphics Representations:
|
|
------------------------
|
|
+ G4VisAttributes: removed unnecessary check in operator<<().
|
|
Fixing compilation warning on clang.
|
|
|
|
o Interfaces:
|
|
----------
|
|
+ G4UIQt: fixed problem when displaying the first time the help tree.
|
|
The guidance label was not shown.
|
|
|
|
o Materials:
|
|
---------
|
|
+ G4Material, G4NistManager, G4NistMaterialBuilder, G4IonisParamMat:
|
|
introduced NTP_Temperature=20C; set this temperature as default for
|
|
all materials instead of STP_Temperature. No effects in results expected.
|
|
Addressing problem report #1704.
|
|
+ G4Material, G4Element, G4Isotope: make arguments of stream operators const.
|
|
|
|
o Particles:
|
|
---------
|
|
+ Added missing gamma-gamma, omega-gamma modes to EtaPrime and updated
|
|
braching ratio. Addressing problem report #1713.
|
|
|
|
o Physics Lists:
|
|
-------------
|
|
+ constructors/electromagnetic:
|
|
o G4EmStandardPhysics_option4, G4EmStandardPhysicsWVI: disable
|
|
'DisplacementBeyondSafety' option; result of electron scattering
|
|
benchmark demonstrate some degradation of accuracy with this option
|
|
enabled. Use step limitation option 'fUseDistanceToBoundary' instead.
|
|
o G4EmStandardPhysicsWVI: added angular limit to WentzelVI model
|
|
in order to provide correct backscattering.
|
|
Addressing problem report #1702. For more information see:
|
|
S. H. Kim et al., IEEE Trans. Nucl. Sci., vol. 62, no. 2, 2015.
|
|
+ constructors/hadron_elastic:
|
|
o G4HadronElasticPhysics: replaced Chips neutron elastic cross-section
|
|
with default, according to fix in cross_sections module for Chips
|
|
neutron elastic cross-section.
|
|
+ constructors/limiters:
|
|
o Fix in G4ParallelWorldProcess to correctly use method
|
|
SetProcessOrderingToSecond().
|
|
+ lists:
|
|
o INCLXXPhysicsListHelper: avoid use of G4NeutronTrackingCut
|
|
for *_HP physics-lists.
|
|
|
|
o Processes - Electromagnetic:
|
|
---------------------------
|
|
+ dna:
|
|
o Explicitly initialise to zero TLS pointers in G4KDNode and G4ITFinder
|
|
to allow for compilation on Linux/clang-3.5.
|
|
+ highenergy:
|
|
o G4eeToHadronsModel: fixed kinematics in ISR gamma emission; added
|
|
check on energy balance. Addressing problem report #1716.
|
|
o G4eeTo3PiModel: increased majoranta for sampling of 3-body final state;
|
|
fixed bug in sampling.
|
|
+ standard:
|
|
o G4GoudsmitSaundersonMscModel, G4UrbanMscModel,G4WentzelVIModel,
|
|
G4WentzelVIRelModel, G4UniversalFluctuation: redefine random engine
|
|
pointer in StartTracking() method to address problem reported by CMS.
|
|
G4UniversalFluctuation: switch to use G4Random::GetTheEngine() to
|
|
simplify code.
|
|
o G4GoudsmitSaundersonMscModel: return back to version of 10.0 with two
|
|
fixes; trivial Coverity report, added protection against precision loss
|
|
for small angle calculation, to ensure same backscattering results.
|
|
o G4KleinNishinaModel: fixed very rare crash happening when de-excitation
|
|
module is active and de-excitation energy is slightly larger than
|
|
available energy; now secondary energy is slightly modified to keep
|
|
energy balance instead of deleting secondary particle.
|
|
G4PEEffFluoModel: use the same pattern as G4KleinNishinaModel for
|
|
de-excitation products.
|
|
+ utils:
|
|
o G4EmParametersMessenger: allow to set CSDA range flag only in the
|
|
PreInit state to avoid crash in store/retrieve tables.
|
|
o G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering: allow for
|
|
storing of physics table only from master thread.
|
|
o G4VEmProcess: fixed printout at initialisation for the case when a
|
|
process is shared between different particles.
|
|
Fixed crash in printout for verbose level > 2.
|
|
o G4VEmModel, G4VEmFluctuationModel: switch to use
|
|
G4Random::GetTheEngine() to simplify code.
|
|
Redefine random engine pointer in G4VEmModel::StartTracking() method
|
|
to address problem reported by CMS.
|
|
o G4EmCalculator: fixed minor defect reported by Coverity.
|
|
|
|
o Processes - Hadronic:
|
|
--------------------
|
|
+ cross_sections:
|
|
o Fix in G4ComponentGGHadronNucleusXsc to work for H target.
|
|
o Removed obsolete (wrong) checks for particle types in IsIsoApplicable()
|
|
in Chips cross sections.
|
|
o Workaround in G4CrossSectionFactory<T,2>::Instantiate() to allow for
|
|
compilation on clang-3.5 on Linux, for initialisation of TLS pointer.
|
|
+ models/coherent_elastic:
|
|
o G4DiffuseElastic: fix for low-energy neutrons.
|
|
Fix in theta_cms momentum transfer transformation.
|
|
Fix for rare numerical error (sqrt of negative argument).
|
|
o G4NuclNuclDiffuseElastic: fix for 700 MeV Be-ions scattering in Be.
|
|
Addressing problem report #1691.
|
|
+ models/de_excitation:
|
|
o G4VGammaDeexcitation::GenerateGamma(): take into account atomic bond
|
|
energy for computation of transition energy and kinematics in the case
|
|
of internal conversion.
|
|
o G4VGammaDeexcitation, G4DiscreteGammaDeexcitation, G4PhotonEvaporation:
|
|
changed default set of parameters: ICM disabled; time limit for isomere
|
|
production is set to DBL_MAX; sampling of gamma decay of long-lived
|
|
isomere levels is performed as it was in Geant4 9.6 assuming decay at
|
|
rest and making correction for energy balance (in that case momentum
|
|
balance is not guaranteed); binding energy is taken into account in the
|
|
case of ICM enabled. These modifications should provide correct sampling
|
|
of the decay time for all type of levels, energy balance in hadronic
|
|
interactions, and event reproducibility of hadronic transport.
|
|
o G4VGammaDeexcitation, G4PhotonEvaporation: propagate vacant shell number
|
|
after internal convertion allowing to enable atomic de-excitation in
|
|
radioactive decay.
|
|
o Enabled ICM by default in G4NeutronRadCapture.
|
|
o G4GEMProbability: added protection to avoid numerical problem seen
|
|
in FTF_BIC physics-list where a nucleus get excited to 8 GeV.
|
|
o G4DiscreteGammaTransition return back correction on shell number
|
|
to avoid assert failure in simplified calorimeter.
|
|
o G4ContinuumGammaDeexcitation: fixed Coverity report.
|
|
+ models/lend:
|
|
o Fixed Coverity defect in G4GIDI_map.
|
|
+ models/neutron_hp:
|
|
o Removed unnecessary code in G4NeutronHPInelasticCompFS.
|
|
Addressing problem report #1710.
|
|
o Fixed Coverity defects.
|
|
o Corrected CMake script.
|
|
+ models/qmd:
|
|
o Fixed Coverity defects in G4QMDGroundStateNucleus and G4QMDNucleus.
|
|
+ models/particles_hp:
|
|
o Enabled reading of data file that has a signature of evaluation name.
|
|
o Corrected CMake script.
|
|
+ models/parton_string:
|
|
o Fix for rare crash in G4LundStringFragmentation in the case of
|
|
anti-sigma+ capture at rest on hydrogen.
|
|
+ stopping:
|
|
o G4HadronStoppingProcess, G4MuonMinusBoundDecay: fixed time of muon
|
|
nuclear capture secondaries. Addressing problem report #1695.
|
|
o Define index in the model cathalog inside PreparePhysicsTable() to
|
|
avoid bad interference with EM physics.
|
|
|
|
o Run
|
|
---
|
|
+ Print message for deletion of G4NavigationHistoryPool only if the
|
|
verbose level is set to 2.
|
|
|
|
o Track
|
|
-----
|
|
+ Fixed FieldTrackUpdator to pass magnetic moment and PDG spin.
|
|
Addressing problem report #1696.
|
|
|
|
o Visualization:
|
|
-------------
|
|
+ Fix in CMake scripts for missing dependency on external library.
|
|
+ gMocren:
|
|
o Fixed bug in G4GMocrenFileSceneHandler for checking of string lengths.
|
|
|
|
o Examples:
|
|
--------
|
|
+ Updated reference outputs.
|
|
+ advanced/air_shower:
|
|
o Set defaults for GPS in master thread.
|
|
+ advanced/brachytherapy:
|
|
o Removed unnecessary instantiation of GPS in master thread.
|
|
+ advanced/ChargeExchangeMC:
|
|
o Bug fix for online histogram redrawing and easy online histogram
|
|
showing from a dedicated menu bar (in graphical mode).
|
|
+ advanced/gammaknife:
|
|
o Moved GPS defaults to master thread.
|
|
+ advanced/hadrontherapy:
|
|
o Corrected definition of steppers in LaserDrivenBeamLine
|
|
(nvar=8 only for Electric field).
|
|
o Removed/reduced size of maps files and updated README.
|
|
+ advanced/human_phantom:
|
|
o Removed unnecessary instantiation of GPS in master thread.
|
|
+ advanced/microbeam:
|
|
o Added protection against loops on very low-energy particles.
|
|
+ advanced/radioprotection:
|
|
+ advanced/xray_telescope:
|
|
o Removed unnecessary instantiation of GPS in master thread.
|
|
+ basic/B4:
|
|
o Fixed accessing 'gapHit'. Addressing problem report #1714.
|
|
o Fixed documentation.
|
|
+ extended/biasing/B03:
|
|
o B03PhysicsList: properly use SetProcessOrderingToSecond() method
|
|
for G4ParallelWorldProcess.
|
|
+ extended/electromagnetic/TestEm3:
|
|
o Fixed formatting in .README.
|
|
+ extended/electromagnetic/TestEm5:
|
|
o Run: added forgotten fill of projectile scattering angle
|
|
for printed output (printed value was zero).
|
|
+ extended/electromagnetic/TestEm8:
|
|
o DetectorConstruction: removed local pointer to sensitive detector
|
|
in order to avoid race condition.
|
|
+ extended/electromagnetic/TestEm16:
|
|
o Run: fixed computation of max gamma energy for MT mode.
|
|
+ extended/eventgenerator/particleGun:
|
|
o Fixed formatting in .README.
|
|
+ extended/exoticphysics/channeling:
|
|
o Moved GPS defaults to master thread.
|
|
+ extended/exoticphysics/ucn:
|
|
o Fixed files description for Doxygen.
|
|
+ extended/medical/electronScattering:
|
|
o Corrected plot 6 filling, the distance from scattering foil to
|
|
detector was wrong.
|
|
+ extended/optical/wls:
|
|
o Added global mutex for primary generation as application modifies
|
|
GPS polarization/time
|
|
+ extended/parameterisations/gflash:
|
|
o Removed unnecessary instantiation of GPS in master thread.
|
|
+ extended/persistency/gdml/G03:
|
|
o Corrected visualization commands in read/write input macros.
|
|
o Updated README.
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
Technical Notes
|
|
---------------
|
|
|
|
o This patch should be applied on top of release 10.1.
|
|
o Technical notes distributed for release 10.1 are also applicable and
|
|
valid for this patch.
|
|
|
|
The code and rebuilt binary libraries for release 10.1.p01 are available
|
|
through our "Download" Web page:
|
|
http://cern.ch/geant4/support/download.shtml
|
|
|
|
Please refer to the Geant4 User Documentation:
|
|
http://cern.ch/geant4/support/userdocuments.shtml
|
|
for further information about using Geant4.
|