Geant4.0.1 Release Notes ------------------------ 14th July 1999 This version of Geant4 is a "consolidation" of the first public release. Its main characteristics are: o improved reliability and robustness. o the possibility of using granular (sub-category) libraries. We recommend this mode of installation and use. o the possibility of using either the Standard Template Library (STL) or RogueWave tools.h++, selectable at installation and use time. o new low energy electromagnetic processes (first version). o extension of nuclear photon-evaporation to include the calculation of time to production for gammas. o improvements in design of the User Action classes - see below. Note that the next release, Geant4.1.0, will be offered only in the STL version. This 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.0.1 are still in preparation and are expected to be published within three weeks. Contents -------- 1. Supported and Tested Platforms 2. CLHEP 1.4 3. Using the Standard Template Library 4. Compiler Specific Problems 5. Known Run-Time Problems 6. Compilation Warnings 7. Known Run-Time Warnings 8. Changes of the Signatures of Methods of the User Action Classes 1. Supported and Tested Platforms --------------------------------- o SUN Solaris 5.6, C++ 4.2 patch 104631-04. o HP 10.20, aCC C++ B3910B A.01.18. o Linux 2.0.35, gcc C++ egcs-2.91.60. There is a bug in an egcs include file which affects compilation with STL - see comments below. This configuration was tested in the RedHat 5.1 distribution, but versions of Geant4 have also been compiled successfully in Debian and Suse distributions. Platforms also tested but giving rise to some problems - see below: o AIX 4.3, xlC compiler. o DEC V4.0, cxx C++ V6.1-027. o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with: Visual C++ 6.0 Service Pack 2 for either STL or RogueWave, or Visual C++ 5.0 Service Pack 3 for the RogueWave version only. 2. CLHEP 1.4 ------------ Geant4.0.1 requires the installation of CLHEP 1.4 (http://cern.ch/clhep/INSTALLATION/clhep.html). The following platform specific instructions apply: DEC: Do *not* use the compiler option "-std strict_ansi". NT: After configure, edit the file config/CLHEP-x86-cygnus-win32 and comment out "#define HEP-USE-STD 1". 3. Using the Standard Template Library -------------------------------------- The following versions of STL have been tested: ObjectSpace STL (http://www.objectspace.com) on: AIX, DEC, HP, NT and SUN. STLPORT STL (http://www.stlport.org) on: NT "Native" STL on: Linux. This is selected at installation/compile time by environment variables - see documentation. Be aware that this is the first implementation of "The STL Interface" for which the emphasis has been on correct behaviour, not on performance. Also, the size of libraries and executables is considerably larger. These issues will be addressed in the next release. 4. Compiler Specific Problems ----------------------------- o Linux with egcs-1.1.1 and 1.1.2 In order to compile with STL it is necessary to edit stl_hash_fun.h in /usr/include/g++/ or /usr/local/include/g++/. Lines 65-67 must be removed or commented out. These are the lines in question: __STL_TEMPLATE_NULL struct hash { size_t operator()(unsigned char x) const { return x; } }; o AIX 4.3, xlC compiler. Geant4 does compile and link on AIX... eventually. The compiler is very slow and the executables in debug mode are very large. On rsplus at CERN we had to revert to a version of the archiver corresponding to AIX 4.1 in order to have templates treated correctly. This has limited our ability to test Geant4. 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.1A of the compiler is on its way. However we cannot guarantee correct execution of Geant4 on DEC with the current version of the compiler. o NT - Note that the G4SYSTEM environment variable used for compiling Geant4 on NT has changed from WIN32-VC-NICE to WIN32-VC. Please check documentation on setting the environment. - Testing was done using the debuggable version only. - g3tog4 has not been ported to NT. - During the making of dependency files during compilation there are repeated warnings ("strstrea.h not found") - this is an artefact of using g++ for this purpose. - Ignore linker warnings: "conflicts with use of other libs". - Ignore linker errors: "unresolved external symbol __imp__MessageBoxA@16". - There is a known problem reading the data files for neutron scattering processes. A patch resolving this problem will be issued soon. 5. Known Run-Time Problems -------------------------- o Reading STEP files on DEC with optimised libraries causes a Memory fault - but see notes on DEC above. o exampleN04 loops on DEC with optimised libraries - but see notes on DEC above. o On HP, an executable which uses "integral approach" electromagnetic processes - G4IMultipleScattering, G4IeIonisation, G4IeBremsstrahlung, G4IeplusAnnihilation, G4IhIonisation - has intermittently given Bus error(coredump). 6. Compilation Warnings ----------------------- There are compilation warnings om some platforms. We do not believe that any will lead to incorrect run-time behaviour, but we are working on reducing them. 7. Known Run-Time Warnings -------------------------- The following messages are written to error output while tracking. We believe none give rise to incorrect behaviour. o G4PropagatorInField::LocateIntersectionPoint: Warning: Integration inaccuracy requires an adjustment in the step's endpoint Two mid-points are further apart than their curve length difference: Dist = xxx curve length = yyy o Stepsize underflow in Stepper. o Warning G4Navigator::ComputeStep found slightly inaccurate position... o Warning in G4Navigator::ComputeStep: The Step's starting point has moved... 8. Changes of the Signatures of Methods of the User Action Classes ------------------------------------------------------------------ The signatures of all methods of all of the optional user action classes have been changed. Now every method takes a constant pointer to an appropriate G4 object. To cope with this change the user code must be modified. The examples and documents are updated and the user is requested to consult to them. We are sorry for this inconvenience but we concluded that this change will provide the user with a better and more robust code.