Skip to content

Commit 460fe6d

Browse files
author
Gabriele Cosmo
committed
Import Geant4 10.7.1 source tree
1 parent dab42d2 commit 460fe6d

File tree

281 files changed

+32980
-42880
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

281 files changed

+32980
-42880
lines changed

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX
3333
project(Geant4)
3434
set(${PROJECT_NAME}_VERSION_MAJOR 10)
3535
set(${PROJECT_NAME}_VERSION_MINOR 7)
36-
set(${PROJECT_NAME}_VERSION_PATCH 0)
36+
set(${PROJECT_NAME}_VERSION_PATCH 1)
3737
set(${PROJECT_NAME}_VERSION "${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH}")
3838

3939
# - Prepend our own CMake Modules to the search path

CONTRIBUTING.md CONTRIBUTING.rst

+4-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ the development repository of Geant4, to be included in a future release or
1111
patch.
1212

1313
For simple bug-fixes, it is anyhow recommended to use the official
14-
`Bugzilla problem reporting system <https://bugzilla-geant4.kek.jp/>`.
14+
Bugzilla problem reporting system.
15+
- Problem reports: `Bugzilla problem reporting system <https://bugzilla-geant4.kek.jp>`_.
16+
- User Forum: `Geant4 Forum <https://geant4-forum.web.cern.ch>`_.
17+
- Documentation: `User Documentation <https://cern.ch/geant4/support/user_documentation>`_.
1518

1619
The Geant4 Collaboration

README.rst

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
=====
2-
Geant4: A Simulation Toolkit
2+
Geant4: A Simulation Toolkit
33
=====
4+
5+
- Problem reports: `Bugzilla problem reporting system <https://bugzilla-geant4.kek.jp>`_.
6+
- User Forum: `Geant4 Forum <https://geant4-forum.web.cern.ch>`_.
7+
- Documentation: `User Documentation <https://cern.ch/geant4/support/user_documentation>`_.
8+

ReleaseNotes/Patch4.10.7-1.txt

