Skip to content

Commit cb38379

Browse files
committed
Import Geant4 10.4.1 source tree
1 parent fc6af9e commit cb38379

File tree

341 files changed

+18369
-24502
lines changed

Some content is hidden

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

341 files changed

+18369
-24502
lines changed

CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#
44
# 21st September 2010 Ben Morgan
55
#
6-
# $Id: CMakeLists.txt 104643 2017-06-08 14:43:49Z gcosmo $
6+
# $Id: CMakeLists.txt 108564 2018-02-16 10:19:00Z gcosmo $
77
#
88

99
#-----------------------------------------------------------------------
@@ -38,7 +38,7 @@ set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX
3838
project(Geant4)
3939
set(${PROJECT_NAME}_VERSION_MAJOR 10)
4040
set(${PROJECT_NAME}_VERSION_MINOR 4)
41-
set(${PROJECT_NAME}_VERSION_PATCH 0)
41+
set(${PROJECT_NAME}_VERSION_PATCH 1)
4242
set(${PROJECT_NAME}_VERSION "${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH}")
4343

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

ReleaseNotes/Patch4.10.4-1.txt

+237
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,237 @@
1+
2+
Geant4 10.4 - patch-01 Release Notes
3+
------------------------------------
4+
5+
28 February 2018
6+
7+
List of fixes included in this public patch since the public release 10.4:
8+
9+
o Configuration:
10+
-------------
11+
+ CMake:
12+
o Added c++17 to C++ standards against which Geant4 can be compiled,
13+
as experimental build. Will require a minimum CMake version 3.8 to
14+
enable, but this is not checked.
15+
o Updated URL for downloads to use dedicated server alias.
16+
+ GNUMake:
17+
o Disabled obsolete linker flag for static libraries in Darwing-clang.gmk.
18+
19+
o Analysis:
20+
--------
21+
+ Fixed self-consistency in headers (missing #include) in
22+
G4BaseAnalysisManager and G4PlotManager.
23+
24+
o Digits-Hits:
25+
-----------
26+
+ G4ScoringMessenger, G4ScoreQuantityMessenger: UI command returns an error
27+
message if a command is refused due to incorrect parameter(s).
28+
29+
o Error Propagation:
30+
-----------------
31+
+ Fixed self-consistency in headers (missing #include) in G4ErrorMatrix,
32+
G4ErrorRunManagerHelper and G4ErrorSymMatrix.
33+
34+
o Event:
35+
-----
36+
+ G4GeneralParticleSourceMessenger, G4ParticleGunMessenger: UI command
37+
returns an error message if a command is refused due to incorrect
38+
parameter(s).
39+
+ Added deprecation warning for '/gun/ionL' UI command.
40+
+ Fixed self-consistency in G4SPSRandomGenerator header (missing #include).
41+
42+
o Externals:
43+
---------
44+
+ CLHEP: in MixMaxRng::modadd(), fixed guard for assembly code to protect
45+
builds on 32-bit systems.
46+
47+
o Geometry:
48+
--------
49+
+ management:
50+
o Fixed self-consistency in G4VVolumeMaterialScanner header (missing
51+
#include).
52+
+ navigation:
53+
o Fix for momentum value in G4PathFinder::SetChargeMomentumMass();
54+
where magnitude square was passed instead of magnitude.
55+
Addressing problem report #2037.
56+
+ solids/CSG:
57+
o Fixed typo in G4Trd::GetPointOnSurface() for the area settings.
58+
o Correction in G4UPara wrapper in ComputeDimensions() to add explicit
59+
cast for the solid type to parameterise.
60+
+ solids/specific:
61+
o Added missing initialisation of two data-members in copy-ctor and
62+
assignment operator of G4ExtrudedSolid. Addressing problem report #2016.
63+
Removed redundant data initialistion in G4ExtrudedSolid constructors.
64+
65+
o Global:
66+
------
67+
+ G4MTcoutDestination blocks G4cout from worker threads while application
68+
is in G4State_Init instead of G4State_Idle.
69+
+ Added SetVerbosity() method in G4StateManager and notify state change.
70+
+ Fixed self-consistency in G4ReferenceCountedHandle header (missing
71+
#include). Added missing #ifdef guard in G4CacheDetails header; code
72+
formatting.
73+
+ Updated date and version for 10.4.p01.
74+
75+
o Intercoms:
76+
---------
77+
+ G4UIcommand, G4UImanager: additional implementation for adding a
78+
mechanism of carrying back error message from the messenger if a command
79+
is rejected due to the target class or the messenger.
80+
81+
o Interfaces:
82+
----------
83+
+ G4UIQt: fix to remove parameters from popup in Qt interface when
84+
autocompleting command line. Take into account of '\n' character for
85+
command guidance in help tree.
86+
87+
o Materials:
88+
---------
89+
+ Re-enable user-defined material properties in G4MaterialPropertiesTable
90+
and G4MaterialPropertiesIndex. Addressing problem report #2030.
91+
+ G4OpticalSurface: moved static methods to source.
92+
+ Fixed self-consistency in headers (missing #include) in G4ElementTable
93+
and G4MaterialTable.
94+
95+
o Parameterisations - gflash
96+
--------------------------
97+
+ Fixed self-consistency in GVFlashHomoShowerTuning header (missing
98+
#include).
99+
100+
o Persistency - gdml
101+
------------------
102+
+ Updates to G4GDMLWriteSolids and G4GDMLWriteMaterials for changes in
103+
G4Material[Const]PropertiesTable for addressing problem report #2030.
104+
+ Fixed self-consistency in G4GDMLAuxStructType header (missing #include).
105+
106+
o Processes - Electromagnetic:
107+
---------------------------
108+
+ dna:
109+
o G4DNAMolecularMaterial: allow GetDensityTableFor() and
110+
GetNumMolPerVolTableFor() methods to be accepted at G4State_Init
111+
rather than G4State_Idle.
112+
o Fixed self-consistency in headers (missing #include) in G4IosFlagsSaver,
113+
G4KDNode, G4MoleculeIterator and G4LEPTSDiffXS. Fixed spurious
114+
definition of G4IT namespace in G4ITMultiNavigator header.
115+
+ lowenergy:
116+
o Fixed self-consistency in G4ecpssrFormFactorMixsModel header
117+
(missing #include).
118+
+ polarisation:
119+
o G4StokesVector: moved static inline method to the source.
120+
+ standard:
121+
o G4PairProductionRelModel: fixed misuse of G4Pow (A13(..) should be used
122+
instead of Z13(..)); added initialisation of an element cache before
123+
sampling of final state. Partially addressing problem report #2017.
124+
+ utils:
125+
o G4EmParametersMessenger: use G4Exception for warnings instead of G4cout,
126+
review G4State for UI commands and signal the RunManager about
127+
modification of physics if a command is issued in Idle state.
128+
o G4EmParameters, G4VEmProcess, G4VEnergyLossProcess: define the same
129+
default values for few internal members.
130+
o G4EmParameters, G4EmParametersMessenger: fixed printout format and
131+
added lock and protection in commands defining physics per region.
132+
+ xrays:
133+
o G4VXTRenergyLoss: extended XTR angle limit up to 250/gamma,
134+
on ATLAS request.
135+
o Moved few static and virtual methods from inline to source.
136+
Code cleanup.
137+
o Fixed self-consistency in G4VTRModel header (missing #include).
138+
139+
o Processes - Generic:
140+
-------------------
141+
+ biasing:
142+
o G4ImportanceConfigurator: introduced mutex to protect instantiation
143+
of the biasing process against a thread-race in MT mode and clearing
144+
data in destructor. Addressing problem report #1945.
145+
+ management:
146+
o G4ProcessManager: added method GetProcess(name) to return a pointer to
147+
a process from its name.
148+
o The following UI commands are now forbidden for 'G4State_GeomClosed' or
149+
'G4State_EventProc' application states:
150+
- /process/activate
151+
- /process/inactivate
152+
- /particle/process/activate
153+
- /particle/process/inactivate
154+
o G4ProcessManagerMessenger, G4ProcessTableMessenger: UI command returns
155+
an error message if a command is refused due to incorrect parameter(s).
156+
+ parameterisation:
157+
o Fixed self-consistency in G4FastSimulationVector heade
158+
(missing #include).
159+
160+
o Processes - Hadronic:
161+
--------------------
162+
+ models/cascade:
163+
o G4NucleiModel: replaced use of obsolete std::bind2nd with std::bind.
164+
+ models/de_excitation:
165+
o Fixed self-consistency in G4ChatterjeeCrossSection header (missing
166+
#include). Fixed #ifdef guard in G4StatMFMacroBiNucleon header.
167+
+ models/fission:
168+
o Fixed self-consistency in G4LLNLFission header (missing #include).
169+
Added missing #ifdef guards in G4fissionEvent header.
170+
+ models/im_r_matrix:
171+
o Fixed self-consistency in headers (missing #include) in
172+
G4CrossSectionBuffer, G4DeltaNstarBuilder and G4NNstarBuilder.
173+
+ models/particle_hp:
174+
o Fixed self-consistency in headers (missing #include) in
175+
G4FFGEnumerations, G4FPYNubarValues, G4ParticleHPAngularP and
176+
G4ParticleHPHash.
177+
+ models/parton_string/management:
178+
o Fixed self-consistency in G4VertexCode header (missing #include).
179+
+ models/parton_string/qgsm:
180+
o Fixed self-consistency in G4SPPartonInfo header (missing #include).
181+
+ models/radioactive_decay:
182+
o G4RadioactiveDecay, G4RadioactiveDecayBase: added check that
183+
environment variable G4RADIOACTIVEDATA is pointing to correct
184+
directory. Moved check from G4RadioactiveDecay::LoadDecayTable()
185+
to constructor. Addresses problem report #1942.
186+
+ util:
187+
o G4StableIsotopes: moved static member function definitions to
188+
source file.
189+
o Fixed self-consistency in headers (missing #include) in DumpFrame,
190+
G4GHEKinematicsVector and G4ping.
191+
192+
o Run:
193+
---
194+
+ G4RunManagerKernel: application state is set to G4State_Init while
195+
application is in RunInitialization().
196+
Updated banners by adding last two general papers.
197+
+ Fixed self-consistency in G4FastSimulationVector header
198+
(missing #include).
199+
200+
o Visualization:
201+
-------------
202+
+ modeling:
203+
o Fixed self-consistency in G4AttValueFilterT header (missing #include).
204+
+ OpenGL:
205+
o G4OpenGLStoredSceneHandler: removed call to glDrawBuffer(GL_FRONT),
206+
which seems to cause problems for the case of display list memory
207+
being exceeded.
208+
209+
o Examples:
210+
--------
211+
+ basic/B5:
212+
o Added missing filling of row n-tuple in EventAction.
213+
+ extended/hadronic/Hadr04:
214+
o NeutronHPphysics: use pManager->GetProcess(processName).
215+
+ extended/medical/electronScattering2:
216+
o Removed unused instantiation of G4ScoringManager.
217+
+ extended/physicslists/extensibleFactory:
218+
+ extended/physicslists/factory:
219+
+ extended/physicslists/genericPL:
220+
o Corrected GNUmake script.
221+
+ extended/physicslists/shared:
222+
o Corrected copy script.
223+
224+
----------------------------------------------------------------------------
225+
226+
Technical Notes
227+
---------------
228+
229+
o This patch should be applied on top of release 10.4.
230+
o Technical notes distributed for release 10.4 are also applicable and
231+
valid for this patch.
232+
233+
The code and rebuilt binary libraries for release 10.4.p01 are available
234+
through our "Download" Web page.
235+
236+
Please refer to the Geant4 User Documentation for further information about
237+
using Geant4.

ReleaseNotes/ReleaseNotes4.10.4.html

+1
Original file line numberDiff line numberDiff line change
@@ -1031,6 +1031,7 @@ <H3><I>Hadronic Processes</I></H3></A>
10311031
in Clean(), added exception to prevent deletion of G4RadioactiveDecay
10321032
already deleted somewhere else.</LI>
10331033
<LI>Added fMuAtomicCapture in G4HadronicProcessType.</LI>
1034+
</UL></LI>
10341035
<LI><B>Stopping</B>
10351036
<UL>
10361037
<LI>Define G4MuonMinusAtomicCapture as a process at rest.

cmake/History

+18
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,24 @@ add this in the documentation for the changed file as [BUGFIX #BUGNUMBER].
3131

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

34+
26th February 2018 - Ben Morgan (cmake-V10-03-53, 52)
35+
- Geant4InstallData.cmake, Geant4CTest.cmake: Update URL for downloads
36+
to "cern.ch/geant4-data" as the correct alias to new EOS area, seperate
37+
from main website. Superceeds cmake-V10-03-51.
38+
39+
26th February 2018 - Ben Morgan (cmake-V10-03-51)
40+
- Geant4InstallData.cmake, Geant4CTest.cmake: Update URL for downloads
41+
to "cern.ch/geant4" as the correct alias.
42+
43+
26th February 2018 - Ben Morgan (cmake-V10-03-50)
44+
- G4BuildSettings.cmake: Add 17/c++17 to C++ standards against which
45+
Geant4 can be compiled. Will require a minimum CMake version of
46+
3.8 to enable, but this is not checked.
47+
48+
8th December 2017 - Ben Morgan
49+
- Templates/UseGeant4_internal.cmake: When running test driver directly,
50+
make it run in WORKING_DIRECTORY if this is supplied.
51+
3452
30th November 2017 - Gabriele Cosmo (cmake-V10-03-49)
3553
- Replaced USolids specific flags with VecGeom in Geant4OptionalComponents.cmake.
3654
From now on VecGeomConfig.cmake will be required and used instead of

cmake/Modules/G4BuildSettings.cmake

+3-3
Original file line numberDiff line numberDiff line change
@@ -143,13 +143,13 @@ endif() #NOT WIN32
143143
#
144144

145145
#.rst
146-
# - ``GEANT4_BUILD_CXXSTD`` (Allowed values: 11, 14, c++11, c++14)
146+
# - ``GEANT4_BUILD_CXXSTD`` (Allowed values: 11, 14, 17, c++11, c++14, c++17)
147147
#
148148
# - Choose C++ Standard to build against from supported list.
149149
#
150150
enum_option(GEANT4_BUILD_CXXSTD
151151
DOC "C++ Standard to compile against"
152-
VALUES 11 14 c++11 c++14
152+
VALUES 11 14 17 c++11 c++14 c++17
153153
CASE_INSENSITIVE
154154
)
155155

@@ -189,7 +189,7 @@ if(GEANT4_BUILD_CXXSTD GREATER 11)
189189
if(CMAKE_CXX${GEANT4_BUILD_CXXSTD}_COMPILE_FEATURES)
190190
list(APPEND GEANT4_TARGET_COMPILE_FEATURES ${CMAKE_CXX${GEANT4_BUILD_CXXSTD}_COMPILE_FEATURES})
191191
else()
192-
message(FATAL_ERROR "Geant4 requested to be compiled against C++ standard '${GEANT4_BUILD_CXXSTD}'\nbut detected compiler '${CMAKE_CXX_COMPILER_ID}', version '${CMAKE_CXX_COMPILER_VERSION}'\ndoes not support any features of that standard")
192+
message(FATAL_ERROR "Geant4 requested to be compiled against C++ standard '${GEANT4_BUILD_CXXSTD}'\nbut detected compiler '${CMAKE_CXX_COMPILER_ID}', version '${CMAKE_CXX_COMPILER_VERSION}'\ndoes not support, or CMake (${CMAKE_VERSION}) is not aware of, any features of that standard.")
193193
endif()
194194
endif()
195195

cmake/Modules/Geant4CTest.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ if(GEANT4_ENABLE_TESTING)
3333
endforeach()
3434

3535
# - Add base URL for test reference files
36-
set (GEANT4_TEST_REFERENCES_URL "http://geant4.cern.ch/stt/references/" CACHE
36+
set (GEANT4_TEST_REFERENCES_URL "http://cern.ch/geant4-data/stt/references/" CACHE
3737
STRING "base URL for test reference files")
3838
mark_as_advanced(GEANT4_TEST_REFERENCES_URL)
3939

cmake/Modules/Geant4InstallData.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
# retrieving them globally
100100
#-----------------------------------------------------------------------
101101
# Geant4 Data Repository
102-
set(GEANT4_DATASETS_URL "http://geant4.cern.ch/support/source")
102+
set(GEANT4_DATASETS_URL "http://cern.ch/geant4-data/datasets")
103103

104104
# Where to install data in the build tree
105105
set(GEANT4_BUILD_FULL_DATADIR ${PROJECT_BINARY_DIR}/data)

cmake/Templates/UseGeant4_internal.cmake

+6
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,12 @@ function(geant4_add_test test)
223223
if(ARG_FAILREGEX)
224224
set_property(TEST ${test} PROPERTY FAIL_REGULAR_EXPRESSION ${ARG_FAILREGEX})
225225
endif()
226+
227+
# If WORKING_DIRECTORY supplied, make sure testdriver is run in
228+
# that directory.
229+
if(ARG_WORKING_DIRECTORY)
230+
set_property(TEST ${test} PROPERTY WORKING_DIRECTORY "${ARG_WORKING_DIRECTORY}")
231+
endif()
226232
endif()
227233

228234
#- Handle TIMOUT and DEPENDS arguments

config/History

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
svn log $Id: History 107491 2017-11-16 09:38:59Z gcosmo $
1+
svn log $Id: History 108466 2018-02-15 13:48:04Z gcosmo $
22
-------------------------------------------------------------------
33

44
=========================================================
@@ -16,6 +16,10 @@ committal in the CVS repository !
1616
* Reverse chronological order (last date on top), please *
1717
----------------------------------------------------------
1818

19+
14th February 2018 Gabriele Cosmo (config-V10-03-08)
20+
- Disable "-Wl,-force_load" global linker flag for static libraries in macro
21+
Darwing-clang.gmk.
22+
1923
16th November 2017 Gabriele Cosmo (config-V10-03-07)
2024
- architecture.gmk: removed references to old USolids library; just use VecGeom.
2125

config/sys/Darwin-clang.gmk

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ ifeq ($(G4SYSTEM),Darwin-clang)
5353
CCFLAGS += -fPIC
5454
endif
5555
G4RUNPATHOPTION := -Wl,-rpath
56-
G4STATIC_MODE += -Wl,-force_load
56+
# G4STATIC_MODE += -Wl,-force_load
5757
FC := gfortran
5858
FCFLAGS += -fno-automatic -fno-backslash -fno-second-underscore
5959
LDFLAGS += -bind_at_load

0 commit comments

Comments
 (0)