Skip to content

Commit 86889e5

Browse files
committed
Import Geant4 8.3.1 source tree
1 parent 75c7fd1 commit 86889e5

File tree

19 files changed

+255
-122
lines changed

19 files changed

+255
-122
lines changed

ReleaseNotes/Patch4.8.3-1.txt

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
2+
Geant4 8.3 - patch-01 Release Notes
3+
-----------------------------------
4+
5+
17 August 2007
6+
7+
List of fixes included in this public patch since the public release 8.3:
8+
9+
o Configuration:
10+
-------------
11+
+ liblist.c: fixed problem affecting recent CygWin installations on
12+
Windows in parsing the buffer for the generation of libname.map.
13+
+ binmake.gmk: defined OUT internal variable specifying the proper
14+
compilation/linking option to Unix or Windows compilers: '-o '
15+
and '/Fe' respectively. Cleared <TAB> characters where not necessary.
16+
+ SUN-CC.gmk: forced -xO2 as optimisation level.
17+
18+
o Geometry:
19+
--------
20+
+ magneticfield:
21+
o Relaxed 'FatalException' to 'Warning' in method
22+
G4MagIntegratorDriver::AccurateAdvance() for case of step zero and
23+
return previous value. This fixes problem observed by ATLAS and CMS
24+
in release 8.3 when using very conservative values for field
25+
parameters.
26+
+ solids/specific:
27+
o Fixes in G4Polyhedra::GetPointOnSurface():
28+
Correctly treat 'totalPhi' instead of 'endPhi' for the case of open
29+
shapes and 'twopi' for not open shapes.
30+
Introduced fix for the case when number of sectors (numSide) is equal
31+
to 1. At the origin of problems observed when checking overlaps for
32+
polyhedra solids defined as such.
33+
34+
o Global:
35+
------
36+
+ Changed date for patch-01 to release 8.3.
37+
38+
o Materials:
39+
---------
40+
+ G4NistElementBuilder: added protection (Z>=limitNumElements) inside
41+
method BuildElement().
42+
43+
o Hadronic Processes:
44+
------------------
45+
+ models/chiral_inv_phase_space:
46+
o G4QuasiFreeRatios: fixed DB filling (ID update), responsible for
47+
excessive growth of memory in long runs. Corrected indexing and
48+
computation of cos(theta).
49+
+ util:
50+
o Three bug fixes in G4ReactionDynamics::TwoCluster(): removed a sharp
51+
peak at 180 degrees by fixing a units error and fixed an error in
52+
sampling the momentum transfer. Fixed array bound violation which
53+
caused in some rare occasions an infinite loop.
54+
55+
o Physics Lists:
56+
-------------
57+
+ Correct use of QElasticPhysics in QGSP_QEL list.
58+
59+
----------------------------------------------------------------------------
60+
61+
Technical Notes
62+
---------------
63+
64+
o This patch should be applied on top of release 8.3
65+
o Technical notes distributed for release 8.3 are also applicable and
66+
valid for this patch.
67+
68+
The code and rebuilt binary libraries for release 8.3 are available
69+
through our "Archive of Previous Releases" Web page:
70+
http://cern.ch/geant4/support/source_archive.shtml
71+
72+
Please refer to the Geant4 User Documentation:
73+
http://cern.ch/geant4/support/userdocuments.shtml
74+
for further information about using Geant4.

config/History

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
$Id: History,v 1.289 2007/02/28 15:35:31 gcosmo Exp $
1+
$Id: History,v 1.289.2.1 2007/08/13 14:30:39 gcosmo Exp $
22
-------------------------------------------------------------------
33

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

19+
13th August 2007 Gabriele Cosmo (config-V08-03-00a)
20+
- SUN-CC.gmk: forced -xO2 as optimisation level.
21+
22+
18th July 2007 Gabriele Cosmo
23+
- liblist.c: fixed problem affecting recent CygWin installations on
24+
Windows in parsing the buffer for the generation of libname.map.
25+
- binmake.gmk: defined OUT internal variable specifying the proper
26+
compilation/linking option to Unix or Windows compilers: '-o '
27+
and '/Fe' respectively. Cleared <TAB> characters where not necessary.
28+
1929
28th February 2007 Gabriele Cosmo (config-V08-02-00)
2030
- Protected generation of dependencies using internal 'make' variable
2131
MAKECMDGOALS in binmake.gmk and common.gmk, following suggestion made
@@ -24,7 +34,8 @@ committal in the CVS repository !
2434
issueing the 'clean' target.
2535