+220
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,220 @@
1+
2+
Geant4 10.7 - patch-01 Release Notes
3+
------------------------------------
4+
5+
5 February 2021
6+
7+
List of fixes included in this public patch since the public release 10.7:
8+
9+
o Configuration
10+
-------------
11+
+ CMake:
12+
o Make fail configuration if Qt is enabled with CMake < 3.9.
13+
Addressing problem report #2303.
14+
o Fixed potential installation error with Homebrew/MacPorts X11/GL.
15+
Apply GitHub PR #17.
16+
o Fixed configure/build with system PTL 1.0.0.
17+
Apply GitHub PR #16.
18+
o Install/Use builtin PTL CMake scripts from PTL subdirectory alongside
19+
Geant4Config.cmake.
20+
o Updated to data set G4PARTICLEXS-3.1.1.
21+
+ GNUmake:
22+
o Updated Qt5 settings in Linux targets.
23+
24+
o Analysis:
25+
--------
26+
+ Updated to g4tools 5.2.3:
27+
o Fixed bug in tools/histo/h2,h3 for get_bin_content();
28+
have '&' in "get" arguments. Addressing problem report #2306.
29+
o See History_tools for the complete list of modifications.
30+
+ Fixed problem with merging n-tuples with columns of vector type.
31+
32+
o Externals:
33+
----------
34+
+ Force PTL to install its CMake configuration files within the directory
35+
where Geant4 installs its own. Force to install its headers under
36+
CMAKE_INSTALL_INCLUDEDIR/Geant4. Addressing problem report #2298.
37+
+ ptl: apply patch to fix component installs on Windows.
38+
39+
o Geometry:
40+
--------
41+
+ navigation:
42+
o G4ReplicaNavigation: reduced step correction in ComputeStep().
43+
Addressing problem report #2302.
44+
o G4PathFinder: moved debug printout within debug block in Locate().
45+
o G4RegularNavigation: protected within G4DEBUG_NAVIGATION debug printout.
46+
Substituted warning printout with proper G4Exception.
47+
+ solids/Boolean:
48+
o Added protection against using invalid normal
49+
in G4ScaledSolid::DistanceToOut(p,v).
50+
+ solids/CSG:
51+
o G4Trap, G4Para: removed spurious character in printout in StreamInfo().
52+
Addressed problem report #2318.
53+
+ solids/specific:
54+
o Reduce cases of bad speculation in G4PolyhedraSide::Inside() and
55+
G4PolyPhiFace::InsideEdges(), based on profiling analysis.
56+
+ volumes:
57+
o Added creation order index in G4LogicalBorderSurface.
58+
Addressing problem report #2311.
59+
o G4GeometryWorkspace: added protection for thread contention in function
60+
DestroyWorkspace(). Some code cleanup.
61+
62+
o Global:
63+
------
64+
+ Updated date and version for 10.7.p01.
65+
66+
o Intercoms:
67+
---------
68+
+ G4UImanager: introduced flag and access functions for
69+
LastCommandOutputTreated. This flag is set to false at the point
70+
in ApplyCommand() where, if verbosity>0, the command is sent to G4cout.
71+
The treating UI must reset to true when the line has been treated.
72+
Of course, the UI may simply ignore it.
73+
74+
o Interfaces:
75+
----------
76+
+ G4UIQt: Use QPalette to get colour and background from OS;
77+
instead of fixed background <span style='background:#EEEEEE...
78+
use <span style='background:" + pal.highlight().color().name()...
79+
This picks up colour from the OS and even allows for change of
80+
OS display style, e.g., dark mode on MacOS.
81+
Fixed command-line-echo highlighting whereby there could be a crash
82+
in some circumstances: use <span> instead of <div> in HTML wrappers.
83+
+ Introduce choice of output styles:
84+
o /gui/outputStyle
85+
<cout|cerr|warnings|errors|all>
86+
<fixed|proportional>
87+
<highlight|no-highlight>
88+
o Highlighting applies to the echoed command line if echoing is
89+
requested with /control/verbose > 0.
90+
91+
o Persistency - gdml:
92+
------------------
93+
+ Fix for proper treatment of material properties reading for skinsurface
94+
and bordersurface elements; adopt the key of the property vector map as
95+
'name + ref'. Addressing problem report #2305.
96+
+ Fixed parsing of regions in G4GDMLParser::ImportRegions().
97+
Allow for proper deletion of meta-data lists in destructor.
98+
Based on GitHub PR#19.
99+
+ Fixed reading of units for GenericTrap in G4GDMLReadSolids.
100+
Addressing problem report #2317.
101+
102+
o Physics Lists:
103+
-------------
104+
+ builders
105+
o G4HadronicBuilder: replaced 2-body decays of bottom mesons into charmed
106+
mesons and charged rho resonance, with 3-body decays into the same
107+
charmed mesons and charged pion and neutral pion. This allows to get a
108+
more precise numerical treatment of the decay kinematics in the rest
109+
frame, avoiding spurious energy-momentum violations reported by
110+
G4DecayProducts.
111+
o OrderingParameterTable: added forgotten processes (general positron,
112+
surface reflection, DNA) coherently with G4PhysicsListHelper.
113+
+ constructors/electromagnetic
114+
o G4GammaGeneralProcess: changed 1st energy limit from 50 keV to 150 keV
115+
to guarantee K-shell energy for any element to be within 1st energy
116+
area. Changed logic for selection of a concrete process.
117+
Maximally reduced use of 'if' statements; reduced number of 'return'
118+
in run time methods; removed shadowing of base class methods.
119+
Addressing problem report #2309.
120+
+ constructors/hadron_elastic
121+
o G4HadronElasticPhysics: fixed type of builder in all hadron elastic
122+
constructors. Addressing problem report #2183.
123+
o G4IonElasticPhysics, G4ThermalNeutrons: added comments
124+
+ constructors/hadron_inelastic
125+
o G4HadronPhysicsFTFP_BERT, G4HadronPhysicsQGSP_BERT,
126+
G4HadronInelasticQBBC, G4HadronPhysicsQGSP_BIC: fixed type of builder
127+
in all hadron inelatic constructors. Addressing problem report #2296.
128+
129+
o Processes - Electromagnetic:
130+
---------------------------
131+
+ lowenergy
132+
o G4MicroElecSurface, G4MicroElecLOPhononModel: fixed Coverity defects.
133+
+ standard
134+
o G4BetheBlochModel, G4LindhardSorensenIonModel: restore computation of
135+
maximum energy transfer as in Geant4 version 10.4; affecting only
136+
ultra-relativistic ions. Addressing problem report #2312.
137+
+ utils
138+
o G4EmCorrections: fixed 2-D interpolation of shell corrections, which
139+
provides minor change of ranges of charge particles (< 0.1 mm).
140+
Addressing problem report #2308.
141+
o G4VEnergyLossProcess, G4VEmProcess, G4EmExtraParameters and
142+
G4EmExtraParametersMessenger: improved printout.
143+
Addressing problem report #2292.
144+
145+
o Processes - Hadronic:
146+
--------------------
147+
+ cross_sections:
148+
o Drop cache for per-element G4CrossSectionDataStore::GetCrossSection(),
149+
as never used in practice. Note that material, particle, and energy are
150+
still cached by G4CrossSectionDataStore::ComputeCrossSection(). The
151+
condition to check for the cache in that case has been optimized to
152+
minimize unnecessary checks by reordering checked conditions from most
153+
to least discriminant.
154+
o G4ParticleInelasticXS, G4CrossSectionInelastic, G4CrossSectionElastic:
155+
extended maximum energy range for ion cross-sections (QBBC and other
156+
Physics Lists has the same high energy limits).
157+
o G4ParticleInelasticXS, G4NeutronCaptureXS, G4NeutronElasticXS,
158+
G4NeutronInelasticXS: make MAXZ variable static class member.
159+
o G4GammaNuclearXS: fixed duplicated name of static variable.
160+
o G4VCrossSectionRatio: use inheritance from G4VCrossSectionDataSet
161+
in order to guarantee deletion of the object at the end of run.
162+
+ models/particle_hp
163+
o G4ParticleHPThermalScattering: added final state phi-rotation.
164+
Addressing problem reports #1856 and #2290.
165+
+ stopping
166+
o G4MuonicAtomDecay: fixed Coverity defects; removed commented code.
167+
168+
o Processes - Transportation
169+
--------------------------
170+
+ Limit reporting of number of calls to G4Transportation::AlongStepDoIt()
171+
to when either G4VERBOSE or G4DEBUG_TRANSPORT is defined, which allows to
172+
avoid using a thread local variable for a slight performance gain.
173+
174+
o Run:
175+
---
176+
+ G4PhysicsListHelper: added forgotten processes (general positron and
177+
surface reflection).
178+
179+
o Tasking:
180+
-------
181+
+ G4WorkerTaskRunManager: corrected way to count the number of events
182+
processed in a worker thread. This correction also fixes a rare crash
183+
due to accessing to the seed vector more than necessary.
184+
+ G4TaskRunManager: reduce number of events per task to evenly distribute
185+
events to all available threads.
186+
187+
o Visualization:
188+
-------------
189+
+ OpenInventor
190+
o Consolidated all the planned features of the OIQt viewer.
191+
+ Qt3D
192+
o Auxiliary edge suppression and some small improvements.
193+
194+
o Data Sets:
195+
---------
196+
+ G4PARTICLEXS-3.1.1:
197+
o Fixed data for He3 and He4 for few light targets.
198+
199+
o Examples:
200+
--------
201+
+ basic/B4:
202+
o Fixed README: updated visualization tutorial to follow smart parsing.
203+
+ extended/persistency/gdml/G01:
204+
o Fixed auxiliary.gdml sample to define proper Region tags.
205+
o Added scaledSolids.gdml sample setup.
206+
207+
----------------------------------------------------------------------------
208+
209+
Technical Notes
210+
---------------
211+
212+
o This patch should be applied on top of release 10.7.
213+
o Technical notes distributed for release 10.7 are also applicable and
214+
valid for this patch.
215+
216+
The code and rebuilt binary libraries for release 10.7.p01 are available
217+
through the Geant4 "Download" Web page.
218+
219+
Please refer to the Geant4 User Documentation for further information about
220+
using Geant4.

