source: trunk/ReleaseNotes/ReleaseNotes4.3.2.txt @ 1341

Last change on this file since 1341 was 1337, checked in by garnier, 14 years ago

tag geant4.9.4 beta 1 + modifs locales

File size: 17.8 KB
Line 
1
2                 Geant4 3.2 Release Notes
3                 ------------------------
4
5                                                      29th June 2001
6
7These are the main new features/fixes included in this release since
8release 3.1 (for the detailed list of fixes/additions, please refer to the
9related 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
247Notes:
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
252The code and some binary libraries are available through our "Source Code"
253Web page:
254- see our Geant4 Home Page (http://cern.ch/geant4).
255
256Please refer to the Geant4 User Documentation
257(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
258for further information about using Geant4.
259Updates to the documentation for Geant4 3.2 are expected to be published as
260usual within three weeks from the release date.
261
262
263Contents
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
2761. 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
288Platforms also tested but giving rise to some problems - see below:
289
290  o DEC V4.0, cxx C++ V6.1-027.
291
292Platforms 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
2972. ANAPHE and CLHEP
298-------------------
299
300Geant4 3.2 requires the installation of CLHEP.
301
302See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
303Tests have been performed with CLHEP 1.6.0.0.
304
305By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
306if the compiler is capable. You need to explicitly disable CLHEP settings in
307case you wish non-ISO/ANSI setup on specific compilers.
308
309Geant4 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
315For more information about ANAPHE, see:  http://cern.ch/anaphe
316
317
3183. The Standard Template Library
319--------------------------------
320
321The 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
329This is selected at installation/compile time by the environment variable
330G4USE_OSPACE in the case of the former - see documentation.
331
332NOTES:
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
3474. 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
3945. 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
4146. Known Run-Time Problems and Limitations
415------------------------------------------
416
417For a complete list of outstanding run-time problems and to submit any
418problem you may find running this version of Geant4, please refer to the
419Geant4 Problem Reporting System, available on the Web at this address:
420
421    http://cern.ch/geant4/problemreport
422
423
4247. Compilation Warnings
425-----------------------
426
427There are compilation warnings on some platforms.  We do not believe
428that any will lead to incorrect run-time behaviour, but we are working
429on reducing them.
430
431
4328. Known Run-Time Warnings
433--------------------------
434
435The following messages can be written to error output while tracking.  We
436believe 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.
Note: See TracBrowser for help on using the repository browser.