Skip to content

Commit 68181b7

Browse files
committed
Import Geant4 10.5.1 source tree
1 parent db49709 commit 68181b7

File tree

662 files changed

+55088
-106267
lines changed

Some content is hidden

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

662 files changed

+55088
-106267
lines changed

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX
3737
project(Geant4)
3838
set(${PROJECT_NAME}_VERSION_MAJOR 10)
3939
set(${PROJECT_NAME}_VERSION_MINOR 5)
40-
set(${PROJECT_NAME}_VERSION_PATCH 0)
40+
set(${PROJECT_NAME}_VERSION_PATCH 1)
4141
set(${PROJECT_NAME}_VERSION "${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH}")
4242

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

CONTRIBUTING.md

+16-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,16 @@
1-
The Geant4 Collaboration:
2-
http://cern.ch/geant4/collaboration/members
1+
Contributing to Geant4
2+
=====
3+
To contribute patches to Geant4, users can submit Pull Requests (PR) such that:
4+
5+
- A single PR refers to a single particular topic (fix or suggested enhancement);
6+
PRs including uncorrelated changes in codes in different areas or modules will
7+
not be considered.
8+
9+
A PR will be examined by a responsible and eventually extracted for a patch in
10+
the development repository of Geant4, to be included in a future release or
11+
patch.
12+
13+
For simple bug-fixes, it is anyhow recommended to use the official
14+
`Bugzilla problem reporting system <https://bugzilla-geant4.kek.jp/>`.
15+
16+
The Geant4 Collaboration

README.rst

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
=====
2+
Geant4: A Simulation Toolkit
3+
=====

ReleaseNotes/Patch4.10.5-1.txt

