Skip to content

Commit

Permalink
Import Geant4 10.7.3 source tree
Browse files Browse the repository at this point in the history
  • Loading branch information
gcosmo committed Nov 19, 2021
1 parent 1326130 commit 4317e2b
Show file tree
Hide file tree
Showing 243 changed files with 32,386 additions and 29,746 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX
project(Geant4)
set(${PROJECT_NAME}_VERSION_MAJOR 10)
set(${PROJECT_NAME}_VERSION_MINOR 7)
set(${PROJECT_NAME}_VERSION_PATCH 2)
set(${PROJECT_NAME}_VERSION_PATCH 3)
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
158 changes: 158 additions & 0 deletions ReleaseNotes/Patch4.10.7-3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@

Geant4 10.7 - patch-03 Release Notes
------------------------------------

19 November 2021

List of fixes included in this public patch since the public release 10.7.p02:

o Configuration
-------------
+ CMake:
o Renamed Geant4::HDF5 to hdf5::hdf5 to be compatible with imported
targets provided since CMake 3.20. Addressing problem report #2426.

o Environments:
------------
+ G4py
o Removed binding to obsolete member functions of G4Sphere and G4Tubs.

o Geometry:
--------
+ divisions:
o Make G4PVDivision and G4ReplicatedSlice inherit from G4PVReplica
rather than G4VPhysicalVolume, in order to have instances properly
cloned in MT mode.
o Fixed bug in G4ParameterisationTrd for positioning calculation.
Debug messages cleanup.
+ management:
o Provide operator<<() as a free function for G4UAdapter to support
Geant4Py.
+ navigation:
o G4PhantomParameterisation: reduced warning messages in GetReplicaNo()
function; issue warning only when difference is bigger than
'kCarTolerance'. Addressing problem report #2314.
+ solids/Boolean:
o In G4BooleanSolid, use G4RecursiveMutex in place of G4Mutex in
GetPolyhedron() to avoid potential deadlocks in visualisation
in recursive Boolean operations.
+ solids/specific:
o More accurate calculation of distance from point to triangle
in G4TriangularFacet. Addressing problem report #2401.
o Added missing accessor in G4UTet.
+ volumes:
o Use same strategy for cloning solids for replicated volumes types in
G4GeometryWorkspace (required for having proper treatment of divided
volumes). Cleanup of unused verbose printouts.
o G4PVReplica: moved internal defines for MT split data to source.
Avoid deletion of rotation matrix for replication in Phi in destructor
as not necessary. Some code cleanup.

o Global:
------
+ Updated date and version for 10.7.p03.

o Materials:
---------
+ Corrected calculations in G4DensityEffectCalculator.
Addressing problem report #2330.
+ G4IonisParamMat: return exact computations according to the original
publication. Addressing problem report #2334.

o Parameterisations/gflash
------------------------
+ Fixes in GFlashSamplingShowerParameterisation in the parameters
definition.

o Persistency:
-----------
+ ASCII:
o Change prefix to free math functions in G4tgrEvaluator source, to avoid
potential clashes with system functions carrying same name/signature.
Addressing problem report #2444.
+ GDML
o G4GDMLWriteStructure: added fatal exception in AssemblyWrite() for the
case of nested assemblies, not yet supported for exporting.
o G4GDMLParser: added utility method to retrieve a generic physical
volume by its name.

o Physics Lists:
-------------
+ constructors/gamma_lepto_nuclear
o G4EmExtraPhysics: enable synchrotron radiation only for really stable
particles. Fixed typo in registering positron-nuclear process; register
model for e-/e+-nuclear in case of general processes, avoid registering
synchroton radiation twice for e-/e+.

