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