+318
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,318 @@
1+
2+
Geant4 10.5 - patch-01 Release Notes
3+
------------------------------------
4+
5+
17 April 2019
6+
7+
List of fixes included in this public patch since the public release 10.5:
8+
9+
o Configuration:
10+
-------------
11+
+ CMake:
12+
o Added configuration GEANT4_USE_SMARTSTACK to enable use of smart-stack
13+
algorithm for default stack in G4TrackStack.
14+
15+
o Analysis:
16+
--------
17+
+ Fixed few typos in printouts.
18+
19+
o Digits_Hits:
20+
-----------
21+
+ Define unit categories in messengers for UI commands that take units.
22+
+ G4SDManager, G4VSDFilter: cleanly delete all the G4VSDFilter objects at
23+
the end of program.
24+
+ Fixed return type of Boolean operators.
25+
+ Fixed shadowing compilation warning in G4ScoringBox and G4ScoringCylinder.
26+
+ Fixed few typos in printouts.
27+
28+
o Event:
29+
-----
30+
+ G4PrimaryTransformer: allowing absolute zero proper decay time.
31+
+ G4HEPEvtInterface: clean up G4Exception severities when end-of-file
32+
is detected.
33+
+ Fixed return type of Boolean operators.
34+
+ Fixed typos in printouts in G4GeneralParticleSourceMessenger.
35+
36+
o G3toG4:
37+
------
38+
+ Fixed return type of Boolean operators.
39+
+ Fixed shadowing compilation warning in G3toG4MakeSolid.
40+
41+
o Geometry:
42+
--------
43+
+ Fixed return type of Boolean operators.
44+
+ magneticfield
45+
o Corrected transformation to local system in G4QuadrupoleMagField.
46+
o Corrected 'RegularStepperName' in G4ChordFinder to refer to the actual
47+
default stepper G4DormandPrince745 rather than G4NystromRK4.
48+
+ management:
49+
o Use reverse_iterator in G4SolidStore::DeRegister() in order to speedup
50+
partial deregistration on setups with many solids instances.
51+
o G4Region: added possibility to disable search in the tree in
52+
AddRootLogicalVolume() for speeding up process in complex flat
53+
geometries.
54+
o G4LogicalVolume: in AddDaughter() avoid propagating pointer to
55+
field-manager if this is null. Addressing problem report #2145.
56+
+ navigation:
57+
o Protected report for looping particles under verbosity flag in
58+
G4PropagatorInField::ComputeStep().
59+
o Fixed few typos in printouts in G4NavigationLogger.
60+
+ solids/specific:
61+
o Disabled precise computation of extent and use simple bounding-box in
62+
CalculateExtent() for G4Tet and G4TessellatedSolid, to speed up
63+
intialisation in setups with relatively complex meshes.
64+
Apply bounding-box calculation for extent also for the corresponding
65+
VecGeom wrappers.
66+
o Revised algorithms and improved robustness in G4EllipticalTube.
67+
o Accurate calculation of radical in G4IntersectingCone.
68+
Addressing problem report #2111.
69+
+ volumes:
70+
o Correction in G4AssemblyVolume destructor to avoid deletion of internal
71+
physical volumes, as cleanup is taken care by G4PhysicalVolumeStore.
72+
Addressing problem report #2140.
73+
74+
o Global:
75+
------
76+
+ Enable FPE detection on MacOS with clang. Addressing problem report #2147.
77+
+ Fixed return type of Boolean operators.
78+
+ Updated date and version for 10.5.p01.
79+
80+
o Graphics Representations:
81+
------------------------
82+
+ Fixed return type of Boolean operators in G4TypeKey.
83+
84+
o Intercoms:
85+
---------
86+
+ G4UIcommand: fixed misbehavior in RangeCheck() method, when string-type
87+
parameter comes prior to numeric-type parameters in commands.
88+
+ Added G4UIparameter::SetDefaultUnit() method to simplify the definition
89+
of a unit parameter.
90+
+ Fixed return type of Boolean operators.
91+
+ Fixed few typos in printouts.
92+
93+
o Materials
94+
---------
95+
+ G4NistMaterialBuilder: fixed atomic number value in simple material
96+
printout. Fixed build of gas materials.
97+
Addressing problem reports #2133 and #2134.
98+
+ G4NistManager: added more detailed comments to public methods.
99+
+ Fixed return type of Boolean operators.
100+
101+
o Parameterisations - gflash
102+
--------------------------
103+
+ Fixed return type of Boolean operators in G4VGFlashSensitiveDetector.
104+
105+
o Particles
106+
---------
107+
+ G4PrimaryParticle: allowing absolute zero proper decay time.
108+
+ Fixed return type of Boolean operators.
109+
+ Fixed typo in printout in G4NuclideTableMessenger.
110+
111+
o Persistency
112+
-----------
113+
+ ascii:
114+
o Fixed shadowing compilation warnings.
115+
+ gdml:
116+
o Fix in G4GDMLReadStructure::PhysvolRead() to allow correct import of
117+
recursive assembly structures. Addressing problem report #2141.
118+
o Added protection to G4GDMLParser for dumping geometry only through
119+
the master thread. Added extra protection also in reading.
120+
Addressing problem report #2156.
121+
o Fixed export of optical surface properties.
122+
Addressing problem reports #2142 and 2143.
123+
124+
o Physics Lists
125+
-------------
126+
+ constructors/electromagnetic:
127+
o G4OpticalPhysics, G4OpticalPhysicsMessenger: put all UI commands into
128+
a messenger class; addressing problem report #2085; deprecated commands
129+
with /default/ in command string.
130+
o G4EmModelActivator: addressing problem report #2106.
131+
Fixed compilation warning on clang.
132+
o G4EmLivermorePhysics, G4EmPenelopePhysics: set multiple-scattering
133+
configuration the same as in Opt4: RangeFactor=0.08, Skin=3,
134+
UserSafetyPlus on.
135+
o G4EmStandardPhysicsWVI: use G4eplusTo2GammaOKVIModel with 3-gamma
136+
annihilation for e+.
137+
o G4EmStandardPhysics_option4: changed RangeFactor to 0.08 to improve
138+
results from fanoCavity test.
139+
+ constructors/hadron_elastic:
140+
o G4HadronElasticPhysics: for deuteron, triton and alpha, use
141+
Glauber-Gribov elastic cross-sections (instead of Gheisha ones,
142+
which returns zero).
143+
+ lists:
144+
o Shielding, QGSP_BIC_HP, QGSP_BIC_AllHP: set cut for proton to zero.
145+
Addressing problem report #2150.
146+
o Minor code clean-up.
147+
148+
o Processes - Electromagnetic:
149+
---------------------------
150+
+ adjoint:
151+
o Fixed typos in printouts and comments.
152+
+ high energy:
153+
o G4mplIonisation, G4mplIonisationWithDeltaModel: added low limit for
154+
delta-electron production threshold. Addressing problem report #2126.
155+
o G4GammaConversionToMuons: fixed low-energy part of the model by adding
156+
intermediate limit of 5*MuMass, below which an approximation of the
157+
cross-section similar to the Bethe-Heitler model is used; fixed bug
158+
in energy sampling for low-energy.
159+
+ low energy:
160+
o Fixed 'dsigma' calculation in G4PhotoElectricAngularGeneratorPolarized.
161+
Addressing problem report #2089.
162+
o Fixed return type of Boolean operators.
163+
+ muons:
164+
o G4MuMultipleSacttering: reduced length of printout.
165+
Addressing problem report #2105.
166+
+ standard:
167+
o G4IonCoulombScatteringModel, G4eCoulombScatteringModel,
168+
G4eSingleCoulombScatteringModel, G4hCoulombScatteringModel: fixed
169+
precision loss for scattering with very small kinetic energy.
170+
Addressing problem report #2152.
171+
o G4eMultipleSacttering, G4hMultipleScattering: reduced length of
172+
printouts. Addressing problem report #2105.
173+
o G4eplusTo2GammaOKVIModel: fixed crash at initialisation.
174+
o G4ModifiedTsai, G4SauterGavrilaAngularDistribution: reduced length of
175+
names for these generators. Addressing problem report #2105.
176+
o Code clean-up in G4BetheBlochModel.
177+
+ utils:
178+
o G4EmBiasingManager, G4VEmProcess, G4VEnergyLossProcess: fixed weights
179+
for biasing. Should be like version 10.4 now for range cut, splitting,
180+
roulette.
181+
o G4EmBiasingManager: fixed incorrect weights with brem splitting
182+
introduced in release 10.5. Addressing problem report #2125.
183+
o G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering,
184+
G4EmModelManager: make info printout at initialisation more compact.
185+
Addressing problem report #2105.
186+
o G4VEmProcess, G4VEnergyLossProcess: make printout information more
187+
compact.
188+
o G4EmParametersMessenger: defining unit categories for UI commands
189+
that take units. Fixed typos in printouts
190+
+ xrays:
191+
o G4Cerenkov: increase protection against infinite loops.
192+
193+
o Processes - Generic:
194+
-------------------
195+
+ biasing:
196+
o Fixed typos in printouts and comments.
197+
+ cuts:
198+
o Fixed return type of Boolean operators.
199+
o Fixed typos in printouts in G4PhysicsTableHelper and
200+
G4ProductionCutsTable.
201+
+ decay:
202+
o G4Decay, G4UnknownDecay: allowing absolute zero proper decay time.
203+
+ solidstate/channeling:
204+
o Fixed printouts and comments.
205+
206+
o Processes - Hadronic:
207+
--------------------
208+
+ cross_sections:
209+
o G4ChipsNeutronElasticXS: fixed compilation warnings on clang.
210+
+ models/de_excitation:
211+
o G4PhotonEvaporation: for nuclear levels without decay modes defined
212+
perform decay not to the ground state but to the nearest level.
213+
Addressing problem report #2123.
214+
o G4LevelReader: fixed typo. Addressing problem report #2124.
215+
o G4LevelManager, G4NucLevel: fixed debug and warning printouts.
216+
+ models/fission:
217+
o G4SmpIsoDir: removed use of G4Pow for squaring, sometimes causing crash.
218+
+ models/inclxx:
219+
o G4INCLHFB: fixed (weak and strong) event non-reproducibility by making
220+
the arrays 'radiusP, radiusN, diffusenessP, diffusenessN' thread-local.
221+
o Fixed return type of Boolean operators.
222+
+ models/particle_hp:
223+
o Fix to make sure production cross-section is not ignored when sampling
224+
discrete gamma emission. Addressing problem report #1824.
225+
o G4ParticleHPKallbachMannSyst::Kallbach: replaced G4Exp with std::exp in
226+
order to avoid underflow/overflow crashes observed with the physics list
227+
QGSP_BIC_AllHP.
228+
+ models/parton_string/diffraction:
229+
o G4FTFModel: fixed a memory leak in G4FTFModel::GetStrings().
230+
Addressing problem report #2138.
231+
o Corrected FTF_NUCDESTR_P1_ADEP_TGT parameter that was accidentally
232+
set as "fixed". Minor cleanups.
233+
o Fixed return type of Boolean operators.
234+
+ models/parton_string/qgsm:
235+
o G4QGSParticipants: bug-fix in computation of the transverse mass in
236+
DeterminePartonMomenta() method.
237+
o Fixed return type of Boolean operators.
238+
239+
o Processes - Management:
240+
----------------------
241+
o Fixed typos in printouts in G4ProcessTableMessenger, G4ProcessManager
242+
and G4VRest*Process.
243+
o Fixed return type of Boolean operators.
244+
245+
o Readout:
246+
-------
247+
o Fixed return type of Boolean operators.
248+
249+
o Run:
250+
---
251+
o Fix in G4MultiRunAction to cope with more than one user run action
252+
classes.
253+
o G4UserPhysicsListMessenger.cc: defining unit categories for UI commands
254+
that take units.
255+
o Fixed return type of Boolean operators.
256+
o Fixed typos in printouts.
257+
258+
o Tracking:
259+
--------
260+
o Fixed return type of Boolean operators.
261+
o Fixed typos in printouts and comments.
262+
263+
o Visualization:
264+
-------------
265+
o Fix to pick up default number of line-segments-per-circle from
266+
G4Polyhedron in G4ViewParameters.
267+
268+
269+
o Examples:
270+
--------
271+
+ Fixed return type of Boolean operators.
272+
+ advanced/ChargeExchangeMC
273+
o Fixed compilation warnings for unused data when no analysis set.
274+
o Fixed regular expression error in schema validation for lht.gdml.
275+
+ advanced/doiPET
276+
o Fixed compilation warnings on clang for unused data members in
277+
doiPETDetectorConstruction and doiPETEventAction classes.
278+
+ basic/B4
279+
o Corrected name of include file: csv.hh.
280+
+ extended/electromagnetic/TestEm8
281+
o DetectorConstruction: added alternative materials in order to test all
282+
methods to construct new material with G4NistMaterialBuilder.
283+
Addressing problem reports #2133 and #2134.
284+
+ extended/exoticphysics/monopole
285+
o Avoid instantiation of the vis-manager in the main() in the batch mode;
286+
set default number of threads to 1.
287+
o Run, RunAction: extended histograms and printouts to restricted dEdx
288+
and delta-electron cross-section (addressing problem report #2126).
289+
o G4MonopolePhysics: minor code clean-up.
290+
+ extended/hadronic/Hadr02
291+
o Fixed bug in the energe range of the transition between FTFP and BERT.
292+
+ extended/medical/dna/chem1-5
293+
o Fixed PhysicsList.
294+
+ extended/medical/dna/dnaphysics
295+
o Updated README.
296+
+ extended/persistency/gdml/G01
297+
o Migrated example to multi-threading, to test MT in reading/writing.
298+
+ extended/persistency/P03
299+
o Fixed compilation warnings on unused local iterators.
300+
+ extended/runAndEvent/RE05
301+
o Reduced the number of events in pythia_event.data to make it smaller
302+
than 2 MB. Number of events executed by the macro exampleRE05.in is
303+
also reduced accordingly.
304+
305+
----------------------------------------------------------------------------
306+
307+
Technical Notes
308+
---------------
309+
310+
o This patch should be applied on top of release 10.5.
311+
o Technical notes distributed for release 10.5 are also applicable and
312+
valid for this patch.
313+
314+
The code and rebuilt binary libraries for release 10.5.p01 are available
315+
through our "Download" Web page.
316+
317+
Please refer to the Geant4 User Documentation for further information about
318+
using Geant4.

cmake/History

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

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

33+
21st December 2018 - Makoto Asai (cmake-V10-04-28)
34+
- Modules/Geant4OptionalComponents.cmake:
35+
- Template/Geant4Config.cmake.in:
36+
Add GEANT4_USE_SMARTSTACK
37+
3338
5th November 2018 - Gunter Folger (cmake-V10-04-27)
3439
- Switch to G4PARTICLEXS 1.1
3540

cmake/Modules/Geant4OptionalComponents.cmake

+21
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,26 @@ endif()
191191

192192
GEANT4_ADD_FEATURE(GEANT4_USE_GDML "Building Geant4 with GDML support")
193193

194+
#-----------------------------------------------------------------------
195+
# Optional use of smart stack
196+
# With this option, G4StackManager uses G4SmartTrackStack instead of
197+
# ordinary G4TrackStack as the Urgent stack. G4SmartTrackStack tries to
198+
# stick to the same kind of particle as the previous track when Pop()
199+
# is called. This G4SmartTrackStack may provide some performance
200+
# improvements in particular for crystal calorimeters in high energy
201+
# physics experiments. On the other hand, G4SmartTrackStack won't give
202+
# any benefit for granular geometry or lower energy applications, while
203+
# it may causes some visible memory footprint increase.
204+
205+
option(GEANT4_USE_SMARTSTACK "Use smart track stack" OFF)
206+
mark_as_advanced(GEANT4_USE_SMARTSTACK)
207+
208+
if(GEANT4_USE_SMARTSTACK)
209+
add_definitions(-DG4_USESMARTSTACK)
210+
endif()
211+
212+
GEANT4_ADD_FEATURE(GEANT4_USE_SMARTSTACK "Use smart track stack")
213+
194214
#-----------------------------------------------------------------------
195215
# Optional Support for TiMemory -- cross-language timing and memory
196216
# easily installed via:
@@ -208,6 +228,7 @@ endif()
208228
option(GEANT4_USE_TIMEMORY "Build Geant4 with TiMemory support"
209229
${_default_use_timemory}
210230
)
231+
mark_as_advanced(GEANT4_USE_TIMEMORY)
211232

212233
if(GEANT4_USE_TIMEMORY)
213234
find_package(TiMemory REQUIRED)

0 commit comments

Comments
 (0)