Skip to content

Commit 2c587f9

Browse files
committed
Import Geant4 10.1.2 source tree
1 parent 20a4633 commit 2c587f9

File tree

368 files changed

+39276
-46248
lines changed

Some content is hidden

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

368 files changed

+39276
-46248
lines changed

CMakeLists.txt

Lines changed: 3 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 89062 2015-03-18 10:10:02Z gcosmo $
6+
# $Id: CMakeLists.txt 90844 2015-06-10 10:03:56Z gcosmo $
77
#
88

99
#------------------------------------------------------------------------------
@@ -72,10 +72,10 @@ set(CMAKE_MODULE_PATH
7272
# See the documentation in each of these modules for further details.
7373
#
7474
# - Versioning. We do this here for now
75-
set(${PROJECT_NAME}_VERSION "10.1.1")
75+
set(${PROJECT_NAME}_VERSION "10.1.2")
7676
set(${PROJECT_NAME}_VERSION_MAJOR "10")
7777
set(${PROJECT_NAME}_VERSION_MINOR "1")
78-
set(${PROJECT_NAME}_VERSION_PATCH "1")
78+
set(${PROJECT_NAME}_VERSION_PATCH "2")
7979

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

ReleaseNotes/Patch4.10.1-2.txt

Lines changed: 273 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,273 @@
1+
2+
Geant4 10.1 - patch-02 Release Notes
3+
------------------------------------
4+
5+
19 June 2015
6+
7+
List of fixes included in this public patch since the public release 10.1.p01:
8+
9+
o Configuration:
10+
-------------
11+
+ CMake:
12+
o Added extensions to allow use of system CLHEP granular libraries.
13+
Provide new advanced option GEANT4_USE_SYSTEM_CLHEP_GRANULAR, which can
14+
be set to enable use of CLHEP granular libraries from the system; when
15+
activated, use new FindCLHEP interface to search for Geant4's required
16+
Export and document a new variable "Geant4_system_clhep_ISGRANULAR" that
17+
clients can query to check whether the system CLHEP was linked in granular
18+
mode. Support CLHEP granular library listing in '--libs' argument.
19+
Added CLHEP_ROOT_DIR to CMake cache, allowing it to be edited in the
20+
CMake curses/GUI.
21+
o Updated AppleClang version regex to properly parse LLVM version
22+
number in Xcode 6.3.
23+
o Corrected Qt5 settings for test applications.
24+
o Added '-no-gcc' compilation option for Intel-icc compiler.
25+
+ GNUMake:
26+
o Updated CPPFLAGS for Linux-icc and WIN32-g++ configurations.
27+
28+
o Analysis:
29+
--------
30+
+ Updated to g4tools 1.17.2: changes for Windows (MinGW) to use '_MSC_VER'
31+
in place of 'WIN32' flag. Addressing problem report #1721.
32+
33+
o Event:
34+
-----
35+
+ Increased level of verbosity of /gps/verbose command.
36+
/gps/verbose now acts globally on all sources in case of multiple ones
37+
(no need to activate verbosity for each source).
38+
Protecting the command /gps/source/set in case of out-of-bound index.
39+
Addressing problem report #1744.
40+
+ Clean up code and removed not needed thread-local data that
41+
need to be shared for UI commands to work properly.
42+
+ Fixes for Coverity defects.
43+
44+
o Externals:
45+
---------
46+
+ CLHEP:
47+
o Fixed usage of std::abs() in RandGaussZiggurat.
48+
o Moved static methods handling static data in G4RandGauss from inline
49+
to source. Addressing problem report #1754.
50+
o Switch off warnings for deprecated calls to auto_ptr in Utility headers.
51+
+ USolids:
52+
o Corrected string returned as type-ID by GetEntityType() to conform
53+
to shape kind in: UExtrudedSolid, UMultiUnion, UQuadrangularFacet,
54+
UTessellatedSolid, UTrap, UTriangularFacet and UVCSGfaceted.
55+
o Replaced Exception IDs in UUtils to avoid clashes with wild global
56+
extern functions in Root.
57+
o UVector3: made data private and defined accessors x(), y() and z().
58+
Made implementations operators +(), -(), *(), and /() inline.
59+
Adapted all classes to the change.
60+
o Fixed DistanceToOut(p) and Inside(p) in USphere for sphere cut in theta
61+
for point (0,0,0) and for cases when Start/End angle have not to be taken
62+
in account (STheta==0 || eTheta==pi).
63+
o Added method GetPointOnEdge() to UBox.
64+
o Fixed Coverity defect for unused variable quantity in UCons.
65+
o Some code cleanup and minor fixes...
66+
67+
o Geometry:
68+
--------
69+
+ divisions:
70+
o G4VDivisionParameterisation: avoid creation/deletion of rotation matrix
71+
for ChangeRotMatrix(). Addressing problem report #1743.
72+
o Fixed Coverity defect in G4ReplicatedSlice for uninitialised pointer.
73+
+ management:
74+
o Added streaming operator <<() to G4AffineTransform.
75+
o Removed unused data-member in G4LogicalVolume, and fixed minor
76+
Coverity defect for unitialised member 'fBiasWeight' in constructor.
77+
o G4USolid: use accessors x(), y() and z() from UVector3, instead of
78+
directly accessing its data-members.
79+
Use scoped enum for EnumSide if c++11 enabled.
80+
+ navigation:
81+
o Enabled ComputeStep() in navigation helper classes (Normal, Voxel,
82+
and Parameterised) to recognise invalid points outside the mother
83+
volume. Before it was not recognised, but used instead as a numeric
84+
value (kInfinity). In case it was kInfinity, this meant the volume
85+
could not be chosen, and the track never exited the volume. This
86+
invalid response now triggers an immediate exit from the volume
87+
and daughters do not need to be considered.
88+
Use return value of motherSolid DistanceToOut(p,v), each time
89+
that it is called. Correct 'invalid' answer ('kInfinity' or
90+
negative) to zero.
91+
o Improvements in G4PropagatorInField to enable identification of first
92+
and last step in a volume, when tracking in a field.
93+
Addressing old problem report #1032.
94+
Added new methods to report looping and stuck tracks and correction
95+
for roundoff issue.
96+
o NavigationLogger: added method for Reporting a point is outside the
97+
mother volume: CheckAndReportBadNormal(), CheckDaughterEntryPoint().
98+
o G4AuxiliaryNavigationServices: optimised to reuse dot product, rather
99+
than recomputing; added optional printout (protected by debug flag).
100+
o G4VIntersectionLocator: added PrintStatus() method with additional
101+
ostringstream argument.
102+
o Code cleanup and various minor fixes.
103+
+ solids/Boolean:
104+
o G4UMultiUnion: use accessors x(), y() and z() from UVector3, instead
105+
of directly accessing its data-members.
106+
+ solids/CSG:
107+
o Fixed calculation of Normal in G4Para for kPX and kMX sides in
108+
DistanceToOut(p,v) and ApproxSurfaceNormal(p).
109+
Addressing problem report #1736.
110+
o Fixed DistanceToOut(p) and Inside(p) in G4Sphere for sphere cut in theta
111+
for point (0,0,0) and for cases when Start/End angle have not to be taken
112+
in account (STheta==0 || eTheta==pi).
113+
Added corresponding test cases to unit test for testG4Sphere.
114+
Fix triggered by analysing setup provided in problem report #1702.
115+
o Use accessors x(), y() and z() from UVector3 in USolids wrappers, instead
116+
of directly accessing its data-members.
117+
o Fixed Coverity defect for unused variable quantity in G4Cons.
118+
+ solids/specific:
119+
o Use accessors x(), y() and z() from UVector3 in USolids wrappers, instead
120+
of directly accessing its data-members.
121+
+ volumes:
122+
o Simplified implementation in G4NavigationHistoryPool to make use of simple
123+
stack of free entries. Pre-allocate size of vectors and inlined GetLevels().
124+
Also addressing problem report #1730.
125+
126+
o Generic Processes:
127+
-----------------
128+
+ Transportation:
129+
o G4Transportation, G4CoupledTransportation: added ability to identify last
130+
step in volume for the case of propagation in field.
131+
Addresses old problem report #1032.
132+
133+
o Global:
134+
------
135+
+ Fix in G4StatDouble to return RMS 0 instead of -1 in the case the number
136+
of entries is below 2 (fixes arithmetic exceptions in examples for run
137+
with 1 event only).
138+
+ Fixed bug in G4CacheReference::Destroy(); modified behavior to identify
139+
internal inconsistencies and throw exception.
140+
+ Added copy constructor and assignment operator to G4Cache.
141+
Addressing problem report #1739.
142+
+ Corrected logic for use of TLS on clang compiler for the Random module.
143+
+ Added guard against potential loop in G4RandomTools::G4LambertianRand().
144+
+ Added "g/mole" Molar mass definition to G4UnitsTable.
145+
+ Define G4THREADSLEEP(tick) macro in G4Threading.hh also for sequential
146+
builds.
147+
+ Updated date and version for 10.1.p02.
148+
149+
o Materials:
150+
---------
151+
+ G4NistManager: corrected printout of elements and materials.
152+
Addressing problem report #1747.
153+
154+
o Persistency:
155+
-----------
156+
+ GDML:
157+
o Added missing "dichroic" surface model for optical property,
158+
consistent with addition done since release 10.0.
159+
o Avoid use of standard evaluator for import of units; adopt G4UnitsTable
160+
instead, in order to avoid loss of precision due to unit's conversion.
161+
o Correction for optional stripping of world-volume.
162+
o Corrected parsing of shape type-ID for MultiUnion in G4GDMLWriteSolids.
163+
o Improved text in G4Exception for failed import of file in G4GDMLRead.
164+
o Fixed non-initialised boolean flag in G4GDMLRead, reported by Coverity.
165+
166+
o Physics Lists:
167+
-------------
168+
+ constructors/gamma_lepto_nuclear:
169+
o G4EmExtraPhysics, G4EmMessenger: clean up messenger and added new
170+
UI commands. Addresses problem report #1752.
171+
o Fixed Coverity defects.
172+
173+
o Processes - Electromagnetic:
174+
---------------------------
175+
+ dna:
176+
o Fixed reproducibility of the chemistry module.
177+
o Fixed bug for "no reaction table found"; new class G4ITReaction.
178+
o Added Fe56 into G4DNARuddIonisationExtendedModel.
179+
o BornIonisation: corrected array cleaning.
180+
o ScreenRutherfordElastic: corrected retrieval of water density.
181+
o Added missing virtual GetValue() method in G4DNAChemistryManager.
182+
o Removed "virtual" keyword when accessing position in G4IT.
183+
o G4shared_ptr refers to std::shared_ptr when C++11 is activated.
184+
o Some code cleanup.
185+
+ high-energy:
186+
o G4eeTo3PiModel: do not use default constructor for G4LorentzVector.
187+
+ low-energy:
188+
o G4LivermorePhotoElectricModel: implemented protection to avoid rare
189+
precision lost in de-excitation.
190+
o G4EMDataSet: fixed Coverity defects.
191+
+ standard:
192+
o G4WentzelVIModel: repeat check on safety for new steps.
193+
In SampleScattering optimized use of random engine.
194+
o G4UniversalFluctuation, G4KleinNishinaCompton, G4KleinNishinaModel:
195+
define local pointer to random engine.
196+
o G4WentzelOKandVIxSection: improved angular sampling.
197+
o G4KleinNishinaModel, G4WentzelOKandVIxSection: accurate initialisation
198+
of G4ThreeVectors and G4LorentzVector in constructors.
199+
o G4PAIModel, G4PAIModelData, G4PAIPhotModel, G4PAIPhotModelData: fixed
200+
initialisation of cuts to happen only in run-time methods; added copy
201+
of vector of G4MaterialCutsCouple from master to worker threads.
202+
Addresses problem report #1731.
203+
+ utils:
204+
o G4VMultipleScattering, G4VMscModel, G4VEmAngularDistribution: accurate
205+
initialisation of G4ThreeVectors and G4LorentzVector in constructors.
206+
207+
o Processes - Hadronic:
208+
--------------------
209+
+ cross_sections:
210+
o G4ComponentGGHadronNucleusXsc: extended applicability for kaons down
211+
to 0.1*MeV.
212+
+ models/binary_cascade:
213+
o Use const address as argument to typeid() in method
214+
G4BinaryCascade::DebugApplyCollisionFail(), fixing compilation
215+
warning on clang-3.6.
216+
+ models/cascade:
217+
o G4PreCompoundDeexcitation: properly delete precompound products (i.e.
218+
G4ReactionProduct objects). Fixes issue of constant memory growth in
219+
the use of G4Allocator. Also addressing problem report #1735.
220+
+ models/de_excitation:
221+
o G4NeutronRadCapture: added check on initial kinematics for all isotopes;
222+
proper initialisation of G4LorentzVector in class constructor, fixed
223+
Coverity reports.
224+
+ models/parton_string:
225+
o G4FTFParticipants: added a new method to clean up the member vector;
226+
using the above new method in G4FTFModel::GetStrings() to release
227+
memory allocated and otherwise leaked; reduces observed memory growth
228+
in use of G4Allocator. Also addressing problem report #1735.
229+
o G4FTFModel: fixed bug in the method SamplingNucleonKinematics().
230+
Addressing problem report #1741.
231+
Fixed energy non-conservation in nucleus-nucleus interactions.
232+
o G4FTFParameters: fixed bug in nucleon-nucleon cross-section, and
233+
added protection against zero inelastic cross-section.
234+
+ models/pre_equilibrium:
235+
o G4PreCompoundTransition: added protection against numerical problem
236+
due too high excitation energy; use G4Log and G4Exp instead of G4Pow;
237+
cleanup sampling of number of charged excitons.
238+
o Fixed Coverity defects and some code cleanup.
239+
+ models/quasi_elastic:
240+
o Code cleanup: removed unneeded statics and thread-local variables.
241+
+ models/theo_high_energy:
242+
o Updated according to new quasi-elastic code cleanup.
243+
244+
o Track
245+
-----
246+
+ Improved G4ParticleChangeForTransport by adding update for FirstStep
247+
in volume. Also addressing problem report #1715.
248+
249+
o Examples:
250+
--------
251+
+ Updated reference outputs.
252+
+ extended/electromagnetic/TestEm8:
253+
o PhysicsList: fix in configuration of models per G4Region in MT mode.
254+
Addressing problem report #1731.
255+
o Run: added protection against numerical exception for run
256+
with 0 or 1 events
257+
258+
----------------------------------------------------------------------------
259+
260+
Technical Notes
261+
---------------
262+
263+
o This patch should be applied on top of release 10.1 or 10.1.p01.
264+
o Technical notes distributed for release 10.1 are also applicable and
265+
valid for this patch.
266+
267+
The code and rebuilt binary libraries for release 10.1.p02 are available
268+
through our "Download" Web page:
269+
http://cern.ch/geant4/support/download.shtml
270+
271+
Please refer to the Geant4 User Documentation:
272+
http://cern.ch/geant4/support/userdocuments.shtml
273+
for further information about using Geant4.

cmake/History

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

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

34+
8th June 2015 - Ben Morgan (cmake-V10-00-41)
35+
- Templates/Geant4Config.cmake.in : Always re-find Qt5 via find_package
36+
if Geant4 was configured with Qt5 support. Qt5 libraries are in
37+
public link interface of G4interfaces and G4OpenGL whether or not it
38+
is activated for an application, so must always be linked. Without
39+
refinding, dangling imported targets are left in the link interfaces
40+
of G4interfaces and G4OpenGL.
41+
42+
5th May 2015 - Ben Morgan (cmake-V10-00-40)
43+
- Modules/Geant4ConfigureModulefile.cmake : Genarate a modulefile
44+
for the build tree. Requested by developers, but otherwise unsupported.
45+
- Templates/geant4-modulefile.in : Update export variables to allow
46+
transparent configuration of build/install tree versions.
47+
48+
29th April 2015 - Ben Morgan
49+
- Modules/Geant4MakeRules_cxx.cmake: Add `-no-gcc` to CMAKE_CXX_FLAGS
50+
when using Intel compiler. This is temporary fix to give
51+
matching flags against old GNUmake build. It requires further checks
52+
to understand full behaviour of this flag to tune code versus
53+
Intel's `-gcc-sys` flag and `__INTEL_COMPILER` macro.
54+
55+
22nd April 2015 - Ben Morgan
56+
- Modules/FindCLHEP.cmake: Add CLHEP_ROOT_DIR to CMake cache, allowing
57+
it to be editted in the CMake curses/GUI. Use unset command to remove
58+
LIBRARY and INCLUDE_DIR variables for CLHEP from the cache when
59+
CLHEP_ROOT_DIR is changed.
60+
- Templates/geant4-env-skeleton.in: Add expansion entry for CLHEP library
61+
path
62+
- Modules/Geant4ToolchainBackwardCompatibility.cmake: Export setting
63+
of dynamic library path to prepend system CLHEP's library path in
64+
geant4.(c)sh
65+
66+
17th April 2015 - Ben Morgan
67+
- Fixes for JIRA DEV-185 (Allow use of system CLHEP granular libraries)
68+
- Modules/FindCLHEP.cmake: Allow component arguments to be supplied to
69+
find_package, each component being a CLHEP granular library. Support
70+
dependencies between components, and fail on REQUIRED if any requested
71+
component or dependency is not found. Set cache variables for each requested
72+
component library, and fill CLHEP_LIBRARIES with the requested libraries
73+
- Modules/Geant4OptionalComponents.cmake: Provide new advanced option
74+
GEANT4_USE_SYSTEM_CLHEP_GRANULAR, which can be set to enable use of CLHEP
75+
granular libraries from the system. When activated, use new FindCLHEP
76+
interface to search for Geant4's required components.
77+
- Templates/Geant4Config.cmake.in: Export and document a new variable,
78+
Geant4_system_clhep_ISGRANULAR that clients can query to check whether
79+
the system CLHEP was linked in granular mode.
80+
- Modules/Geant4ConfigureConfigScript.cmake: Process and export system CLHEP
81+
library list to support either singular or granular CLHEP libraries.
82+
- Templates/geant4-config.in: Support CLHEP granular library listing in
83+
'--libs' argument.
84+
- Modules/Geant4ToolchainBackwardCompatibility.cmake: Export CLHEP_LIB env var
85+
to support use of system CLHEP libraries in granular mode.
86+
- Templates/geant4make-skeleton.in: Export CLHEP_LIB env var to support
87+
system CLHEP libs in granular mode.
88+
89+
15th April 2015 - Ben Morgan
90+
- Modules/Geant4MakeRules_cxx.cmake: Update AppleClang version regex for
91+
Xcode 6.1. This version adds the patch number to the "based on LLVM"
92+
id. The full version number is now derived.
93+
3494
20th March 2015 - Gabriele Cosmo (cmake-V10-00-39)
3595
- Modules/Geant4MacroLibraryTargets.cmake: Added external G4geomUSolids
3696
library to static linkage list. Addressing problem report #1725.

0 commit comments

Comments
 (0)