Skip to content

Commit 8276762

Browse files
committed
Import Geant4 10.0.3 source tree
1 parent 412b899 commit 8276762

File tree

257 files changed

+3758
-14780
lines changed

Some content is hidden

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

257 files changed

+3758
-14780
lines changed

CMakeLists.txt

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#
44
# 21st September 2010 Ben Morgan
55
#
6-
# $Id: CMakeLists.txt 82139 2014-06-11 10:58:09Z gcosmo $
6+
# $Id: CMakeLists.txt 84874 2014-10-22 06:41:21Z gcosmo $
77
#
88

99
#------------------------------------------------------------------------------
@@ -23,6 +23,31 @@ endif()
2323
# - Define CMake requirements and override make rules as needed
2424
#
2525
cmake_minimum_required(VERSION 2.6.4 FATAL_ERROR)
26+
27+
# If Policy CMP0022 exists, use OLD because Geant4 still needs
28+
# to support versions < 2.8.12.
29+
# This relates to LINK_INTERFACE_LIBRARIES and can be removed once
30+
# minimum required CMake version reaches 2.8.12
31+
if(POLICY CMP0022)
32+
cmake_policy(SET CMP0022 OLD)
33+
endif()
34+
35+
# If Policy CMP0038 exists, use OLD because Geant4 still needs
36+
# to support versions < 2.8.4.
37+
# This relates to LINK_INTERFACE_LIBRARIES and can be removed once
38+
# minimum required CMake version reaches 2.8.4
39+
if(POLICY CMP0038)
40+
cmake_policy(SET CMP0038 OLD)
41+
endif()
42+
43+
# If Policy CMP0043 exists, use OLD because Geant4 still needs
44+
# to support Geant4 =< 2.8.12.
45+
# This relates to the use of generator expressions to set COMPILE_DEFINITIONS
46+
# and can be removed once the minimum required CMake version reaches 2.8.10.
47+
if(POLICY CMP0043)
48+
cmake_policy(SET CMP0043 OLD)
49+
endif()
50+
2651
set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX
2752
${CMAKE_SOURCE_DIR}/cmake/Modules/Geant4MakeRules_cxx.cmake)
2853

