forked from Geant4/geant4
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathReleaseNotes4.3.2.txt
441 lines (366 loc) · 17.8 KB
/
ReleaseNotes4.3.2.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
Geant4 3.2 Release Notes
------------------------
29th June 2001
These are the main new features/fixes included in this release since
release 3.1 (for the detailed list of fixes/additions, please refer to the
related History files):
o Configuration:
-------------
- Added G4VIS_BUILD_ASCIITREE_DRIVER, G4VIS_USE_ASCIITREE and
G4VIS_BUILD_GAGTREE_DRIVER, G4VIS_USE_GAGTREE variables to
activate module for ascii/GAG hierachycal tree of geometry volumes.
- Introduced changes for persistency: common.gmk is now split in three,
one general, and one for specific for transient and persistent each.
Dependencies now much better handled in persistency.
- Removed G4_NO_CBRT flag from WIN32-VC.gmk, no more needed.
o Event:
-----
- Fixes to cowork with STL vector migration of 'geometry'.
o Electromagnetic Processes (Low-energy):
--------------------------------------
- Migration to STL vector. Removed references to RW wrappers.
- Fixed pedantic warnings detected on Linux ANSI setup.
- Added new process for polarised Compton scattering.
- Bug fix in anti-proton ionisation.
o Electromagnetic Processes (Standard):
------------------------------------
- Fixed pedantic warnings detected on Linux ANSI setup.
o General Processes, Parameterisation, Decay, Optical:
---------------------------------------------------
- Fixed pedantic warnings detected on Linux ANSI setup.
o Geometry:
--------
- Migrated code to native STL vector. Removed all references to
Rogue-Wave wrappers.
- Management:
o Adopt explicit initialisation for 'minExtents' and 'maxExtents'
in G4SmartVoxelHeader::BuildNodes(...).
- Boolean solids:
o Fix in G4IntersectionSolid::DistanceToIn(p,v) resolving
bug observed in problem report #153.
- BREPS solids:
o Fixes to allow -ansi compilation on Linux-g++, gcc-2.95-2 compiler:
- G4Ray: changed usage of hypot(x,y) to sqrt(x*x+y*y).
- G4Hyperbola: changed usage of atanh(x) to 0.5*log((1+x)/(1-x)).
o G4ProjectedSurface: corrected initialisation of temporary
G4Point3D objects, to use the correct CLHEP constructor.
- CSG solids:
o Added G4CSGDEBUG preprocessor flag to discriminate for debug
verbosity specific to CSG solids. Included in G4Exception of
DistanceToOut() for "point p is outside" in G4Box, G4Cons,
G4Tubs.
o G4Trap: fixed memory leak in CalculateExtent() for creation of
vertices in case of finite rotation.
- Magnetic Field:
o Updated G4Mag_SpinEqRhs for correction to spin tracking.
o Fixed G4FieldManager constructors to give default values to
delta parameters.
- STEP reader:
- Fix for porting on Linux-g++ 2.95-2 -ansi: removed usage of
strdup() in dirobj.cc; replaced with existing solution for
__O3DB__.
- Volumes:
o G4AuxiliaryNavServices::CheckPointOnSurface(): added additional
check to resolve endless looping of G4Navigator in case the track
is passing through a point, edge or surface shared by two solids.
Fixes problem report #185.
o Fixes in G4ReplicaNavigation for bug reports #253 and #254:
- in VoxelLocate(...), treated particular case of rotational
symmetry with extent over 360 degrees.
- in DistanceToOutPhi(...), fix to correctly handle cases where
the starting point is on boundary of replicas and direction is
along boundary.
o Enabled the use of different field managers for different parts
of the detector. This first implementation allows a volume that
has a field manager to override the global one.
- Note: All field managers currently must refer to fields
in global coordinates.
- New ability: setting of the delta accuracy parameters differently
in different volumes (even while maintaining the same
field as the global one).
o Added new parameter to G4PropagatorInField 'fEpsilonMin' which is
the minimal relative accuracy for MF driving.
o Global:
------
- Added contructor to G4DataVector with additional argument
for initialising values of collection.
- Removed definition of cbrt() in globals.hh to allow ANSI compilation
on Linux-g++ architecture with compiler gcc-2.95-2.
- Defined 'str_size' as G4std::string::size_type and replaced usage of
'size_t' in G4String and G4SubString. Fixes problem report #40.
o Graphics Representations:
------------------------
- Fixes in HepPolyhedron:
o Extended implementation to cover unforeseen earlier situation
during preselection of faces without intersection.
o Made GetNumberOfRotationSteps() static and public.
o Added GetSurfaceArea() and GetVolume().
- Fixed warnings about possible use of uninitialized variables.
- Migrated to STL vector. Removed references to RW wrappers.
- Bug fix in BooleanProcessor to address problem report #153.
o Hadronic Processes:
------------------
- Migration to STL vector of the pre-compound and evaporation codes and
removal of most warnings detected by Linux ANSI pedantic setup.
- Management:
o Fixes memory leak in G4InelasticInteraction: systematic search
for leaks - energy scan 50MeV-10GeV.
- High energy model:
o Energy- OR Momentum- conservation, can be chosen by the user.
o Added production of Evaporation particles.
o Better description of experimental data, mainly in Strange
Particle Production.
o Cleared compilation warnings on Linux-g++.
o Minor bug-fix in G4HEPionMinusInelastic.
o Introduced temporary workaround in G4HEInelastic for high energy
problem (number of particles created in one event larger than
allocation).
o Missing initialization of strangeness corrected, removing energy
non-conservation in rare cases.
- Generator models:
o Upgrade of angular distributions and fission yields in pre-compound
and evaporation models.
o Defined local cbrt() in G4FermiMomentum, to allow porting
on gcc-2.95-2 ANSI setup.
o De-excitation: interface adjustment in G4ParaFissionModel.
o Kinetic model: fixed exceptional condition for inelastic scattering
off Hydrogene. No recoil required.
- Radiative-decay model:
o Fixes to cowork with STL vector migration of 'geometry'.
- Low energy neutron transport model:
o New code revision: requires new set of data, G4NDL3.0 or later.
o Includes also an upgrade of the doppler broadening.
Allows for running on 0K data, and doing exact doppler broadening
on the fly (according to the temperature specified in G4Material),
with good performance up to about 5000K.
o Bug fix in G4NeutronHPInelasticCompFS to get the correct Q-value
for Lithium (the bug was introduced in recent development).
- Utilities:
o Fixed memory leak in G4ReactionDynamics: systematic search for
leaks - energy scan verification 50MeV-10GeV.
o Fixed bug in nuclear reactions for light ions.
o Materials:
---------
- Fixed pedantic warnings detected on Linux ANSI setup.
- Fix to explicitly initialise to zero values of G4DataVector used
to fill sandia-matrix.
o Particles:
---------
- Added a0(980), f0(400-1200), f0(980).
- Fixed bugs in G4ParticleDefinition::GetPDGIsospin().
- Fixed element name in G4IonTable.
- Fixed PDG encoding for excited Lambdas.
- Added special treatment for Lamdas in G4PDGCodeChecker.
- Fixed pedantic warnings detected on Linux ANSI setup.
o Persistency:
-----------
- Removed useless declaration of typedef G4ThreeVectorList.
- Adapted to new config setup.
- Changed usage of NULL to 0.
o Run and Intercoms:
-----------------
- Added binary mode for G4VUserPhysicsList::Retrieve/StorePhysicsTable().
- Added G4VUserPhysicsList::RetrieveCutValues and related.
- Added G4VUserPhysicsList::Set/ResetStoredInAscii() to switch on ascii
mode for Retrieve/StorePhysicsTable().
- Added 'setStoredInAscii' command in G4UserPhysicsList.
o Tracking & Track:
----------------
- Migration to STL vector. Removed references to RW wrappers.
- Moved G4TrackingMessenger* messenger to the class scope in
G4TrackingManager.
- Fixed problem of vertex information loss for suspended tracks.
Fixes problem report #240.
- Fix to G4SteppingManager to explicitly initialise values in STL
collections members of the class.
o Transportation:
--------------
- Correction for 'spin-update' to G4Transportation: to avoid overwrite
of the spin value for photons and other non-charged particles (and
for charged particles in zero field).
o Visualization:
-------------
- Added two new commands:
/vis/scene/add/text
/vis/scene/add/axes
- Improvements in /vis/scene/add/volume.
- Added /vis/drawTree.
- Introduced first version of G4ASCIITree to dump geometry hierarchy
to standard output as ASCII stream.
This requires two new environment variables:
G4VIS_BUILD_ASCIITREE_DRIVER and G4VIS_USE_ASCIITREE.
- Introduced first version of G4GAGTree to dump geometry hierarchy
to GAG GUI system.
This requires two new environment variables:
G4VIS_BUILD_GAGTREE_DRIVER and G4VIS_USE_GAGTREE.
- Migration to STL vector. Removed references to RW wrappers.
- Removed OS dependence from the DAWN-network driver.
* gethostname() removed
* removed G4SocketConfig.hh and G4SocketMacro.hh.
NOTE: now "setenv G4DAWN_HOST_NAME hostname" is mandatory to use
the DAWN-network driver.
o G4toG4 Tool:
-----------
- Fix in GNUmakefile: G4MAKESHLIB replaced with G4LIB_BUILD_SHARED
to allow building of shared library according to the new mechanism.
- Fix in G3toG4BuildTree for a case of the placement a volume in
cloned mothers. G3toG4BuildTree() has been split in two methods
G3toG4BuildLVTree() and G3toG4BuildPVTree(), the first creating
logical volumes only, the second performing placements afterwards.
- Cleared pedantic warnings detected on Linux-g++ with ISO/ANSI setup.
o Examples:
--------
- exampleN03: updated visualization macros in visTutor:
o Commands /vis/set/XXX's are replaced with /vis/viewer/set/XXX
o Commands /vis/camera/XXX's are replaced with /vis/viewer/XXX
except for /vis/camera/spin.
o Added exN03Tree0.mac for ASCII DTREE and exN03Tree1.mac for
GAG DTREE
- Migrated novice/N05 to STL vector.
- Added new interactive commands in extended/electromagnetic/TestEm5.
- Updated examples:
o extended/analysis/AnaEx01
o extended/persistency/PersistentEx01 and PersistentEx02
o advanced/xray_telescope
Notes:
o Geant4 3.2 is based on STL and can be installed with strict
ISO/ANSI C++ compliant setup or not. See notes below.
The code and some binary libraries are available through our "Source Code"
Web page:
- see our Geant4 Home Page (http://cern.ch/geant4).
Please refer to the Geant4 User Documentation
(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
for further information about using Geant4.
Updates to the documentation for Geant4 3.2 are expected to be published as
usual within three weeks from the release date.
Contents
--------
1. Supported and Tested Platforms
2. ANAPHE and CLHEP
3. The Standard Template Library (STL)
4. Persistency
5. Compiler Specific Problems
6. Known Run-Time Problems
7. Compilation Warnings
8. Known Run-Time Warnings
1. Supported and Tested Platforms
---------------------------------
o SUN Solaris 5.6/5.7, C++ 4.2 Patch 104631-04, C++ 5.2 Patch 109508-03.
o HP 10.20, aCC C++ B3910B A.01.23
o Linux 2.2.17-7, gcc C++ egcs-2.91.66 (egcs 1.1.2), gcc 2.95-2.
This configuration was tested with the RedHat 6.1 distribution, but
versions of Geant4 have also been compiled successfully on more recent
RedHat, Debian and Suse distributions.
o NT 4.0 with Service Pack 4 or Windows-2000 and Cygnus Tools b20 with:
Visual C++ 6.0 Service Pack 2
Platforms also tested but giving rise to some problems - see below:
o DEC V4.0, cxx C++ V6.1-027.
Platforms configured but not tested and not supported:
o SGI V6.5.5, CC 7.2.1 with ObjectSpace
o AIX 4.3.2, xlC compiler with ObjectSpace
2. ANAPHE and CLHEP
-------------------
Geant4 3.2 requires the installation of CLHEP.
See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
Tests have been performed with CLHEP 1.6.0.0.
By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
if the compiler is capable. You need to explicitly disable CLHEP settings in
case you wish non-ISO/ANSI setup on specific compilers.
Geant4 3.2 coworks with ANAPHE 3.6.0 and components included therein:
Objectivity 6.1
ObjectSpace 2.1
HepODBMS 0.3.2.9
CLHEP 1.6.0.0
For more information about ANAPHE, see: http://cern.ch/anaphe
3. The Standard Template Library
--------------------------------
The following versions of STL have been tested:
ObjectSpace STL on SUN (CC 4.2).
See ObjectSpace (http://www.objectspace.com).
"Native" STL on: Windows/NT, Linux, HP, DEC and SUN (CC 5.2).
This is selected at installation/compile time by the environment variable
G4USE_OSPACE in the case of the former - see documentation.
NOTES:
- Be aware that by default, the installation scripts will expect to use
the native STL implementation. You must set the G4USE_OSPACE variable
in the environment in order to select the ObjectSpace implementation.
- Platform specific setup:
o DEC: ObjectSpace is required in non ISO/ANSI setup.
Native STL is required for ISO/ANSI setup.
o HP: Native STL is used (non ISO/ANSI setup).
o SUN: ObjectSpace is required in non ISO/ANSI setup (CC 4.2).
Native STL is required for ISO/ANSI setup (CC 5.2 only).
o Linux: Native STL is required (non ISO/ANSI setup).
o NT: Native STL and ISO/ANSI setup required.
4. Persistency
--------------
Platform
--------
Persistency in Geant4 3.2 release is tested on the following
platforms:
G4SYSTEM OS C++ compiler HepODBMS Objectivity
--------- ----------- ------------ --------- -----------
SUN-CC SunOS 5.6 CC 4.2 0.3.1.4 5.2.1
SUN-CC5 SunOS 5.7 CC 5.2 0.3.2.10(*) 6.1.3 (*)
Linux-g++ RedHat 6.1 egcs-2.91.66 0.3.1.4 5.2.1
Linux-g++ RedHat 6.1 egcs-2.95.2 0.3.2.3 (#) 6.0 (#)
(*) HepODBMS header files must be prepared with "ooddlx -noline"
option. See below.
(#) Setup scripts for HepODBMS and Objectivity has been changed on
CERN AFS. See g4odbms_setup[.sh.csh] in example PersistentEx01
in 'geant4/examples/extended/persistency' for example setup scripts.
Known Problems
--------------
- There are several warning messages on some platforms during the
installation of the libraries and the compilation of the examples.
Most of them can be safely ignored. It is annoying but hard to get
rid of them due to various reasons.
- A warning message "Could not find naming root directory" appears at
runtime of the persistency examples. It is generaged by
HepDbApplication in HepODBMS. It can be ignored.
- On Solaris7 (SUN-CC5), persistent header files has to be generated by
ooddlx with "-noline" option to work around a bug in C++ compiler.
This workaround applies not only to Geant4 Persistency category but
also to HepODBMS, and the user defined ddl files as well. This
option removes the "#line" directive of the file name and the line
number of the original .ddl file. As a consequences, C++ compiler
no longer "tells" the correct file name and the line number of the
.ddl file if compiler error occurs. Try to identify the compiler
error by first looking into the header file generated by ooddlx,
and then locate the source of the problem by looking into the .ddl
file. A patch to the compiler is expected from SUN.
5. Compiler Specific Problems
-----------------------------
o DEC V4.0, cxx C++ V6.1-027.
- We have found cases of mis-compilation of min and max templates
on DEC. We have traced those which cause serious malfunction
but there is no guarantee that there are no other cases.
Detailed inspection of assembler output suggests that this
problem might not be confined to min and max. This has been
reported to DEC/Compaq. We understand a new version 6.2 of the
compiler is now available. However we cannot guarantee correct
execution of Geant4 on DEC with the current version of the
compiler.
- A bug in cin.getline() system function causes an anomalous
behavior when running in interactive-mode on DEC-cxx 6.1 in
ISO/ANSI mode. We tested the bug has been fixed in more recent
versions of the compiler.
6. Known Run-Time Problems and Limitations
------------------------------------------
For a complete list of outstanding run-time problems and to submit any
problem you may find running this version of Geant4, please refer to the
Geant4 Problem Reporting System, available on the Web at this address:
http://cern.ch/geant4/problemreport
7. Compilation Warnings
-----------------------
There are compilation warnings on some platforms. We do not believe
that any will lead to incorrect run-time behaviour, but we are working
on reducing them.
8. Known Run-Time Warnings
--------------------------
The following messages can be written to error output while tracking. We
believe none give rise to incorrect behaviour.
o G4PropagateInField: Warning: Particle is looping
- tracking in field will be stopped.
It has performed 10000 steps in Field while a maximum of 10000
are allowed.