o Processes - Electromagnetic:
---------------------------
+ standard
o G4BetheBlochModel: fixed computation of dedx for alpha if ICRU90 data
are used. Addressing problem report #2414.
+ utils
o Fix in G4OpticalParametersMessenger for UI command changing incorrect
parameter. Addressing problem report #2392.
+ xrays
o G4Cerenkov: added protection against too small steps (still addressing
problem report #1992).
o G4GaussXTRadiator, G4VXTRenergyLoss: added Gauss-distributed regular
radiator and accessors for angle distribution range.

o Processes - Hadronic:
--------------------
+ cross_sections
o G4NeutronCaptureXS: fixed bug in isotope data access.
+ models/de_excitation
o In G4PhotonEvaporation, changed de-excitation logic from levels, which
has no data on transitions: instead of transition to closest level
continue transition is performed.
Attempting fix for problem report #2434, by reducing production of
fragments with high excitation and high angular momentum.
+ models/particle_hp
o Bug fix in G4ParticleHPLabAngularEnergy.
+ models/util
o G4SampleResonance: bug-fix in the method GetMinimumMass() in the use
case rare and light decay channels (e.g. e+ e-) are included for
hadronic resonances. Addressing problem report #2299.

o Run
---
+ G4VModularPhysicsList: fixed destruction of the vector of
G4VPhysicsConstructor for the case when physics list is created
but physics is not built.

o Tracking
--------
+ G4SteppingManager: Making sure Transportation limits the step if a volume
boundary in a parallel world is co-limiting the step.
Addressing problem report #2240.

o Examples:
--------
+ advanced/ICRP110_HumanPhantoms:
o Updated URL for data download.
+ advanced/STCyclotron:
o Added protection against potential division by zero in function
STCyclotronRun::EndOfRun().
+ extended/hadronic:
o Hadr01: in HistoManager, DetectorConstruction and DetectorMessenger
corrected counting of leaking neutrons.
Addressing problem report #2441.
+ extended/persistency:
o G01: Fixed minor overlaps in assembly.gdml and axes.gdml samples.
o G02, G03: Fixed visualisation settings in input macros.

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

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

o This patch should be applied on top of release 10.7 or 10.7.p01/p02.
o Technical notes distributed for release 10.7 are also applicable and
valid for this patch.

The code and rebuilt binary libraries for release 10.7.p03 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 @@ -30,6 +30,11 @@ add this in the documentation for the changed file as [BUGFIX #BUGNUMBER].

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

24th September 2021 - Ben Morgan (cmake-V10-06-53)
- Rename Geant4::HDF5 to hdf5::hdf5 to be compatible with
imported target provided since CMake 3.20.
- Backports !2107 to 10.7 to address Bugzilla 2426

19th March 2021 - Gunter Folger (cmake-V10-06-52)
- Update to older G4TENDL 1.3.2, 1.4 has problems.

Expand Down
16 changes: 8 additions & 8 deletions cmake/Modules/G4HDF5Shim.cmake
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# - G4HDF5Shim
# - G4HDF5Shim
#
# Geant4's Geant4Config.cmake file aims to support CMake 3.8 and newer
# The HDF5 dependency is located through CMake's builtin FindHDF5
# module, but this does not supply imported targets as of CMake 3.16.
# module, but this does not supply imported targets until CMake 3.20.
# It may use HDF5's hdf5-config.cmake file if available, so create
# custom imported target Geant4::HDF5 to allow both cases to be handled
# custom imported target hdf5::hdf5 to allow both cases to be handled
# without interference with either.

if(HDF5_FOUND)
Expand All @@ -24,18 +24,18 @@ if(HDF5_FOUND)
endif()
endif()

# As FindHDF5 does not yet supply imported targets, we
# If FindHDF5 does not yet supply imported targets, we
# create an internal INTERFACE target to wrap these.
# This still hard-codes include/library paths, but limits it
# to one place. Later, we'll create proper imported targets
# with re-finds but for now this is the best minimally invasive proceedure
if(NOT TARGET Geant4::HDF5)
add_library(Geant4::HDF5 IMPORTED UNKNOWN)
set_target_properties(Geant4::HDF5 PROPERTIES
if(NOT TARGET hdf5::hdf5)
add_library(hdf5::hdf5 IMPORTED UNKNOWN)
set_target_properties(hdf5::hdf5 PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${HDF5_C_LIBRARY_hdf5}"
INTERFACE_INCLUDE_DIRECTORIES "${HDF5_C_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${HDF5_C_LIBRARIES}"
)
endif()
endif()
endif()
2 changes: 1 addition & 1 deletion cmake/Modules/G4OptionalComponents.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,7 @@ if(GEANT4_USE_HDF5)
find_package(HDF5 1.8 REQUIRED)
include("${CMAKE_CURRENT_LIST_DIR}/G4HDF5Shim.cmake")
# Backward compatibility
set(HDF5_LIBRARIES Geant4::HDF5)
set(HDF5_LIBRARIES hdf5::hdf5)

# May have found via config mode...
if(HDF5_DIR)
Expand Down
4 changes: 4 additions & 0 deletions environments/g4py/History
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ Geant4Py is a Geant4-Python bridge.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------

31 Aug. 2021 B.Morgan (geant4py-V10-06-05)
- Remove binding to obsolete member functions of G4Sphere and G4Tubs
- Either no longer used or cause issues when using Vecgeom

16 Nov. 2020 B. Morgan (geant4py-V10-06-04)
- Boost 1.73 modified use of its bind and placeholder functionality, resulting
in Boost.Python spamming pragma messages about deprecation of this.
Expand Down
4 changes: 1 addition & 3 deletions environments/g4py/source/geometry/pyG4Sphere.cc
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ using namespace boost::python;
// ====================================================================
namespace pyG4Sphere {

G4Sphere* CreateSphere(const G4String& name,
G4Sphere* CreateSphere(const G4String& name,
G4double pRmin, G4double pRmax,
G4double pSPhi, G4double pDPhi,
G4double pSTheta, G4double pDTheta)
Expand All @@ -61,13 +61,11 @@ void export_G4Sphere()
.def(init<const G4String&, G4double, G4double, G4double,
G4double, G4double, G4double>())
// ---
.def("GetInsideRadius", &G4Sphere::GetInsideRadius)
.def("GetOuterRadius", &G4Sphere::GetOuterRadius)
.def("GetStartPhiAngle", &G4Sphere::GetStartPhiAngle)
.def("GetDeltaPhiAngle", &G4Sphere::GetDeltaPhiAngle)
.def("GetStartThetaAngle", &G4Sphere::GetStartThetaAngle)
.def("GetDeltaThetaAngle", &G4Sphere::GetDeltaThetaAngle)
.def("SetInsideRadius", &G4Sphere::SetInsideRadius)
.def("SetOuterRadius", &G4Sphere::SetOuterRadius)
.def("SetStartPhiAngle", &G4Sphere::SetStartPhiAngle)
.def("SetDeltaPhiAngle", &G4Sphere::SetDeltaPhiAngle)
Expand Down
5 changes: 0 additions & 5 deletions environments/g4py/source/geometry/pyG4Tubs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,6 @@ void export_G4Tubs()
.def("SetZHalfLength", &G4Tubs::SetZHalfLength)
.def("SetStartPhiAngle", &G4Tubs::SetStartPhiAngle)
.def("SetDeltaPhiAngle", &G4Tubs::SetDeltaPhiAngle)
.def("GetRMin", &G4Tubs::GetRMin)
.def("GetRMax", &G4Tubs::GetRMax)
.def("GetDz", &G4Tubs::GetDz)
.def("GetSPhi", &G4Tubs::GetSPhi)
.def("GetDPhi", &G4Tubs::GetDPhi)
// operators
.def(self_ns::str(self))
;
Expand Down
Loading

0 comments on commit 4317e2b

Please sign in to comment.