Files
geant4/ReleaseNotes/Beta4.10.6-1.txt
2019-06-28 11:59:04 +02:00

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.
----------------------------------------------------------------------------