2636
3rd November 2006 Gunter Folger (config-V08-01-07)
27-
- architecture.gmk: added G4LIB_BUILD_LISTS with default value 1 to build physics lists.
37+
- architecture.gmk: added G4LIB_BUILD_LISTS with default value 1 to build
38+
physics lists.
2839
- binmake.gmk: added physics lists include directories to INCFLAGS.
2940

3041
15th October 2006 Makoto Asai (config-V08-01-06)

config/binmake.gmk

Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# $Id: binmake.gmk,v 1.117 2007/02/28 15:35:07 gcosmo Exp $
1+
# $Id: binmake.gmk,v 1.126.2.2 2007/08/16 09:42:33 gcosmo Exp $
22
# ----------------------------------------------------------
33
# Script defining rules and paths for making binaries.
44
# First implementation: Gabriele Cosmo, 25/06/1998.
@@ -60,8 +60,8 @@ ifndef INCFLAGS
6060
-I$(G4BASE)/particles/hadrons/ions/include \
6161
-I$(G4BASE)/particles/hadrons/mesons/include \
6262
-I$(G4BASE)/particles/shortlived/include \
63-
-I$(G4BASE)/physics_lists/lists/include \
64-
-I$(G4BASE)/physics_lists/builders/include \
63+
-I$(G4BASE)/physics_lists/lists/include \
64+
-I$(G4BASE)/physics_lists/builders/include \
6565
-I$(G4BASE)/processes/management/include \
6666
-I$(G4BASE)/processes/cuts/include \
6767
-I$(G4BASE)/processes/scoring/include \
@@ -77,19 +77,19 @@ ifndef INCFLAGS
7777
-I$(G4BASE)/processes/electromagnetic/highenergy/include \
7878
-I$(G4BASE)/processes/electromagnetic/polarisation/include \
7979
-I$(G4BASE)/processes/hadronic/cross_sections/include \
80-
-I$(G4BASE)/processes/hadronic/management/include \
81-
-I$(G4BASE)/processes/hadronic/models/abrasion/include \
80+
-I$(G4BASE)/processes/hadronic/management/include \
81+
-I$(G4BASE)/processes/hadronic/models/abrasion/include \
8282
-I$(G4BASE)/processes/hadronic/models/binary_cascade/include \
83-
-I$(G4BASE)/processes/hadronic/models/cascade/cascade/include \
84-
-I$(G4BASE)/processes/hadronic/models/cascade/evaporation/include \
85-
-I$(G4BASE)/processes/hadronic/models/cascade/utils/include \
83+
-I$(G4BASE)/processes/hadronic/models/cascade/cascade/include \
84+
-I$(G4BASE)/processes/hadronic/models/cascade/evaporation/include \
85+
-I$(G4BASE)/processes/hadronic/models/cascade/utils/include \
8686
-I$(G4BASE)/processes/hadronic/models/chiral_inv_phase_space/body/include \
8787
-I$(G4BASE)/processes/hadronic/models/chiral_inv_phase_space/interface/include \
8888
-I$(G4BASE)/processes/hadronic/models/coherent_elastic/include \
89-
-I$(G4BASE)/processes/hadronic/models/de_excitation/ablation/include \
89+
-I$(G4BASE)/processes/hadronic/models/de_excitation/ablation/include \
9090
-I$(G4BASE)/processes/hadronic/models/de_excitation/evaporation/include \
9191
-I$(G4BASE)/processes/hadronic/models/de_excitation/fermi_breakup/include \
92-
-I$(G4BASE)/processes/hadronic/models/de_excitation/fission/include \
92+
-I$(G4BASE)/processes/hadronic/models/de_excitation/fission/include \
9393
-I$(G4BASE)/processes/hadronic/models/de_excitation/gem_evaporation/include \
9494
-I$(G4BASE)/processes/hadronic/models/de_excitation/handler/include \
9595
-I$(G4BASE)/processes/hadronic/models/de_excitation/management/include \
@@ -211,11 +211,11 @@ ifdef GLOBALLIBS
211211
ifeq ($(G4LIB_BUILD_LISTS),1)
212212
LDLIBS2 += -lG4physicslists
213213
endif
214-
214+
215215
LDLIBS2 += -lG4run \
216216
-lG4event \
217217
-lG4tracking \
218-
-lG4parmodels \
218+
-lG4parmodels \
219219
-lG4processes \
220220
-lG4digits_hits \
221221
-lG4track \
@@ -231,19 +231,19 @@ else
231231
ifeq ($(G4INCLUDE_EXEC),1)
232232
LDLIBS2 = $(shell \
233233
G4TMP=$(G4TMP); export G4TMP; \
234-
if [ \( -f $(G4LIB)/$(G4SYSTEM)/liblist \
235-
-a -f $(G4LIB)/$(G4SYSTEM)/libname.map \) ]; then \
236-
$(G4LIB)/$(G4SYSTEM)/liblist \
237-
-m $(G4LIB)/$(G4SYSTEM) \
238-
< $(G4LIB)/$(G4SYSTEM)/libname.map; fi)
234+
if [ \( -f $(G4LIB)/$(G4SYSTEM)/liblist \
235+
-a -f $(G4LIB)/$(G4SYSTEM)/libname.map \) ]; then \
236+
$(G4LIB)/$(G4SYSTEM)/liblist \
237+
-m $(G4LIB)/$(G4SYSTEM) \
238+
< $(G4LIB)/$(G4SYSTEM)/libname.map; fi)
239239
else
240240
LDLIBS2 = $(shell \
241241
G4TMP=$(G4TMP); export G4TMP; \
242-
if [ \( -f $(G4LIB)/$(G4SYSTEM)/liblist \
243-
-a -f $(G4LIB)/$(G4SYSTEM)/libname.map \) ]; then \
244-
$(G4LIB)/$(G4SYSTEM)/liblist \
245-
-d $(G4TMPDIR) \
246-
< $(G4LIB)/$(G4SYSTEM)/libname.map; fi)
242+
if [ \( -f $(G4LIB)/$(G4SYSTEM)/liblist \
243+
-a -f $(G4LIB)/$(G4SYSTEM)/libname.map \) ]; then \
244+
$(G4LIB)/$(G4SYSTEM)/liblist \
245+
-d $(G4TMPDIR) \
246+
< $(G4LIB)/$(G4SYSTEM)/libname.map; fi)
247247
# Warning: do not add to LDLIBS2 with += because this causes it to be
248248
# expanded too soon. Hence extra libraries must have a different name...
249249
# Extra libraries to resolve remaining circular dependencies...
@@ -282,6 +282,7 @@ LDLIBS_PREFINAL += $(LDLIBS4)
282282
LDLIBS_KERNEL += $(LDLIBS4)
283283

