686 lines
35 KiB
Plaintext
686 lines
35 KiB
Plaintext
|
|
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.
|
|
|
|
----------------------------------------------------------------------------
|
|
|