Skip to content

Commit ca1c8cb

Browse files
committed
Import Geant4 1.0.0 source tree
1 parent aaa409b commit ca1c8cb

File tree

2,995 files changed

+106133
-298903
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,995 files changed

+106133
-298903
lines changed

ReleaseNotes/ReleaseNotes4.1.0.txt

+357
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,357 @@
1+
2+
Geant4 1.0 Release Notes
3+
------------------------
4+
5+
7th December 1999
6+
7+
These are the main new features/fixes included in this release (for the
8+
detailed list of fixes/additions, please refer to the related History files):
9+
10+
o Electromagnetic Processes:
11+
- Multiple scattering: fine tuning and fixes for low energy e-;
12+
inclusion of nuclear size effect for high energy (e+,e- > 100 MeV,
13+
hadrons > 1 GeV);
14+
- IonisationPlus: improved code and testing, for electrons and hadrons.
15+
- LowEnergy: implemented hadron and ion ionisation; minor fixes in
16+
photo electric process.
17+
- Xrays: fixes in Cerenkov process.
18+
- Created new examples in examples/extended/electromagnetic.
19+
20+
o Geometry:
21+
- Field: minor fixes, more access to user parameters and clearer warnings;
22+
- CSG/Booleans: fixes and more detailed unit tests;
23+
- BREPS/STEP: fix to the NIST STEP reader for complex surfaces;
24+
- Volumes: first implementation for visualization of voxels;
25+
- Transportation: added protection for zero step in field.
26+
27+
o Globals:
28+
- STLInterface:
29+
major modifications for removing all references to Rogue Wave classes;
30+
removed wrappers for hash dictionaries; reorganised classes/files.
31+
- management:
32+
introduced 'g4std' wrappers and keywords for migration to the ISO/ANSI
33+
C++ standard and usage of the std namespace; fixed minor bug in
34+
G4PhysicsVector.
35+
36+
o Hadronic Processes:
37+
- new isotope-production models for neutron induced production and
38+
corresponding design updates in hadronic/management;
39+
- additional string model for proton induced reactions;
40+
- design iteration on multi-fragmentation;
41+
- memory usage optimization in the neutron transport.
42+
NOTE: an updated set of neutron data files is now required.
43+
44+
o Particles:
45+
- introduced dynamical electric charge in G4DynamicParticle to allow
46+
change of charge for ions;
47+
- introduced new G4IsotopeTable to manage excitation energy, lifetime,
48+
and decay modes for isotopes;
49+
- corrected identifier for isotopes Promethium and Prasceodym;
50+
- corrected spelling for file-names and keyword "barion" to "baryon".
51+
52+
o Persistency:
53+
- added association of HitsCollection and PrimaryVertex to G4PEvent;
54+
added persistency of Boolean solid types; fixes for ODMG compliance;
55+
added G4PPRimaryParticle;
56+
- added new examples in examples/extended/persistency.
57+
58+
o Visualization:
59+
- introduced visualization of *components* of a boolean solid.
60+
Visualisation of the *result* of the boolean operation will be
61+
available in a future release;
62+
- introduced new commands (use help <command name> for more information):
63+
/vis/scene/add/logicalVolume
64+
/vis/viewer/update
65+
- improvements to FukuiRenderer (DAWN):
66+
made destination directory of g4.prim and g4.eps customizable
67+
with the environmental variable G4DAWNFILE_DEST_DIR; auto
68+
incrementation of output file names is now supported;
69+
- removed ray tracing, pending re-implementation.
70+
71+
Notes:
72+
73+
o Geant4 1.0 is based on STL. All direct references to Rogue Wave have
74+
been removed from the code. See notes below.
75+
76+
o The code released in Geant4 1.0 is not ISO/ANSI C++ compliant.
77+
A future minor release or patch will be provided that
78+
will include the ability to choose between using namespaces in
79+
ISO/ANSI mode or using traditional style "includes".
80+
81+
This code and some binary libraries are available through our "Source
82+
Code" Web page:
83+
- see our <A href="http://wwwinfo.cern.ch/asd/geant4/geant4.html">Geant4
84+
Home Page</A>.
85+
86+
Please refer to <A
87+
href="http://wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
88+
User Documentation</A> for further information about using Geant4.
89+
Updates to the documentation for Geant4 1.0 are still in preparation and are
90+
expected to be published within three weeks.
91+
92+
93+
Contents
94+
--------
95+
96+
1. Supported and Tested Platforms
97+
2. CLHEP 1.4
98+
3. The Standard Template Library (STL)
99+
4. Persistency
100+
5. Compiler Specific Problems
101+
6. Known Run-Time Problems
102+
7. Compilation Warnings
103+
8. Known Run-Time Warnings
104+
105+
106+
1. Supported and Tested Platforms
107+
---------------------------------
108+
109+
o SUN Solaris 5.6, C++ 4.2 patch 104631-04.
110+
o HP 10.20, aCC C++ B3910B A.01.18 or A.01.21
111+
o Linux 2.0.35, gcc C++ egcs-2.91.66 (egcs 1.1.2).
112+
This configuration was tested in the RedHat 5.1 distribution, but
113+
versions of Geant4 have also been compiled successfully on RedHat 6.1,
114+
Debian and Suse distributions.
115+
116+
Platforms also tested but giving rise to some problems - see below:
117+
118+
o DEC V4.0, cxx C++ V6.1-027.
119+
o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with:
120+
Visual C++ 6.0 Service Pack 2
121+
122+
Platforms configured but not tested and not supported:
123+
o SGI V6.5.5, CC 7.2.1 with ObjectSpace
124+
o AIX 4.3.2, xlC compiler with ObjectSpace
125+
126+
2. CLHEP 1.4
127+
------------
128+
129+
Geant4 1.0 requires the installation of CLHEP 1.4.
130+
131+
See <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">
132+
CLHEP 1.4</A>.
133+
134+
The following platform specific instructions apply:
135+
136+
DEC: Do *not* use the compiler option "-std strict_ansi".
137+
138+
NT: After configure, edit the file config/CLHEP-x86-cygnus-win32
139+
and comment out "#define HEP-USE-STD 1".
140+
141+
142+
143+
3. The Standard Template Library
144+
--------------------------------
145+
146+
The following versions of STL have been tested:
147+
148+
ObjectSpace STL on
149+
DEC, HP, NT and SUN.
150+
151+
See <A href="http://www.objectspace.com/">ObjectSpace</A>.
152+
153+
"Native" STL on: Linux, HP.
154+
155+
This is selected at installation/compile time by the environment variable
156+
G4USE_OSPACE in the case of the former - see documentation.
157+
158+
NOTES:
159+
- Be aware that by default, the installation scripts will expect to use
160+
the native STL implementation. You must set the G4USE_OSPACE variable
161+
in the environment in order to select the ObjectSpace implementation.
162+
163+
- Platform specific setup:
164+
o DEC: ObjectSpace is required.
165+
o HP: either ObjectSpace or native STL can be used. In order to use
166+
native STL you must also set the environment variable
167+
G4NO_STD_NAMESPACE.
168+
o SUN: ObjectSpace is required.
169+
o Linux: native STL is required.
170+
o NT: ObjectSpace is required.
171+
Support for native STL and ISO/ANSI installation will be added
172+
soon (future patch or minor release).
173+
174+
- A future minor release or patch will allow ISO/ANSI compliant installations.
175+
Their characteristics will be:
176+
o DEC: Native STL will be used
177+
o HP: The setup for native STL will trigger by default the ISO/ANSI
178+
installation (set G4NO_STD_NAMESPACE in the environment to avoid it.)
179+
o SUN: Support for CC 5.0 compiler and native STL (ISO/ANSI installation)
180+
o NT: Support for native STL and ISO/ANSI installation
181+
The modifications to support these installations will be tested soon.
182+
They will be made available in a patch or minor release.
183+
184+
Geant4 1.0 is the first release requiring the Standard Template Library.
185+
In the interest of stability, a significant part of the code still makes use
186+
of the "STL Interface" wrapper classes. For these the emphasis has remained
187+
on correct behaviour, rather than performance. The size of libraries and
188+
executables can appear considerably larger than the previous Rogue-Wave based
189+
versions.
190+
191+
4. Persistency
192+
--------------
193+
194+
- Platforms
195+
196+
Persistency in Geant4 1.0 release has been tested on the following
197+
platforms/software versions:
198+
199+
G4SYSTEM OS C++ compiler HepODBMS Objectivity
200+
--------- ----------- ------------ --------- -----------
201+
SUN-CC SunOS 5.6 CC 4.2 0.3.1.0 5.2
202+
HP-aCC HP-UX 10.20 aCC A.01.18 0.3.0.1 5.1.2
203+
Linux-g++ Linux RH5.1 egcs 1.1.2 0.3.0.1 5.1.2
204+
205+
A patch to run persistency examples on DEC-cxx will be released
206+
later, pending a fix to HepODBMS library.
207+
208+
- Known Problems
209+
210+
1) The following warning messages appear on some platforms during the
211+
installation of the libraries and the compilation of the example
212+
files. The message comes from the parser of the Objectivity
213+
preprocessor. It can be ignored.
214+
215+
-------------------------------------------------------------------------
216+
"/opt/SUNWspro/SC4.2/include/CC/generic.h", line 29: warning: omission of
217+
explicit type is nonstandard ("int" assumed)
218+
extern genericerror(int, char*);
219+
^
220+
"/opt/SUNWspro/SC4.2/include/CC/iostream.h", line 781: warning: integer
221+
conversion resulted in a change of sign
222+
unsafe_istream& wignore(int=1, wchar_t=WEOF);
223+
^
224+
"/opt/SUNWspro/SC4.2/include/CC/iostream.h", line 962: warning: integer
225+
conversion resulted in a change of sign
226+
istream& wignore(int=1, wchar_t=WEOF);
227+
-------------------------------------------------------------------------
228+
229+
2) The following warning messages appear during the installation of the
230+
library. This is due to a design choice of the persitent object
231+
and it can be safely ignored.
232+
233+
-------------------------------------------------------------------------
234+
warning: persistent-capable class member type is a problem
235+
The type of base class vector<G4VPhysicalVolume * > is a problem
236+
The type of member vector<G4VPhysicalVolume * >::start_ is pointer
237+
The type of member vector<G4VPhysicalVolume * >::finish_ is pointer
238+
The type of member vector<G4VPhysicalVolume * >::end_of_storage_
239+
is pointer
240+
The type of member vector<G4VPhysicalVolume * >::alloc_ is a
241+
problem
242+
The type of member allocator<G4VPhysicalVolume * >::impl_ is
243+
pointer
244+
G4VPhysVolRefVArray transPhysVolPtrs;
245+
^
246+
-------------------------------------------------------------------------
247+
248+
3) The following warning messages appears during the installation of the
249+
libraries and the compilation of the example files. Dependency
250+
file is used to solve the GNUmake dependencies inside the Geant4
251+
categories and it can be safely ignored.
252+
253+
-------------------------------------------------------------------------
254+
In file included from /afs/cern.ch/sw/lhcxx/specific/@sys/HepODBMS/0.3.1.0/
255+
include/HepODBMS/odbms/HepODBMS.h:75,
256+
from include/G4PersistentTypes.hh:21,
257+
from include/G4VPersistentSubMan.hh:34,
258+
from src/G4VPersistentSubMan.cc:16:
259+
/afs/cern.ch/sw/lhcxx/specific/sun/Objectivity/5.2/include/oo.h:57:
260+
warning: No include path in which to find generic.h
261+
-------------------------------------------------------------------------
262+
263+
4) The following error messages appear at the end of the library
264+
installation, and it can be safely ignored.
265+
266+
-------------------------------------------------------------------------
267+
installing schema header files ...
268+
cp: cannot access /afs/cern.ch/sw/geant4/stt/ref+/AIX-xlC/debug/persistency/
269+
STL/tmp/SUN-CC/G4pglobal/*.hh
270+
schema header file does not exist, so ignore the error message...
271+
-------------------------------------------------------------------------
272+
273+
5) The following warning message appears at the runtime of the persistency
274+
examples, which is generated by HepDbApplication in HepODBMS.
275+
It can be ignored.
276+
277+
-------------------------------------------------------------------------
278+
Opening federated database OO_FD_BOOT.
279+
WARNING: g4example: Could not find naming root directory:
280+
Naming will be disabled.
281+
-------------------------------------------------------------------------
282+
283+
284+
5. Compiler Specific Problems
285+
-----------------------------
286+
287+
o DEC V4.0, cxx C++ V6.1-027.
288+
289+
We have found cases of mis-compilation of min and max templates
290+
on DEC. We have traced those which cause serious malfunction
291+
but there is no guarantee that there are no other cases.
292+
Detailed inspection of assembler output suggests that this
293+
problem might not be confined to min and max. This has been
294+
reported to DEC/Compaq. We understand a new version 6.2 of the
295+
compiler is now available. However we cannot guarantee correct
296+
execution of Geant4 on DEC with the current version of the
297+
compiler.
298+
299+
o NT
300+
301+
- Due to limitations of the VC++ optimiser, testing was done using
302+
the debuggable version only.
303+
- g3tog4 has not been ported to NT.
304+
- During the making of dependency files during compilation there
305+
are repeated warnings ("Strstrea.h not found") - this is an
306+
artifact of using g++ for this purpose.
307+
- Ignore linker warnings: "conflicts with use of other libs".
308+
- Ignore linker errors: "unresolved external symbol
309+
__imp__MessageBoxA@16".
310+
311+
312+
6. Known Run-Time Problems
313+
--------------------------
314+
315+
o Reading STEP files on DEC with optimised libraries causes a Memory
316+
fault - but see notes on DEC above.
317+
o In rare cases heavy ions appear not to be properly stopped and killed
318+
in tracking, therefore Geant4 sticks making many small steps. This
319+
behaviour has been observed on SUN and is under investigation.
320+
o On WindowsNT, a problem can occur reading the data files associated with
321+
the environment variable G4LEVELGAMMADATA. (Usually the value
322+
for this variable is $G4INSTALL/geant4/data/PhotonEvaporation .)
323+
A correction that resolves this anomalous behaviour will be issued
324+
soon, in a patch.
325+
326+
327+
7. Compilation Warnings
328+
-----------------------
329+
330+
There are compilation warnings on some platforms. We do not believe
331+
that any will lead to incorrect run-time behaviour, but we are working
332+
on reducing them.
333+
334+
335+
8. Known Run-Time Warnings
336+
--------------------------
337+
338+
The following messages can be written to error output while tracking. We
339+
believe none give rise to incorrect behaviour.
340+
341+
o G4PropagatorInField::LocateIntersectionPoint: Warning: Integration
342+
inaccuracy requires an adjustment in the step's endpoint Two
343+
mid-points are further apart than their curve length difference:
344+
Dist = xxx curve length = yyy
345+
o Warning in G4Navigator::ComputeStep: The Step's starting point has
346+
moved...
347+
o G4PropagateInField: Warning: Particle is looping
348+
- tracking in field will be stopped.
349+
It has performed 10000 steps in Field while a maximum of 10000
350+
are allowed.
351+
352+
For very high energy muons (ex. 1 TeV) warnings of this kind might be
353+
generated:
354+
355+
o G4ParticleChange::CheckIt : the Momentum Change is not unit vector !!
356+
Difference: 1e-09
357+
G4ParticleChange::CheckIt

config/G4ODBMS_BUILD.gmk

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# $Id: G4ODBMS_BUILD.gmk,v 1.1 1999/01/07 15:58:31 gunter Exp $
1+
# $Id: G4ODBMS_BUILD.gmk,v 1.2 1999/09/17 13:15:29 morita Exp $
22
# ----------------------------------------------------------------
33
# GNUmakefile for CPPFLAGS for HepODBMS and Objectivity/DB.
44
# Youhei Morita, 9th July 1998.
@@ -11,6 +11,7 @@ endif
1111

1212
ifdef HEP_ODBMS_DIR
1313
CPPFLAGS += -I$(HEP_ODBMS_DIR)/include \
14+
-DHEP_ODBMS_EXPORT="" \
1415
-DHep_HAS_BUILDIN_BOOL_CONSTANTS
1516
endif
1617
#--------------------------------------------------------------------

0 commit comments

Comments
 (0)