Import Geant4 10.6.0.beta source tree
This commit is contained in:
@@ -0,0 +1,685 @@
|
||||
|
||||
Geant4 10.6-beta-01 Release Notes
|
||||
---------------------------------
|
||||
|
||||
28 June 2019
|
||||
|
||||
Migration Notes & Main New Features
|
||||
-----------------------------------
|
||||
|
||||
o Promoting pre-processor flags to fixed #defines in a new header
|
||||
generated by CMake, reducing flags added to CMAKE_CXX_FLAGS.
|
||||
o Reviewed G4PhysicsVector adding an additional Value() method option to
|
||||
propagate down the known log-energy value. This helps avoiding log() calls
|
||||
when log-vector is used.
|
||||
o Enabled VecGeom wrapper for G4GenericPolycone. Requiring VecGeom-1.1.2.
|
||||
o Added support for writing out assemblies envelopes in GDML.
|
||||
o Added functionality in G4DynamicParticle to provide log-kinetic energy
|
||||
value, computed only on demand if its stored value is not up-to-date with
|
||||
the kinetic energy. Reviewed EM processes to select the target atom by
|
||||
making use of the already known log-energy value in the log-vector access.
|
||||
Providing measurable CPU speedup.
|
||||
o Optimised step limitation in G4UrbanMscModel and modified lateral
|
||||
displacement sampling.
|
||||
o New helper class G4NIELCalculator, to compute NIEL in user stepping
|
||||
action or sensitive detector code.
|
||||
o Cross-sections: high energy extension of the neutrino-electron cross
|
||||
sections, for both charged-current and neutral-current interactions
|
||||
(M_W and M_Z propagator factors and Glashow resonance), for all neutrino
|
||||
and anti-neutrino flavours.
|
||||
o Extended hadron-nucleon cross-sections to charmed and bottom hadrons
|
||||
(mesons and baryons).
|
||||
o Use Glauber-Gribov cross-section for hyperons in hadron elastic physics.
|
||||
o Added handling of UI thermalization model control in DNA physics lists.
|
||||
o Removed tracking cut in hadron-elastic and use numerically safer
|
||||
computation for very low-energy projectile.
|
||||
o Use FTFP also for the annihilation at rest of neutral anti-hadrons.
|
||||
o Added spontaneous fission channel in radioactive-decay.
|
||||
o Enhanced UI commands to now return proper return code when they are not
|
||||
successful.
|
||||
o Added new gamma-nuclear model based on pre-compound de-excitation
|
||||
o New set of UI commands and improvements in visualization.
|
||||
Added new UI commands for view interpolation and centering.
|
||||
o Introducing cloud drawing style in visualization, using kernel algorithms
|
||||
for generating points on the surface of volumes, by-passing polyhedral
|
||||
representations; the solid is being visualised by a polymarker of dots.
|
||||
o Porting of code on gcc-9.1 series.
|
||||
o Updated to CLHEP version 2.4.1.2.
|
||||
o New data sets G4PARTICLEXS-2.0.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
Technical Notes
|
||||
---------------
|
||||
|
||||
o Tested platforms:
|
||||
+ Linux, gcc-4.8.5.
|
||||
Tested on 64 bit architectures (Intel or AMD) with CERN CentOS
|
||||
Linux 7 (CC7) (based on CentOS Linux 7).
|
||||
Versions of Geant4 have also been compiled successfully on other
|
||||
Linux distributions, Ubuntu, Debian, Suse or other RedHat systems.
|
||||
+ MacOSX 10.14, clang-6.0 (Apple LLVM/Clang-10.0.1)
|
||||
+ Windows/10 with Visual C++ 14.11 (Visual Studio 2017)
|
||||
|
||||
o More verified configurations:
|
||||
+ Linux, gcc-4.9.3/5.4.0/6.3.0/7.3.0/8.2.0/9.1.0, clang-5.0/7.0.
|
||||
+ Linux, Intel-icc 19.0.
|
||||
+ MacOSX 10.12/13 with clang-3.9/4.0
|
||||
|
||||
o External dependencies
|
||||
+ CLHEP-2.4.1.2, suggested for external installation of the CLHEP library.
|
||||
+ VecGeom-1.1.2, for optional use of the VecGeom geometry primitives.
|
||||
|
||||
o New data sets:
|
||||
+ G4PARTICLEXS-2.0.
|
||||
|
||||
Please refer to the Geant4 User Documentation:
|
||||
http://cern.ch/geant4/support/userdocuments.shtml
|
||||
for further information about using Geant4.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
List of features and fixes included in this Beta release since 10.5.p01:
|
||||
|
||||
o Configuration:
|
||||
-------------
|
||||
+ CMake:
|
||||
o Removed obsolete GEANT4_BUILD_MUONIC_ATOMS_IN_USE option
|
||||
and associated configuration/compiler flags.
|
||||
o Promoting following pre-processor flags to fixed #defines in a new
|
||||
header generated by CMake using the chosen build options to
|
||||
#define/#undef as appropriate: G4USE_STD11, G4MULTITHREADED,
|
||||
G4_STORE_TRAJECTORY, G4VERBOSE, GEANT4_USE_TIMEMORY.
|
||||
Promoted VecGeom pre-processor flags to fixed #defines as well.
|
||||
Ensuring the header is included by primary "global" category headers
|
||||
so that all categories will pick up the changes transparently.
|
||||
Removed use of add_definitions of CMAKE_CXX_FLAGS to set these flags
|
||||
in Geant4 and client scripts.
|
||||
o Removed G4FPE_DEBUG from build mode "Debug". Added new build mode
|
||||
"Debug_FPE" same as "Debug" mode but appending -DG4FPE_DEBUG.
|
||||
o Updated version of data sets: G4PARTICLEXS-2.0.
|
||||
Updated tags for 10.6-beta.
|
||||
+ GNUMake:
|
||||
o Hard-code Qt version through QT_VERSION flag.
|
||||
Corrected Qt5 setup for Linux-g++ and Linux-clang.
|
||||
o architecture.gmk: added -DG4GMAKE to CPPFLAGS to identify enabling
|
||||
of GNUmake builds.
|
||||
|
||||
o Analysis:
|
||||
--------
|
||||
+ Fixed CSV, XML ntuple file names.
|
||||
|
||||
o Digits & Hits:
|
||||
-------------
|
||||
+ G4PSSphereSurfaceFlux: fixed track weight.
|
||||
|
||||
o Event:
|
||||
-----
|
||||
+ G4SPSPosDistribution: added accessor methods for volume confinement
|
||||
Addressing GitHub PR #7.
|
||||
|
||||
o Externals:
|
||||
---------
|
||||
+ Updated CLHEP module to version 2.4.1.2:
|
||||
o MixMaxRng: throw if seed is zero. Use throw instead of exit()
|
||||
elsewhere.
|
||||
Defaulted operator=() also for BasicVector3D andPlan3D; fixing
|
||||
deprecation warnings on gcc-9.1.
|
||||
Fixed shadowing compilation warnings in Transform3D as reported
|
||||
on gcc-9.1.
|
||||
|
||||
o Geometry:
|
||||
--------
|
||||
+ divisions:
|
||||
o Return correct value for multiplicity in G4PVDivision and
|
||||
G4ReplicatedSlice. Addressing problem report #2168.
|
||||
+ magneticfield:
|
||||
o G4ChordFinder: changed to use concrete type of Stepper as template
|
||||
parameter.
|
||||
o G4InterpolationDriver: new revision with multiple steppers for
|
||||
each substep. Fixed memory churn; use FSAL property of
|
||||
G4DormandPrince745. Change from G4VERBOSE to G4FIELD_DEBUG for
|
||||
debug checks.
|
||||
o Removed division in G4DormandPrince745::Interpolate4thOrder().
|
||||
o Reset step estimate in G4MagInt_Driver only at the beginning of a
|
||||
track.
|
||||
+ management:
|
||||
o G4GeomSplitter: re-enabled use or realloc()/free() and memcpy(), after
|
||||
adapting G4VPhysicalVolume MT splitted data to adopt only trivial types
|
||||
for allocation. Re-establishing original performance in initialisation
|
||||
of the geometry in MT mode.
|
||||
o Properly initialise splitted data in G4VPhysicalVolume to zero.
|
||||
o Replaced deprecated std::binary_function calls with lambdas in
|
||||
G4SmartVoxelStat and G4GeometryManager. Addressing GitHub PR#8.
|
||||
o Defined move constructor and move assignment operator for
|
||||
G4AffineTransform.
|
||||
o Use header-based #define/undef symbols to configure VecGeom
|
||||
replacements; added new configuration headers G4GeomConfig.hh and
|
||||
G4GeomTypes.hh.
|
||||
o Fixed minor Coverity defects.
|
||||
+ navigation:
|
||||
o Improved information in G4Exceptions for particles stuck due to
|
||||
multiple zero steps in G4Navigator.
|
||||
+ solids/CSG:
|
||||
o G4Tubs: Fixed normal from DistanceToOut() to be unit vector, for
|
||||
abnormal exit points. Added inverse-Rmax and -Rmin as data members.
|
||||
o Re-use pre-calculated values instead of using std::cos(), std::sin()
|
||||
in G4Tubs, G4Cons, G4CutTubs and G4Sphere.
|
||||
o Added inclusion of new G4GeomTypes.hh header to those headers allowing
|
||||
VecGeom replacement.
|
||||
+ solids/specific:
|
||||
o Enabled VecGeom wrapper for G4GenericPolycone. Requiring VecGeom-1.1.2.
|
||||
o Modified G4PolyconeSide and G4PolyhedraSide to use only trivial types
|
||||
for MT splitted data in G4PlSideData and G4PhSideData respectively.
|
||||
o Protected check in G4TwistedTubsSide::DistanceToPlane() within debug
|
||||
flag.
|
||||
o Defined move constructor and move assignment operator for
|
||||
G4TriangularFacet.
|
||||
o Use GetVertices() instead of GetParametersList() in the wrapper G4UTet.
|
||||
o Added inclusion of new G4GeomTypes.hh header to those headers allowing
|
||||
VecGeom replacement.
|
||||
o Fixed minor Coverity defects.
|
||||
|
||||
o Global:
|
||||
------
|
||||
+ G4PhysicsVector: added additional Value() method option to propagate down
|
||||
the known log-energy value (can avoid the log call in case of
|
||||
log-vector).
|
||||
+ Added new LOG_EKIN_MIN constant as value taken in case of zero kin-energy
|
||||
in templates.hh.
|
||||
+ Defined default move constructor and move assignment operator for
|
||||
G4String and G4DataVector.
|
||||
+ Added G4GlobalConfig.hh generated header to hold global, always required,
|
||||
pre-processor symbols instead of relying on -D flags for: G4USE_STD11,
|
||||
G4MULTITHREADED, G4_STORE_TRAJECTORY, G4VERBOSE and GEANT4_USE_TIMEMORY.
|
||||
Added inclusion of G4GlobalConfig.hh in G4Types.hh, tls.hh and
|
||||
G4TiMemory.hh so that global and other categories pick up the definitions
|
||||
transparently.
|
||||
+ Updated other headers/srcs to include G4Types/G4Threading if they use
|
||||
G4MULTITHREADED.
|
||||
+ Changed date for release 10.6-beta.
|
||||
|
||||
o Graphics Representations:
|
||||
------------------------
|
||||
+ G4VisAttributes: added 'cloud' and methods to force, SetForceCloud(),
|
||||
and SetForceNumberOfCloudPoints().
|
||||
+ G4VisExtent: added method Transform(const G4Transform3D&).
|
||||
+ Removed Get/SetDrawOverlapsFlag() from G4VVisManager.
|
||||
|
||||
o Intercoms
|
||||
---------
|
||||
+ The following UI commands now return proper return code when they are
|
||||
not successful: /control/execute, loop, foreach, shell, getEnv.
|
||||
Addressing problem report #2159.
|
||||
|
||||
o Particles:
|
||||
---------
|
||||
+ G4DynamicParticle: added functionality to provide log-kinetic energy
|
||||
value, computed only on demand if its stored value is not up-to-date
|
||||
with the kinetic energy.
|
||||
Code cleanup: moved data members to be private; aligned class members
|
||||
3-vectors, doubles, integer; added initialisation of PDG code and
|
||||
polarization in all constructors; added method SetPolarisation(); use
|
||||
CLHEP electron mass; removed unused forward declarations and headers.
|
||||
|
||||
o Persistency:
|
||||
-----------
|
||||
+ GDML:
|
||||
o Added support for writing out assemblies envelopes.
|
||||
o Improved reading of optical properties reader, by allowing reuse of
|
||||
the same G4MaterialPropertyVector object for identical properties.
|
||||
|
||||
o Physics Lists:
|
||||
-------------
|
||||
+ Constructors:
|
||||
o electromagnetic:
|
||||
- Added handling of UI thermalization model control in
|
||||
G4EmDNAPhysics_option1,2,3,4,5,6,7,8.
|
||||
- G4EmDNAChemistry constructors: updated to follow emdna changes.
|
||||
- Added sub-excitation processes in G4EmDNAPhysics_option8.
|
||||
- G4EmLivermorePhysics, G4EmPenelopePhysics,
|
||||
G4EmStandardPhysics_option4, G4EmStandardPhysics_option3: define
|
||||
upper energy limit for nuclear stopping via EM parameters.
|
||||
In all DNA constructors, added ActivateDNA() flag to EM parameters.
|
||||
- Added G4EmDNAChemistry_option2 constructor.
|
||||
o gamma_lepto_nuclear:
|
||||
- G4EmExtraPhysics: added muon-neutrino nucleus interactions; removed
|
||||
extra static members.
|
||||
o hadron_inelastic:
|
||||
- G4HadronElasticPhysics: use Glauber-Gribov cross-section for
|
||||
hyperons.
|
||||
- G4HadronDElasticPhysics, G4HadronDElasticPhysics: use Glauber-Gribov
|
||||
cross-section for hyperons, d, t, He3, He4.
|
||||
- G4HadronElasticPhysicsXS, G4IonElasticPhysics: removed commented
|
||||
code.
|
||||
o stopping:
|
||||
- Use FTFP also for the annihilation at rest of neutral anti-hadrons:
|
||||
anti-neutron, anti-lambda, anti-sigma0 anti-xi0. This extension is
|
||||
for completeness and practical convenience, although physically
|
||||
neutral hadrons should never be completely at rest.
|
||||
+ lists:
|
||||
o Replaced G4RadioactiveDecay with G4RadioactiveDecayBase in LBE list.
|
||||
|
||||
|
||||
o Electromagnetic Processes:
|
||||
-------------------------
|
||||
+ DNA:
|
||||
o Added G4DNAMolecule class.
|
||||
o Moved checking of position of track status in
|
||||
G4ITStepProcessor::SetInitialStep().
|
||||
o Chemistry: clarified pointer ownership in G4DNAChemistryManager.
|
||||
o Fixed reaction site issue.
|
||||
o Fixed compilation warnings on gcc-9.1. Code cleanup.
|
||||
+ High Energy:
|
||||
o G4GammaConversionToMuons, G4AnnihiToMuPair: added
|
||||
registration/de-registration mechanism.
|
||||
+ Standard:
|
||||
o In most models, make use of the new target atom selector that can
|
||||
reuse the already known log-energy value.
|
||||
o G4UrbanMscModel, G4WentzelVIModel, G4GoudsmitSaundersonMscModel:
|
||||
make use of the new base class methods in utils module, utilising
|
||||
the already known log-energy value, in case of dEdx, range and
|
||||
transport mean free path log-vector table accesses.
|
||||
o G4UrbanMscModel: optimised step limitation for 'UseSafetyPlus'
|
||||
and 'UseDistanceToBoundary'. Minor clean-up of step limit method.
|
||||
Modified lateral displacement sampling.
|
||||
o G4ScreeningMottCrossSection, G4KleinNishinaModel, G4SeltzerBergerModel,
|
||||
G4eSingleCoulombScatteringModel: use element->GetZasInt() interface
|
||||
in order to reduce number of double->int conversions at run time.
|
||||
o G4BetheHeitler5DModel: set x,y components in BoostG4LorentzVector
|
||||
function. Replaced local boost and rotation functions with CLHEP
|
||||
boost, boostZ, transform. One random generator flatArray() call in
|
||||
sampling loop.
|
||||
o G4eCoulombScatteringModel, G4WentzelOKandVIxSection: cleanup debug
|
||||
cout and initialisation.
|
||||
+ Utils:
|
||||
o G4EmElementSelector, G4VEmModel: added extra method to select the
|
||||
target atom by making use of the already known log-energy value in
|
||||
the log-vector access.
|
||||
o G4VEmProcess, G4VEnergyLossProcess and G4VMscModel: added extra
|
||||
methods to access log-vector tables by propagating the already
|
||||
known log-energy value.
|
||||
o G4LossTableManager: added Register/DeRegister() methods and vector
|
||||
of pointers for G4VProcess classes for X-ray and optical processes.
|
||||
o G4EmParameters: added polarisation flag; moved implementation of
|
||||
splitting parameters to source and added check on lock; added
|
||||
9.99 MeV low limit in the SetMaxEnergy() method, added thread lock
|
||||
to Dump() method.
|
||||
o G4EmParameters, G4EmParametersMessenger: splitted classes keeping the
|
||||
user interface unchanged.
|
||||
Added new classes for complex EM parameters (G4EmExtraParameters
|
||||
G4EmExtraParametersMessenger) and new classes for low-energy and
|
||||
DNA parameters (G4EmLowEParameters, G4EmLowEParametersMessenger).
|
||||
o New helper class G4NIELCalculator, to compute NIEL in user stepping
|
||||
action or sensitive detector code. User should provide G4VEmModel
|
||||
objects, which has NIEL model.
|
||||
o G4LossTableManager: added access and initialisation of
|
||||
G4NIELCalculator.
|
||||
+ Xrays:
|
||||
o G4Cerenkov, G4Scintillation, G4SynchrotronRadiation,
|
||||
G4VTransitionRadiation: added registration/de-registration mechanism.
|
||||
|
||||
o Generic Processes:
|
||||
-----------------
|
||||
+ Cuts:
|
||||
o Added protection against premature call to G4ProductionCutsTable.
|
||||
+ Optical:
|
||||
o Code cleanup and formatting, added C++11 keywords.
|
||||
|
||||
o Hadronic Processes:
|
||||
------------------
|
||||
+ Improved G4HadronicException: aligned behavior with std::exception:
|
||||
what() returns the exception explanation; move the member definition
|
||||
to source file. Added some consts qualifiers.
|
||||
+ cross_sections
|
||||
o G4NeutrinoElectronNcXsc, G4NeutrinoElectronTotXsc: high energy
|
||||
extension of neutrino-electron cross sections, for both
|
||||
charged-current and neutral-current interactions (M_W and M_Z
|
||||
propagator factors and Glashow resonance), for all neutrino and
|
||||
anti-neutrino flavours.
|
||||
o G4MuNeutrinoNucleusTotXsc: high energy extension of cc/nc xsc (M_W and
|
||||
M_Z propagator factors) cc/tot ratio.
|
||||
o G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS: utilise
|
||||
the new Value() method from G4PhysicsVector, that can make use of the
|
||||
already known value of the log-kinetic energy in the cross-sections
|
||||
table log-vector accesses.
|
||||
o G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS
|
||||
G4ParticleInelasticXS: code clean-up, assuming usage of the new
|
||||
data-set G4PARTICLEXSDATA2.0; removed unused variables and methods;
|
||||
use only methods with logarithm of energy.
|
||||
o G4ParticleInelasticXS: set verbosity to 0.
|
||||
o Corrections in G4MuNeutrinoNucleusTotXsc.cc: new name, default
|
||||
'fCcTotRatio' and high energy parameter 'bb'.
|
||||
o G4ComponentAntiNuclNuclearXS: code clean-up and corrected the
|
||||
description.
|
||||
o G4ComponentGGHadronNucleusXsc, G4ComponentGGNuclNuclXsc: removed
|
||||
remaining unused obsolete methods and members; use G4NuclearRadii
|
||||
utility to compute nuclear radius.
|
||||
o G4ComponentGGHadronNucleusXsc: fixed correction factor for kaons.
|
||||
o G4BGGNucleonElasticXS: reduce low-energy limit from 1 to 0.75 MeV.
|
||||
o G4BGGPionElasticXS, G4BGGPionInelasticXS: fixed initialisation for
|
||||
pi+- by usage of separate vectors of correction factors; fixed
|
||||
computation for Hydrogen target.
|
||||
o G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS: fixed computation
|
||||
for Hydrogen target.
|
||||
o G4HadronNucleonXsc: added extra method for hyperon cross sections.
|
||||
Extended to charmed and bottom hadrons (mesons and baryons).
|
||||
Improved K+p parameterisations (NS and VG); removed obsolete methods.
|
||||
o G4MuNeutrinoNucleusTotXsc: added new method GetElementCrossSection().
|
||||
o G4ParticleInelasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS,
|
||||
G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS,
|
||||
G4NucleonNuclearCrossSection, G4ComponentBarNucleonNucleusXsc,
|
||||
G4UPiNuclearCrossSection: share internal data vectors between threads;
|
||||
initialise data once; removed unused parameters; code clean-up;
|
||||
use C++11 keywords.
|
||||
o G4VCrossSectionDataSet, G4CrossSectionDataStore,
|
||||
G4IonProtonCrossSection: use only methods with logarithm of energy.
|
||||
o G4HadronicException is substituted by G4Exception in all classes with
|
||||
exceptions.
|
||||
+ management
|
||||
o G4HadronicInelasticProcess: removed default GHEISHA cross-section.
|
||||
o G4EnergyRangeManager: fixed bug regarding the kinetic energy per
|
||||
nucleon in the case of anti-nuclei (the bug was of little harm as one
|
||||
single model, FTFP, is used for all energies in the case of anti-nuclei
|
||||
projectiles).
|
||||
o G4HadronicProcess: removed try/catch pattern from computation of mean
|
||||
free path, removed final state random rotation.
|
||||
+ models/cascade
|
||||
o Fixed case for potential FPEs due to un-protected sqrt() in
|
||||
G4NucleiModel::boundaryTransition().
|
||||
+ models/coherent_elastic
|
||||
o G4HadronElastic: removed tracking cut and use numerically safer
|
||||
computation for very low-energy projectile. Improved description and
|
||||
comments; added C++11 keywords.
|
||||
Numerically safer treatment of the very rare cases in which cos(theta)
|
||||
is either greater than 1.0 or smaller than -1.0 (in the first case, we
|
||||
assume no interaction and the projectile keeps going unchanged; in the
|
||||
second case, we assume that the projectile stops and its kinetic energy
|
||||
is deposited locally, neglecting the recoil of the target nucleus).
|
||||
Added protected variable pLocalTmax; added protection for zero energy
|
||||
primary.
|
||||
o Added new model class G4LowEHadronElastic.
|
||||
o G4ChargeExchange: updated interfaces; added protection for zero energy
|
||||
primary.
|
||||
o G4ElasticHadrNucleusHE: make all data shared between threads.
|
||||
o G4AntiNuclElastic: do not compute trigonometric functions, which are
|
||||
not used.
|
||||
o G4ElasticHadrNucleusHE, G4LEpp, G4LEnp: code clean-up.
|
||||
+ models/de_excitation
|
||||
o G4VEmissionProbability: use simple rejection.
|
||||
o G4FermiFragment: fixed Coulomb barrier correction computation.
|
||||
o Replaced deprecated std::binary_function calls with lambdas in
|
||||
G4StatMFMicroCanonical and G4StatMFChannel. Addressing GitHub PR#8.
|
||||
o G4Evaporation, G4ExcitationHandler, G4LevelReader, G4GammaTransition,
|
||||
G4VEmissionProbability, G4PhotonEvaporation, G4PolarizationTransition:
|
||||
changed scheme of verbosity - 0- silence, 1- dump of parameters at
|
||||
initialisation, 2- debug printout, 3- very detailed debug printout.
|
||||
Addressing problem report #2098.
|
||||
o G4CoulombBarrier: use G4NuclearRadii utility to compute nuclear radius.
|
||||
o G4EvaporationChannel, G4EvaporationProbability, G4VEmissionProbability,
|
||||
G4FermiDecayProbability: simplified algorithm to sample kinetic energy
|
||||
of a fragment; minor code clean-up, removed commented lines.
|
||||
+ models/lend
|
||||
o G4LENDCapture::ApplyYourself: fixed memory leak of 'products_from_PE',
|
||||
reported by Coverity.
|
||||
o Fixed compilation warnings on gcc-9.1 for missing assignment operator.
|
||||
+ models/lepto_nuclear
|
||||
o Neutrino-nucleus models and precalculated distribuitons as from
|
||||
new data-set G4PARTICLEXS-2.0.
|
||||
o Fixed in G4NuMuNucelusCc(Nc)Model for kinematics of quasi-elastic
|
||||
neutrino scattering.
|
||||
+ models/management
|
||||
o G4HadronicInteractionRegistry: fixed typo in comments, removed unused
|
||||
Boolean flag.
|
||||
+ models/particle_hp
|
||||
o Fix to deal with incorrect excitation energy when charged particles are
|
||||
emitted during neutron reaction. In G4ParticleHPInelasticCompFS,
|
||||
changed method CompositeApply(), for very small excitation, change
|
||||
level index from -1 to 0 only if incident and outgoing particles are
|
||||
the same. Addressing problem report #1838.
|
||||
o Fix to deal with un-incremented index of photons in
|
||||
G4ParticleHPPhotonDist::GetPhotons(). Also cleaned up dead code
|
||||
in that class. Addressing problem report #2167.
|
||||
o G4ParticleHPChannelList: fixed bug in the momentum change (it has to
|
||||
be a normalized 3-vector, but it was not) in the case where NeutronHP
|
||||
could not find a proper reaction channel.
|
||||
o G4ParticleHPInelasticCompFS: fix to avoid arbitrary number of target
|
||||
nuclei being generated and slowing down multi-threaded operation.
|
||||
Addressing problem report #2166.
|
||||
+ models/pre_equilibrium
|
||||
o Added new model based on pre-compound de-excitation
|
||||
G4LowEGammaNuclearModel.
|
||||
o G4PreCompoundEmission, G4PreCompoundFragment, G4VPreCompoundFragment:
|
||||
setup minimum number of points for probability integration to 4;
|
||||
minor code clean-up.
|
||||
+ models/radioactive_decay
|
||||
o Added spontaneous fission channel: added new class G4SFDecay to handle
|
||||
neutron and gamma generation using LLNL model. Read spontaneous fission
|
||||
data from database, insert it into decay tables and instantiate
|
||||
G4SFDecay.
|
||||
o Fixed incorrect branching ratio sum for biased mode, to account for the
|
||||
addition of N shell EC capture and spontaneous fission.
|
||||
o G4RadioactiveDecayBase: added StreamInfo() method; updated to new
|
||||
N shell EC; enable printout of parameters with G4VERBOSE in
|
||||
BuildPhysicsTable().
|
||||
o G4RadioactivationMessenger: removed obsolete "fast beta" option,
|
||||
internal conversion option (not part of biasing) and atomic relaxation
|
||||
option (not part of biasing). Added "analogueMC" option which was
|
||||
forgotten when class was developed.
|
||||
o G4RadioactiveDecayBaseMessenger: removed obsolete "fast beta" option.
|
||||
o Replaced G4ExceptionDescription in loop with simple string at
|
||||
exception time inG4RadioactiveDecay, G4RadioactiveDecayBase and
|
||||
G4Radioactivation.
|
||||
o In G4RadioactiveDecay::CalculateChainsFromParent() and
|
||||
G4Radioactivation::CalculateChainsFromParent(), fixed memory leak of
|
||||
'summedDecayTable' reported by Coverity.
|
||||
o G4RadioactiveDecay, G4RadioactiveDecayBase: make sure decay table maps
|
||||
are cleanly deleted at the end of program.
|
||||
+ models/util
|
||||
o G4NuclearRadii: new utility class with several parameterisations of
|
||||
nuclear radius.
|
||||
+ processes
|
||||
o G4HadronElasticProcess: removed tracking cut for all particles (charged
|
||||
particles may be stopped by the tracking cut of ionisation process;
|
||||
neutrons should be stopped by G4NeutronKiller).
|
||||
Added protection for zero energy primary. Removed final state rotation.
|
||||
Removed default GHEISHA cross-section.
|
||||
Clean up sampling of final state; improved description and comments;
|
||||
added C++11 keywords; removed unused local members.
|
||||
o G4MuNeutrinoNucleusProcess : new process managing
|
||||
G4NuMuNucleusCc(Nc)Model models.
|
||||
+ stopping
|
||||
o G4HadronicAbsorptionFritof: extended to neutral anti-hadrons
|
||||
(anti-neutron, anti-lambda, anti-sigma0 and anti-xi0). This extension
|
||||
is for completeness and practical convenience, although physically
|
||||
neutral hadrons should never be completely at rest.
|
||||
+ util
|
||||
o G4HadProjectile: clean-up for small kinetic energy of the projectile.
|
||||
o G4HadFinalState, G4Bessel, G4ReactionProduct, G4GHEKinematicsVector:
|
||||
replaced fabs() with abs().
|
||||
|
||||
o Track & Tracking
|
||||
----------------
|
||||
+ G4Track: added forward declaration for G4VProcess.
|
||||
|
||||
o Visualization:
|
||||
-------------
|
||||
+ Fixed compilation warnings on gcc-9.1.0.
|
||||
+ management:
|
||||
o Introducing cloud drawing style. New parameter candidate 'cloud' in
|
||||
"/vis/viewer/set/style". Cloud drawing uses solid->GetPointOnSurface(),
|
||||
i.e., uses kernel algorithms and by-passes polyhedral representations.
|
||||
The solid is represented by a polymarker of dots. The default number of
|
||||
points is 1000. This can be changed with the command
|
||||
"/vis/viewer/set/numberOfCloudPoints"; the minimum number is 100.
|
||||
Note that OpenGL has a fast algorithm for polymarker.
|
||||
This allows us to use cloud style both as a choice or as fallback when
|
||||
the polyhedral representation fails, for example, when BooleanProcessor
|
||||
fails.
|
||||
o New and improved commands:
|
||||
/vis/viewer/centreOn: improved - it does not zoom.
|
||||
/vis/viewer/centreAndZoomInOn: new.
|
||||
/vis/touchable/centreOn: improved - it does not zoom.
|
||||
/vis/touchable/centreAndZoomInOn: new.
|
||||
/vis/touchable/extentForField and volumeForField: new.
|
||||
/vis/scene/showExtents: new.
|
||||
/vis/set/volumeForField: new.
|
||||
/vis/touchable/showExtent: new.
|
||||
o Added copy number parameter to "/vis/touchable/findPath".
|
||||
o Implemented "/vis/set/extentForField" command: the default is a null
|
||||
extent, which is to be interpreted by the field model as the whole
|
||||
extent of the current scene. Otherwise, with this command, one can
|
||||
limit the extent over which the field is drawn. This would help, for
|
||||
example, if drawing over the whole scene produced so many arrows or
|
||||
lines that it clutters the scene. Changed the default spacing:
|
||||
the parameter 'nDataPointsPerHalfExtent' is changed from 10 to 3, so
|
||||
as not to clutter the scene. See guidance of "/vis/scene/add/*Field"
|
||||
commands for further explanation.
|
||||
o Provide ability to draw electric fields, and eventually any other
|
||||
field. Added "/vis/scene/add/electricField" by analogy to existing
|
||||
.../magneticField.
|
||||
o Refactor MagneticFieldModel class with new base to handle all kinds of
|
||||
vector fields; existing, and new ElectricFieldModel only have to
|
||||
implement a simple function to get the field vector at a location.
|
||||
o Include parameterised volumes in overlap checking and visualisation
|
||||
in G4LogicalVolumeModel (in addition to ordinary placements).
|
||||
o Introduced "/vis/viewer/centreOn" and "/vis/touchable/centreOn" UI
|
||||
commands. This allows one to centre the view (zoom in) on a volume.
|
||||
Reset with "/vis/viewer/reset".
|
||||
o Rationalised view interpolation; encapsulate algorithm into base class
|
||||
G4VVisCommand, so that commands "/vis/viewer/interpolate",
|
||||
"/vis/viewer/centreOn" and "/vis/touchable/centerOn" now use this.
|
||||
Might consider use by all view changing commands.
|
||||
o Fixed bug in "/vis/viewer/set/sectionPlane".
|
||||
o Corrected few typos in printout/comments.
|
||||
o Improved guidance for "/vis/scene/add/volume".
|
||||
o Minor improvements to visualization manager.
|
||||
o Fixed Boolean operators to return G4bool.
|
||||
o Fixed Coverity defects.
|
||||
+ modeling:
|
||||
o Introduced G4BoundingExtentScene. This allows one to accumulate extents
|
||||
using the newly introduced G4VisExtent::Transform() and is a better way
|
||||
of determining the overall extent of a scene (or of any set of extents)
|
||||
than by the bounding sphere approach.
|
||||
o G4VFieldModel, G4ElectricFieldModel, G4MagneticFieldModel: new
|
||||
abstraction for field models.
|
||||
o Arrows and field models: introduced further protection.
|
||||
o G4VModel: introduced GetTransformedExtent() method.
|
||||
o G4PhysicalVolumeModel: use G4BoundingExtentScene instead of
|
||||
G4BoundingSphereScene. Fixed bug whereby the local extent was
|
||||
incorrectly calculated.
|
||||
o Fixed bug in "/vis/viewer/set/sectionPlane".
|
||||
o Added volume count (but commented out printing).
|
||||
+ OpenGL:
|
||||
o Force double buffer context for OGLIX.
|
||||
o Force kernel visit on change of number of cloud points.
|
||||
o Fixed bug in "/vis/viewer/set/sectionPlane".
|
||||
o Avoid re-using display lists for markers. They may have their own
|
||||
position relative to the overall object transformation.
|
||||
+ OpenInventor:
|
||||
o Test number of cloud points for kernel visit.
|
||||
o Added missing protection on G4VIS_BUILD_OIX_DRIVER.
|
||||
o Fixed compilation warning from gcc-9.1 in SoCounterAction for setting
|
||||
of name, apparently not allowed in OpenInventor.
|
||||
o Corrected few typos in printout/comments.
|
||||
+ XXX:
|
||||
o Force kernel visit on change of number of cloud points.
|
||||
|
||||
o Data Sets:
|
||||
---------
|
||||
+ G4PARTICLEXS-2.0:
|
||||
o Added data for neutrino.
|
||||
o Updated cross-sections for low Z targets at low energy.
|
||||
|
||||
o Examples:
|
||||
--------
|
||||
+ Updated reference outputs, macros, READMEs and scripts.
|
||||
+ advanced/nanobeam
|
||||
o Include G4Types.hh header in main(), before use of G4MULTITHREADED.
|
||||
+ advanced/underground_physics
|
||||
o DMXPhysicsList: added Glauber-Gribov cross-section for all elastic
|
||||
processes.
|
||||
+ extended/biasing/B03
|
||||
o B03PhysicsList: explicitly define hadronic cross-sections.
|
||||
Use G4NeutronInelasticXS cross-section.
|
||||
+ extended/electromagnetic/TestEm1
|
||||
o Added G4NIELCalculator and corresponding histograms and printouts;
|
||||
general clean-up of the code; use default random number generator.
|
||||
+ extended/electromagnetic/TestEm5
|
||||
o StackinAction: fixed log histograms, which where filled in a wrong way.
|
||||
o PhysListEm19DStandard: use 3-gamma annihilation model.
|
||||
+ extended/electromagnetic/TestEm15
|
||||
o SteppingAction: do not fill hist #11,#12 when no recoil returned.
|
||||
+ extended/electromagnetic/TestEm16
|
||||
o PhysicsList: use G4DecayPhysics and drop G4AutoDelete.
|
||||
o Migrated to use default MixMax generator.
|
||||
+ extended/electromagnetic/TestEm17
|
||||
o Code clean-up; switch to MixMax random generator.
|
||||
+ extended/hadronic/Hadr01
|
||||
o HistoManager: added linear histogram for pion energy at production.
|
||||
+ extended/hadronic/Hadr02
|
||||
o G4CRMCModel: some improvements (e.g. considered the energy-per-nucleon,
|
||||
instead of the whole projectile, in the case of nucleus projectile) and
|
||||
better documentation (in the form of comments in the class).
|
||||
+ extended/medical/DICOM
|
||||
o Defaulted copy-ctr in DicomPhantomZSliceHeader, to fix deprecation
|
||||
compilation warnings on gcc-9.1.
|
||||
+ extended/medical/DICOM2
|
||||
o Include G4Types.hh header in main(), before use of G4MULTITHREADED.
|
||||
+ extended/medical/dna/chem2
|
||||
+ extended/medical/dna/chem3
|
||||
o Clean-up of TimeStepAction.
|
||||
+ extended/medical/dna/chem4
|
||||
o Added UI commands for one step thermalization model selection
|
||||
in macro beam.in.
|
||||
o Make Species alias of const G4MolecularConfiguration.
|
||||
+ extended/medical/dna/chem5
|
||||
o Make Species alias of const G4MolecularConfiguration.
|
||||
+ extended/medical/dna/dnadamage1
|
||||
o New example showing a simple way to simulate dna direct and indirect
|
||||
damages using Geant4-DNA physics and chemical processes in a molecular
|
||||
DNA geometry.
|
||||
+ extended/medical/dna/microdosimetry
|
||||
o Updated plot.C.
|
||||
+ extended/medical/dna/microprox
|
||||
o New example showing how to compute proximity functions in liquid water
|
||||
using exclusively Geant4-DNA physics processes and models.
|
||||
+ extended/medical/dna/microyz
|
||||
o Added condensed history models including step size control.
|
||||
o Added EM UI commands in microyz.in.
|
||||
o Fixed Boolean operators to return G4bool.
|
||||
+ extended/medical/electronScattering2
|
||||
o Fixed warning about attempting to add multiple times the same sensitive
|
||||
detector.
|
||||
+ extended/medical/fanoCavity
|
||||
+ extended/medical/fanoCavity2
|
||||
o DetectorConstruction: simplification of DefineMaterial().
|
||||
o DetectorConstruction, DetectorMessenger: fixed usage of base materials
|
||||
and cleanup (should fix ~1% error for Opt4 EM physics).
|
||||
o PhysListEmStandard_option4: set RangeFactor to 0.08 (as in the
|
||||
physics_list library). PhysListEmStandard_option3: set parameters as
|
||||
in the physics_list library.
|
||||
+ extended/optical/LXe
|
||||
o LXeDetectorConstruction: removed protection against rebuilding
|
||||
detector.
|
||||
o LXeEventAction: commented out randomSaveEvent.
|
||||
+ extended/parallel/MPI
|
||||
o Fixed compilation error in G4MPIextraWorker.
|
||||
Addressing problem report #2163.
|
||||
+ extended/persistency/gdml/G01
|
||||
o Added BeamOn(0) to initialize range to energy converters
|
||||
needed when exporting cuts per volume.
|
||||
+ extended/persistency/P01
|
||||
o Fixed definition of allocator in ExP01TrackerHit.
|
||||
+ extended/radioactivedecay/rdecay01
|
||||
o PhysicsList: replaced G4RadioactiveDecay with refactored class
|
||||
G4Radioactivation.
|
||||
+ extended/radioactivedecay/rdecay02
|
||||
o New class BiasedRDPhysics using new G4Radioactivation process with all
|
||||
biasing available
|
||||
o In PhysicsList, replaced G4RadioactiveDecayPhysics with
|
||||
BiasedRDPhysics, also removed HP option physics lists.
|
||||
o In Run, replaced G4RadioactiveDecay with G4Radioactivation.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
@@ -0,0 +1,168 @@
|
||||
|
||||
Geant4 10.4 - patch-03 Release Notes
|
||||
------------------------------------
|
||||
|
||||
8 February 2019
|
||||
|
||||
List of fixes included in this public patch since the public release 10.4.p02:
|
||||
|
||||
o Configuration:
|
||||
-------------
|
||||
+ CMake:
|
||||
o Corrected URLs for data installation to use https; added -L flag to curl
|
||||
to follow redirects when accessing a dataset URL.
|
||||
o Geant4MakeRules_cxx.cmake: added -DGL_SILENCE_DEPRECATION to
|
||||
CMAKE_CXX_FLAGS_INIT for clang to silence GL deprecation compilation
|
||||
warnings on MacOS 10.14 Mojave.
|
||||
+ GNUMake:
|
||||
o Fixed setting of G4RUNPATHOPTION in Darwin/Linux-clang/g++ and binmake.cmk.
|
||||
Addressing problem report #2086.
|
||||
o Cleanup settings for GL in Darwin-clang.gmk and Darwin-g++.gmk.
|
||||
Added -DGL_SILENCE_DEPRECATION to CPPFLAGS to silence GL deprecation
|
||||
compilation warnings on MacOS 10.14 Mojave.
|
||||
|
||||
o Analysis:
|
||||
--------
|
||||
+ Fixed a deadlock issue with G4RootPNtupleManager where the mutex
|
||||
was locked before being passed to Root.
|
||||
+ Fixed compilation warnings on gcc-8.1.0.
|
||||
|
||||
o Geometry:
|
||||
--------
|
||||
+ management:
|
||||
o Use reverse_iterator in G4SolidStore::DeRegister() in order to speedup
|
||||
partial deregistration on setups with many solids instances.
|
||||
o G4Region: added possibility to disable search in the tree in
|
||||
AddRootLogicalVolume() for speeding up process in complex flat geometries.
|
||||
|
||||
o Global:
|
||||
------
|
||||
+ G4PhysicsVector, G4Physics2DVector: fixed possible out-of-bound access
|
||||
in FindBin() method. Addressing problem report #2087.
|
||||
+ Updated date and version for 10.4.p03.
|
||||
|
||||
o Interfaces:
|
||||
----------
|
||||
+ G4Xt: fixed compilation warnings for casts on gcc-8.1.
|
||||
+ Fixed compilation warnings for not used return parameters.
|
||||
|
||||
o Persistency - gdml
|
||||
------------------
|
||||
+ Clear auxiliary map information in G4GDMLReadStructure::Clear().
|
||||
Addressing problem report #2064.
|
||||
+ Added stripping of invalid characters for names generation in writer classes
|
||||
to prevent invalid NCName strings in exported GDML files. Adopt properly
|
||||
stripped generated strings for exporting names of optical surfaces.
|
||||
|
||||
o Processes - Electromagnetic:
|
||||
---------------------------
|
||||
+ dna:
|
||||
o Fixed header guards in G4ITFinder and G4AllITFinder.
|
||||
Addressing problem report #2084.
|
||||
+ standard:
|
||||
o G4GoudsmitSaundersonTable: fixed gcc-8.1.0 compilation warnings.
|
||||
+ utils:
|
||||
o G4EmElementSelector: optimisation of element selection for compound
|
||||
materials.
|
||||
+ xrays:
|
||||
o G4Cerenkov, G4Scintillation: correctly reset number of photons
|
||||
to 0 each step. Addressing problem report #2056.
|
||||
Added protection against infinite loops due to very small steps.
|
||||
Addressing problem report #1992.
|
||||
|
||||
o Processes - Hadronic:
|
||||
--------------------
|
||||
+ management:
|
||||
o G4HadronicProcess: added check if secondary particle is on the mass
|
||||
shell; if its mass differ from the PDG mass more for 1.5 MeV then mass
|
||||
is forced to the mass shell, energy conserved, but momentum is changed.
|
||||
Use correct return type when calling CheckResult() from PostStepDoIt():
|
||||
fixes case when the value of pointer 'result' does not get properly
|
||||
reset to NULL in case a non-conservation is detected, thus "bad"
|
||||
interaction does not get re-sampled.
|
||||
Fixed compilation warnings on gcc-8.1.0 regarding catching polymorphic
|
||||
type by value, instead of by reference.
|
||||
o G4HadronicProcess, G4VLeadingParticleBiasing, G4HadLeadBias: fixed
|
||||
compilation warning with gcc-7.
|
||||
+ models/binary_cascade
|
||||
o G4GeneratorPrecompoundInterface: fixed printout typo.
|
||||
+ models/cascade:
|
||||
o G4GDecay3: fixed problem reported by CMS due to wrong kinematics in
|
||||
the final state by removing loop check; adding protection for low value
|
||||
of mother mass.
|
||||
+ models/de_excitation:
|
||||
o G4LevelReader: fixed initialisation of 'fAlphaMax' from 1.e+6 to 1.e+15;
|
||||
needed for correct IC probability of some isotopes.
|
||||
Addresses problem reports #1986 and #2076, by change of handling of
|
||||
internal conversion data.
|
||||
+ models/particle_hp
|
||||
o G4ParticleHPCaptureFS::ApplyYourself(): Lorentz boost of neutron into
|
||||
target frame was backwards; reversed it. Also replaced SetDefinition()
|
||||
with SetDefinitionAndUpdateE(). Addresses problem report #1919.
|
||||
o Fixed definition of singletons for G4ParticleHPManager and
|
||||
G4ParticleHPThreadLocalManager and some code cleanup.
|
||||
Made G4ParticleHPThreadLocalManager a G4ThreadlLocalSingleton to avoid
|
||||
memory leaks generated each time a thread creates the instance.
|
||||
o Fixed bug for double allocation of G4ParticleHPReactionWhiteBoard in
|
||||
G4ParticleHPThreadLocalManager::OpenReactionWhiteBoard().
|
||||
o G4ParticleHPElementData: removed unnecessary inheritance from
|
||||
G4HadronicCrossSection.
|
||||
o Fixed incorrect sampling of isotropic distribution.
|
||||
Addressing problem report #1745.
|
||||
o Fixed gamma level mismatch in G4ParticleHPInelasticCompFS.
|
||||
Not a complete fix because gamma data comes from ENSDF and does not
|
||||
necessarily match excitations in ENDF.
|
||||
Addressing problem report #1789.
|
||||
o Fixed memory leaks in G4ParticleHPContEnergyAngular::Sample() and
|
||||
G4ParticleHPContAngularPar::cacheInit().
|
||||
Addressing problem report #2026.
|
||||
o G4ParticleHPElasticFS::ApplyYourself(): use correct reference frames for
|
||||
calculation of projectile and target momenta. Correction made for cases
|
||||
when cos(Theta) is given in lab frame and in center of momentum frame.
|
||||
Partial fix of momentum non-conservation for problem report #1918.
|
||||
o Fixed potential leaks in G4ParticleHPPhotonDist, G4ParticleHPContAngularPar
|
||||
and G4ParticleHPFinalState for use of pointers cached in G4Cache.
|
||||
o G4ENDFTapeRead, G4FissionProductYieldDist: fixed compilation warnings
|
||||
on gcc 8.1.0, regarding catching polymorphic type by value, instead of
|
||||
by reference.
|
||||
o Minor code cleanup and formatting.
|
||||
+ models/parton_string/diffraction
|
||||
o G4FTFAnnihilation: fix to get flat cos(theta) and phi distributions for
|
||||
antiproton annihilation at rest.
|
||||
+ models/rpg
|
||||
o G4RPGAntiKZeroInelastic, G4RPGInelastic: fixed compilation warnings on
|
||||
gcc-8.1.0, regarding catching polymorphic type by value, instead of by
|
||||
reference.
|
||||
+ processes:
|
||||
o G4HadronElasticProcess, G4NeutrinoElectronProcess: fixed compilation
|
||||
warnings on gcc 8.1.0, regarding catching polymorphic type by value,
|
||||
instead of by reference.
|
||||
+ stopping:
|
||||
o G4HadronStoppingProcess, G4MuonicAtomDecay: fixed compilation warnings
|
||||
on gcc 8.1.0, regarding catching polymorphic type by value, instead of
|
||||
by reference.
|
||||
|
||||
o Processes - Scoring:
|
||||
-------------------
|
||||
o G4ParallelWorldProcess: fixed track velocity of optical photons for the
|
||||
first step in a layered mass geometry.
|
||||
|
||||
o Examples:
|
||||
--------
|
||||
+ extended/fieldBlineTracer:
|
||||
o Fixed compilation error for missing header inclusion.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
Technical Notes
|
||||
---------------
|
||||
|
||||
o This patch should be applied on top of release 10.4 or 10.4.p01 or p02.
|
||||
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.p03 are available
|
||||
through our "Download" Web page.
|
||||
|
||||
Please refer to the Geant4 User Documentation for further information about
|
||||
using Geant4.
|
||||
Reference in New Issue
Block a user