284284
ifneq (,$(findstring WIN32-VC,$(G4SYSTEM)))
285+
# Windows
285286
WIN32TMP := $(patsubst -L%,$(LIB_PATH)%,$(LDFLAGS))
286287
LDFLAGS = $(patsubst /,$(PATH_DEL),$(WIN32TMP))
287288
WIN32TMP2 := $(patsubst -L%,$(LIB_PATH)%,$(LDLIBS_PREFINAL))
@@ -291,20 +292,23 @@ ifneq (,$(findstring WIN32-VC,$(G4SYSTEM)))
291292
ifdef G4LIB_USE_DLL
292293
LDLIBS = $(TARGETLIB) $(patsubst -l%,lib%.a,$(WIN32TMP3)) $(patsubst -l%,lib%.lib,$(WIN32TMP4))
293294
else
294-
LDLIBS = $(TARGETLIB) $(patsubst -l%,lib%.lib,$(WIN32TMP2))
295+
LDLIBS = $(TARGETLIB) $(patsubst -l%,lib%.lib,$(WIN32TMP2))
295296
endif
296297
else
297-
LDLIBS = $(TARGETLIB) $(patsubst -l%,lib%.a,$(WIN32TMP2))
298+
LDLIBS = $(TARGETLIB) $(patsubst -l%,lib%.a,$(WIN32TMP2))
298299
endif
300+
OUT := /Fe
299301
else
302+
# Unix
300303
LDLIBS = $(TARGETLIB) $(LDLIBS_PREFINAL)
304+
OUT := -o
301305
endif
302306

