Skip to content

Commit

Permalink
Import Geant4 11.0.4 source tree
Browse files Browse the repository at this point in the history
  • Loading branch information
gcosmo committed Mar 14, 2023
1 parent 3136fa9 commit d2975d2
Show file tree
Hide file tree
Showing 236 changed files with 48,040 additions and 27,346 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ project(Geant4
HOMEPAGE_URL "https://geant4.cern.ch")
set(${PROJECT_NAME}_VERSION_MAJOR 11)
set(${PROJECT_NAME}_VERSION_MINOR 0)
set(${PROJECT_NAME}_VERSION_PATCH 3)
set(${PROJECT_NAME}_VERSION_PATCH 4)
set(${PROJECT_NAME}_VERSION "${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH}")

# - Prepend our own CMake Modules to the search path
Expand Down
111 changes: 111 additions & 0 deletions ReleaseNotes/Patch.11.0-4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@

Geant4 11.0 - patch-04 Release Notes
------------------------------------

3 March 2023

List of fixes included in this public patch since the public release 11.0.3:

o Configuration
-------------
+ CMake:
o Removed no longer required G4VecGeomShim module.
VecGeom supports/supplies full imported targets since 1.1.18
Use of VECGEOM_LIBRARIES variable is required to allow build against
CUDA-enabled VecGeom.

o Analysis
--------
+ Added a protection against nullptr in G4VAnalysisManager::GetNofNtuples()
Addressing problem report #2518.
+ Do not remove non-empty HDF5 output files.

o Global:
------
+ Updated date and version for 11.0.4.

o Materials:
---------
+ G4Material: added an extra check on number of atoms in method
AddElementByNumberOfAtoms(..). Addressing problem report #2514.

o Particles:
---------
+ G4XicZero, G4AntiXicZero, G4OmegacZero, G4AntiOmegacZero: updated mean
lifetime values according to PDG-2022.
+ G4Triton, G4AntiTriton: corrected the lifetime value for triton and
anti_triton. The half-life (12.32 years) was incorrectly used instead of
the mean lifetime (17.774 years) for triton, whereas the anti_triton was
incorrectly treated as stable.
+ G4AntiNeutron: set the "PDG stable" flag to "false", as for G4Neutron.
This has no practical consequences, i.e. anti_neutron decays regardless
of this flag.

o Physics Lists:
-------------
+ constructors/decay
o G4RadioactiveDecayPhysics: assigned RadioactiveDecay process to G4Triton
(which is the only light ion that decays). Note: before, triton did not
have beta decay, i.e. it was wrongly treated as stable even when
radioactive decay physics was enabled; anti_triton did not, and still
does not, have beta decay (because RadioactiveDecay, in its current
implementation, does not handle any kind of anti-ions): in practice,
this is an acceptable approximation because of its relatively long
lifetime and the fact that annihilation and nuclear capture are more
likely to happen before decay.

o Processes - Electromagnetic:
---------------------------
+ standard:
o G4WentzelOKandVIxSection: fixed numeric instability for the extreme
case of very small kinetic energy (< 1 eV). Improved comments and
fixed single scattering per region. Addressing problem report #2530.

o Processes - Hadronic:
--------------------
+ cross_sections:
o G4ComponentAntiNuclNuclearXS: fix and extension in methods
GetTotalElementCrossSection() and GetInelasticElementCrossSection();
a bug was causing undefined values for, respectively, the total and
inelastic cross-sections of anti-proton interactions with light target
nuclei (d, H3, He3 and He4).
o G4NeutronInelasticXS, G4ParticleInelasticXS: fixed computation of
isotope cross-sections. Addressing problem report #2498.
+ models/cascade
o G4NumIntTwoBodyAngDst: corrected incomplete initialization of a vector.
Addressing problem report #2515.
o G4TwoBodyAngularDist: corrected the charge exchange reaction of pion+
on neutron producing in the final state pion0 and proton.
Addressing problem report #2516.
+ models/lepto_nuclear
o G4ElectroVDNuclearModel: added protections against null pointers to
gamma cross-section and material, responsible for rare crashes.
+ models/particle_hp
o G4ParticleHPContAngularPar: added protection against zero probability
for both discrete and continuous emission.
+ models/parton_string
o G4DiffractiveSplitableHadron: fixed rare large energy violations seen
with FTF when dealing with charm and bottom hadron nuclear interactions.
o G4LundStringFragmentation, G4QGSMFragmentation: corrected value for
the probability of charm/anti-charm creation from the vacuum (a factor
of 10 higher was set to enhance the production of charm hadrons for
testing purposes).
o G4QGSMFragmentation: bug-fix in the method GetLightConeZ(), which
might cause rare access to arrays with a wrong index.
+ util
o G4Nucleus: corrected method GetN_asInt() for the case of hypernuclei.

