Warning, /geant4/CHANGELOG/Beta4.11.2-1.txt is written in an unsupported language. File is not indexed.
0001
0002 Geant4 11.2-beta-01 Release Notes
0003 ---------------------------------
0004
0005 30 June 2023
0006
0007 Migration Notes & Main New Features
0008 -----------------------------------
0009
0010 o Reviewed/simplified stream buffer and I/O classes.
0011 o New Quantum State Simulation (QSS) integration method, an alternative
0012 method of integration offering built-in interpolation capability and
0013 enabling faster finding of the intersection of the trajectory with surfaces.
0014 o Added possibility to set alternative grammar for schema validation
0015 while reading a GDML file.
0016 o Implemented single scattering per region, active inside the region
0017 and disabled outside.
0018 o Rewritten G4DNARuddIonisationExtendedModel G4DNA model, applicable for
0019 scaled energy interval from 100 eV to 100 MeV.
0020 o New submodule "channeling", implementing fast-simulation channeling model
0021 in oriented crystals with Baier Katkov method for the calculation of
0022 radiation probability, radiation point and parameters of photon production
0023 as well as spectrum accumulation.
0024 o Implemented interface allowing the coupling between Binary Cascade (BIC)
0025 and Abla, i.e. using BIC for the cascade and then Abla for the nuclear
0026 de-excitation.
0027 o Extended Bertini model to allow the use of Abla as alternative post-cascade
0028 nuclear de-excitation (the default de-excitation remains unchanged).
0029 o Major extension of the INCLXX model to handle antiproton annihilation
0030 at rest. All INCLXX-based physics lists now use INCLXX for the antiproton
0031 annihilation at rest.
0032 o Accurate modeling of elastic resonant scattering in heavy nuclei by
0033 the use of DBRC (Doppler Broadening Rejection Correction) algorithm.
0034 o Removed most calls to environment variables in hadronic physics classes.
0035 o New physics list QBBC_ABLA, behaving as QBBC, but using the ABLA model
0036 for nuclear de-excitation, instead of Precompound.
0037 o New physics list QGSP_BIC_HPT, similar to QGSP_BIC_HP, but with
0038 special treatment of elastic scattering of thermal neutrons activated.
0039 o Added 6 new physics lists to physics factory, for "HPT" variants
0040 (i.e. with special treatment of elastic scattering of thermal neutrons)
0041 of physics lists with "HP" already present (FTFP_BERT_HPT,
0042 QGSP_BIC_AllHPT, Shielding_HPT, ShieldingM_HPT).
0043 o New physics list names Shielding_HP and ShieldingM_HP, as alias of,
0044 respectively, Shielding and ShieldingM.
0045 o First version of the TSG_[QT,X11,XT,WINDOWS]_ZB sub drivers, allowing for
0046 interactive 3D rendering bypassing native graphics systems.
0047 o TSG_QT driver temporarly enabled by default with OGL driver choice,
0048 to allow support of Qt6.
0049 o Supporting first implementation of a no-frills GUI-side scene tree
0050 in the Qt GUI.
0051 o Implemented "generic cutaways" in visualization. Clips, sections and
0052 cutaways will now be available to *all* viewers (OpenGL still uses
0053 OpenGL clip planes. Use another driver, e.g., TSG, to get "generic
0054 cutaways).
0055 o New extended hadronic example, FlukaCern, showing the interface between
0056 Geant4 and (Fortran) FLUKA-Cern: this allows to get, in a Geant4
0057 application, hadron-nucleus reaction cross sections and final states
0058 from FLUKA-Cern.
0059 o Enabled first-level support for Qt6.
0060 Fixed minimum supported version for Qt5 to be 5.9.
0061 o Split build of G4persistency library into G4mctruth, G4geomtext and
0062 (optional) G4gdml libraries.
0063 o Added support for declaring headers of a source code module private.
0064 Headers declared private are not installed. Partial refactoring of
0065 modules.
0066 o Removed deprecated GNUmake scripts for libraries build.
0067 o Build option with VecGeom requires VecGeom-1.2.3 or higher.
0068 o Requires CLHEP-2.4.6.4 for external CLHEP installation.
0069 o New data sets: G4EMLOW-8.4, G4ABLA-3.3, G4INCL-1.1.
0070
0071 ----------------------------------------------------------------------------
0072
0073 Technical Notes
0074 ---------------
0075
0076 o Tested platforms:
0077 + Linux, gcc-8.3.1.
0078 Tested on 64 bit architectures (Intel or AMD) with Linux CentOS8.
0079 Versions of Geant4 have also been compiled successfully on other
0080 Linux distributions, Ubuntu, Debian, Suse or other RedHat systems.
0081 + MacOS 13.4, Apple LLVM/clang-14.0.3 (Intel or Apple Silicon).
0082 + Windows/10 with Visual C++ 14.34 (Visual Studio 2022)
0083
0084 o More verified configurations:
0085 + Linux, with gcc-9.3/10.3/11.2/12.1/13.1, clang-10/11/12/13/14/15/16.
0086 + Linux, with Intel-icx 2022.2/2023.1.
0087 + MacOS 11.6 and 12.6, with Apple LLVM/clang-12/14.
0088
0089 o External dependencies
0090 + CLHEP-2.4.6.4, suggested for external installation of the CLHEP library.
0091 + VecGeom-1.2.3 or later, for optional use of VecGeom geometry primitives.
0092 + PTL-2.3.3, for external installation of the PTL tasking library.
0093
0094 o New data sets:
0095 + G4EMLOW-8.4, G4ABLA-3.3, G4INCL-1.1.
0096
0097 Please refer to the Geant4 User Documentation:
0098 http://cern.ch/geant4/support/user_documentation
0099 for further information about using Geant4.
0100
0101 ----------------------------------------------------------------------------
0102
0103 List of features and fixes included in this Beta release since 11.1.p02:
0104
0105 o Configuration:
0106 -------------
0107 + CMake:
0108 o Added support for declaring headers of a source code module private.
0109 Headers declared private are not installed; geant4_module_check reports
0110 an inconsistency if a private header is used non-privately.
0111 o Updated Qt MOC application for G4UI implementation in place of
0112 G4UIbasic/G4UIcommon.
0113 o Streamlined VTK cmake components.
0114 o No longer link to QtPrintSupport, which is not used in the toolkit.
0115 o Support finding and use of Qt6 on request for beta testing.
0116 Fixed minimum supported version for Qt5; requiring Qt5 >= 5.9 if Qt5
0117 support is selected.
0118 Find and refind Qt6OpenGLWidgets module in Qt6 for use by Qt/OpenGL
0119 consumers. Find and refind Qt6OpenGLWidgets module in Qt6 for use
0120 by Qt/OpenGL consumers.
0121 o Handling TOOLSSG_[X11,XT,WINDOWS,QT]_ZB vis drivers.
0122 o Export VTK_DIR and QtX_DIR to package cache to assist in refinding both.
0123 o Added new capabilities to geant4_module_check.py script: given a
0124 module, print list of modules that depend on it; print all modules
0125 sorted in descending order of the number of modules using them;
0126 show which headers from linked modules are included by a module in
0127 its usage requirements output.
0128 o Updated configuration scripts for splitting of G4persistency library.
0129 o Removed setting of -D flags in Geant4Config to enable visualisation
0130 drivers. Libraries now export compile definitions for what they
0131 support to move to a "use on link" model.
0132 o Removed obsolete and confusing GEANT4_BUILD_TESTS option and
0133 configuration.
0134 o Make linking a source code module to a final Geant4 library a
0135 cmake-time error.
0136 o Updated to datasets: G4ABLA-3.3, G4INCL-1.1 and G4EMLOW-8.4.
0137
0138 + GNUMake:
0139 o Removed deprecated GNUmake scripts for libraries build.
0140 o Updated UI/interfaces include paths to reflect new organization.
0141 o Updated scripts for splitting of the G4persistency library.
0142 o No longer link to QtPrintSupport, which is not used in the toolkit.
0143
0144 o Digits & Hits:
0145 -------------
0146 + Applied clang-tidy corrections and general code modernization.
0147 + Moved docstrings prior to function declarations for doxygen/IDE
0148 compatibility.
0149
0150 o Externals:
0151 ---------
0152 + CLHEP:
0153 o Synchronised with CLHEP-2.4.6.4.
0154 - Fixed compilation warnings for implicit type conversions on
0155 macOS/XCode 14.1 in Random and Evaluator code.
0156 - Fixed cases of C++20 deprecated arithmetics with unnamed enumerations
0157 in Vector classes.
0158 + g4tools:
0159 o Updated to g4tools 6.2.0:
0160 - Added support for Qt6 in glarea.
0161 - Enabling Qt, Xt, X11, Windows viewers for the tools/zbuffer rendering.
0162 - Fixed compilation warnings on Intel/icx compiler for mismatched array
0163 bounds. Fixed Coverity defect.
0164 + zlib:
0165 o Updated to upstream zlib-1.2.13, retaining prior Geant4 patches.
0166
0167 o Geometry:
0168 --------
0169 + Applied clang-tidy fixes (readability, modernization, performance, ...).
0170 + biasing:
0171 o Use G4AutoLock in G4IStore and G4ImportanceAlgorithm instead of static
0172 mutex data member.
0173 + magneticfield:
0174 o Added new Quantum State Simulation (QSS) integration method, an
0175 alternative method of integration which creates approximation functions
0176 for each coordinate (x,p), changing the interpolation polynomials when
0177 the deviation from exact solution is larger than a threshold value.
0178 Offers built-in interpolation capability, enabling faster finding of
0179 the intersection of the trajectory with surfaces.
0180 Currently restricted to using only with a pure magnetic field.
0181 + navigation:
0182 o G4PropagatorInField: added parameters for big steps.
0183 New parameter 'fMaxStepSizeMultiplier', needed to reduce costly
0184 unnecessary integration in QSS; new parameter 'fMinBigDistance' used
0185 as minimum distance in case of long steps. Updated default values:
0186 'fLargestAcceptableStep' = 100 * meter ( from 1000* meter );
0187 'fMaxStepSizeMultiplier' = 0.1 ( from 100 ).
0188 + solids/Boolean:
0189 o Added external Boolean processor visualisation interface
0190 G4VBooleanProcessor.
0191 + solids/specific:
0192 o Use const iterator in G4Voxelizer::GetPointVoxel().
0193 o Fixed use of index in G4Tet::GetPointOnSurface().
0194
0195 o Global:
0196 ------
0197 + Removed public interface to G4strstreambuf: G4strstreambuf becomes a
0198 private implementation detail of G4ios.
0199 Minimized coupling among G4cout/G4strstreambuf/G4coutDestination.
0200 + Added G4debug output stream for logging messages at lower priority than
0201 G4cout. If used with the Qt GUI, G4debug output is highlighted.
0202 + G4PhysicsModelCatalog: added the new INCLXX model of antiproton
0203 annihilation at rest.
0204 + Added G4VERSION_REFERENCE_TAG macro to distinguish release/development
0205 versions and cycle of the latter.
0206 + Removed obsolete and no longer used G4SIunits header.
0207 + Changed date for release 11.2-beta.
0208
0209 o Graphics Representations:
0210 ------------------------
0211 + Supporting first implementation of a no-frills GUI-side scene tree.
0212 Added G4SceneTreeItem class, an aggregate of data members that represent
0213 properties of objects in the scene (G4Scene). Its data members are
0214 low-level types, so that it can be used across categories, avoiding
0215 coupling.
0216 + Added data member 'fExpanded' to G4SceneTreeItem.
0217
0218 o Intercoms:
0219 ---------
0220 + Replaced direct access to G4cout/etc stream buffers with call to
0221 G4coutDestination installer function.
0222 + Implemented ReceiveG4debug() for G4UIsession et al.
0223 + Applied clang-tidy and clang-format fixes plus normal ordering of
0224 docstrings/access specifications.
0225 + Removed unused/pointless operators. Use C++17 type aliases.
0226 + Refactored G4UIaliasList to simplify implementation and in particular
0227 memory management.
0228 + Simplified G4UImessenger implementation.
0229 + Factor G4UIcommand/parameter range validation functions to reduce code
0230 duplication.
0231 + Moved clear implementation detail classes to private headers.
0232
0233 o Interfaces:
0234 ----------
0235 + Implemented ReceiveG4debug for concrete sessions. For the Qt GUI
0236 (G4UIQt) HTML code is added in order to highlight G4ddebug output.
0237 + First implementation of user-specified output styles: "/gui/outputStyle".
0238 Output streams: cout cerr warn error debug (extendible, see
0239 G4VInteractiveSession header). Only used by G4UIQt at present.
0240 + Support for first implementation of a no-frills GUI-side scene tree.
0241 + Refactored modules into G4UIcore and G4UIimplementation to isolate
0242 core/always on functionality from concrete UIs requiring external
0243 libraries. Both modules are still built into a G4interfaces library,
0244 with no change to user interface for applications.
0245 + Applied clang-tidy and clang-format fixes, together with
0246 public/protected/private ordering in headers.
0247 + G4UIQt: fixed mutex bug in implementation of G4UIQt::ReceiveG4debug();
0248 This "workaround" is to make sure all flushed output appears on the
0249 terminal after a crash. Fixed QSplitter issue, necessary for Qt6 support.
0250 Introduced new scene tree - Add colour choice.
0251 Introduced widget for 'mouseDoubleClickEvent'. Implemented callbacks
0252 SceneTreeItemExpanded() and SceneTreeItemCollapsed().
0253 Improved command; allow for leading space in 'pvpath'. Code tidying.
0254 Reworked double-click to use QTreeWidget::itemDoubleClicked.
0255 + Removed header no longer used in Qt5, which is also not present in Qt6.
0256 Removed support for Qt < 5.9 in CMake script.
0257 + Export public compile definitions to indicate availablity of specific UIs.
0258 Moves to "use on link" model.
0259
0260 o Materials:
0261 ---------
0262 + Applied standard and extended clang-tidy fixes, normal order access
0263 specifiers and docstrings; applied clang-format.
0264
0265 o Parameterisations:
0266 -----------------
0267 + New submodule "channeling", implementing fast-simulation channeling
0268 model in oriented crystals with Baier Katkov method for the calculation of
0269 radiation probability, radiation point and parameters of photon production
0270 as well as spectrum accumulation.
0271
0272 o Particles:
0273 ---------
0274 + G4IonTable: fixed GetIon() method for the case when the ground state level
0275 of an isomer is floating. Removed some code duplication in FindIon() and
0276 GetIon() methods.
0277 + G4NuclideTable: taken into account the possibility of floating ground state
0278 levels.
0279 + G4Ion: added protection against unphysical index of floating level.
0280 + Applied core/recommended clang-tidy fixes.
0281
0282 o Persistency:
0283 -----------
0284 + Split build of G4persistency library into G4mctruth, G4geomtext and
0285 (optional) G4gdml libraries.
0286 + GDML:
0287 o Added possibility to set alternative grammar for schema validation
0288 while reading a GDML file. This can be achieved by either calling the
0289 new method SetImportSchema(..) from G4GDMLParser, providing the
0290 absolute path and file name of the XML schema, or by using the new
0291 UI command: /persistency/gdml/schema "[absolute_path]/schema_filename"
0292 before importing the GDML file.
0293 By setting a locally stored alternative grammar, it will instruct the
0294 parser to ignore the default schema specified in the GDML file and
0295 therefore no longer require access to the network for retrieving the
0296 schema.
0297 o Allow setting of alternative grammar for schema validation via an
0298 environment variable G4GDML_SCHEMA_FILE; it overrides the value set by
0299 SetImportSchema() if both are non-empty strings. Forcing parser to
0300 ignore any schema set in the input GDML file. Checking of grammar and
0301 schema override will fail on missing schema.
0302 o In G4GDMLWriteStructure::ExportSD(), use GetMasterSensitiveDetector()
0303 from logical volume to retrieve the shadow pointer of the sensitive
0304 detector.
0305
0306 o Physics Lists:
0307 -------------
0308 + Constructors:
0309 o electromagnetic:
0310 - G4EmBuilder, G4EmModelActivator, G4EmStandardPhysicsSS: fixed issue
0311 in single scattering model definition per region for e+, e-, and
0312 light hadrons. Addressing problem report #2530.
0313 - G4EmBuilder, G4EmStandardPhysicsSS: use new constructor for the
0314 G4CoulombScattering process.
0315 - G4EmModelActivator: use new constructor for the G4CoulombScattering
0316 process; allow adding G4EmStandardPhysicsSS on top of
0317 G4EmStandardPhysics_option3.
0318 Implemented single scattering per region by adding extra single
0319 scattering process, which is active inside the region and not active
0320 outside; multiple scattering and single scattering processes for a
0321 given charged particle are disabled in the region.
0322 Addressing problem report #2530.
0323 - New G4ChemDissociationChannels and G4ChemDissociationChannels_option1
0324 classes.
0325 - G4GammaGeneralProcess: added method GetGammaNuclear().
0326 - G4EmParticleList: added method EmChargedPartNames(), returning a
0327 minimal list of charged EM particles.
0328 - Fixed compilation warnings on macOS/XCode for implicit type
0329 conversion.
0330 o factory:
0331 - Added G4StoppingPhysicsWithINCLXX in G4RegisterPhysicsConstructors.
0332 o gamma_lepto_nuclear:
0333 - G4EmExtraPhysics: activate biasing in processes, not in
0334 cross-sections.
0335 o constructors/hadron_elastic
0336 - New class G4HadronElasticPhysicsHPT, inheriting from
0337 G4HadronElasticPhysicsHP and activating the special treatment of
0338 elastic scattering of thermal neutrons.
0339 - G4HadronElasticPhysicsHP: changed method ConstructProcess() from
0340 "final" to "override", to be able to define the ConstructProcess()
0341 method for the derived class G4HadronElasticPhysicsHPT.
0342 o constructors/hadron_inelastic
0343 - New class G4HadronInelasticQBBC_ABLA, similar to
0344 G4HadronInelasticQBBC_ABLA, except that for the final-state of
0345 nuclear inelastic interactions of charged pions and nucleons
0346 projectiles, the ABLA model is utilized for nuclear de-excitation,
0347 instead of the usual Precompound/de-excitation.
0348 Meant for testing purposes. In principle, these couplings with ABLA
0349 nuclear de-excitation can be extended to all types of projectiles and
0350 to other reference physics lists, but, for the time being, it is
0351 restricted to pion+, pion-, proton and neutron, and only for QBBC.
0352 o constructors/stopping (phys-ctor-stopping-V11-01-00)
0353 - G4StoppingPhysicsWithINCLXX: new class, similar to G4StoppingPhysics,
0354 with the only difference that the INCLXX model (instead of FTFP) is
0355 utilized for the antiproton annihilation at rest.
0356 + lists:
0357 o New class QBBC_ABLA, which is similar to QBBC, except that for
0358 hadron inelastic the constructor G4HadronInelasticQBBC_ABLA is used,
0359 instead of G4HadronInelasticQBBC. This means that the physics list
0360 QBBC_ABLA behaves as QBBC, with the only difference that for the
0361 final-state of nuclear inelastic interactions of charged pions and
0362 nucleons projectiles, the ABLA model is being used for nuclear
0363 de-excitation, instead of the usual Precompound/de-excitation.
0364 o New class QGSP_BIC_HPT, which is similar to QGSP_BIC_HP, but with
0365 special treatment of elastic scattering of thermal neutrons activated.
0366 o Use the new class G4StoppingPhysicsWithINCLXX (instead of
0367 G4StoppingPhysics) in INCLXXPhysicsListHelper: all the INCLXX-based
0368 physics lists use INCLXX for the antiproton annihilation at rest.
0369 o G4PhysListFactory: added 6 new physics lists, corresponding to "HPT"
0370 variants (i.e. with special treatment of elastic scattering of thermal
0371 neutrons) of physics lists with "HP" already present (FTFP_BERT_HPT,
0372 QGSP_BERT_HPT, FTFP_INCLXX_HPT, QGSP_INCLXX_HPT, QGSP_BIC_HPT,
0373 QGSP_BIC_AllHPT, Shielding_HPT, ShieldingM_HPT).
0374 Of these, only one (QGSP_BIC_HPT) corresponds to a concrete new physics
0375 list, whereas the others are obtained from the "HP" physics lists by
0376 adding the physics constructor G4ThermalNeutrons.
0377 Introduced new physics list names Shielding_HP and ShieldingM_HP, as
0378 alias of, respectively, Shielding and ShieldingM. These new aliases
0379 allow to have a consistent notation _HPT for all the HP-based physics
0380 lists when the special elastic scattering treatment of thermal neutrons
0381 is enabled.
0382 o Shielding: added information note that the new physics list names (to
0383 be used with the physics list factory), Shielding_HP and ShieldingM_HP,
0384 are equivalent to, respectively, Shielding and ShieldingM.
0385 o G4PhysListFactoryMessenger: added the new UI command
0386 "/physics_lists/factory/addThermal" to enable the special treatment of
0387 elastic scattering of thermal neutrons for HP-based physics lists.
0388
0389 o Electromagnetic Processes:
0390 -------------------------
0391 + DNA:
0392 o Reorganised multiple material model of PTB. G4VDNAModel plays like a
0393 data layer for multiple material models. The concrete models are
0394 independent of G4DNAModelInterface.
0395 o G4DNARuddIonisationExtendedModel: rewrite of the model, applicable for
0396 scaled energy interval from 100 eV to 100 MeV. If for an ion data is not
0397 available, proton x-section and effective charge are used, sampling of
0398 delta-electron is done using the two regions regression method.
0399 Sharing data between threads.
0400 o Introduced G4DNAMaterialManager to handle available DNA materials
0401 and keep DNA cross-section data shared across threads.
0402 o Replaced string to material index and some code cleanup in PTB models.
0403 o Added material pointer members for each concrete PTB models.
0404 o Code cleanup in G4DNAModelInterface for the model combination of
0405 different materials.
0406 o Added PTB model data to G4DNAMaterialManager singleton.
0407 Updated RegisterModel() function with new structure.
0408 o Added DNA cross-section to dna_option6.
0409 o Use analytical method for DNA material in option6, water is unchanged.
0410 Minor correction for DNA material in option6.
0411 o Added time structure (pulsed beam) to water radiolysis
0412 (G4VUserPulseInfo).
0413 o Corrected initial values of G4DNAEventScheduler.
0414 o Use analytical method for DNA material in option6, water is unchanged.
0415 Minor correction for DNA material in option6.
0416 o Modified DNA cross-section file name, according to new G4EMLOW-8.4 data
0417 set.
0418 o Fixed Coverity defects for uninitialised scalar variables.
0419 o Fixed compilation warnings on macOS/XCode for implicit type conversions.
0420 + High Energy:
0421 o G4GammaConversionToMuons, G4AnnihiToMuPair: removed using namespace std
0422 and applied cling-tidy base fixes.
0423 + Low Energy:
0424 o In G4LivermorePhotoElectricModel and G4LivermoreRayleighModel removed
0425 calls to environment variables and use G4EmParameters method instead.
0426 Added lock for reading data on the fly; minor code formatting.
0427 o G4LivermoreGammaConversionModel, G4LivermoreGammaConversion5DModel:
0428 fixed Spline interpolation by calling FillSecondDerivatives().
0429 o G4LowEWentzelVIModel: updated according to Coulomb scattering models.
0430 o Use access to G4LEDATA via G4EmParameters for G4LivermoreComptonModel,
0431 G4LivermoreGammaConversion5DModel and G4LivermoreGammaConversionModel.
0432 o Applied clang-tidy and clang-format to Livermore code.
0433 + Standard:
0434 o G4UrbanMscModel: check IsLocked() method before definition of lateral
0435 displacement algorithm and positron correction; improved code
0436 formatting.
0437 o G4CoulombScattering: added SetCombined() method allowing the user to
0438 configure the process; improved code formatting and initialisation.
0439 Added constructor with changed signature, which uses flag "isCombined"
0440 instead of process name.
0441 Added extra constructor to address all existing cases;
0442 for pure single scattering, integral method type is changed and Spline
0443 interpolation is used. Addressing problem report #2530.
0444 o G4UrbanMscModel: code optimisation; no functional changes.
0445 o Code cleanup in G4PAI* classes.
0446 o Removed use of std::getenv() from model classes, use G4EmParameters
0447 instead.
0448 o G4eCoulombScatterinModel: improved initialisation and code formatting.
0449 o G4BraggModel, G4BraggIonModel: use proton stopping data for for all
0450 ions except alpha; make data-sets pointers static.
0451 Addressing problem report #2532.
0452 o G4BetheHeitlerModel, G4PairProductionRelModel, G4eBremsstrahlungRelModel,
0453 G4SeltzerBergerModel: reorganized initialisation. Initialisation of
0454 static element data is performamed only once for the first object
0455 independently on how many objects of this kind is created in a thread.
0456 Results of simulation are identical. Addressing problem report #2543.
0457 o In G4BetheBlochModel, G4BraggIonModel and G4BraggModel, updating
0458 effective charge of an ion at each step of simulation or at each call
0459 to G4EmCalculator.
0460 o G4eBremsstrahlung, G4SeltzerBergerModel: avoid changing LPM flag at
0461 initialisation; avoid repeating base class initialisation; improved
0462 comments in code.
0463 o G4eBremsstrahlungRelModel: use LPM flag from G4EmParameters and
0464 improved comments in code.
0465 o G4WaterStopping, G4hIonisation: codee clean-up.
0466 o G4ionIonisation: do not use G4WaterStopping; code clean-up.
0467 o Updated hadron/ion ionisation models; initialise stopping power data
0468 once: PSTAR and ICRU90 in G4BraggModel, ASTAR in G4BraggIonModel,
0469 ICRU73 and ICRU90 ion (Z>2) data in G4LindHardSorensenIonModel.
0470 o G4BraggIonModel inherits from G4Bragg model; fixed stopping power
0471 of heavy ions at moderate energies.
0472 o G4LindhardSorensenIonModel: use G4BraggModel for preliminary computation
0473 of DEDX at initialisation for G4GenericIon instead of G4BraggIonModel,
0474 which fixes a problem of low-energy ion tracking recently introduced.
0475 + Utils:
0476 o G4EmParameters: added extra member and access method to G4LEDATA path
0477 allowing checking of the environment variable for the EM data only once.
0478 o G4VEnergyLossProcess: make more straightforward computation of ion
0479 effective charge.
0480 o G4VEmModel: trigger computation of ion effective charge for
0481 G4EmCalculator. Use LPM flag from G4EmParameters.
0482 o G4ionEffectiveCharge: minor optimisation.
0483 o G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering: use flag of
0484 master thread from G4LossTableManager.
0485 o G4VEnergyLossProcess: added extra protection excluding negative range;
0486 renamed class member; changed condition to stop low-energy ion, use
0487 kinetic energy and not scaled energy.
0488 Added extra protection for the case of negative range of low-energy
0489 particles. Addressing problem report #2542.
0490 o G4LossTableManager: reserve memory for internal vectors; simplified
0491 destructor; move a part of initialisation of class members to header.
0492 o G4EmCorrections: code formatting; removed lock of threads, use instead
0493 flag from G4LossTableManager.
0494 o Improved printout in G4EmCalculator.
0495 o G4LossTableBuilder, G4VEnergyLossProcess: improved debug printout.
0496
0497 o Generic Processes:
0498 -----------------
0499 + Scoring:
0500 o Applied core clang-tidy/format fixes.
0501 o Make G4EnergySplitter a private implementation detail of the module.
0502 Make dependency to 'intercoms' private.
0503 + Transportation:
0504 o In G4TransportationParameters, added a method to set both warning and
0505 important energies; added method to report lock errors.
0506 Improved reporting of inconsistent changes of 'warning' & 'important'
0507 energies (not only enforce warning_E < important_E but also warn about
0508 violations).
0509
0510 o Hadronic Processes:
0511 ------------------
0512 + cross_sections
0513 o Removed calls to environment variable G4PARTICLEXSDATA, use
0514 G4HadronicParameters access method instead.
0515 o In G4CrossSectionDataStore, reduced number of calls to environment
0516 variables, which are done only to print output for documentation.
0517 Removed remaining calls to getenv() and use G4HadronicParameters
0518 instead.
0519 o G4ElNeutrinoNucleusTotXsc: uncommented methods for interface with
0520 G4ElNeutrinoNucleusProcess.
0521 o G4GammaNuclearXS: general code clean-up: instantiate data only once
0522 for all instances of this cross-section class; upload data for all
0523 elements before the first run; simplified computation of isotope
0524 cross-section; added extra public method LowEnergyCrossSection().
0525 More accurate usage of cache; simplified GetIsoCrosssection() and
0526 SelectIsotope() methods.
0527 o Fixed compilation warnings for implicit type conversions on
0528 macOS/XCode>=14.1.
0529 + management
0530 o G4HadronicProcess: removed usage of "DebugFlag" and "RandomFile".
0531 Replaced access to environment variables with call to
0532 G4HadronicParameters. Added extra G4Exception for the case where a
0533 worker cannot share initialisation with the master thread.
0534 Addressing problem report #2528.
0535 Improved diagnostics.
0536 o G4HadronicProcessStore: avoid checking of environment variables, call
0537 G4HadronicParameters instead.
0538 + models/abla
0539 o G4AblaInterface: implemented method ApplyYourself() to allow the
0540 coupling between Binary Cascade (BIC) and Abla, i.e. using BIC for the
0541 cascade and then Abla for the nuclear de-excitation.
0542 + models/binary_cascade
0543 o G4BinaryCascade, G4BinaryLightIonReaction: avoid calls to getenv(),
0544 use G4HadronicParameters instead.
0545 + models/cascade
0546 o Extended Bertini model to allow the use of Abla as alternative
0547 post-cascade nuclear de-excitation (the default de-excitation remains
0548 unchanged).
0549 There are two ways to set Abla as de-excitation for Bertini: via C++
0550 interface, by calling G4CascadeInterface::useAblaDeexcitation();
0551 via environmental variable, by setting G4CASCADE_USE_ABLA=1.
0552 o G4AblaDeexcitation: new class that does the nuclear de-excitation,
0553 after the Bertini cascade, by using the Abla model, and then tranforms
0554 the secondaries in Bertini objects.
0555 o G4CascadeInterface: added new method useAblaDeexcitation() which sets
0556 Abla as nuclear de-excitation; this method can be called directly by the
0557 user, or automatically in the constructor of the class when the flag
0558 G4CascadeParameters::useAbla() is enabled.
0559 o G4InuclCollider: added new method useAblaDeexcitation() which creates
0560 an instance of the new class G4AblaDeexcitation.
0561 o G4CascadeParameters: added Boolean flag that enables the Abla
0562 de-dexcitation model in the case that the new environmental variable
0563 G4CASCADE_USE_ABLA is set.
0564 o Fixed coverity defect for incorrect integer divide in fission part of
0565 G4EquilibriumEvaporator::deExcite().
0566 + models/de_excitation
0567 o G4LevelReader: allow to add more levels of a given isotope than the
0568 hardcoded limit=635 (max number of levels in G4LEVELGAMMADATA).
0569 Addressing problem report #2534.
0570 o G4LevelManager: added extra public accessor method allowing users to
0571 check level energies and other parameters.
0572 o G4DeexPrecoParameters: moved part of initialisation to header; do not
0573 use autolock, use internal flag instead to allow only one dump of
0574 paramenters; print all pre-compound parameters, separate pre-compound
0575 and de-excitation printouts.
0576 o G4NuclearLevelData: fixed uploading of data before the run.
0577 + models/inclxx
0578 o Major extension of the INCLXX model to handle antiproton annihilation
0579 at rest.
0580 + models/lend
0581 o Fixed coverity defect; G4LENDGammaCrossSection::SelectChannel() may
0582 return negative array index, same in G4LENDGammaCombinedCrossSection;
0583 initialize 'iChannel' to a positive number.
0584 + models/particle_hp
0585 o Accurate modeling of elastic resonant scattering in heavy nuclei by
0586 the use of DBRC (Doppler Broadening Rejection Correction) algorithm.
0587 In G4ParticleHPManager, added new member variables and corresponding
0588 methods, related to the DBRC algorithm.
0589 In G4ParticleHPMessenger, added new UI commands to enable DBRC (which
0590 is off by default) and to specify its parameters.
0591 In G4ParticleHPVector, added new method GetMaxY() to provide the maximum
0592 cross-section in the interval between two kinetic energy values.
0593 In G4ParticleHPChannel, modified method ApplyYourself(), with an extra
0594 argument, for a special treatment of the elastic channel.
0595 In G4ParticleHPElastic, modified G4ParticleHPChannel::ApplyYourself()
0596 call, with an extra parameter.
0597 In G4ParticleHPElasticFS, implemented the DBRC algorithm in the new
0598 method GetBiasedThermalNucleus(); modified the method ApplyYourself()
0599 to call the new method GetBiasedThermalNucleus(); introduced two more
0600 new methods, InitializeScatterKernelParameters() and
0601 RegisterCrossSection(), and corresponding new member variables.
0602 o G4ParticleHPMessenger: when changing the neutron kinetic energy
0603 threshold for applying the SVT algorithm, as part of the setting of the
0604 DBRC (Double Broadening Rejection Correction) algorithm, update the
0605 corresponding value in G4HadronicParameters.
0606 o G4ParticleHPManager: removed the neutron kinetic energy threshold for
0607 applying the SVT (Sampling of the Velocity of the Target) algorithm, as
0608 this parameter is in G4HadronicParameters.
0609 o G4ParticleHPElasticFS: get the neutron kinetic energy threshold for
0610 applying the SVT algorithm from G4HadronicParameters; in the method
0611 GetBiasedThermalNucleus(), corrected mistake in the interval where the
0612 max neutron cross-section is considered for rejection.
0613 o G4ParticleHPDeExGammas: removed internal counter; delete only objects
0614 which are created.
0615 o Removed G4ParticleHPGamma and G4ParticleHPLevel classes.
0616 o G4ParticleHPEnergyDistribution, G4ParticleHPContAngularPar,
0617 G4ParticleHPEnAngCorrelation: fixed Coverity warnings.
0618 o Applied clang-format and clang-tidy fixes.
0619 + models/parton_string
0620 o G4BaryonSplitter, G4MesonSplitter, G4QGSMSplittableHadron, G4SPBaryon:
0621 some code cleanup.
0622 + models/qmd
0623 o Fixed Coverity defect for uninitialized variable.
0624 o Code cleanup in G4QMDMeanField in attempt to fix false positive on
0625 gcc-13.1 diagnostics on alma9.
0626 + models/radioactive_decay
0627 o Fix in stairstep beta decay spectrum. Addressing problem report #2367.
0628 Created new class G4BetaSpectrumSampler to sample a sloped distribution
0629 instead of a flat one. Changed G4BetaMinusDecay and G4BetaPlusDecay to
0630 use the above sampler. Added protection against very large arguments
0631 in std::exp within G4BetaDecayCorrections::ModSquared.
0632 o Fixed Coverity defect for uninitialized data in G4BetaSpectrumSampler,
0633 G4RadioactiveDecay and G4BetaSpectrumSampler.
0634 + processes
0635 o G4(El,Tau)NeutrinoNucleusProcess, G4NeutrinoElectronProcess,
0636 G4MuNeutrinoNucleusProcess: update neutrino cross-section biasing
0637 in selected detector-region.
0638 o G4ElNeutrinoNucleusProcess: updated process name to be
0639 "el-neutrino-nucleus".
0640 o New process G4NuVacOscProcess or 3-flavour neutrino oscillation in
0641 vacuum.
0642 o G4NeutronGeneralProcess: added two access methods, an extra set method
0643 and removed possible variable shadowing.
0644 o G4HadronElasticProcess, G4NeutronGeneralProcess: fixed problems
0645 identified by Coverity.
0646 o G4TauNeutrinoNucleusProcess: cleanup of constructor and destructor to
0647 fix Coverity warning.
0648 + stopping
0649 o G4HadronicAbsorptionINCLXX: new class to handle annihilation at rest by
0650 INCLXX; for the time being, only for antiproton.
0651 + util
0652 o G4HadronicParameter: introduced the neutron kinetic energy threshold
0653 for applying the SVT (Sampling of the Velocity of the Target)
0654 algorithm. This is needed to have a consistent value in methods
0655 GetBiasedThermalNucleus() in G4Nucleus and G4ParticleHPElasticFS
0656 respectively, to avoid circular dependency with 'particle_hp' module.
0657 Removed two obsolete environment variables and access methods; added
0658 flag for charge exchange.
0659 Added class members defined via environment variable and access methods
0660 for these members, this allows to remove the majority of calls to
0661 std::getenv().
0662 Added two strings and extra methods to access environment variables used
0663 in G4HadronicProcessStore. These variables are not used in ordinary runs
0664 but are checked in each thread and for each particle. With this update
0665 these variables will be checked only once.
0666 Added G4Exception for the case, when environment variable
0667 G4PARTICLEXSDATA is not defined.
0668 Added extra Boolean method for accessing debug flag for Binary Cascade,
0669 which may be defined via environment variable G4BINARY_CASCADE_DEBUG.
0670 o G4Nucleus: in the method GetBiasedThermalNucleus(), get the neutron
0671 kinetic energy threshold for applying the SVT algorithm from
0672 G4HadronicParameter in method DoKinematicsOfThermalNucleus(), and
0673 corrected the way to pass the last parameter, by reference instead of
0674 by value.
0675 Split the method GetBiasedThermalNucleus() into two parts, by
0676 introducing a new public method, DoKinematicsOfThermalNucleus(),
0677 which is used also by G4ParticleHPElasticFS to implement the DBRC
0678 algorithm.
0679
0680 o Run:
0681 ---
0682 + Refactor random state file copying to use std::filesystem for portability.
0683 + Applied core and optional clang-tidy fixes, plus clang-format and tidying:
0684 removed obsolete comments/dead blocks; normal order access specifiers and
0685 make docstrings Doxygen/IDE compatible.
0686
0687 o Track & Tracking:
0688 ----------------
0689 + Applied standard and extended set of clang-tidy/format fixes.
0690
0691 o Visualization:
0692 -------------
0693 + Isolated private headers and updated dependencies.
0694 + Link to new G4UIcore/UIimplementation modules in place of former
0695 G4UIbasic/UIcommon.
0696 + Exporting public compile definitions to indicate availablity of specific
0697 drivers. Moves to "use on link" model.
0698 + management:
0699 o Introducing scene tree in G4VViewer. The scene tree is a tree of
0700 G4SceneTreeItem objects; its root is a data member fSceneTree of all
0701 viewers by virtue of G4VViewer inheritance. The root G4SceneTreeItem
0702 has children that represent the models (G4VModel sub-classes) in the
0703 scene. For a G4PhysicalVolumeModel (detector components), its children
0704 and children's children, etc., imitate the geometry hierarchy of that
0705 model. These descendants are called "touchables". There may be more than
0706 one G4PhysicalVolumeModel, depending how the user creates his/her scene.
0707 The scene tree is reviewed, and updated if necessary, at every pass of
0708 G4VSceneHandler::ProcessScene(). This is called a "kernel visit".
0709 A kernel visit is triggered by vis commands (e.g.,"/vis/viewer/rebuild")
0710 and by a viewer if deemed necessary. For example, a kernel visit may not
0711 be required for a rotation, zoom, etc., but required for a change from
0712 surface to wireframe. The idea is that the scene tree can be passed to a
0713 GUI, the GUI can create a tree widget, and interactions with it raise UI
0714 commands such as "/vis/scene/activateModel", "/vis/set/touchable" and
0715 "/vis/touchable/set/"...
0716 The viewer decides if this requires a kernel visit, otherwise it must
0717 update 'fSceneTree' itself (utilities are provided).
0718 o Add code to build a scene tree in G4VSceneHandler::ProcessScene().
0719 o First implementation of a no-frills GUI-side interactive scene tree.
0720 Works with touchables; can change the visibility of a touchable.
0721 A view can be prepared with a graphical driver, such as OGL, TSG, OI
0722 or Vtk, and transferred it to Ray Tracer, TOOLSSG_OFFSCREEN, etc.,
0723 simply with "/vis/open RayTracer", etc.
0724 o Implemented "generic cutaways". It relies on the Boolean Processor
0725 which handles the Boolean operations on polyhedral representations of
0726 solids. Clips, sections and cutaways will now be available to *all*
0727 viewers (OGL viewers still use OpenGL clip planes).
0728 o New scene tree: implementing expand and collapse of touchables.
0729 Expand only to depth 2, thereafter sub-trees are collapsed.
0730 When the scene tree is expanded or collapsed it is remembered in
0731 the viewer-side scene tree and may be propagated to other viewers.
0732 o G4VSceneHandler: protect material pointer used to name G4Mesh item.
0733 If null, use name of container. It avoids cases of crash when a G4Mesh
0734 is in a parallel world.
0735 In RequestPrimitives(), improved test for invalid Boolean solid.
0736 In CreateSectionSolid() and CreateCutawaySolid(), improved algorithms.
0737 o In G4VViewer::SceneTreeScene::FindOrInsertTouchable(), fixed Coverity
0738 warning. Augmented to handle depth of descent.
0739 o G4VVisCommand: added static G4SceneTreeItem 'fExistingSceneTree', used
0740 for remembering scene tree of previous viewer.
0741 o G4VisCommandsSceneHandler: if there is an existing viewer, store scene
0742 tree.
0743 o G4VisCommandsViewer: if there is an existing viewer, store scene tree.
0744 Copy existing scene tree to the new viewer.
0745 o With "/vis/viewer/select", call UpdateGUISceneTree() to ensure the
0746 scene tree of the newly selected viewer is in sync.
0747 o G4VViewer: add scene tree and related functionality.
0748 Improved G4VViewer::SceneTreeScene::FindOrInsertTouchable().
0749 Simplified ghost-touchable transition.
0750 Added "utility" function UpdateGUISceneTree().
0751 o Correct Special Mesh Rendering Option default.
0752 o G4ViewParameters: initialise fSpecialMeshRenderingOption'
0753 (meshAsDefault).
0754 o Default special mesh rendering for viewers which can render all objects.
0755 o Improved vis-side scene tree creation and maintenance.
0756 o G4VisCommandsTouchableSet: with "/vis/touchable/set/visibility",
0757 added one-time warning about circumstances in which the command may
0758 appear not to work.
0759 o In G4VisExecutive, temporary divert OGL to TSG for allowing support of
0760 Qt6. Declare TOOLSSG_[X11,XT,WINDOWS,QT]_ZB drivers.
0761 o In G4VisCommandsTouchable, introduced UI command
0762 "/vis/touchable/twinkle".
0763 o Improved layout in G4VViewer::SceneTreeScene::FindOrInsertModel().
0764 o Code cleanup in G4VUserVisAction: made protected Draw() virtual method;
0765 improved comments.
0766 o Fixed compilation warning for implicit type conversion on
0767 macOS/XCode>=14.1.
0768 + modeling:
0769 o G4VModel: removed unnecessary reference to G4PhysicalVolumeModel.
0770 o G4PseudoScene: added G4VisAttributes (this was always available, but
0771 never previously made onward available to sub-classes).
0772 o Added static utility G4PhysicalVolumeModel::GetPVNamePathString().
0773 o Updates to implement "generic cutaways".
0774 o G4PhysicalVolumeModel: in DescribeSolid(), improved tests for invalid
0775 Boolean solid in code for section and cutaway. Fixed Coverity warnings.
0776 + OpenGL:
0777 o Removed obsolete G4OPENGL_VERSION_2 symbol and G4OpenGLVboDrawer class.
0778 o Make "modeling" module a private dependency, unless Qt is active, when
0779 it must be public.
0780 o First implementation of a no-frills GUI-side scene tree.
0781 o G4OpenGLQtViewer: disabled "old" scene tree.
0782 o No longer link to QtPrintSupport, which is not used in the toolkit.
0783 o Removed support for Qt less than version 5.9. Clarify remaining version
0784 checks using QT_VERSION_CHECK instead of raw hex.
0785 o Minimum build and code changes required to compile/link against both
0786 Qt5 and Qt6.
0787 + OpenInventor:
0788 o First implementation of a no-frills GUI-side scene tree.
0789 o No longer link to QtPrintSupport, which is not used in the toolkit.
0790 o Support compilation against Qt5 and Qt6.
0791 + Qt3D
0792 o Support compilation against Qt5 and Qt6.
0793 + ToolsGS:
0794 o First version of the TSG_[QT,X11,XT,WINDOWS]_ZB sub drivers, allowing
0795 the rendering with g4tools/zbuffer (the same used by TSG_OFFSCREEN).
0796 They allow interactive 3D rendering bypassing native graphics
0797 systems. It is fully standalone over the standard C/C++ libs and the
0798 standard pixmap logic of X11, Xt, Qt, Windows, running only the CPU.
0799 Tested with Qt5 and Qt6.
0800 o First implementation of a no-frills GUI-side scene tree.
0801 o No longer link to QtPrintSupport, which is not used in the toolkit.
0802 o Link to Qt6OpenGLWidgets library when using Qt6 to access QOpenGLWidget.
0803 o Fixed Coverity warnings.
0804 + Vtk:
0805 o Refactor of VTK viewer with pipelines, geometry stores; improved 2D
0806 rendering, streamlined VTK cmake components.
0807 o G4VtkSceneHandler: text justification to given coordinate.
0808 o Separated pipelines into source and include files.
0809 o Use class inheritance for pipelines G4VVtkPipeline and added ability
0810 to chain pipelines.
0811 o Separated interactive cutters, clippers.
0812 o 2D transparent image overlay.
0813 o Improved geant4 commands (/vis/vtk/..).
0814 o Added vtkUnstructuredGridPipeline for special mesh rendering.
0815 o Applied clang-tidy and clang-format fixes.
0816 o Removed dead code and no-ops.
0817 o Fixed compilation warnings for implicit type conversions on
0818 macOS/XCode>=14.1.
0819
0820 o Data Sets:
0821 ---------
0822 + G4EMLOW-8.4:
0823 o Updated microelec data for electrons.
0824 o Updated DNA data.
0825 o Added README to all subdirectories.
0826 + G4ABLA-3.3:
0827 o New file named "mass2016.dat" with experimental atomic mass evaluation
0828 from 2016.
0829 o New file "mass2020.dat" with the binding energies from the atomic mass
0830 evaluation AME2020.
0831 + G4INCL-1.1:
0832 o Addec new files for antiproton annihilation at rest of INCL.
0833
0834 o Examples:
0835 --------
0836 + Updated reference outputs, macros, READMEs and scripts.
0837 + advanced/eFLASH_radiotherapy
0838 o Removed visualization in batch mode.
0839 + advanced/fastAerosol
0840 o General code cleanup, including clang-tidy.
0841 + advanced/ICRP110_HumanPhantoms
0842 o Now building two executables: ICRP110phantoms and ICRP110standalone.
0843 ICRP110standalone allows allows visualisation of the phantom without
0844 the overhead of the run manager and initialising of all the physics
0845 tables (i.e. cannot visualise trajectories).
0846 o standalone.mac: disable auto refresh *before* creating scene.
0847 For auto-refresh viewers, without this change the viewer attempts to
0848 draw the detector with the default view parameters, and in the case of
0849 this phantom, it overwhelms the graphics system.
0850 o This phantom should be displayed with special mesh rendering.
0851 + advanced/ICRP145_HumanPhantoms
0852 o Introduce ICRP145standalone. Building two executables: ICRP145phantoms
0853 and ICRP145standalone. ICRP145standalone allows visualisation of the
0854 phantom without the overhead of the run manager and physics tables
0855 and geometry initialisation. Of course, you cannot run or visualise
0856 trajectories. Disabled auto refresh *before* creating scene.
0857 + advanced/stim_pixe_tomography
0858 o New application for simulating three-dimensional STIM or PIXE tomography
0859 experiments. References: NIM Phys.Res. B (536) 2023: 38-44;
0860 Phys. Med. (94) 2022: 85-93; Phys. Med. (65) 2019: 172-180.
0861 + advanced/xray_TESdetector
0862 o New example of the application of Geant4 in a space environment.
0863 It represents an x-ray detector derived from the X-IFU, the X-ray
0864 spectrometer designed and developed by the European Space Agency (ESA)
0865 for use on the ATHENA telescope. The main purpose of the simulation is
0866 the estimation of the particle radiation background impacting on the
0867 detector.
0868 + advanced/xray_SiliconPoreOptics
0869 o New example demonstrating an application of Geant4 in space environment.
0870 The geometry used in this example represents a single reflective pore
0871 used to simulate on a smaller scale the effect of the millions of pores
0872 forming the mirror of the ATHENA Silicon Pore Optics (SPO), as described
0873 in: V.Fioretti et al., STI: Ultraviolet to Gamma Ray. Vol.10699. SPIE,
0874 2018.
0875 The main purpose of the simulation is the estimation of the induced
0876 residual background at the pore exit caused by proton scattering at
0877 grazing angles.
0878 + basic/B4
0879 o In PrimaryGeneratorAction, default e-, 300 MeV.
0880 o RunAction: adjusted binning of histograms.
0881 o Updated run1.mac and run2.mac macros.
0882 + extended/biasing/ReverseMC01
0883 o Removed inclusion of unneeded and now obsolete G4strstreambuf header.
0884 + extended/electromagnetic/TestEm0
0885 o New input macro ion.mac.
0886 o RunAction: restore output format.
0887 o Code revision of all headers.
0888 + extended/electromagnetic/TestEm1
0889 o New input macro etaDecay.mac.
0890 o PhysicsList::AddRadioactiveDecay(): set ARM false.
0891 o Code revision of all headers.
0892 + extended/electromagnetic/TestEm2
0893 o Code revision of all headers.
0894 + extended/electromagnetic/TestEm3
0895 o Compute and plot energy leakage and total energy.
0896 o Run: fixed division by zero for the case if energy deposition
0897 in a layer is zero.
0898 o Code revision of all headers.
0899 + extended/electromagnetic/TestEm4
0900 o RunAction: print run conditions and histograms statistics.
0901 o Code revision of all headers.
0902 + extended/electromagnetic/TestEm5
0903 o Code revision of all headers.
0904 + extended/electromagnetic/TestEm7
0905 o Added extra macro for test muon dEdx and Range.
0906 + extended/electromagnetic/TestEm8
0907 o Applied clang-format and code revision of all headers.
0908 + extended/electromagnetic/TestEm11
0909 o Compute and plot energy leakage and total energy.
0910 o In PhysicsList::RadioactiveDecay(): setARM = false.
0911 o Revised headers.
0912 + extended/electromagnetic/TestEm12
0913 + extended/electromagnetic/TestEm13
0914 + extended/electromagnetic/TestEm14
0915 o Code revision of all headers.
0916 + extended/electromagnetic/TestEm18
0917 o Fix in destructor of StakingAction.
0918 o Code revision of all headers.
0919 + extended/hadronic/FlukaCern
0920 o New Geant4-FLUKA interface and two hadronic examples, providing access
0921 to FLUKA-Cern hadron-nucleus inelastic physics:
0922 - ProcessLevel/CrossSection: allows the study of Geant4 cross-sections,
0923 and FLUKA-Cern hadron-nucleus reaction cross-sections.
0924 - ProcessLevel/FinalState: shows how to simulate inelastic
0925 hadron-nucleus interactions, using Geant4 or FLUKA-Cern models.
0926 + extended/hadronic/Hadr01
0927 o Added UI commands to enable neutron general process and extra macro
0928 file.
0929 o HistoManager: added protection agains secondary zero-energy particles.
0930 + extended/hadronic/Hadr03
0931 o In main(), set ProduceFissionFragments to true.
0932 o PhysicsList: return to use QGSP_BIC_HP.
0933 o SteppingAction: added protection against secondaries.
0934 o Run::EndOfRun(): format adjustement.
0935 o Code revision of all headers.
0936 + extended/hadronic/Hadr04
0937 o PhysicsList: removed definition of meV.
0938 o Code revision of all headers.
0939 + extended/hadronic/Hadr05
0940 o Compute and plot Edep, Eleak, Etotal=Edep+Eleak.
0941 + extended/hadronic/Hadr06
0942 o Compute and plot total energy released.
0943 o Code revision of all headers.
0944 + extended/hadronic/Hadr07
0945 o Compute and plot Edep, Eleak, Etotal=Edep+Eleak.
0946 + extended/hadronic/Hadr10
0947 o In SteppingAction, protecting the argument of acos() to be within range.
0948 + extended/hadronic/ParticleFluence
0949 o Run, TrackingAction: replaced G4int with G4long for keeping the
0950 information on the multiplicity of particle production. This avoids
0951 rare cases of negative multiplicities due to integer overflow, seen for
0952 runs with at least 4000 events, in particular with heavy materials,
0953 such as Tungsten and Lead.
0954 + extended/medical/dna/dnadamage2
0955 o New example providing scoring of plasmid DNA strand breaks using the
0956 IRT method (J. Ramos-Mendez, et al., Medical Physics, 2020, 47(11),
0957 5919-5930).
0958 Extends the chem6 example by adding DNA molecule information and the
0959 scoring of Strand Breaks. Experimental conditions are considered such
0960 as oxygen and DMSO molar concentrations.
0961 + extended/medical/dna/icsd
0962 o PhysicsList: deleted unused models; apdated RegisterModel() function
0963 with new structure. Deleted G4DNAVacuumModel.
0964 + extended/medical/dna/moleculardna
0965 o Migrated data download to CERN EOS area for examples.
0966 o Added ability to read particles from a space phase file (csv).
0967 o Updated ecoli.mac file.
0968 o Overall code revision with clang-tidy.
0969 + extended/medical/dna/range
0970 o Added DNA materials.
0971 o Simplified PhysicsList.
0972 o Use G4RunManagerFactory in main().
0973 + extended/medical/dna/spower
0974 o Added DNA materials.
0975 o Simplified PhysicsList.
0976 o Added extra macro alpha.in.
0977 o Code cleanup in main().
0978 + extended/medical/dna/UHDR
0979 o New example showing how to activate the mesoscopic model in chemistry
0980 and combine with SBS model (Tran et al.,Int. J. Mol. Sci. 22 (2021)
0981 6023).
0982 It allows to simulate chemical reactions longtime (beyond 1 us) of
0983 post-irradiation.
0984 + extended/parameterisations/gflash
0985 o gflasha: use G4PhysListFactory for physics list initialization.
0986 o gflash2: removed unused statics from DetectorConstruction class.
0987 o Some code cleanup in gflash1,2,3,a.
0988 o Overall code revision with clang-tidy and clang-format.
0989 + extended/persistency/gdml/G01
0990 o Added comment in main() to demonstrate how to set alternative
0991 schema file for validation while parsing a GDML document.
0992 + extended/visualization/perspective
0993 o PerspectiveVisAction: fixed missing include for G4Transform3D header.
0994 o In PerspectiveVisAction header, removed unnecessary forward class
0995 declarations. Applied clang-format.
0996 + extended/visualization/standalone
0997 o Included an example of DrawGeometry. DrawGeometryVisAction shows how to
0998 visualise the geometry alone, i.e., without run manager and physics.
0999
1000 ----------------------------------------------------------------------------
1001