Geant4 1.1 Release Notes ------------------------ 10th March 2000 The following is a summary of the main fixes collected since release 1.0 and included in Geant4 1.1 (for the detailed list of fixes/updates, please refer to the related History files): o Configuration scripts - introduced G4NO_OPTIMISE flag for compilation with no optimisation level, G4DEBUG if defined takes precedence. - added G4DEBUG and G4OPTIMISE to the CPPFLAGS list. - fixed bug in EXTRALIBS. - fixed linking order for compound libraries. o Electromagnetic Processes: - low-energy processes: + updated anti-proton energy losses to provide simulation down to 1 keV. + minor bug fixes to G4ionLowEnergyIonisation. + fixes to electron and photon low energy processes. o Events: - introduced corrections for trajectories of suspended tracks. o Geometry: - syncronixed HEAD version of files after ISO-C++ migration. - CSG: fixed bug in DistanceToIn(p,v) for G4Trap. - volumes: added protection to GetSlice() in G4DrawVoxels. o Globals: - added check on definition of CLHEP_MAX_MIN_DEFINED flag. - introduced constructor for 3vectors in G4BestUnits. - fixed truncation problem in G4Poisson. - STLinterface: + enforced bound-checking for [] access operators. + fixed bugs in G4String::toUpper() and G4String::toLower(). + fixed bounds overflow error in G4RWTPtrSortedVector::find(). o Graphics Representations - fix for spheres with small dtheta. o Hadronic Processes: - fixed the 'no data' problem observed in the neutron transport tests. o Persistency: - fixed typo in G4PersistentGeomMan class. o Tracking & Track: - added protection for NULL pointers in G4SteppingManager. - fixed bug related to track weight in G4VParticleChange. o Visualization: - added fix for ISO-ANSI C++ in VRML driver. - introduced commands /vis/viewer/show and /vis/viewer/refresh - introduced general handling of displaced solids. - added some protections in case of no viewer and no voxelisation. o G3-to-G4 tool: - introduced fixes to G3VolTable::GetVTE() and G3Division::CreateSolid(). - avoid placement of top-level logical volume in G3toG4BuildTree. - removed obsolete files. o Examples: - introduced stepping verbosity (N02, N03). - added 10 TeV mu- in macro exampleN04.EMtest.in. - extended/electromagnetic examples: bug fixes and introduced low-energy test (TestEm6) - introduced 'large N' input macros. - updated reference outputs. Notes: o Geant4 1.1 is based on STL and the code has been upgraded to be ISO-ANSI C++ compliant. Code in this release include the ability to choose between using the 'std' namespace in ISO/ANSI mode or using traditional style programming in the global namespace (exceptions still apply concerning mathematical functions - in global namespace is still in use, or standard C I/O functions). The source 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. Contents -------- 1. Supported and Tested Platforms 2. CLHEP 1.4 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, C++ 4.2 patch 104631-04 o HP 10.20, aCC C++ B3910B A.01.18 or A.01.21 o Linux 2.2.5-22, gcc C++ egcs-2.91.66 (egcs 1.1.2). This configuration was tested in the RedHat 6.1 distribution, but versions of Geant4 have also been compiled successfully on, Debian and Suse distributions. Platforms/compilers also tested but giving rise to some problems - see below: o DEC V4.0, cxx C++ V6.1-027. o SUN Solaris 5.6, C++ 5.0 patches 107357-07, 107311-09 o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with: Visual C++ 6.0 Service Pack 2 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. CLHEP 1.4 ------------ Geant4 1.0 requires the installation of CLHEP 1.4. See CLHEP 1.4 (http://cern.ch/clhep/INSTALLATION/clhep.html). Be aware, for the platforms listed below, the standard CLHEP installation will use ISO-ANSI setup: DEC: if using the compiler option "-std strict_ansi", it is required to compile Geant4 in ISO-ANSI mode and 'native' STL. NT: if CLHEP has been installed with the line: #define HEP-USE-STD 1 uncommented in file config/CLHEP-x86-cygnus-win32, it is required to compile Geant4 in ISO-ANSI mode and 'native' STL. 3. The Standard Template Library -------------------------------- The following versions of STL have been tested: "Native" STL on: Linux, HP, DEC, SUN, NT. ObjectSpace STL on DEC, HP, NT and SUN. See ObjectSpace (http://www.objectspace.com). This is selected at installation/compile time by the environment variable G4USE_OSPACE in the case of the latter - 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. - Platforms specific setup: o DEC: - Default: 'native' STL and ISO-ANSI setup. - G4USE_OSPACE set: selects ObjectSpace STL (required) and no ISO-ANSI setup. o HP: - Default: 'native' STL and ISO-ANSI setup. - G4USE_OSPACE set: selects ObjectSpace STL (required) and no ISO-ANSI setup. - G4NO_STD_NAMESPACE set: either ObjectSpace or 'native' STL can be used. o SUN: - Default: 'native' STL and ISO-ANSI setup. This setup requires the CC compiler version 5.0. - G4USE_OSPACE set: selects ObjectSpace STL (required) and no ISO-ANSI setup. o Linux: native STL is required. No ISO-ANSI setup. o NT: - Default: 'native' STL and ISO-ANSI setup. - G4USE_OSPACE set: selects ObjectSpace STL (required) and no ISO-ANSI setup. Geant4 1.1 requires the Standard Template Library. In the interest of stability, a significant part of the code still makes use of the "STL Interface" wrapper classes. For these the emphasis has remained on correct behaviour, rather than performance. 4. Persistency -------------- - See release notes for Geant4 1.0. 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. o SUN Solaris 5.6, CC 5.0 patches 107357-07, 107311-09 The listed patches are required in order to fix a bug in the system Standard I/O libraries for streams. Part of the Geant4 code can be compiled only in debug mode (G4DEBUG set). A bug in the compiler optimiser causes the compiler to run in an infinite loop during compilation. Also, the inclusion of debug symbols causes the generation of abnormally huge binary objects. A bug report is being filed to SUN Support. o NT - Due to limitations of the VC++ optimiser, 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 artifact of using g++ for this purpose. - Ignore linker warnings: "conflicts with use of other libs". - Ignore linker errors: "unresolved external symbol __imp__MessageBoxA@16". 6. Known Run-Time Problems -------------------------- o Reading STEP files on DEC with optimised libraries causes a Memory fault - but see notes on DEC above. o In rare cases heavy ions appear not to be properly stopped and killed in tracking, therefore Geant4 sticks making many small steps. This behaviour has been observed on SUN and is under investigation. o On WindowsNT and DEC (ISO-ANSI setup), a problem can occur reading the data files associated with the environment variable $NeutronHPCrossSections. The problem is being investigated. 7. Compilation Warnings ----------------------- There are compilation warnings on some platforms. We do not believe that any will lead to incorrect run-time behaviour, however a parallel Q/A activity is on going to reduce 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 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 Warning in G4Navigator::ComputeStep: The Step's starting point has moved... 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. For very high energy muons (ex. 1 TeV) warnings of this kind might be generated: o G4ParticleChange::CheckIt : the Momentum Change is not unit vector !! Difference: 1e-09 G4ParticleChange::CheckIt