----------------------------------------------------------------------------

Technical Notes
---------------

o This patch should be applied on top of release 11.0 series.
o Technical notes distributed for release 11.0 are also applicable and
valid for this patch.

The code and rebuilt binary libraries for release 11.0.4 are available
through the Geant4 "Download" Web page.

Please refer to the Geant4 User Documentation for further information about
using Geant4.
5 changes: 5 additions & 0 deletions cmake/History
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ add this in the documentation for the changed file as [BUGFIX #BUGNUMBER].
* Reverse chronological order (last date on top), please *
----------------------------------------------------------

6 February 2023 Ben Morgan (cmake-V10-07-58)
- Remove no longer required G4VecGeomShim module.
- VecGeom supports/supplies full imported targets since 1.1.18
- Use of VECGEOM_LIBRARIES variable required to allow build against CUDA-enabled VecGeom

14 July 2022 - Ben Morgan (cmake-V10-07-57)
- Address [Bugzilla 2485](https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2485)
- Update extraction of include paths from VecGeom to use imported target
Expand Down
7 changes: 0 additions & 7 deletions cmake/Modules/G4ConfigureCMakeHelpers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -187,12 +187,6 @@ configure_file(
COPYONLY
)

configure_file(
${PROJECT_SOURCE_DIR}/cmake/Modules/G4VecGeomShim.cmake
${PROJECT_BINARY_DIR}/G4VecGeomShim.cmake
COPYONLY
)

configure_file(
${PROJECT_SOURCE_DIR}/cmake/Modules/G4X11Shim.cmake
${PROJECT_BINARY_DIR}/G4X11Shim.cmake
Expand Down Expand Up @@ -274,7 +268,6 @@ install(FILES
${PROJECT_BINARY_DIR}/G4EXPATShim.cmake
${PROJECT_BINARY_DIR}/G4FreetypeShim.cmake
${PROJECT_BINARY_DIR}/G4HDF5Shim.cmake
${PROJECT_BINARY_DIR}/G4VecGeomShim.cmake
${PROJECT_BINARY_DIR}/G4MotifShim.cmake
${PROJECT_BINARY_DIR}/G4X11Shim.cmake
${PROJECT_SOURCE_DIR}/cmake/Templates/UseGeant4.cmake
Expand Down
5 changes: 0 additions & 5 deletions cmake/Modules/G4OptionalComponents.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -298,11 +298,6 @@ endif()
# - Geant4 USolids/VecGom setup
if(GEANT4_USE_ALL_USOLIDS OR GEANT4_USE_PARTIAL_USOLIDS)
find_package(VecGeom 1.1.18 REQUIRED)
# Shim until VecGeom supports config mode properly
include("${CMAKE_CURRENT_LIST_DIR}/G4VecGeomShim.cmake")
# Backward Compatibility
set(VECGEOM_LIBRARIES VecGeom::vecgeom)

geant4_save_package_variables(VecGeom VecGeom_DIR)

# If VecCore_DIR is set, means updated VecGeom install used, so
Expand Down
20 changes: 0 additions & 20 deletions cmake/Modules/G4VecGeomShim.cmake

This file was deleted.

1 change: 0 additions & 1 deletion cmake/Templates/Geant4Config.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,6 @@ endif()
set(Geant4_usolids_FOUND @GEANT4_USE_USOLIDS_EITHER@)
if(Geant4_usolids_FOUND)
find_dependency(VecGeom @VecGeom_VERSION@)
include("${CMAKE_CURRENT_LIST_DIR}/G4VecGeomShim.cmake")
endif()

# - Freetype
Expand Down
Loading

0 comments on commit d2975d2

Please sign in to comment.