303307
ifdef transform-RPath
304308
# Invoke system specific transformation of
305309
include $(G4INSTALL)/config/sys/$(G4SYSTEM)-runpath.gmk
306310
endif
307-
311+
308312
sources := $(wildcard $(G4TARGET).cc)
309313
objects := $(patsubst %.cc,$(G4TMPDIR)/exe/%.$(TARGOBJEXT),$(sources))
310314
dependencies := $(patsubst %.cc,$(G4TMPDIR)/exe/%.d,$(sources))
@@ -339,12 +343,12 @@ endif
339343
@if [ ! -d $(G4BINDIR) ] ; then mkdir $(G4BINDIR) ;fi
340344
ifdef CPPVERBOSE
341345
$(CXX) $(CXXFLAGS) $(CPPFLAGS) \
342-
-o $(G4BINDIR)/$(G4TARGET) $(objects) $(LDFLAGS) \
346+
$(OUT)$(G4BINDIR)/$(G4TARGET) $(objects) $(LDFLAGS) \
343347
$(LDLIBS)
344348
else
345349
@echo Linking $(G4TARGET) ...
346350
@$(CXX) $(CXXFLAGS) $(CPPFLAGS) \
347-
-o $(G4BINDIR)/$(G4TARGET) $(objects) $(LDFLAGS) \
351+
$(OUT)$(G4BINDIR)/$(G4TARGET) $(objects) $(LDFLAGS) \
348352
$(LDLIBS)
349353
@if [ \( -f $(G4BINDIR)/$(G4TARGET) \) ]; then \
350354
echo "... Done!"; fi

config/liblist.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $Id: liblist.c,v 1.18 2006/10/05 14:22:06 gcosmo Exp $ */
1+
/* $Id: liblist.c,v 1.19 2007/07/18 14:21:15 gcosmo Exp $ */
22

