278 lines
10 KiB
Plaintext
278 lines
10 KiB
Plaintext
|
|
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 - <math.h> 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
|