Warning, /geant4/CHANGELOG/Beta4.10.6-1.txt is written in an unsupported language. File is not indexed.
0001
0002 Geant4 10.6-beta-01 Release Notes
0003 ---------------------------------
0004
0005 28 June 2019
0006
0007 Migration Notes & Main New Features
0008 -----------------------------------
0009
0010 o Promoting pre-processor flags to fixed #defines in a new header
0011 generated by CMake, reducing flags added to CMAKE_CXX_FLAGS.
0012 o Reviewed G4PhysicsVector adding an additional Value() method option to
0013 propagate down the known log-energy value. This helps avoiding log() calls
0014 when log-vector is used.
0015 o Enabled VecGeom wrapper for G4GenericPolycone. Requiring VecGeom-1.1.2.
0016 o Added support for writing out assemblies envelopes in GDML.
0017 o Added functionality in G4DynamicParticle to provide log-kinetic energy
0018 value, computed only on demand if its stored value is not up-to-date with
0019 the kinetic energy. Reviewed EM processes to select the target atom by
0020 making use of the already known log-energy value in the log-vector access.
0021 Providing measurable CPU speedup.
0022 o Optimised step limitation in G4UrbanMscModel and modified lateral
0023 displacement sampling.
0024 o New helper class G4NIELCalculator, to compute NIEL in user stepping
0025 action or sensitive detector code.
0026 o Cross-sections: high energy extension of the neutrino-electron cross
0027 sections, for both charged-current and neutral-current interactions
0028 (M_W and M_Z propagator factors and Glashow resonance), for all neutrino
0029 and anti-neutrino flavours.
0030 o Extended hadron-nucleon cross-sections to charmed and bottom hadrons
0031 (mesons and baryons).
0032 o Use Glauber-Gribov cross-section for hyperons in hadron elastic physics.
0033 o Added handling of UI thermalization model control in DNA physics lists.
0034 o Removed tracking cut in hadron-elastic and use numerically safer
0035 computation for very low-energy projectile.
0036 o Use FTFP also for the annihilation at rest of neutral anti-hadrons.
0037 o Added spontaneous fission channel in radioactive-decay.
0038 o Enhanced UI commands to now return proper return code when they are not
0039 successful.
0040 o Added new gamma-nuclear model based on pre-compound de-excitation
0041 o New set of UI commands and improvements in visualization.
0042 Added new UI commands for view interpolation and centering.
0043 o Introducing cloud drawing style in visualization, using kernel algorithms
0044 for generating points on the surface of volumes, by-passing polyhedral
0045 representations; the solid is being visualised by a polymarker of dots.
0046 o Porting of code on gcc-9.1 series.
0047 o Updated to CLHEP version 2.4.1.2.
0048 o New data sets G4PARTICLEXS-2.0.
0049
0050 ----------------------------------------------------------------------------
0051
0052 Technical Notes
0053 ---------------
0054
0055 o Tested platforms:
0056 + Linux, gcc-4.8.5.
0057 Tested on 64 bit architectures (Intel or AMD) with CERN CentOS
0058 Linux 7 (CC7) (based on CentOS Linux 7).
0059 Versions of Geant4 have also been compiled successfully on other
0060 Linux distributions, Ubuntu, Debian, Suse or other RedHat systems.
0061 + MacOSX 10.14, clang-6.0 (Apple LLVM/Clang-10.0.1)
0062 + Windows/10 with Visual C++ 14.11 (Visual Studio 2017)
0063
0064 o More verified configurations:
0065 + 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.
0066 + Linux, Intel-icc 19.0.
0067 + MacOSX 10.12/13 with clang-3.9/4.0
0068
0069 o External dependencies
0070 + CLHEP-2.4.1.2, suggested for external installation of the CLHEP library.
0071 + VecGeom-1.1.2, for optional use of the VecGeom geometry primitives.
0072
0073 o New data sets:
0074 + G4PARTICLEXS-2.0.
0075
0076 Please refer to the Geant4 User Documentation:
0077 http://cern.ch/geant4/support/userdocuments.shtml
0078 for further information about using Geant4.
0079
0080 ----------------------------------------------------------------------------
0081
0082 List of features and fixes included in this Beta release since 10.5.p01:
0083
0084 o Configuration:
0085 -------------
0086 + CMake:
0087 o Removed obsolete GEANT4_BUILD_MUONIC_ATOMS_IN_USE option
0088 and associated configuration/compiler flags.
0089 o Promoting following pre-processor flags to fixed #defines in a new
0090 header generated by CMake using the chosen build options to
0091 #define/#undef as appropriate: G4USE_STD11, G4MULTITHREADED,
0092 G4_STORE_TRAJECTORY, G4VERBOSE, GEANT4_USE_TIMEMORY.
0093 Promoted VecGeom pre-processor flags to fixed #defines as well.
0094 Ensuring the header is included by primary "global" category headers
0095 so that all categories will pick up the changes transparently.
0096 Removed use of add_definitions of CMAKE_CXX_FLAGS to set these flags
0097 in Geant4 and client scripts.
0098 o Removed G4FPE_DEBUG from build mode "Debug". Added new build mode
0099 "Debug_FPE" same as "Debug" mode but appending -DG4FPE_DEBUG.
0100 o Updated version of data sets: G4PARTICLEXS-2.0.
0101 Updated tags for 10.6-beta.
0102 + GNUMake:
0103 o Hard-code Qt version through QT_VERSION flag.
0104 Corrected Qt5 setup for Linux-g++ and Linux-clang.
0105 o architecture.gmk: added -DG4GMAKE to CPPFLAGS to identify enabling
0106 of GNUmake builds.
0107
0108 o Analysis:
0109 --------
0110 + Fixed CSV, XML ntuple file names.
0111
0112 o Digits & Hits:
0113 -------------
0114 + G4PSSphereSurfaceFlux: fixed track weight.
0115
0116 o Event:
0117 -----
0118 + G4SPSPosDistribution: added accessor methods for volume confinement
0119 Addressing GitHub PR #7.
0120
0121 o Externals:
0122 ---------
0123 + Updated CLHEP module to version 2.4.1.2:
0124 o MixMaxRng: throw if seed is zero. Use throw instead of exit()
0125 elsewhere.
0126 Defaulted operator=() also for BasicVector3D andPlan3D; fixing
0127 deprecation warnings on gcc-9.1.
0128 Fixed shadowing compilation warnings in Transform3D as reported
0129 on gcc-9.1.
0130
0131 o Geometry:
0132 --------
0133 + divisions:
0134 o Return correct value for multiplicity in G4PVDivision and
0135 G4ReplicatedSlice. Addressing problem report #2168.
0136 + magneticfield:
0137 o G4ChordFinder: changed to use concrete type of Stepper as template
0138 parameter.
0139 o G4InterpolationDriver: new revision with multiple steppers for
0140 each substep. Fixed memory churn; use FSAL property of
0141 G4DormandPrince745. Change from G4VERBOSE to G4FIELD_DEBUG for
0142 debug checks.
0143 o Removed division in G4DormandPrince745::Interpolate4thOrder().
0144 o Reset step estimate in G4MagInt_Driver only at the beginning of a
0145 track.
0146 + management:
0147 o G4GeomSplitter: re-enabled use or realloc()/free() and memcpy(), after
0148 adapting G4VPhysicalVolume MT splitted data to adopt only trivial types
0149 for allocation. Re-establishing original performance in initialisation
0150 of the geometry in MT mode.
0151 o Properly initialise splitted data in G4VPhysicalVolume to zero.
0152 o Replaced deprecated std::binary_function calls with lambdas in
0153 G4SmartVoxelStat and G4GeometryManager. Addressing GitHub PR#8.
0154 o Defined move constructor and move assignment operator for
0155 G4AffineTransform.
0156 o Use header-based #define/undef symbols to configure VecGeom
0157 replacements; added new configuration headers G4GeomConfig.hh and
0158 G4GeomTypes.hh.
0159 o Fixed minor Coverity defects.
0160 + navigation:
0161 o Improved information in G4Exceptions for particles stuck due to
0162 multiple zero steps in G4Navigator.
0163 + solids/CSG:
0164 o G4Tubs: Fixed normal from DistanceToOut() to be unit vector, for
0165 abnormal exit points. Added inverse-Rmax and -Rmin as data members.
0166 o Re-use pre-calculated values instead of using std::cos(), std::sin()
0167 in G4Tubs, G4Cons, G4CutTubs and G4Sphere.
0168 o Added inclusion of new G4GeomTypes.hh header to those headers allowing
0169 VecGeom replacement.
0170 + solids/specific:
0171 o Enabled VecGeom wrapper for G4GenericPolycone. Requiring VecGeom-1.1.2.
0172 o Modified G4PolyconeSide and G4PolyhedraSide to use only trivial types
0173 for MT splitted data in G4PlSideData and G4PhSideData respectively.
0174 o Protected check in G4TwistedTubsSide::DistanceToPlane() within debug
0175 flag.
0176 o Defined move constructor and move assignment operator for
0177 G4TriangularFacet.
0178 o Use GetVertices() instead of GetParametersList() in the wrapper G4UTet.
0179 o Added inclusion of new G4GeomTypes.hh header to those headers allowing
0180 VecGeom replacement.
0181 o Fixed minor Coverity defects.
0182
0183 o Global:
0184 ------
0185 + G4PhysicsVector: added additional Value() method option to propagate down
0186 the known log-energy value (can avoid the log call in case of
0187 log-vector).
0188 + Added new LOG_EKIN_MIN constant as value taken in case of zero kin-energy
0189 in templates.hh.
0190 + Defined default move constructor and move assignment operator for
0191 G4String and G4DataVector.
0192 + Added G4GlobalConfig.hh generated header to hold global, always required,
0193 pre-processor symbols instead of relying on -D flags for: G4USE_STD11,
0194 G4MULTITHREADED, G4_STORE_TRAJECTORY, G4VERBOSE and GEANT4_USE_TIMEMORY.
0195 Added inclusion of G4GlobalConfig.hh in G4Types.hh, tls.hh and
0196 G4TiMemory.hh so that global and other categories pick up the definitions
0197 transparently.
0198 + Updated other headers/srcs to include G4Types/G4Threading if they use
0199 G4MULTITHREADED.
0200 + Changed date for release 10.6-beta.
0201
0202 o Graphics Representations:
0203 ------------------------
0204 + G4VisAttributes: added 'cloud' and methods to force, SetForceCloud(),
0205 and SetForceNumberOfCloudPoints().
0206 + G4VisExtent: added method Transform(const G4Transform3D&).
0207 + Removed Get/SetDrawOverlapsFlag() from G4VVisManager.
0208
0209 o Intercoms
0210 ---------
0211 + The following UI commands now return proper return code when they are
0212 not successful: /control/execute, loop, foreach, shell, getEnv.
0213 Addressing problem report #2159.
0214
0215 o Particles:
0216 ---------
0217 + G4DynamicParticle: added functionality to provide log-kinetic energy
0218 value, computed only on demand if its stored value is not up-to-date
0219 with the kinetic energy.
0220 Code cleanup: moved data members to be private; aligned class members
0221 3-vectors, doubles, integer; added initialisation of PDG code and
0222 polarization in all constructors; added method SetPolarisation(); use
0223 CLHEP electron mass; removed unused forward declarations and headers.
0224
0225 o Persistency:
0226 -----------
0227 + GDML:
0228 o Added support for writing out assemblies envelopes.
0229 o Improved reading of optical properties reader, by allowing reuse of
0230 the same G4MaterialPropertyVector object for identical properties.
0231
0232 o Physics Lists:
0233 -------------
0234 + Constructors:
0235 o electromagnetic:
0236 - Added handling of UI thermalization model control in
0237 G4EmDNAPhysics_option1,2,3,4,5,6,7,8.
0238 - G4EmDNAChemistry constructors: updated to follow emdna changes.
0239 - Added sub-excitation processes in G4EmDNAPhysics_option8.
0240 - G4EmLivermorePhysics, G4EmPenelopePhysics,
0241 G4EmStandardPhysics_option4, G4EmStandardPhysics_option3: define
0242 upper energy limit for nuclear stopping via EM parameters.
0243 In all DNA constructors, added ActivateDNA() flag to EM parameters.
0244 - Added G4EmDNAChemistry_option2 constructor.
0245 o gamma_lepto_nuclear:
0246 - G4EmExtraPhysics: added muon-neutrino nucleus interactions; removed
0247 extra static members.
0248 o hadron_inelastic:
0249 - G4HadronElasticPhysics: use Glauber-Gribov cross-section for
0250 hyperons.
0251 - G4HadronDElasticPhysics, G4HadronDElasticPhysics: use Glauber-Gribov
0252 cross-section for hyperons, d, t, He3, He4.
0253 - G4HadronElasticPhysicsXS, G4IonElasticPhysics: removed commented
0254 code.
0255 o stopping:
0256 - Use FTFP also for the annihilation at rest of neutral anti-hadrons:
0257 anti-neutron, anti-lambda, anti-sigma0 anti-xi0. This extension is
0258 for completeness and practical convenience, although physically
0259 neutral hadrons should never be completely at rest.
0260 + lists:
0261 o Replaced G4RadioactiveDecay with G4RadioactiveDecayBase in LBE list.
0262
0263
0264 o Electromagnetic Processes:
0265 -------------------------
0266 + DNA:
0267 o Added G4DNAMolecule class.
0268 o Moved checking of position of track status in
0269 G4ITStepProcessor::SetInitialStep().
0270 o Chemistry: clarified pointer ownership in G4DNAChemistryManager.
0271 o Fixed reaction site issue.
0272 o Fixed compilation warnings on gcc-9.1. Code cleanup.
0273 + High Energy:
0274 o G4GammaConversionToMuons, G4AnnihiToMuPair: added
0275 registration/de-registration mechanism.
0276 + Standard:
0277 o In most models, make use of the new target atom selector that can
0278 reuse the already known log-energy value.
0279 o G4UrbanMscModel, G4WentzelVIModel, G4GoudsmitSaundersonMscModel:
0280 make use of the new base class methods in utils module, utilising
0281 the already known log-energy value, in case of dEdx, range and
0282 transport mean free path log-vector table accesses.
0283 o G4UrbanMscModel: optimised step limitation for 'UseSafetyPlus'
0284 and 'UseDistanceToBoundary'. Minor clean-up of step limit method.
0285 Modified lateral displacement sampling.
0286 o G4ScreeningMottCrossSection, G4KleinNishinaModel, G4SeltzerBergerModel,
0287 G4eSingleCoulombScatteringModel: use element->GetZasInt() interface
0288 in order to reduce number of double->int conversions at run time.
0289 o G4BetheHeitler5DModel: set x,y components in BoostG4LorentzVector
0290 function. Replaced local boost and rotation functions with CLHEP
0291 boost, boostZ, transform. One random generator flatArray() call in
0292 sampling loop.
0293 o G4eCoulombScatteringModel, G4WentzelOKandVIxSection: cleanup debug
0294 cout and initialisation.
0295 + Utils:
0296 o G4EmElementSelector, G4VEmModel: added extra method to select the
0297 target atom by making use of the already known log-energy value in
0298 the log-vector access.
0299 o G4VEmProcess, G4VEnergyLossProcess and G4VMscModel: added extra
0300 methods to access log-vector tables by propagating the already
0301 known log-energy value.
0302 o G4LossTableManager: added Register/DeRegister() methods and vector
0303 of pointers for G4VProcess classes for X-ray and optical processes.
0304 o G4EmParameters: added polarisation flag; moved implementation of
0305 splitting parameters to source and added check on lock; added
0306 9.99 MeV low limit in the SetMaxEnergy() method, added thread lock
0307 to Dump() method.
0308 o G4EmParameters, G4EmParametersMessenger: splitted classes keeping the
0309 user interface unchanged.
0310 Added new classes for complex EM parameters (G4EmExtraParameters
0311 G4EmExtraParametersMessenger) and new classes for low-energy and
0312 DNA parameters (G4EmLowEParameters, G4EmLowEParametersMessenger).
0313 o New helper class G4NIELCalculator, to compute NIEL in user stepping
0314 action or sensitive detector code. User should provide G4VEmModel
0315 objects, which has NIEL model.
0316 o G4LossTableManager: added access and initialisation of
0317 G4NIELCalculator.
0318 + Xrays:
0319 o G4Cerenkov, G4Scintillation, G4SynchrotronRadiation,
0320 G4VTransitionRadiation: added registration/de-registration mechanism.
0321
0322 o Generic Processes:
0323 -----------------
0324 + Cuts:
0325 o Added protection against premature call to G4ProductionCutsTable.
0326 + Optical:
0327 o Code cleanup and formatting, added C++11 keywords.
0328
0329 o Hadronic Processes:
0330 ------------------
0331 + Improved G4HadronicException: aligned behavior with std::exception:
0332 what() returns the exception explanation; move the member definition
0333 to source file. Added some consts qualifiers.
0334 + cross_sections
0335 o G4NeutrinoElectronNcXsc, G4NeutrinoElectronTotXsc: high energy
0336 extension of neutrino-electron cross sections, for both
0337 charged-current and neutral-current interactions (M_W and M_Z
0338 propagator factors and Glashow resonance), for all neutrino and
0339 anti-neutrino flavours.
0340 o G4MuNeutrinoNucleusTotXsc: high energy extension of cc/nc xsc (M_W and
0341 M_Z propagator factors) cc/tot ratio.
0342 o G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS: utilise
0343 the new Value() method from G4PhysicsVector, that can make use of the
0344 already known value of the log-kinetic energy in the cross-sections
0345 table log-vector accesses.
0346 o G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS
0347 G4ParticleInelasticXS: code clean-up, assuming usage of the new
0348 data-set G4PARTICLEXSDATA2.0; removed unused variables and methods;
0349 use only methods with logarithm of energy.
0350 o G4ParticleInelasticXS: set verbosity to 0.
0351 o Corrections in G4MuNeutrinoNucleusTotXsc.cc: new name, default
0352 'fCcTotRatio' and high energy parameter 'bb'.
0353 o G4ComponentAntiNuclNuclearXS: code clean-up and corrected the
0354 description.
0355 o G4ComponentGGHadronNucleusXsc, G4ComponentGGNuclNuclXsc: removed
0356 remaining unused obsolete methods and members; use G4NuclearRadii
0357 utility to compute nuclear radius.
0358 o G4ComponentGGHadronNucleusXsc: fixed correction factor for kaons.
0359 o G4BGGNucleonElasticXS: reduce low-energy limit from 1 to 0.75 MeV.
0360 o G4BGGPionElasticXS, G4BGGPionInelasticXS: fixed initialisation for
0361 pi+- by usage of separate vectors of correction factors; fixed
0362 computation for Hydrogen target.
0363 o G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS: fixed computation
0364 for Hydrogen target.
0365 o G4HadronNucleonXsc: added extra method for hyperon cross sections.
0366 Extended to charmed and bottom hadrons (mesons and baryons).
0367 Improved K+p parameterisations (NS and VG); removed obsolete methods.
0368 o G4MuNeutrinoNucleusTotXsc: added new method GetElementCrossSection().
0369 o G4ParticleInelasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS,
0370 G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS,
0371 G4NucleonNuclearCrossSection, G4ComponentBarNucleonNucleusXsc,
0372 G4UPiNuclearCrossSection: share internal data vectors between threads;
0373 initialise data once; removed unused parameters; code clean-up;
0374 use C++11 keywords.
0375 o G4VCrossSectionDataSet, G4CrossSectionDataStore,
0376 G4IonProtonCrossSection: use only methods with logarithm of energy.
0377 o G4HadronicException is substituted by G4Exception in all classes with
0378 exceptions.
0379 + management
0380 o G4HadronicInelasticProcess: removed default GHEISHA cross-section.
0381 o G4EnergyRangeManager: fixed bug regarding the kinetic energy per
0382 nucleon in the case of anti-nuclei (the bug was of little harm as one
0383 single model, FTFP, is used for all energies in the case of anti-nuclei
0384 projectiles).
0385 o G4HadronicProcess: removed try/catch pattern from computation of mean
0386 free path, removed final state random rotation.
0387 + models/cascade
0388 o Fixed case for potential FPEs due to un-protected sqrt() in
0389 G4NucleiModel::boundaryTransition().
0390 + models/coherent_elastic
0391 o G4HadronElastic: removed tracking cut and use numerically safer
0392 computation for very low-energy projectile. Improved description and
0393 comments; added C++11 keywords.
0394 Numerically safer treatment of the very rare cases in which cos(theta)
0395 is either greater than 1.0 or smaller than -1.0 (in the first case, we
0396 assume no interaction and the projectile keeps going unchanged; in the
0397 second case, we assume that the projectile stops and its kinetic energy
0398 is deposited locally, neglecting the recoil of the target nucleus).
0399 Added protected variable pLocalTmax; added protection for zero energy
0400 primary.
0401 o Added new model class G4LowEHadronElastic.
0402 o G4ChargeExchange: updated interfaces; added protection for zero energy
0403 primary.
0404 o G4ElasticHadrNucleusHE: make all data shared between threads.
0405 o G4AntiNuclElastic: do not compute trigonometric functions, which are
0406 not used.
0407 o G4ElasticHadrNucleusHE, G4LEpp, G4LEnp: code clean-up.
0408 + models/de_excitation
0409 o G4VEmissionProbability: use simple rejection.
0410 o G4FermiFragment: fixed Coulomb barrier correction computation.
0411 o Replaced deprecated std::binary_function calls with lambdas in
0412 G4StatMFMicroCanonical and G4StatMFChannel. Addressing GitHub PR#8.
0413 o G4Evaporation, G4ExcitationHandler, G4LevelReader, G4GammaTransition,
0414 G4VEmissionProbability, G4PhotonEvaporation, G4PolarizationTransition:
0415 changed scheme of verbosity - 0- silence, 1- dump of parameters at
0416 initialisation, 2- debug printout, 3- very detailed debug printout.
0417 Addressing problem report #2098.
0418 o G4CoulombBarrier: use G4NuclearRadii utility to compute nuclear radius.
0419 o G4EvaporationChannel, G4EvaporationProbability, G4VEmissionProbability,
0420 G4FermiDecayProbability: simplified algorithm to sample kinetic energy
0421 of a fragment; minor code clean-up, removed commented lines.
0422 + models/lend
0423 o G4LENDCapture::ApplyYourself: fixed memory leak of 'products_from_PE',
0424 reported by Coverity.
0425 o Fixed compilation warnings on gcc-9.1 for missing assignment operator.
0426 + models/lepto_nuclear
0427 o Neutrino-nucleus models and precalculated distribuitons as from
0428 new data-set G4PARTICLEXS-2.0.
0429 o Fixed in G4NuMuNucelusCc(Nc)Model for kinematics of quasi-elastic
0430 neutrino scattering.
0431 + models/management
0432 o G4HadronicInteractionRegistry: fixed typo in comments, removed unused
0433 Boolean flag.
0434 + models/particle_hp
0435 o Fix to deal with incorrect excitation energy when charged particles are
0436 emitted during neutron reaction. In G4ParticleHPInelasticCompFS,
0437 changed method CompositeApply(), for very small excitation, change
0438 level index from -1 to 0 only if incident and outgoing particles are
0439 the same. Addressing problem report #1838.
0440 o Fix to deal with un-incremented index of photons in
0441 G4ParticleHPPhotonDist::GetPhotons(). Also cleaned up dead code
0442 in that class. Addressing problem report #2167.
0443 o G4ParticleHPChannelList: fixed bug in the momentum change (it has to
0444 be a normalized 3-vector, but it was not) in the case where NeutronHP
0445 could not find a proper reaction channel.
0446 o G4ParticleHPInelasticCompFS: fix to avoid arbitrary number of target
0447 nuclei being generated and slowing down multi-threaded operation.
0448 Addressing problem report #2166.
0449 + models/pre_equilibrium
0450 o Added new model based on pre-compound de-excitation
0451 G4LowEGammaNuclearModel.
0452 o G4PreCompoundEmission, G4PreCompoundFragment, G4VPreCompoundFragment:
0453 setup minimum number of points for probability integration to 4;
0454 minor code clean-up.
0455 + models/radioactive_decay
0456 o Added spontaneous fission channel: added new class G4SFDecay to handle
0457 neutron and gamma generation using LLNL model. Read spontaneous fission
0458 data from database, insert it into decay tables and instantiate
0459 G4SFDecay.
0460 o Fixed incorrect branching ratio sum for biased mode, to account for the
0461 addition of N shell EC capture and spontaneous fission.
0462 o G4RadioactiveDecayBase: added StreamInfo() method; updated to new
0463 N shell EC; enable printout of parameters with G4VERBOSE in
0464 BuildPhysicsTable().
0465 o G4RadioactivationMessenger: removed obsolete "fast beta" option,
0466 internal conversion option (not part of biasing) and atomic relaxation
0467 option (not part of biasing). Added "analogueMC" option which was
0468 forgotten when class was developed.
0469 o G4RadioactiveDecayBaseMessenger: removed obsolete "fast beta" option.
0470 o Replaced G4ExceptionDescription in loop with simple string at
0471 exception time inG4RadioactiveDecay, G4RadioactiveDecayBase and
0472 G4Radioactivation.
0473 o In G4RadioactiveDecay::CalculateChainsFromParent() and
0474 G4Radioactivation::CalculateChainsFromParent(), fixed memory leak of
0475 'summedDecayTable' reported by Coverity.
0476 o G4RadioactiveDecay, G4RadioactiveDecayBase: make sure decay table maps
0477 are cleanly deleted at the end of program.
0478 + models/util
0479 o G4NuclearRadii: new utility class with several parameterisations of
0480 nuclear radius.
0481 + processes
0482 o G4HadronElasticProcess: removed tracking cut for all particles (charged
0483 particles may be stopped by the tracking cut of ionisation process;
0484 neutrons should be stopped by G4NeutronKiller).
0485 Added protection for zero energy primary. Removed final state rotation.
0486 Removed default GHEISHA cross-section.
0487 Clean up sampling of final state; improved description and comments;
0488 added C++11 keywords; removed unused local members.
0489 o G4MuNeutrinoNucleusProcess : new process managing
0490 G4NuMuNucleusCc(Nc)Model models.
0491 + stopping
0492 o G4HadronicAbsorptionFritof: extended to neutral anti-hadrons
0493 (anti-neutron, anti-lambda, anti-sigma0 and anti-xi0). This extension
0494 is for completeness and practical convenience, although physically
0495 neutral hadrons should never be completely at rest.
0496 + util
0497 o G4HadProjectile: clean-up for small kinetic energy of the projectile.
0498 o G4HadFinalState, G4Bessel, G4ReactionProduct, G4GHEKinematicsVector:
0499 replaced fabs() with abs().
0500
0501 o Track & Tracking
0502 ----------------
0503 + G4Track: added forward declaration for G4VProcess.
0504
0505 o Visualization:
0506 -------------
0507 + Fixed compilation warnings on gcc-9.1.0.
0508 + management:
0509 o Introducing cloud drawing style. New parameter candidate 'cloud' in
0510 "/vis/viewer/set/style". Cloud drawing uses solid->GetPointOnSurface(),
0511 i.e., uses kernel algorithms and by-passes polyhedral representations.
0512 The solid is represented by a polymarker of dots. The default number of
0513 points is 1000. This can be changed with the command
0514 "/vis/viewer/set/numberOfCloudPoints"; the minimum number is 100.
0515 Note that OpenGL has a fast algorithm for polymarker.
0516 This allows us to use cloud style both as a choice or as fallback when
0517 the polyhedral representation fails, for example, when BooleanProcessor
0518 fails.
0519 o New and improved commands:
0520 /vis/viewer/centreOn: improved - it does not zoom.
0521 /vis/viewer/centreAndZoomInOn: new.
0522 /vis/touchable/centreOn: improved - it does not zoom.
0523 /vis/touchable/centreAndZoomInOn: new.
0524 /vis/touchable/extentForField and volumeForField: new.
0525 /vis/scene/showExtents: new.
0526 /vis/set/volumeForField: new.
0527 /vis/touchable/showExtent: new.
0528 o Added copy number parameter to "/vis/touchable/findPath".
0529 o Implemented "/vis/set/extentForField" command: the default is a null
0530 extent, which is to be interpreted by the field model as the whole
0531 extent of the current scene. Otherwise, with this command, one can
0532 limit the extent over which the field is drawn. This would help, for
0533 example, if drawing over the whole scene produced so many arrows or
0534 lines that it clutters the scene. Changed the default spacing:
0535 the parameter 'nDataPointsPerHalfExtent' is changed from 10 to 3, so
0536 as not to clutter the scene. See guidance of "/vis/scene/add/*Field"
0537 commands for further explanation.
0538 o Provide ability to draw electric fields, and eventually any other
0539 field. Added "/vis/scene/add/electricField" by analogy to existing
0540 .../magneticField.
0541 o Refactor MagneticFieldModel class with new base to handle all kinds of
0542 vector fields; existing, and new ElectricFieldModel only have to
0543 implement a simple function to get the field vector at a location.
0544 o Include parameterised volumes in overlap checking and visualisation
0545 in G4LogicalVolumeModel (in addition to ordinary placements).
0546 o Introduced "/vis/viewer/centreOn" and "/vis/touchable/centreOn" UI
0547 commands. This allows one to centre the view (zoom in) on a volume.
0548 Reset with "/vis/viewer/reset".
0549 o Rationalised view interpolation; encapsulate algorithm into base class
0550 G4VVisCommand, so that commands "/vis/viewer/interpolate",
0551 "/vis/viewer/centreOn" and "/vis/touchable/centerOn" now use this.
0552 Might consider use by all view changing commands.
0553 o Fixed bug in "/vis/viewer/set/sectionPlane".
0554 o Corrected few typos in printout/comments.
0555 o Improved guidance for "/vis/scene/add/volume".
0556 o Minor improvements to visualization manager.
0557 o Fixed Boolean operators to return G4bool.
0558 o Fixed Coverity defects.
0559 + modeling:
0560 o Introduced G4BoundingExtentScene. This allows one to accumulate extents
0561 using the newly introduced G4VisExtent::Transform() and is a better way
0562 of determining the overall extent of a scene (or of any set of extents)
0563 than by the bounding sphere approach.
0564 o G4VFieldModel, G4ElectricFieldModel, G4MagneticFieldModel: new
0565 abstraction for field models.
0566 o Arrows and field models: introduced further protection.
0567 o G4VModel: introduced GetTransformedExtent() method.
0568 o G4PhysicalVolumeModel: use G4BoundingExtentScene instead of
0569 G4BoundingSphereScene. Fixed bug whereby the local extent was
0570 incorrectly calculated.
0571 o Fixed bug in "/vis/viewer/set/sectionPlane".
0572 o Added volume count (but commented out printing).
0573 + OpenGL:
0574 o Force double buffer context for OGLIX.
0575 o Force kernel visit on change of number of cloud points.
0576 o Fixed bug in "/vis/viewer/set/sectionPlane".
0577 o Avoid re-using display lists for markers. They may have their own
0578 position relative to the overall object transformation.
0579 + OpenInventor:
0580 o Test number of cloud points for kernel visit.
0581 o Added missing protection on G4VIS_BUILD_OIX_DRIVER.
0582 o Fixed compilation warning from gcc-9.1 in SoCounterAction for setting
0583 of name, apparently not allowed in OpenInventor.
0584 o Corrected few typos in printout/comments.
0585 + XXX:
0586 o Force kernel visit on change of number of cloud points.
0587
0588 o Data Sets:
0589 ---------
0590 + G4PARTICLEXS-2.0:
0591 o Added data for neutrino.
0592 o Updated cross-sections for low Z targets at low energy.
0593
0594 o Examples:
0595 --------
0596 + Updated reference outputs, macros, READMEs and scripts.
0597 + advanced/nanobeam
0598 o Include G4Types.hh header in main(), before use of G4MULTITHREADED.
0599 + advanced/underground_physics
0600 o DMXPhysicsList: added Glauber-Gribov cross-section for all elastic
0601 processes.
0602 + extended/biasing/B03
0603 o B03PhysicsList: explicitly define hadronic cross-sections.
0604 Use G4NeutronInelasticXS cross-section.
0605 + extended/electromagnetic/TestEm1
0606 o Added G4NIELCalculator and corresponding histograms and printouts;
0607 general clean-up of the code; use default random number generator.
0608 + extended/electromagnetic/TestEm5
0609 o StackinAction: fixed log histograms, which where filled in a wrong way.
0610 o PhysListEm19DStandard: use 3-gamma annihilation model.
0611 + extended/electromagnetic/TestEm15
0612 o SteppingAction: do not fill hist #11,#12 when no recoil returned.
0613 + extended/electromagnetic/TestEm16
0614 o PhysicsList: use G4DecayPhysics and drop G4AutoDelete.
0615 o Migrated to use default MixMax generator.
0616 + extended/electromagnetic/TestEm17
0617 o Code clean-up; switch to MixMax random generator.
0618 + extended/hadronic/Hadr01
0619 o HistoManager: added linear histogram for pion energy at production.
0620 + extended/hadronic/Hadr02
0621 o G4CRMCModel: some improvements (e.g. considered the energy-per-nucleon,
0622 instead of the whole projectile, in the case of nucleus projectile) and
0623 better documentation (in the form of comments in the class).
0624 + extended/medical/DICOM
0625 o Defaulted copy-ctr in DicomPhantomZSliceHeader, to fix deprecation
0626 compilation warnings on gcc-9.1.
0627 + extended/medical/DICOM2
0628 o Include G4Types.hh header in main(), before use of G4MULTITHREADED.
0629 + extended/medical/dna/chem2
0630 + extended/medical/dna/chem3
0631 o Clean-up of TimeStepAction.
0632 + extended/medical/dna/chem4
0633 o Added UI commands for one step thermalization model selection
0634 in macro beam.in.
0635 o Make Species alias of const G4MolecularConfiguration.
0636 + extended/medical/dna/chem5
0637 o Make Species alias of const G4MolecularConfiguration.
0638 + extended/medical/dna/dnadamage1
0639 o New example showing a simple way to simulate dna direct and indirect
0640 damages using Geant4-DNA physics and chemical processes in a molecular
0641 DNA geometry.
0642 + extended/medical/dna/microdosimetry
0643 o Updated plot.C.
0644 + extended/medical/dna/microprox
0645 o New example showing how to compute proximity functions in liquid water
0646 using exclusively Geant4-DNA physics processes and models.
0647 + extended/medical/dna/microyz
0648 o Added condensed history models including step size control.
0649 o Added EM UI commands in microyz.in.
0650 o Fixed Boolean operators to return G4bool.
0651 + extended/medical/electronScattering2
0652 o Fixed warning about attempting to add multiple times the same sensitive
0653 detector.
0654 + extended/medical/fanoCavity
0655 + extended/medical/fanoCavity2
0656 o DetectorConstruction: simplification of DefineMaterial().
0657 o DetectorConstruction, DetectorMessenger: fixed usage of base materials
0658 and cleanup (should fix ~1% error for Opt4 EM physics).
0659 o PhysListEmStandard_option4: set RangeFactor to 0.08 (as in the
0660 physics_list library). PhysListEmStandard_option3: set parameters as
0661 in the physics_list library.
0662 + extended/optical/LXe
0663 o LXeDetectorConstruction: removed protection against rebuilding
0664 detector.
0665 o LXeEventAction: commented out randomSaveEvent.
0666 + extended/parallel/MPI
0667 o Fixed compilation error in G4MPIextraWorker.
0668 Addressing problem report #2163.
0669 + extended/persistency/gdml/G01
0670 o Added BeamOn(0) to initialize range to energy converters
0671 needed when exporting cuts per volume.
0672 + extended/persistency/P01
0673 o Fixed definition of allocator in ExP01TrackerHit.
0674 + extended/radioactivedecay/rdecay01
0675 o PhysicsList: replaced G4RadioactiveDecay with refactored class
0676 G4Radioactivation.
0677 + extended/radioactivedecay/rdecay02
0678 o New class BiasedRDPhysics using new G4Radioactivation process with all
0679 biasing available
0680 o In PhysicsList, replaced G4RadioactiveDecayPhysics with
0681 BiasedRDPhysics, also removed HP option physics lists.
0682 o In Run, replaced G4RadioactiveDecay with G4Radioactivation.
0683
0684 ----------------------------------------------------------------------------
0685