Skip to content

Commit 103bda0

Browse files
committed
Import Geant4 1.1.0 source tree
1 parent ca1c8cb commit 103bda0

File tree

2,654 files changed

+29649
-20133
lines changed

Some content is hidden

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

2,654 files changed

+29649
-20133
lines changed

ReleaseNotes/ReleaseNotes4.1.1.txt

+279
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,279 @@
1+
2+
Geant4 1.1 Release Notes
3+
------------------------
4+
5+
10th March 2000
6+
7+
The following is a summary of the main fixes collected since release 1.0 and
8+
included in Geant4 1.1 (for the detailed list of fixes/updates, please refer
9+
to the related History files):
10+
11+
o Configuration scripts
12+
- introduced G4NO_OPTIMISE flag for compilation with no optimisation level,
13+
G4DEBUG if defined takes precedence.
14+
- added G4DEBUG and G4OPTIMISE to the CPPFLAGS list.
15+
- fixed bug in EXTRALIBS.
16+
- fixed linking order for compound libraries.
17+
18+
o Electromagnetic Processes:
19+
- low-energy processes:
20+
+ updated anti-proton energy losses to provide simulation down to 1 keV.
21+
+ minor bug fixes to G4ionLowEnergyIonisation.
22+
+ fixes to electron and photon low energy processes.
23+
24+
o Events:
25+
- introduced corrections for trajectories of suspended tracks.
26+
27+
o Geometry:
28+
- syncronixed HEAD version of files after ISO-C++ migration.
29+
- CSG:
30+
fixed bug in DistanceToIn(p,v) for G4Trap.
31+
- volumes:
32+
added protection to GetSlice() in G4DrawVoxels.
33+
34+
o Globals:
35+
- added check on definition of CLHEP_MAX_MIN_DEFINED flag.
36+
- introduced constructor for 3vectors in G4BestUnits.
37+
- fixed truncation problem in G4Poisson.
38+
- STLinterface:
39+
+ enforced bound-checking for [] access operators.
40+
+ fixed bugs in G4String::toUpper() and G4String::toLower().
41+
+ fixed bounds overflow error in G4RWTPtrSortedVector::find().
42+
43+
o Graphics Representations
44+
- fix for spheres with small dtheta.
45+
46+
o Hadronic Processes:
47+
- fixed the 'no data' problem observed in the neutron transport tests.
48+
49+
o Persistency:
50+
- fixed typo in G4PersistentGeomMan class.
51+
52+
o Tracking & Track:
53+
- added protection for NULL pointers in G4SteppingManager.
54+
- fixed bug related to track weight in G4VParticleChange.
55+
56+
o Visualization:
57+
- added fix for ISO-ANSI C++ in VRML driver.
58+
- introduced commands /vis/viewer/show and /vis/viewer/refresh
59+
- introduced general handling of displaced solids.
60+
- added some protections in case of no viewer and no voxelisation.
61+
62+
o G3-to-G4 tool:
63+
- introduced fixes to G3VolTable::GetVTE() and G3Division::CreateSolid().
64+
- avoid placement of top-level logical volume in G3toG4BuildTree.
65+
- removed obsolete files.
66+
67+
o Examples:
68+
- introduced stepping verbosity (N02, N03).
69+
- added 10 TeV mu- in macro exampleN04.EMtest.in.
70+
- extended/electromagnetic examples: bug fixes and introduced low-energy
71+
test (TestEm6)
72+
- introduced 'large N' input macros.
73+
- updated reference outputs.
74+
75+
Notes:
76+
77+
o Geant4 1.1 is based on STL and the code has been upgraded to be
78+
ISO-ANSI C++ compliant. Code in this release include the ability to
79+
choose between using the 'std' namespace in ISO/ANSI mode or using
80+
traditional style programming in the global namespace (exceptions
81+
still apply concerning mathematical functions - <math.h> in global
82+
namespace is still in use, or standard C I/O functions).
83+
84+
The source code and some binary libraries are available through our "Source
85+
Code" Web page:
86+
- see our <A href="http://wwwinfo.cern.ch/asd/geant4/geant4.html">Geant4
87+
Home Page</A>.
88+
89+
Please refer to <A
90+
href="http://wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
91+
User Documentation</A> for further information about using Geant4.
92+
93+
94+
Contents
95+
--------
96+
97+
1. Supported and Tested Platforms
98+
2. CLHEP 1.4
99+
3. The Standard Template Library (STL)
100+
4. Persistency
101+
5. Compiler Specific Problems
102+
6. Known Run-Time Problems
103+
7. Compilation Warnings
104+
8. Known Run-Time Warnings
105+
106+
107+
1. Supported and Tested Platforms
108+
---------------------------------
109+
110+
o SUN Solaris 5.6, C++ 4.2 patch 104631-04
111+
o HP 10.20, aCC C++ B3910B A.01.18 or A.01.21
112+
o Linux 2.2.5-22, gcc C++ egcs-2.91.66 (egcs 1.1.2).
113+
This configuration was tested in the RedHat 6.1 distribution, but
114+
versions of Geant4 have also been compiled successfully on, Debian
115+
and Suse distributions.
116+
117+
Platforms/compilers also tested but giving rise to some problems - see below:
118+
119+
o DEC V4.0, cxx C++ V6.1-027.
120+
o SUN Solaris 5.6, C++ 5.0 patches 107357-07, 107311-09
121+
o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with:
122+
Visual C++ 6.0 Service Pack 2
123+
124+
Platforms configured but not tested and not supported:
125+
o SGI V6.5.5, CC 7.2.1 with ObjectSpace
126+
o AIX 4.3.2, xlC compiler with ObjectSpace
127+
128+
2. CLHEP 1.4
129+
------------
130+
131+
Geant4 1.0 requires the installation of CLHEP 1.4.
132+
133+
See <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">
134+
CLHEP 1.4</A>.
135+
136+
Be aware, for the platforms listed below, the standard CLHEP installation
137+
will use ISO-ANSI setup:
138+
139+
DEC: if using the compiler option "-std strict_ansi", it is required to
140+
compile Geant4 in ISO-ANSI mode and 'native' STL.
141+
142+
NT: if CLHEP has been installed with the line:
143+
#define HEP-USE-STD 1
144+
uncommented in file config/CLHEP-x86-cygnus-win32, it is required to
145+
compile Geant4 in ISO-ANSI mode and 'native' STL.
146+
147+
148+
149+
3. The Standard Template Library
150+
--------------------------------
151+
152+
The following versions of STL have been tested:
153+
154+
"Native" STL on: Linux, HP, DEC, SUN, NT.
155+
156+
ObjectSpace STL on
157+
DEC, HP, NT and SUN.
158+
159+
See <A href="http://www.objectspace.com/">ObjectSpace</A>.
160+
161+
This is selected at installation/compile time by the environment variable
162+
G4USE_OSPACE in the case of the latter - see documentation.
163+
164+
NOTES:
165+
- Be aware that by default, the installation scripts will expect to use
166+
the native STL implementation. You must set the G4USE_OSPACE variable
167+
in the environment in order to select the ObjectSpace implementation.
168+
169+
- Platforms specific setup:
170+
o DEC: - Default: 'native' STL and ISO-ANSI setup.
171+
- G4USE_OSPACE set: selects ObjectSpace STL (required)
172+
and no ISO-ANSI setup.
173+
o HP: - Default: 'native' STL and ISO-ANSI setup.
174+
- G4USE_OSPACE set: selects ObjectSpace STL (required)
175+
and no ISO-ANSI setup.
176+
- G4NO_STD_NAMESPACE set: either ObjectSpace or 'native' STL
177+
can be used.
178+
o SUN: - Default: 'native' STL and ISO-ANSI setup.
179+
This setup requires the CC compiler version 5.0.
180+
- G4USE_OSPACE set: selects ObjectSpace STL (required)
181+
and no ISO-ANSI setup.
182+
o Linux: native STL is required. No ISO-ANSI setup.
183+
o NT: - Default: 'native' STL and ISO-ANSI setup.
184+
- G4USE_OSPACE set: selects ObjectSpace STL (required)
185+
and no ISO-ANSI setup.
186+
187+
Geant4 1.1 requires the Standard Template Library.
188+
In the interest of stability, a significant part of the code still makes use
189+
of the "STL Interface" wrapper classes. For these the emphasis has remained
190+
on correct behaviour, rather than performance.
191+
192+
193+
4. Persistency
194+
--------------
195+
196+
- See release notes for Geant4 1.0.
197+
198+
199+
5. Compiler Specific Problems
200+
-----------------------------
201+
202+
o DEC V4.0, cxx C++ V6.1-027.
203+
204+
We have found cases of mis-compilation of min and max templates
205+
on DEC. We have traced those which cause serious malfunction
206+
but there is no guarantee that there are no other cases.
207+
Detailed inspection of assembler output suggests that this
208+
problem might not be confined to min and max. This has been
209+
reported to DEC/Compaq. We understand a new version 6.2 of the
210+
compiler is now available. However we cannot guarantee correct
211+
execution of Geant4 on DEC with the current version of the
212+
compiler.
213+
214+
o SUN Solaris 5.6, CC 5.0 patches 107357-07, 107311-09
215+
216+
The listed patches are required in order to fix a bug in the
217+
system Standard I/O libraries for streams.
218+
Part of the Geant4 code can be compiled only in debug mode (G4DEBUG
219+
set). A bug in the compiler optimiser causes the compiler to run in
220+
an infinite loop during compilation. Also, the inclusion of debug
221+
symbols causes the generation of abnormally huge binary objects.
222+
A bug report is being filed to SUN Support.
223+
224+
o NT
225+
226+
- Due to limitations of the VC++ optimiser, testing was done using
227+
the debuggable version only.
228+
- g3tog4 has not been ported to NT.
229+
- During the making of dependency files during compilation there
230+
are repeated warnings ("Strstrea.h not found") - this is an
231+
artifact of using g++ for this purpose.
232+
- Ignore linker warnings: "conflicts with use of other libs".
233+
- Ignore linker errors: "unresolved external symbol
234+
__imp__MessageBoxA@16".
235+
236+
6. Known Run-Time Problems
237+
--------------------------
238+
239+
o Reading STEP files on DEC with optimised libraries causes a Memory
240+
fault - but see notes on DEC above.
241+
o In rare cases heavy ions appear not to be properly stopped and killed
242+
in tracking, therefore Geant4 sticks making many small steps. This
243+
behaviour has been observed on SUN and is under investigation.
244+
o On WindowsNT and DEC (ISO-ANSI setup), a problem can occur reading the data
245+
files associated with the environment variable $NeutronHPCrossSections.
246+
The problem is being investigated.
247+
248+
249+
7. Compilation Warnings
250+
-----------------------
251+
252+
There are compilation warnings on some platforms. We do not believe
253+
that any will lead to incorrect run-time behaviour, however a parallel
254+
Q/A activity is on going to reduce them.
255+
256+
257+
8. Known Run-Time Warnings
258+
--------------------------
259+
260+
The following messages can be written to error output while tracking. We
261+
believe none give rise to incorrect behaviour.
262+
263+
o G4PropagatorInField::LocateIntersectionPoint: Warning: Integration
264+
inaccuracy requires an adjustment in the step's endpoint Two
265+
mid-points are further apart than their curve length difference:
266+
Dist = xxx curve length = yyy
267+
o Warning in G4Navigator::ComputeStep: The Step's starting point has
268+
moved...
269+
o G4PropagateInField: Warning: Particle is looping
270+
- tracking in field will be stopped.
271+
It has performed 10000 steps in Field while a maximum of 10000
272+
are allowed.
273+
274+
For very high energy muons (ex. 1 TeV) warnings of this kind might be
275+
generated:
276+
277+
o G4ParticleChange::CheckIt : the Momentum Change is not unit vector !!
278+
Difference: 1e-09
279+
G4ParticleChange::CheckIt