33
/*
44
Given a "libname.map" file on standard input and a list or directory
@@ -303,7 +303,6 @@ int main (int argc, char** argv) {
303303

304304
#if defined ( _WIN32 ) || defined ( __CYGWIN__ ) || defined ( __CYGWIN32__ )
305305
ptr=strchr(ntg4tmp1,':');
306-
if ( ptr ) *(ptr+1)='\0';
307306

308307
while ( ptr=strchr(buffer,'\\') ) *ptr='/';
309308

config/sys/SUN-CC.gmk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
ifeq ($(G4SYSTEM),SUN-CC)
55
CXX := CC
66
ifdef G4OPTIMISE
7-
CXXFLAGS := -O
7+
CXXFLAGS := -xO2
88
else
99
ifdef G4DEBUG
1010
CXXFLAGS := -g

source/GNUmakefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ endif
152152

153153
banner:
154154
@$(ECHO) "*************************************************************"
155-
@$(ECHO) " Installation Geant4 version $$Name: geant4-08-03 $ "
155+
@$(ECHO) " Installation Geant4 version $$Name: geant4-08-03-patch-01 $ "
156156
@$(ECHO) " Copyright (C) 1994-2007 Geant4 Collaboration "
157157
@$(ECHO) "*************************************************************"
158158

source/geometry/magneticfield/History

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
$Id: History,v 1.117 2007/05/10 10:11:08 japost Exp $
1+
$Id: History,v 1.117.2.1 2007/08/13 13:23:42 gcosmo Exp $
22
-------------------------------------------------------------------
33

44
=========================================================
@@ -16,11 +16,20 @@ committal in the CVS repository !
1616
----------------------------------------------------------
1717
* Reverse chronological order (last date on top), please *
1818
----------------------------------------------------------
19+
20+
June 8th, 2007 T. Nikitina - field-V08-03-00a
21+
--------------------------
22+
- Relax FatalException to Warning in G4MagIntegratorDriver::AccurateAdvance()
23+
for case of step zero and return previous value. This fixes problem observed
24+
by ATLAS in release 8.3 when using very conservative values for field
25+
parameters.
26+
1927
May 10th, 2007 J.Apostolakis - field-V08-02-01
2028
-------------------------------
2129
- G4MagIntegratorDriver:
22-
* added protections against zero initial or internal step h=0, (exceptions)
23-
* revised (re)calculation of h, and quit loop if h/length < smallest-fraction (~ 10^-12)
30+
* added protections against zero initial or internal step h=0, (exceptions)
31+
* revised (re)calculation of h, and quit loop if h/length < smallest-fraction
32+
(~ 10^-12)
2433

2534
April 26th, 2007 T.Nikitina - field-V08-02-00
2635
----------------------------

source/geometry/magneticfield/src/G4MagIntegratorDriver.cc

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
// ********************************************************************
2525
//
2626
//
27-
// $Id: G4MagIntegratorDriver.cc,v 1.46 2007/05/10 10:10:31 japost Exp $
28-
// GEANT4 tag $Name: geant4-08-03 $
27+
// $Id: G4MagIntegratorDriver.cc,v 1.46.2.2 2007/08/17 12:18:57 gcosmo Exp $
28+
// GEANT4 tag $Name: geant4-08-03-patch-01 $
2929
//
3030
//
3131
//
@@ -153,11 +153,25 @@ G4MagInt_Driver::AccurateAdvance(G4FieldTrack& y_current,
153153
G4FieldTrack yStartFT(y_current);
154154

155155
// Ensure that hstep > 0
156-
if( hstep <= 0.0 ) {
157-
G4cerr << " Hstep is " << hstep << G4endl;
158-
G4Exception("G4MagInt_Driver::AccurateAdvance()",
159-
"Requested Integration Step is zero or negative: it must be positive",
160-
FatalException, "Requested-Step-not-Positive.");
156+
if( hstep <= 0.0 )
157+
{
158+
if(hstep==0.0)
159+
{
160+
G4cerr << "WARNING - G4MagIntegratorDriver::AccurateAdvance()" << G4endl
161+
<< " Proposed step is zero; hstep = " << hstep
162+
<< " !" << G4endl;
163+
return succeeded;
164+
}
165+
else
166+
{
167+
G4cerr << "ERROR - G4MagIntegratorDriver::AccurateAdvance()" << G4endl
168+
<< " Proposed step is negative; hstep = " << hstep
169+
<< " !" << G4endl;
170+
G4Exception("G4MagInt_Driver::AccurateAdvance()",
171+
"InvalidCall", EventMustBeAborted,
172+
"Requested step cannot be negative! Aborting event.");
173+
return false;
174+
}
161175
}
162176

163177
y_current.DumpToArray( ystart );

source/geometry/solids/specific/History

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
$Id: History,v 1.109 2007/04/26 13:27:37 gcosmo Exp $
1+
$Id: History,v 1.109.2.1 2007/08/13 14:00:20 gcosmo Exp $
22
-------------------------------------------------------------------
33

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

20+
12-Jul-2007, T.Nikitina (geom-specific-V08-03-00a)
21+
- Fix in G4Polyhedra::GetPointOnSurface() to correctly treat 'totalPhi'
22+
instead of 'endPhi' for the case of open shapes and 'twopi' for not open
23+
shapes.
24+
25+
05-Jul-2007, T.Nikitina
26+
- Fix in G4Polyhedra::GetPointOnSurface() for the case when number of sectors
27+
(numSide) is equal to 1. At the origin of problems observed when checking
28+
overlaps for polyhedra solids defined as such.
29+
2030
26-Apr-2007, T.Nikitina (geom-specific-V08-02-05)
2131
- Fix in GetPointOnSurface() for G4Polycone to consider also points laying
2232
on rings when consecutive Z-sections are coincident.

0 commit comments

Comments
 (0)