source: trunk/ReleaseNotes/ReleaseNotes4.4.0.txt @ 1354

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

tag geant4.9.4 beta 1 + modifs locales

File size: 28.5 KB
Line 
1
2                 Geant4 4.0 Release Notes
3                 ------------------------
4
5                                                      14th December 2001
6
7These are the main new features/fixes included in this release since the
8last public release (for the detailed list of fixes/additions, please refer
9to the related History files):
10
11  o Analysis:
12    --------
13  - Removed analysis module. AIDA 2.2 or higher should now be adopted.
14
15  o Configuration:
16    -------------
17  - New version of the 'Configure' script for installation.
18  - architecture.gmk:
19    o made Linux-g++ architecture the default G4SYSTEM.
20    o removed references to STLInterface.
21  - Added Linux-egcs for old Linux architectures based on egcs-1.1.2 compiler.
22  - Made Linux-g++ specific to gcc-2.95.2 compiler or higher.
23  - Made SUN-CC specific to CC-5.2 compiler, the default compiler on SUN
24    systems. CC-4.2 is no longer supported.
25  - Introduced environment variable G4VIS_NONE that, if set, no visualization
26    drivers are built and no vis libraries are built.
27  - Introduced environment variable G4UI_NONE that, if set, no UI
28    sessions nor any UI libraries are built.
29  - Re-engineered G4VIS variables: removed the need to specify environment
30    variables for visualization drivers which do not need external packages
31    or libraries, namely :
32      G4VIS_BUILD_DAWNFILE_DRIVER
33      G4VIS_BUILD_RAYTRACER_DRIVER
34      G4VIS_BUILD_VRMLFILE_DRIVER
35      G4VIS_BUILD_ASCIITREE_DRIVER
36      G4VIS_BUILD_GAGTREE_DRIVER
37    with associated G4VIS_USE environment variables:
38      G4VIS_USE_DAWNFILE
39      G4VIS_USE_RAYTRACER
40      G4VIS_USE_VRMLFILE
41      G4VIS_USE_ASCIITREE
42      G4VIS_USE_GAGTREE
43  - Re-engineered G4UI variables: removed the need to specify environment
44    variables for UI sessions which do not need external packages or
45    libraries, namely :
46      G4UI_BUILD_GAG_SESSION, G4UI_BUILD_TERMINAL_SESSION
47    with associated G4UI_USE environment variables:
48      G4UI_USE_GAG, G4UI_USE_TCSH, G4UI_USE_TERMINAL
49  - Removed references to STLInterface module in architecture.gmk
50    and architecture setups.
51  - analysis.gmk: added flags to use an AIDA 2.2 compliant analysis system.
52
53  o Event:
54    -----
55  - Added a new feature for the user to increase the number of waiting stacks.
56  - Added Beam option for generating accelerator beams.
57  - Added check whether the primary vertex is inside of the world volume.
58  - G4PrimaryParticle now stores the proper trackID.
59  - G4PrimaryTransformer: now considering case where a primary is
60    placed on the boundary of the world volume.
61  - G4GeneralParticleSource (GPS): implemented co-ordinates rotation for
62    angular distribution.
63  - Bug fix in G4EventManager in case G4_STORETRAJECTORY is off.
64  - Moved set method of position and time from G4ParticleGun to
65    G4VPrimaryGenerator so that G4HEPEvtInterface can accept the primary
66    vertex position
67  - Cleared compilation warnings on gcc-2.95.2.
68  - Fixes to comply with removal of STLInterface.
69
70  o Electromagnetic Processes (Low-energy):
71    --------------------------------------
72  - Major revision of G4LowEnergyCompton, G4LowEnergyRayleigh and
73    G4LowEnergyGammaConversion: re-implementation according to the design
74    iteration in the data domain.
75  - New version of data G4EMLOW0.5 required.
76  - New classes for shell cross sections for proton-induced fluorescence.
77  - First implementation of fluorescence process.
78  - Introduced PIXE in G4hLowEnergyIonisation.
79  - Significant physics an performance improvement in electron processes.
80  - Added method to deactivate fluorescence in ionisation if needed.
81  - Added protection in G4LowEnergyPhotoElectric to avoid generation of
82    photons causing negative energy balance.
83  - Fixed a problem of continuity of ion effective charge.
84  - Fixed energy conservation problems for small range cuts in
85    G4LowEnergyIonisation.
86  - Introduced changes to allow multiple cuts per material (temporary).
87  - Removed static inline methods to non inline.
88  - Cleared compilation warnings on gcc-2.95.2.
89  - Fixes to comply with removal of STLInterface.
90
91  o Electromagnetic Processes (Standard):
92    ------------------------------------
93  - Implemented mechanism for storing and retrieving Physics Tables.
94  - Implemented new function ComputeRestrictedMeandEdx() for ionisation
95    processes.
96  - Implemented subcutoff delta-rays mechanism in G4VMuEnergyLoss.
97  - Suppression of the production threshold in phot, compt, conv, annih
98    processes.
99  - Removed obsolete "integral" module.
100  - Fixed old outstanding bug in G4EnergyLossTables, responsible for
101    causing negative energy deposit in some occasions.
102  - Introduced changes for reference-counted touchables.
103  - Introduced changes to allow multiple cuts per material (temporary).
104  - Removed static inline methods to non inline.
105  - Cleared compilation warnings on gcc-2.95.2.
106  - Fixes to comply with removal of STLInterface.
107
108  o General Processes, Parameterisation, Decay, Optical:
109    ---------------------------------------------------
110  - management:
111    o Added Set/GetProcessManager() to G4VProcess and modified
112      G4ProcessManager::AddProcess() to invoke SetProcessManager().
113    o Fixed bug in copy constructor of G4ProcessManager.
114  - parameterisation(s):
115    o Added new classes describing X-ray transition radiation generation
116      inside radiators (i.e. just along incident particle track):
117      G4FoamXTRdEdx, G4GamDistrXTRdEdx, G4IrregularXTRdEdx,
118      G4PlateIrrGasXTRdEdx, G4RegularXTRdEdx, G4VXTRdEdx, G4VXrayTRadModel.
119    o Introduced changes in G4VClusterModel for reference-counted
120      touchables.
121  - optical:
122    o Changed process name for G4OpRayleigh, G4OpBoundary and G4OpAbsorption.
123  - Cleared compilation warnings on gcc-2.95.2 compiler.
124  - Fixes to comply with removal of STLInterface.
125
126  o Geometry:
127    --------
128  - Introduced geometry/verification module for checking geometry for
129    volumes overlaps.
130  - Magnetic field:
131    o Handling Electric Field and time-dependent fields.
132    o Introduced ability to set field per volume.
133    o New extended examples for field in examples/extended.
134    o Added method in G4ChordFinder to erase/reset the state of the
135      StepEstimate. This is unwanted internal state that was carried
136      between tracks and events as a side effect.
137      Calling this at the start of each track, it is now possible to
138      eliminate a reported problem of non-repeatability.
139    o Reduced maximum number of steps in G4MagIntegratorDriver.
140    o Protected verbose warnings with G4DEBUG_FIELD flag in G4ChordFinder
141      and G4MagIntegratorDriver.
142    o G4FieldManager: added fFieldChangesEnergy data member and get/set
143      methods.
144    o Fixed interface to virtual functions in the inheritance chain of
145      G4Field and subclasses.
146  - Management:
147    o Added definition of G4TouchableHandle.
148    o Added class G4SmartVoxelStat for statistics on geometry optimisation
149      of volumes through voxelisation.
150    o Modified G4GeometryManager to make use of G4SmartVoxelStat when run
151      in verbose mode:
152      - added argument to CloseGeometry() method for verbosity
153      - added ReportVoxelStats() method for reporting optimisation statistics.
154    o Initialise noNodes to 1 in G4SmartVoxelHeader::BuildNodes() in case
155      computed nodes for smartless happen to be zero.
156  - Volumes:
157    o Introduced G4GeometryMessenger associated to G4TransportationManager
158      with following commands defined:
159      - geometry/test/run - to start verification of geometry for overlapping
160                            regions based on standard grid setup.
161      - geometry/test/line_test  - to activate test along a specified
162                                   direction and position user defined.
163      - geometry/test/position   - to specify position for the line_test.
164      - geometry/test/direction  - to specify direction for the line_test.
165      - geometry/test/tolerance  - to customise test precision.
166      - geometry/navigator/reset - for resetting navigation history
167                                   and position.
168    o Added handles for reference counting: G4GRSSolidHandle,
169      G4GRSVolumeHandle, G4TouchableHistoryHandle.
170    o Modified G4Navigator for reference counted touchables.
171      Introduced new methods CreateTouchableHistoryHandle() and
172      LocateGlobalPointAndUpdateTouchableHandle(...).
173    o G4PropagatorInField:
174      - Added thresholds for number of steps with get/Set methods.
175      - Modified choice of subsequent step size in case of zero steps.
176      - Added GetCurrentFieldManager() method.
177      - Added 'maximum' epsilon value.
178    o G4Navigator:
179      - Fixed mirroring of the input argument for global direction into
180        local variable in LocateGlobalPointAndSetup().
181      - Added ResetState() method (that only reset state - not stack).
182      - Added optional argument for direction to LocateGlobalPointAndSetup().
183      - State is now resetted when touchable history is used to
184        re-initialise it.
185      - Direction in LocateGlobalPointAndSetup() methods is now used.
186  - solids/Boolean:
187    o Introduced first implementation of classes G4ReflectedSolid and
188      G4ReflectionFactory for reflections of positioned volumes based
189      on simple CSG solids.
190    o Introduced G4BOOLDEBUG flag and relaxed G4Exception calls with
191      warnings to G4cerr for rare occurences of anomalous conditions.
192  - solids/BREPS:
193    o Fix in G4BSplineCurve::Init() for initialisation of point vector.
194    o G4BREPSolidPolyhedra.cc: fixed situation when phi1 = 0 dphi1 = 2*pi
195      and all RMINs = 0.0. In this case the inner planes are not created.
196  - solids/CSG:
197    o G4Sphere: bug fix in SurfaceNormal() for the case kNETheta.
198  - solids/STEP & STEPinterface:
199    o SdaiCONFIG_CONTROL_DESIGN.cc: cleaned up warnings issued on SUN-CC.
200    o dirobj.cc: restored usage of strdup() and forced non-ANSI setup.
201    o Fixes for compilation on gcc-2.96.98 and gcc-3.0.2 compilers.
202    o G4Axis2Placement3dCreator::CreateG4Geometry(): added check to
203      attribute validity for 'direction'.
204  - Cleared compilation warnings on gcc-2.95.2 compiler.
205  - Fixes to comply with removal of STLInterface.
206
207  o Global:
208    ------
209  - Introduced G4ReferenceCountedHandle templated class.
210  - Modified G4Exception behavior, now setting G4StateManager to
211    "abort" state instead of aborting the application.
212  - Removed STLinterface module:
213    o renamed cstring[.h.icc] to G4String[.hh.icc].
214    o renamed ctoken.h to G4Tokenizer.hh.
215
216  o Graphics Representations:
217    ------------------------
218  - Added G4Scale class.
219  - Added G4Polyline::transform.                       
220  - Cleared compilation warnings on gcc-2.95.2 compiler.
221
222  o Hadronic Processes:
223    ------------------
224  - Doppler broadening of low energy neutron cross-sections on the fly,
225    enabling to simulate setups with mixed temperatures from 0K data files.
226  - First release of chiral invariant phase-cpace decay.
227    Usable now for electron and gamma nuclear reactions, and for pi-
228    and anti-proton absorption. Also a cascade back-end replacement for
229    string models.
230  - First release of specialized models for neutron and proton scattering
231    off Hydrogene, with particular focus on recoils.
232  - First release of the evaporation and utilities parts of the HETC
233    re-write.
234  - Optimized memory usage of the neutron_hp transport code (gained an
235    integer factor)
236  - Maximized robustness: system tests now at O(5000) LHC event of hadronic
237    energy flow; large-N tests with about a factor 100 more statistics.
238  - Addition of gamma nuclar and electro nuclear reaction cross-sections.
239  - Checking for tracking consistancy.
240  - Added possibility to activate models for single elements/materials in
241    one call
242  - Now calling ResetNumberOfInteractionLengthLeft() rather than
243    ClearNumberOfInteractionLengthLeft().
244  - Enabled logging in various places.
245  - Fix for final state rotation from z; this can be done in general in
246    the hadronic process framework layer.
247  - Added G4PhotoNuclearProcess, G4PositronNuclearProcess, and
248    G4ElectronNuclearProcess.
249  - Optimised sampling of gaussian distributions.
250  - Fixed a missing initialization of strangeness in the high energy
251    models.
252  - Fixed the particle production for low energy light ion reactions.
253  - Bug fix for beta+ decay in radioactive decay (corrected Q-value).
254  - Bug-fix in neutron induced isotope production code to allow for mixtures.
255  - Bug-fix in the vector hash to allow for re-use of the hash tables.
256  - Getting rid of the strstream portability problem between SUN and Linux.
257  - Some conservative programming in the sampling vector, to allow for
258    binary re-use of the hash.
259  - Minor bug fix on gamma distributions in very special cases (yields and
260    integral energy was correct, but distribution had a slight bias before).
261  - Fix on elastic scattering final states: getting rid of a bias that was
262    there for a particular data representation. Affects Xenon.
263  - Fix for inelastic n->b+m*gamma channel; for the case of 4 gammas in the
264    final state, the mass of the recoil was of by one under certain condition.
265    (Mildly relevant for activation when simulating earth.)
266  - Fix in Names finding for scattering off Hydrogen.
267  - New calculation for compound radius in coulomb barrier calculation.
268  - Reduced default vector size.
269  - Added delete structs to the vectors.
270  - Getting rid of the E-11ev gamma problem, and a few memory leaks
271    introduced in the STL transition.
272  - Templated qgs models with the type of participants to enable heavy ion
273    collision simulation; heavy ion participants still to be fixed for
274    impact of fermi momentum.
275  - qgs model now also for kaons.
276  - Enabled 'meson' splitting for incident gammas in quark gluon string
277    model.
278  - First tuning of pomeron trajectory and vertex parameters for incident
279    gammas, assuming vector meson dominance; based on total reaction
280    cross-section only; further improvement scheduled.
281  - Fixed minimum mass constraint on string fragmentation in the
282    presence of zeitgleiche multiple and multi pomoron exchange, and
283    diffractive collisions.
284  - Design iteration on string fragmentation.
285  - Traced an elusing charge non-conservation to isotopic composition of
286    Hydrogene, which is taken care of internally.
287  - Bug-fix for splitting Omega- into partons.
288  - Added transformation in pre-equilibrium decay.
289  - Enabled tracing of colour, spin and iso-spin in the parton.
290  - Some improvement on folding two resonance collision cross-section.
291  - Cleared most compilation warnings and minor fixes for gcc-2.95.2 compiler.
292  - Fixes to comply with removal of STLInterface.
293
294  o Materials:
295    ---------
296  - G4Isotope, G4Element, G4Material: IndexInTable is now obtained
297    dynamically via GetIndex().
298  - Added new function G4Materials::SetChemicalFormula().
299  - Fixed problems erasing when deleting Isotope, Element or Material objects.
300  - Fixed memory leak in G4SandiaTable::ComputeMatSandiaMatrix(),
301    for deletion of temporary vectors Z, tmp1, tmp2.
302  - Moved definitions of G4IsotopeVector and G4ElementVector
303    G4ElementTable and G4MaterialTable to the appropriate headers.
304  - Removed static inline methods to non-inline.
305  - Cleared compilation warnings on gcc-2.95.2 compiler.
306  - Fixes to comply with removal of STLInterface.
307
308  o Particles:
309    ---------
310  - Introduced G4NeutronBetaDecayChannel and added to G4Neutron.
311  - Allow MassDifference in case of nucleon decay.
312  - Fixed bug in copy constructor of G4DecayProduct.
313  - Introduced changes to allow multiple cuts per material (temporary).
314  - Removed static inline methods to non-inlined.
315  - Cleared compilation warnings and minor fixed for gcc-2.95.2 compiler.
316  - Fixes to comply with removal of STLInterface.
317
318  o Persistency:
319    -----------
320  - Fixes to comply with removal of STLInterface.
321  - Fixed porting problems on gcc-2.95.2.
322
323  o Run, Intercoms and Interfaces
324    -----------------------------
325  - run:
326    o Added new feature allowing to increase the number of waiting stacks.
327    o Added Set/GetApplyCuts methods in G4VUserPhysicsList.
328    o Added /run/particle/applyCuts command in G4UserPhysicsListMessenger.
329    o Added GetVersionString() method to G4RunManager.
330    o Added rndmSaveThisRun() and rndmSaveThisEvent() methods to G4RunManager.
331    o Added /random/ commands to G4RunMessenger.
332    o Fixed bugs in G4VUserPhysicsList.
333  - intercoms:
334    o Introduced feature for suppressing the program abortion due to
335      G4Exception.
336    o Introduced "Shell variables" for UI command handling. Added
337      class G4UIaliasList.
338    o Introduced loop execution of a macro file, recursive expansion of
339      aliased  variables, and some other new features in G4UImanager and
340      related classes.
341      New commands: /control/shell, /control/foreach, /control/loop,
342                    /control/createHTML.
343    o Added G4VGraphicsScene::AddPrimitive(const G4Scale&).
344    o Added G4VisManager::Draw(const G4Scale&,...).
345    o Modified G4UIbatch to display (G4cerr) the error message.
346      Comment lines are now displayed only for verbose level=2.
347    o Included correction for string parameter starting with a space.
348    o Fixed parsing of quoted (") tokens.
349    o Fixed a problem for commands with doubled slash.
350  - interfaces:
351    o Re-engineered G4UI variables:
352      changed GNUmakefile so that GAG, TERMINAL and TCSH built by default.
353      Nothing built if G4UI_NONE is set.
354    o G4VInteractorManager::RemoveDispatcher : change the remove logic in
355      order to fix a disfunctionning with vis/OpenInventor driver.
356  - Cleared compilation warnings on gcc-2.95.2 compiler.
357  - Fixes to comply with removal of STLInterface.
358
359  o Tracking & Track:
360    ----------------
361  - track:
362    o Fixed bug for velocity in method G4Step::UpdateTrack().
363    o Implemented assignment operator for G4ParticleChangeForRadDecay.
364    o Fixed bug in assignment operator of G4Track.
365    o Removed static inline methods to non inline.
366  - tracking:
367    o Added protection for tracks placed outside the world volume
368      at the initial point.
369    o Correction to the use the touchable Handle for secondary tracks,
370      when it is available. Now the direction is used in locating a particle
371      (primary or secondary) in SetInitialStep(). This is in order to assist
372      in starting particles that are on/near-to boundaries in the correct
373      volume.
374  - Introduced changes for reference-counted touchables mechanism.
375  - Cleared compilation warnings on gcc-2.95.2 compiler.
376  - Fixes to comply with removal of STLInterface.
377
378  o Transportation:
379    --------------
380  - Motivated by the use case of an Electric Field, in order to achieve
381    reasonable accuracy in time integration, and to enable fields that
382    vary with the global time:
383    o G4Transportation now try obtaining the delta_time from G4FieldTrack.
384  - Introduced changes to G4Transportation for reference-counted touchables.
385    Added methods GetFreeTouchable() and SetTheOtherTouchableFree().
386  - Added protection in G4Transportation::AlongStepGPIL for messaging
387    "ResestStepEstimate" of G4ChordFinder for the case there is no global
388    field.
389
390  o Visualization:
391    -------------
392  - Introduced new HepRep graphics driver.
393  - Removed the need to specify environment variables for visualization
394    drivers which do not need external packages or libraries.
395  - Removed old-style commands.
396  - Added commands:
397    o /vis/scene/add/scale
398    o /vis/viewer/flush = refresh + update.
399    o /vis/viewer/set/upThetaPhi and upVector.
400    o refresh|flush option to /vis/scene/notifyHandlers.
401  - Moved /vis/viewer/lights and viewpoint to /vis/viewer/set.
402  - Added G4ScaleModel.
403  - Added G4VModel::SetExtent(const G4VisExtent&).
404  - Added G4VisManager::Draw(const G4Scale&,...).
405  - Added template graphics system XXX.
406  - Re-implemented verbosity control.  Output statements wherever possible
407    are controlled by the verbosity in a simple graded message scheme.
408  - Improved auto-refreshing.
409  - Force rebuild of graphics "stores" (graphical databases) and,
410    if auto-refresh is true, refresh of all views
411    (/vis/scene/notifyHandlers) after an addition to scene.
412  - Eliminated view parameters from G4VisManager.
413    Paramenters can be copied from one view to another with:
414    /vis/viewer/set/all
415  - Updated G4RTJpegMaker for porting Windows systems.
416  - OpenInventor : move HEPVis/SoWindow under vis/OpenInventor/G4SoWindow
417    to prepare HEPVis/6.0. (HEPVis/SoWindow will disappear from HEPVis/6.0).
418  - Fixed crash in optimised mode: added Initialise() to viewers so
419    that windows are opened after viewers are fully constructed.
420  - Corrected mistake which could cause crash if user specified a
421    non-existent scene handler in /vis/sceneHandler/remove.
422  - Fix for replica rotation matrix. It Fixes observed crashes in replica
423    tracking with visualisation.
424  - Fixed bug in G4VSceneHandler::AddPrimitive(const G4Scale&).
425  - Fixed bug in G4VisManager::EndOfEvent.
426  - Added README.quick, a quick installation guide.
427  - Improved verbosity guidance and READMEs.
428  - Cleared compilation warnings on gcc-2.95.2 compiler.
429  - Fixes to comply with removal of STLInterface.
430
431  o G4toG4 Tool:
432    -----------
433  - Implemented reflection of CSG solids through G4ReflectionFactory
434    class and G4ReflectedSolid. Added G3G4_NO_REFLECTION flag to exclude
435    it if needed for cases not yet covered.
436  - Added limited support for MANY volumes through adoption of boolean solids.
437  - Changed G3Division::CreatePVReplica() to return a G4PhysicalVolumesPair.
438  - Cleared compilation warnings on gcc-2.95.2 compiler.
439  - Fixes to comply with removal of STLInterface.
440
441  o Examples:
442    --------
443  - Novice:
444    o updated visualization macros.
445    o updated vis-managers.
446  - Extended:
447    o new electromagnetic example "TestEm10" for exercising
448      specific parameterisation models.   
449    o new examples for electro-magnetic field: field01, field02, field03.
450    o updated vis-managers.
451  - Advanced:
452    o underground_physics: new example for simulation of an underground
453      dark matter experiment.
454    o xray_fluorescence: new simulation setup for the study the elemental
455      composition of a planet through the measurement of the X-rays emitted.
456    o new improved versions of existing advanced applications.
457  - Cleared most compilation warnings on gcc-2.95.2 compiler.
458  - Fixes to comply with removal of STLInterface.
459  - Updated reference outputs.
460
461 ----------------------------------------------------------------------------
462
463                             Technical Notes
464                             ---------------
465
466  o  Geant4 4.0 is based on STL and can be installed with strict
467     ISO/ANSI C++ compliant setup or not. See notes below.
468
469The code and some binary libraries are available through our "Source Code"
470Web page:
471- see our Geant4 Home Page (http://cern.ch/geant4).
472
473Please refer to the Geant4 User Documentation
474(http://cern.ch/geant4/G4UsersDocuments/Overview/html)
475for further information about using Geant4.
476
477
478Contents
479--------
480
481  1. Supported and Tested Platforms
482  2. ANAPHE and CLHEP
483  3. The Standard Template Library (STL)
484  4. Persistency
485  5. Compiler Specific Problems
486  6. Known Run-Time Problems
487  7. Compilation Warnings
488  8. Known Run-Time Warnings
489
490
4911. Supported and Tested Platforms
492---------------------------------
493
494  o SUN Solaris 5.7, C++ 5.2 Patch 109508-03.
495  o Linux, gcc 2.95.2, egcs-2.91.66 (egcs 1.1.2).
496      This configuration was tested with the RedHat 6.1 distribution, but
497      versions of Geant4 have also been compiled successfully on more recent
498      RedHat, Debian and Suse distributions.
499  o NT 4.0 (Service Pack 4) or Windows-2000 and Cygnus Tools b20 with:
500      Visual C++ 6.0 Service Pack 5
501
502Platforms also tested but giving rise to some problems - see below:
503
504  o DEC V4.0, cxx C++ V6.1-027.
505
506Platforms configured but not tested and not supported:
507  o HP 10.20, aCC C++ B3910B A.01.23
508  o SGI V6.5.5, CC 7.2.1 with ObjectSpace
509  o AIX 4.3.2, xlC compiler with ObjectSpace
510
511
5122. ANAPHE and CLHEP
513-------------------
514
515Geant4 4.0 requires the installation of CLHEP.
516
517See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
518Tests have been performed with CLHEP 1.7.0.0.
519
520By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
521if the compiler is capable. You need to explicitly disable CLHEP settings in
522case you wish non-ISO/ANSI setup on specific compilers.
523
524Geant4 4.0 coworks with ANAPHE 3.6.5 and components included therein:
525  Objectivity 6.1.3
526  HepODBMS 0.3.3.1
527  CLHEP 1.7.0.0
528
529For more information about ANAPHE, see:  http://cern.ch/anaphe
530
531
5323. The Standard Template Library
533--------------------------------
534
535Native versions of STL have been tested on the following platforms:
536
537   Windows/2000, Linux, DEC and SUN.
538
539NOTES:
540
541- Platform specific setup:
542  o DEC:   Native STL is required for ISO/ANSI setup.
543  o SUN:   Native STL is required for ISO/ANSI setup (CC 5.2 only).
544  o Linux: Native STL is required (non ISO/ANSI setup for egcs compiler only).
545  o W2000: Native STL and ISO/ANSI setup required (VC++ 6.0).
546
547
5484. Persistency
549--------------
550
551 Platform
552 --------
553
554 Persistency in Geant4 4.0 release is tested on the following
555 platforms:
556
557 G4SYSTEM       OS        C++ compiler   HepODBMS    Objectivity
558 ---------  -----------   ------------   ---------   -----------
559 SUN-CC     SunOS 5.7     CC 5.2         0.3.3.1     6.1.3 (*)
560 Linux-g++  RedHat 6.1    gcc-2.95.2     0.3.3.1     6.1.3 (#)
561
562 (*) HepODBMS header files must be prepared with "ooddlx -noline"
563     option. See below.
564 (#) See g4odbms_setup[.sh.csh] in example PersistentEx01 in
565     'geant4/examples/extended/persistency' for example setup scripts.
566
567 Known Problems
568 --------------
569
570 - There are several warning messages on some platforms during the
571   installation of the libraries and the compilation of the examples.
572   Most of them can be safely ignored.  It is annoying but hard to get
573   rid of them due to various reasons.
574
575 - If you are using Solaris7 CC compiler 5.2 (SUN-CC) with the original
576   release version, persistent header files has to be generated by
577   ooddlx with "-noline" option due to a bug in C++ compiler.
578   This workaround applies not only to Geant4 Persistency category but
579   also to HepODBMS, and the user defined ddl files as well.
580   This is the default for SUN-CC configuration for Geant4 GNUmakefiles.
581   When this option is turned on, it removes the "#line" directive of
582   the file name and the line number of the original .ddl file.  As a
583   consequences, C++ compiler no longer "tells" the correct file name
584   and the line number of the .ddl file if compiler error occurs.  When
585   you design a persistent object with Geant4 GNUmakefiles and get the
586   compiler errors, try to identify the problem by first looking into
587   the header file generated by ooddlx, and then locate the source of
588   the problem by looking into the .ddl file.
589   A patch to the compiler is released from SUN, and you may remove this
590   option by commenting out the line:
591
592     G4DDLX_FLAGS += -noline
593
594   in the file $G4INSTALL/config/sys/SUN-CC.gmk.
595
596   You can check the SUN-CC patch by the following command:
597
598   % what `which CC` | grep RELEASE
599
600
6015. Compiler Specific Problems
602-----------------------------
603
604  o DEC V4.0, cxx C++ V6.1-027.
605
606    - We have found cases of mis-compilation of min and max templates
607      on DEC.  We have traced those which cause serious malfunction
608      but there is no guarantee that there are no other cases.
609      Detailed inspection of assembler output suggests that this
610      problem might not be confined to min and max.  This has been
611      reported to DEC/Compaq.  We understand a new version 6.2 of the
612      compiler is now available.  However we cannot guarantee correct
613      execution of Geant4 on DEC with the current version of the
614      compiler.
615    - A bug in cin.getline() system function causes an anomalous
616      behavior when running in interactive-mode on DEC-cxx 6.1 in
617      ISO/ANSI mode. We tested the bug has been fixed in more recent
618      versions of the compiler.
619
620
6216. Known Run-Time Problems and Limitations
622------------------------------------------
623
624For a complete list of outstanding run-time problems and to submit any
625problem you may find running this version of Geant4, please refer to the
626Geant4 Problem Reporting System, available on the Web at this address:
627
628    http://cern.ch/geant4/problemreport
629
630
6317. Compilation Warnings
632-----------------------
633
634There are compilation warnings on some platforms.  We do not believe
635that any will lead to incorrect run-time behaviour, but we are working
636on reducing them.
637
638
6398. Known Run-Time Warnings
640--------------------------
641
642The following messages can be written to error output while tracking.  We
643believe none give rise to incorrect behaviour.
644
645  o G4PropagateInField: Warning: Particle is looping
646    -  tracking in field will be stopped.
647       It has performed 10000 steps in Field  while a maximum of 10000
648       are allowed.
Note: See TracBrowser for help on using the repository browser.