cmake/History

+19
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,25 @@ add this in the documentation for the changed file as [BUGFIX #BUGNUMBER].
3030

3131
----------------------------------------------------------
3232

33+
30th January 2021 - Gunter Folger (cmake-V10-06-51)
34+
- Update to patched dataset G4PARTICLEXS 3.1.1 as provided by Vladimir I.
35+
36+
22nd January 2021 - Ben Morgan (cmake-V10-06-50)
37+
- Update for GitHub PR #17: Provide same fix for MacPorts
38+
- Address Bugzilla #2303: Fail configuration if Qt is enabled with CMake < 3.9
39+
40+
15th January 2021 - Ben Morgan (cmake-V10-06-49)
41+
- Apply GitHub PR #17 from Florian Uhlig: Fix installation
42+
error with Homebrew X11/GL.
43+
44+
11th January 2021 - Ben Morgan (cmake-V10-06-48)
45+
- Apply GitHub PR #16 from andriish: Fix configure/build with
46+
system PTL 1.0.0.
47+
48+
14th December 2020 - Ben Morgan (cmake-V10-06-47)
49+
- Install/Use builtin PTL CMake scripts from PTL subdirectory
50+
alongside Geant4Config.cmake
51+
3352
20th November 2020 - Ben Morgan (cmake-V10-06-46)
3453
- Make GEANT4_USE_SYSTEM_PTL option advanced
3554

cmake/Modules/FindXQuartzGL.cmake

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
FindXQuartzGL
33
-------------
44
5-
FindModule for XQuartz implementation of OpenGL/GLU. Specific to Geant4
6-
to allow use of XQuartz only.
5+
FindModule for XQuartz/Homebrew/MacPorts implementation of OpenGL/GLU. Specific
6+
to Geant4 to allow use of XQuartz/Homebrew/MacPorts only.
77
88
Use of the module on non-macOS systems will result in a fatal error
99
@@ -49,17 +49,17 @@ set(CMAKE_FIND_FRAMEWORK_SAVE ${CMAKE_FIND_FRAMEWORK})
4949
set(CMAKE_FIND_FRAMEWORK NEVER)
5050

5151
find_path(XQuartzGL_INCLUDE_DIR GL/gl.h
52-
PATHS /usr/X11R6/include /opt/X11/include
52+
PATHS /usr/X11R6/include /opt/X11/include /usr/local/include /opt/local/include
5353
NO_DEFAULT_PATH
5454
)
5555

5656
find_library(XQuartzGL_gl_LIBRARY GL
57-
PATHS /usr/X11R6/lib /opt/X11/lib
57+
PATHS /usr/X11R6/lib /opt/X11/lib /usr/local/lib /opt/local/lib
5858
NO_DEFAULT_PATH
5959
)
6060

6161
find_library(XQuartzGL_glu_LIBRARY GLU
62-
PATHS /usr/X11R6/lib /opt/X11/lib
62+
PATHS /usr/X11R6/lib /opt/X11/lib /usr/local/lib /opt/local/lib
6363
NO_DEFAULT_PATH
6464
)
6565

cmake/Modules/G4ConfigureCMakeHelpers.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ endif()
8787
if(NOT GEANT4_USE_SYSTEM_PTL)
8888
list(APPEND GEANT4_EXTERNALS_TARGETS G4ptl)
8989
set(PTL_BUILDTREE_PREFIX "${PROJECT_BINARY_DIR}/source/externals/ptl")
90-
set(PTL_INSTALLTREE_PREFIX "\${_geant4_thisdir}/../PTL")
90+
set(PTL_INSTALLTREE_PREFIX "\${_geant4_thisdir}/PTL")
9191
endif()
9292

9393
# - USolids

cmake/Modules/G4DatasetDefinitions.cmake

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,11 @@ geant4_add_dataset(
4848
# - Particle XS - replaces Neutron XS
4949
geant4_add_dataset(
5050
NAME G4PARTICLEXS
51-
VERSION 3.1
51+
VERSION 3.1.1
5252
FILENAME G4PARTICLEXS
5353
EXTENSION tar.gz
5454
ENVVAR G4PARTICLEXSDATA
55-
MD5SUM 35a3fe5cf0a29d453e6805e2cfacacee
55+
MD5SUM 98b766fa2c447b541834cc9bf5206c05
5656
)
5757

5858
# - PII

cmake/Modules/G4InterfaceOptions.cmake

+5
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,11 @@ endif()
132132

133133
# - Qt5
134134
if(GEANT4_USE_QT)
135+
# Must have CMake > 3.8 to support automoc (Bugzilla 2303)
136+
if(CMAKE_VERSION VERSION_LESS 3.9)
137+
message(FATAL_ERROR "GEANT4_USE_QT requires CMake 3.9 or newer to support automatic MOC for UI/Vis libraries")
138+
endif()
139+
135140
find_package(Qt5Core REQUIRED)
136141
find_package(Qt5Gui REQUIRED)
137142
find_package(Qt5Widgets REQUIRED)

cmake/Modules/G4OptionalComponents.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ option(GEANT4_USE_SYSTEM_PTL "Use system zlib library" OFF)
177177
if(GEANT4_USE_SYSTEM_PTL)
178178
find_package(PTL REQUIRED)
179179
# Backward compatibility for sources.cmake using the variable
180-
set(PTL_LIBRARIES PTL::PTL)
180+
set(PTL_LIBRARIES PTL::ptl)
181181
geant4_save_package_variables(PTL PTL_DIR)
182182
else()
183183
set(PTL_USE_TBB ${GEANT4_USE_TBB})

config/History

+3
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ committal in the CVS repository !
1515
* Reverse chronological order (last date on top), please *
1616
----------------------------------------------------------
1717

18+
11th December 2020 Gabriele Cosmo (config-V10-06-08)
19+
- Updated Qt5 settings in Linux targets.
20+
1821
22nd October 2020 Gabriele Cosmo (config-V10-06-07)
1922
- Added configuration for Qt3D visualization driver.
2023

0 commit comments

Comments
 (0)