@@ -51,10 +76,10 @@ set(CMAKE_MODULE_PATH
5176
# See the documentation in each of these modules for further details.
5277
#
5378
# - Versioning. We do this here for now
54-
set(${PROJECT_NAME}_VERSION "10.0.2")
79+
set(${PROJECT_NAME}_VERSION "10.0.3")
5580
set(${PROJECT_NAME}_VERSION_MAJOR "10")
5681
set(${PROJECT_NAME}_VERSION_MINOR "0")
57-
set(${PROJECT_NAME}_VERSION_PATCH "2")
82+
set(${PROJECT_NAME}_VERSION_PATCH "3")
5883

5984
# - Provide dependent options as these are needed for some Geant4 features
6085
include(CMakeDependentOption)

ReleaseNotes/Patch4.10.0-3.txt

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
2+
Geant4 10.0 - patch-03 Release Notes
3+
------------------------------------
4+
5+
31 October 2014
6+
7+
List of fixes included in this public patch since the public release 10.0.p02:
8+
9+
o Configuration:
10+
-------------
11+
+ CMake:
12+
o Append existing CMake CXX/EXE_LINKER flags to Geant4 flags when
13+
setting overall CMake flags. This allows users to override the base
14+
set if needed, at their own risk.
15+
Addressing problem report #1663.
16+
17+
o Analysis:
18+
--------
19+
+ Fixed applying unit to min, max values in H1, H2 managers.
20+
+ Fixed createH2/setH2 commands implementation.
21+
22+
o Geometry:
23+
--------
24+
+ management:
25+
o Fixed possible data-race condition among threads in G4GeomSplitter.
26+
+ navigation:
27+
o Fix in G4MultiNavigator to properly set 'fIdNavLimiting' index to
28+
navigator limiting the step, if only one navigator limits the step.
29+
o Removed unnecessary thread_local data specifications in
30+
G4ReplicaNavigation.
31+
+ solids/Boolean:
32+
o Fixed use of polyhedron pointer, to avoid race condition in MT
33+
when parameterised volumes are visualised.
34+
+ solids/CSG:
35+
o G4Cons: fixed typo error in GetPointOnSurface() in the call
36+
to GetRadiusInRing(). Responsible for occasionally wrong reports
37+
when checking for overlaps.
38+
o G4Cons: fix in DistanceToIn(p,v) for points on the Surface, to resolve
39+
error reported in unit testing by the OpticalEscape test.
40+
o Fixed use of polyhedron pointer, to avoid race condition in MT
41+
when parameterised volumes are visualised.
42+
+ solids/specific:
43+
o Fixed use of polyhedron pointer, to avoid race condition in MT
44+
when parameterised volumes are visualised.
45+
+ solids/usolids:
46+
o UCons: fixed typo error in GetPointOnSurface() in the call
47+
to GetRadiusInRing(). Responsible for occasionally wrong reports
48+
when checking for overlaps.
49+
Fix in DistanceToIn(p,v) for points on the Surface, to resolve
50+
error reported in unit testing by the OpticalEscape test.
51+
o USphere: fixed typo in SafetyFromInside().
52+
o Minor fix in UVector2 for variable shadowing.
53+
+ volumes:
54+
o Corrected possible MT data race in G4PVReplica::InitialiseWorker().
55+
56+
o Global:
57+
------
58+
+ Added symbol to exclusion list in windefs.h.
59+
+ Use G4Exp, G4Log and G4Pow to speedup G4JTPolynomialSolver.
60+
+ Updated date and version for 10.0.p03.
61+
62+
o Graphics Representations:
63+
------------------------
64+
+ HepPolyhedron::SetReferences(): added protection against a null pointer.
65+
+ BooleanProcessor::execute(): corrected spelling mistake in message.
66+
67+
o Particles:
68+
---------
69+
+ G4ElectronOccupancy: added G4Exception to protect against unphysical
70+
orbits.
71+
+ G4NuclideTable : Fix missing Cl35 ground state in NuclideTable2 and
72+
missing "*std::log(2.0)" in some comparison of threshold time.
73+
+ G4IonTable: fill decay channels when an ion is created on the fly to
74+
avoid race condition issue in multi-threaded mode.
75+
Addressing problem report #1651.
76+
+ Fix for possible race condition among threads in G4PDefSplitter.
77+
78+
o Physics Lists:
79+
-------------
80+
+ constructors/limiters:
81+
o Fixed possible data-race condition among threads in
82+
G4NeutronTrackingCut when calling G4MTcout (defect spotted with DRD).
83+
o G4NeutronTrackingCut: register G4NeutronKiller in
84+
G4HadronicProcessStore; improved log and process deleted at exit.
85+
o G4StepLimiterPhysics: fixed minor memory leak reported by Coverity.
86+
87+
o Processes - Electromagnetic :
88+
---------------------------
89+
+ High Energy:
90+
o Verified and updated positron annihilation models (G4Vee2hadrons,
91+
G4ee2KChargedModel, G4ee2KNeutralModel, G4eeTo3PiModel,
92+
G4eeToHadronsMultiModel, G4eeToPGammaModel, G4eeToTwoPiModel,
93+
G4eeToHadronsModel) and process G4eeToHadrons.
94+
This includes addition of extra inline methods to convert from Lab
95+
to CM, to initialise models with more correct thresholds.
96+
o G4eeTo3PiModel: fixed sampling algorithm.
97+
+ Low Energy:
98+
o Fixed cases of energy violation in G4LivermoreComptonModel and
99+
atomic de-excitation. Addressing problem report #1612.
100+
+ Standard:
101+
o G4PAIxSection: added protection to avoid division by zero.
102+
Addressing problem report #1677.
103+
104+
o Processes - Hadronic:
105+
--------------------
106+
+ models/de_excitation:
107+
o Converted G4FermiFragmentsPool to be a G4ThreadLocalSingleton, to fix
108+
cases of data race due to lazy initialisation. Effects: sligthly
109+
increase of memory per thread; no effects in physics.
110+
+ models/im_r_matrix:
111+
o Fixed out of bound error in G4DetailedBalancePhaseSpaceIntegral,
112+
reported by Coverity.
113+
+ models/inclxx:
114+
o Fix a bug in Coulomb deflection for negative incident particles.
115+
o Fix: avoid negative Fermi energies for delta resonances.
116+
+ models/pre_equilibrium:
117+
o G4PreCompoundAlpha: fixed integer overflow.
118+
Addressing problem report #1646.
119+
+ models/quasi_elastic:
120+
o Removed potential data-race condition among threads.
121+
Addressing problem report #1652.
122+
+ models/radioactive_decay:
123+
o Fixed memory leak in destructor of G4RIsotopeTable.
124+
Addressing problem report #1617.
125+
126+
o Run:
127+
-------
128+
+ Fixed data-race condition among threads when creating RNG for workers.
129+
+ Fixed '/random/setSeeds' command not working properly.
130+
Addressing problem report #1657.
131+
+ Fixed potential race condition among threads in G4VUPLSplitter class.
132+
+ G4PhysicsListHelper: minor fix in the default list of processes:
133+
positron annihilation in muons and hadrons cannot be AtRest; these are
134+
rare high energy discrete processes. Equivalent fix done for
135+
OrderingParameterTable().
136+
Addressiong problem report #1598.
137+
+ Clear root logical volume pointers in G4Region when geometry is
138+
rebuilt from scratch. Addressing problem report #1665.
139+
+ G4MTRunManager: make sure G4RunManager::TerminateEventLoop() is
140+
invoked at the end of run.
141+
+ Addressing possible data-race in G4RunManagerKernel::SetupPhysics()
142+
when calling G4ParticleTable::SetReadiness().
143+
144+
o Visualization:
145+
-------------
146+
+ gMocren:
147+
o Fixed memory leak in G4GMocrenFile. Addressing problem report #1585.
148+
149+
150+
o Examples:
151+
--------
152+
+ Updated reference outputs.
153+
+ extended/runAndEvent/RE05:
154+
o Reduced amount of print-out.
155+
+ extended/runAndEvent/RE06:
156+
o Added Boolean protection in ConstructSD methods for MT.
157+
158+
159+
----------------------------------------------------------------------------
160+
161+
Technical Notes
162+
---------------
163+
164+
o This patch should be applied on top of release 10.0, 10.0.p01 or 10.0.p02.
165+
o Technical notes distributed for release 10.0 are also applicable and
166+
valid for this patch.
167+
168+
The code and rebuilt binary libraries for release 10.0.p03 are available
169+
through our "Download" Web page:
170+
http://cern.ch/geant4/support/download.shtml
171+
172+
Please refer to the Geant4 User Documentation:
173+
http://cern.ch/geant4/support/userdocuments.shtml
174+
for further information about using Geant4.

cmake/History

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ add this in the documentation for the changed file as [BUGFIX #BUGNUMBER].
3131

3232
----------------------------------------------------------
3333

34+
08th October 2014 - Ben Morgan (cmake-V09-06-50)
35+
- Templates/UseGeant4.cmake : BUGFIX #1663, Append existing CMake
36+
CXX/EXE_LINKER flags to Geant4 flags when setting overall CMake flags.
37+
This allows users to override the base set if needed, at their own
38+
risk.
39+
3440
06th June 2014 - Ben Morgan (cmake-V09-06-49)
3541
- Templates/geant4-config.in : Add zlib and g3tog4 to list of features
3642
that --has-feature recognizes and can query (Patch from Ivana

cmake/Templates/UseGeant4.cmake

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,23 @@
77
# Geant4 installation.
88
#
99
# Inclusion of this file, e.g. via
10-
#
10+
#
1111
# include(${Geant4_USE_FILE})
1212
#
13-
# results in the addition of the Geant4 compile definitions and
14-
# include directories to those of the directory in which this file is
13+
# results in the addition of the Geant4 compile definitions and
14+
# include directories to those of the directory in which this file is
1515
# included.
1616
#
17-
# The recommended Geant4 compiler flags are also added to CMAKE_CXX_FLAGS
18-
# but duplicated flags are NOT removed.
17+
# The recommended Geant4 compiler flags are also prepended to
18+
# CMAKE_CXX_FLAGS but duplicated flags are NOT removed. This permits
19+
# client of UseGeant4 to override Geant4's recommended flags if required
20+
# and at their own risk.
1921
#
20-
# Advanced users requiring special sets of flags, or the removal of
21-
# duplicate flags should therefore *not* use this file, preferring the
22+
# Advanced users requiring special sets of flags, or the removal of
23+
# duplicate flags should therefore *not* use this file, preferring the
2224
# direct use of the Geant4_XXXX variables set by the Geant4Config file.
2325
#
24-
# The last thing the module does is to optionally include an internal Use
26+
# The last thing the module does is to optionally include an internal Use
2527
# file. This file can contain variables, functions and macros for strict
2628
# internal use in Geant4, such as building and running validation tests.
2729
#
@@ -33,16 +35,18 @@ add_definitions(${Geant4_DEFINITIONS})
3335
include_directories(${Geant4_INCLUDE_DIRS})
3436

3537
#-----------------------------------------------------------------------
36-
# Because Geant4 is sensitive to the compiler flags, let's set the base
37-
# set here. This reproduces as far as possible the behaviour of the
38-
# original makefile system.
39-
#
40-
set(CMAKE_CXX_FLAGS "${Geant4_CXX_FLAGS}")
41-
set(CMAKE_CXX_FLAGS_DEBUG "${Geant4_CXX_FLAGS_DEBUG}")
42-
set(CMAKE_CXX_FLAGS_MINSIZEREL "${Geant4_CXX_FLAGS_MINSIZEREL}")
43-
set(CMAKE_CXX_FLAGS_RELEASE "${Geant4_CXX_FLAGS_RELEASE}")
44-
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${Geant4_CXX_FLAGS_RELWITHDEBINFO}")
45-
set(CMAKE_EXE_LINKER_FLAGS "${Geant4_EXE_LINKER_FLAGS}")
38+
# Because Geant4 is sensitive to the compiler flags, let's set the base
39+
# set here. This reproduces as far as possible the behaviour of the
40+
# original makefile system. However, we append any existing CMake flags in
41+
# case the user wishes to override these (at their own risk).
42+
# Though this may lead to duplication, that should not affect behaviour.
43+
#
44+
set(CMAKE_CXX_FLAGS "${Geant4_CXX_FLAGS} ${CMAKE_CXX_FLAGS}")
45+
set(CMAKE_CXX_FLAGS_DEBUG "${Geant4_CXX_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_DEBUG}")
46+
set(CMAKE_CXX_FLAGS_MINSIZEREL "${Geant4_CXX_FLAGS_MINSIZEREL} ${CMAKE_CXX_FLAGS_MINSIZEREL}")
47+
set(CMAKE_CXX_FLAGS_RELEASE "${Geant4_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_RELEASE}")
48+
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${Geant4_CXX_FLAGS_RELWITHDEBINFO} ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
49+
set(CMAKE_EXE_LINKER_FLAGS "${Geant4_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
4650

4751
#-----------------------------------------------------------------------
4852
# Locate ourselves

examples/advanced/amsEcal/run1.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
############################################
55

66
*************************************************************
7-
Geant4 version Name: geant4-10-00-patch-02 (13-June-2014)
7+
Geant4 version Name: geant4-10-00-patch-03 (31-October-2014)
88
Copyright : Geant4 Collaboration
99
Reference : NIM A 506 (2003), 250-303
1010
WWW : http://cern.ch/geant4
@@ -189,7 +189,7 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
189189
Run terminated.
190190
Run Summary
191191
Number of events processed : 10000
192-
User=27.3s Real=65.83s Sys=0.6s
192+
User=23.83s Real=25.14s Sys=0.51s
193193

194194
-------------------------------------------------------------
195195
---> The calorimeter is 9 Modules

examples/advanced/dnaphysics/dna.out

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
############################################
55

66
*************************************************************
7-
Geant4 version Name: geant4-10-00-patch-02 (13-June-2014)
7+
Geant4 version Name: geant4-10-00-patch-03 (31-October-2014)
88
Copyright : Geant4 Collaboration
99
Reference : NIM A 506 (2003), 250-303
1010
WWW : http://cern.ch/geant4
@@ -216,13 +216,13 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics
216216
Total memory consumed for geometry optimisation: 0 kByte
217217
Total CPU time elapsed for geometry optimisation: 0 seconds
218218
### Run 0 starts.
219-
##### Create analysis manager 0x89de90
219+
##### Create analysis manager 0xbc7eb0
220220
Using Root analysis manager
221221
... open Root analysis file : dna.root - done
222222
Run terminated.
223223
Run Summary
224224
Number of events processed : 100
225-
User=13.71s Real=34.65s Sys=0.13s
225+
User=12.89s Real=14.2s Sys=0.12s
226226
... write Root file : dna.root - done
227227
... close Root file : dna.root - done
228228
Graphics systems deleted.

0 commit comments

Comments
 (0)