config/G4VIS_BUILD.gmk

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# $Id: G4VIS_BUILD.gmk,v 1.2 1999/06/19 15:20:38 johna Exp $
1+
# $Id: G4VIS_BUILD.gmk,v 1.3 2000/01/29 00:41:49 asaim Exp $
22
# -------------------------------------------------------------
33
# Visualization-specific CPPFLAGS for BUILD phase.
44
# John Allison, 24th January 1998.
@@ -17,6 +17,11 @@ ifdef G4VIS_BUILD_DAWNFILE_DRIVER
1717
endif
1818
# End of DAWN and DAWNFILE drivers
1919

20+
ifdef G4VIS_BUILD_RAYTRACER_DRIVER
21+
G4VIS_BUILD = 1
22+
CPPFLAGS += -DG4VIS_BUILD_RAYTRACER_DRIVER
23+
endif
24+
2025
ifdef G4VIS_BUILD_OPACS_DRIVER
2126
G4VIS_BUILD = 1
2227
G4INTY_BUILD_XT = 1

config/G4VIS_USE.gmk

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# $Id: G4VIS_USE.gmk,v 1.2 1999/06/19 15:20:40 johna Exp $
1+
# $Id: G4VIS_USE.gmk,v 1.3 2000/01/29 00:41:49 asaim Exp $
22
# -------------------------------------------------------------
33
# GNUmakefile for CPPFLAGS for visualization USE phase.
44
# John Allison, 24th January 1998.
@@ -21,6 +21,13 @@ ifdef G4VIS_USE_DAWN_OR_DAWNFILE
2121
VISLIBS += -lG4FR
2222
endif
2323

24+
ifdef G4VIS_USE_RAYTRACER
25+
G4VIS_USE = 1
26+
CPPFLAGS += -DG4VIS_USE_RAYTRACER
27+
CPPFLAGS += -I$(G4BASE)/visualization/RayTracer/include
28+
VISLIBS += -lG4RayTracer
29+
endif
30+
2431
ifdef G4VIS_USE_OPACS
2532
G4VIS_USE = 1
2633
INC_OPACS = 1

config/History

+24-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
$Id: History,v 1.92 1999/12/07 08:51:38 gcosmo Exp $
2-
$Name: geant4-01-00 $
1+
$Id: History,v 1.97 2000/02/14 11:27:42 gcosmo Exp $
2+
$Name: geant4-01-01 $
33
-------------------------------------------------------------------
44

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

20+
14th February 2000 Gabriele Cosmo (config-V01-00-02)
21+
- architecture.gmk: added option '+W823' to HP-aCC compilation setup to
22+
discard warnings for macros parameter definition as used in the new
23+
NIST STEP reader.
24+
- binmake.gmk: moved $EXTRALIBS to be included on top of the linking list,
25+
just after the user application library.
26+
27+
31st January 2000 Gabriele Cosmo (config-V01-00-01)
28+
- Added control for the Ray-tracer driver. Introduced G4VIS_USE_RAYTRACER
29+
in G4VIS_USE.gmk and G4VIS_BUILD_RAYTRACER_DRIVER in G4VIS_BUILD.gmk (M.Asai).
30+
- binmake.gmk: fixed dependency order for compound libraries.
31+
Moved -lG4particles and -lG4materials downstream in the list.
32+
- architecture.gmk: added G4NO_OPTIMISE for allowing compilation without
33+
any level of optimisation or debug. G4DEBUG if defined takes precedence.
34+
G4DEBUG and G4OPTIMISE are now defined also as CPPFLAGS.
35+
36+
3rd January 2000 Gabriele Cosmo (config-V01-00-00)
37+
- Syncronized with HEAD.
38+
39+
16th December 1999 John Allison
40+
- Cosmetic improvement to echo line in binmake.gmk.
41+
2042
7th December 1999 Gabriele Cosmo (config-V00-01-19)
2143
- architecture.gmk: minor fix on OSPACELIBS path for Win/NT.
2244

0 commit comments

Comments
 (0)