Import Geant4 1.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:28:20 +02:00
parent aaa409b6ee
commit ca1c8cb059
2995 changed files with 106830 additions and 299600 deletions
+357
View File
@@ -0,0 +1,357 @@
Geant4 1.0 Release Notes
------------------------
7th December 1999
These are the main new features/fixes included in this release (for the
detailed list of fixes/additions, please refer to the related History files):
o Electromagnetic Processes:
- Multiple scattering: fine tuning and fixes for low energy e-;
inclusion of nuclear size effect for high energy (e+,e- > 100 MeV,
hadrons > 1 GeV);
- IonisationPlus: improved code and testing, for electrons and hadrons.
- LowEnergy: implemented hadron and ion ionisation; minor fixes in
photo electric process.
- Xrays: fixes in Cerenkov process.
- Created new examples in examples/extended/electromagnetic.
o Geometry:
- Field: minor fixes, more access to user parameters and clearer warnings;
- CSG/Booleans: fixes and more detailed unit tests;
- BREPS/STEP: fix to the NIST STEP reader for complex surfaces;
- Volumes: first implementation for visualization of voxels;
- Transportation: added protection for zero step in field.
o Globals:
- STLInterface:
major modifications for removing all references to Rogue Wave classes;
removed wrappers for hash dictionaries; reorganised classes/files.
- management:
introduced 'g4std' wrappers and keywords for migration to the ISO/ANSI
C++ standard and usage of the std namespace; fixed minor bug in
G4PhysicsVector.
o Hadronic Processes:
- new isotope-production models for neutron induced production and
corresponding design updates in hadronic/management;
- additional string model for proton induced reactions;
- design iteration on multi-fragmentation;
- memory usage optimization in the neutron transport.
NOTE: an updated set of neutron data files is now required.
o Particles:
- introduced dynamical electric charge in G4DynamicParticle to allow
change of charge for ions;
- introduced new G4IsotopeTable to manage excitation energy, lifetime,
and decay modes for isotopes;
- corrected identifier for isotopes Promethium and Prasceodym;
- corrected spelling for file-names and keyword "barion" to "baryon".
o Persistency:
- added association of HitsCollection and PrimaryVertex to G4PEvent;
added persistency of Boolean solid types; fixes for ODMG compliance;
added G4PPRimaryParticle;
- added new examples in examples/extended/persistency.
o Visualization:
- introduced visualization of *components* of a boolean solid.
Visualisation of the *result* of the boolean operation will be
available in a future release;
- introduced new commands (use help <command name> for more information):
/vis/scene/add/logicalVolume
/vis/viewer/update
- improvements to FukuiRenderer (DAWN):
made destination directory of g4.prim and g4.eps customizable
with the environmental variable G4DAWNFILE_DEST_DIR; auto
incrementation of output file names is now supported;
- removed ray tracing, pending re-implementation.
Notes:
o Geant4 1.0 is based on STL. All direct references to Rogue Wave have
been removed from the code. See notes below.
o The code released in Geant4 1.0 is not ISO/ANSI C++ compliant.
A future minor release or patch will be provided that
will include the ability to choose between using namespaces in
ISO/ANSI mode or using traditional style "includes".
This code and some binary libraries are available through our "Source
Code" Web page:
- see our <A href="http://wwwinfo.cern.ch/asd/geant4/geant4.html">Geant4
Home Page</A>.
Please refer to <A
href="http://wwwinfo.cern.ch/asd/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
User Documentation</A> for further information about using Geant4.
Updates to the documentation for Geant4 1.0 are still in preparation and are
expected to be published within three weeks.
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.0.35, gcc C++ egcs-2.91.66 (egcs 1.1.2).
This configuration was tested in the RedHat 5.1 distribution, but
versions of Geant4 have also been compiled successfully on RedHat 6.1,
Debian and Suse distributions.
Platforms also tested but giving rise to some problems - see below:
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
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 <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">
CLHEP 1.4</A>.
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. The Standard Template Library
--------------------------------
The following versions of STL have been tested:
ObjectSpace STL on
DEC, HP, NT and SUN.
See <A href="http://www.objectspace.com/">ObjectSpace</A>.
"Native" STL on: Linux, HP.
This is selected at installation/compile time by the environment variable
G4USE_OSPACE in the case of the former - 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.
- Platform specific setup:
o DEC: ObjectSpace is required.
o HP: either ObjectSpace or native STL can be used. In order to use
native STL you must also set the environment variable
G4NO_STD_NAMESPACE.
o SUN: ObjectSpace is required.
o Linux: native STL is required.
o NT: ObjectSpace is required.
Support for native STL and ISO/ANSI installation will be added
soon (future patch or minor release).
- A future minor release or patch will allow ISO/ANSI compliant installations.
Their characteristics will be:
o DEC: Native STL will be used
o HP: The setup for native STL will trigger by default the ISO/ANSI
installation (set G4NO_STD_NAMESPACE in the environment to avoid it.)
o SUN: Support for CC 5.0 compiler and native STL (ISO/ANSI installation)
o NT: Support for native STL and ISO/ANSI installation
The modifications to support these installations will be tested soon.
They will be made available in a patch or minor release.
Geant4 1.0 is the first release requiring 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. The size of libraries and
executables can appear considerably larger than the previous Rogue-Wave based
versions.
4. Persistency
--------------
- Platforms
Persistency in Geant4 1.0 release has been tested on the following
platforms/software versions:
G4SYSTEM OS C++ compiler HepODBMS Objectivity
--------- ----------- ------------ --------- -----------
SUN-CC SunOS 5.6 CC 4.2 0.3.1.0 5.2
HP-aCC HP-UX 10.20 aCC A.01.18 0.3.0.1 5.1.2
Linux-g++ Linux RH5.1 egcs 1.1.2 0.3.0.1 5.1.2
A patch to run persistency examples on DEC-cxx will be released
later, pending a fix to HepODBMS library.
- Known Problems
1) The following warning messages appear on some platforms during the
installation of the libraries and the compilation of the example
files. The message comes from the parser of the Objectivity
preprocessor. It can be ignored.
-------------------------------------------------------------------------
"/opt/SUNWspro/SC4.2/include/CC/generic.h", line 29: warning: omission of
explicit type is nonstandard ("int" assumed)
extern genericerror(int, char*);
^
"/opt/SUNWspro/SC4.2/include/CC/iostream.h", line 781: warning: integer
conversion resulted in a change of sign
unsafe_istream& wignore(int=1, wchar_t=WEOF);
^
"/opt/SUNWspro/SC4.2/include/CC/iostream.h", line 962: warning: integer
conversion resulted in a change of sign
istream& wignore(int=1, wchar_t=WEOF);
-------------------------------------------------------------------------
2) The following warning messages appear during the installation of the
library. This is due to a design choice of the persitent object
and it can be safely ignored.
-------------------------------------------------------------------------
warning: persistent-capable class member type is a problem
The type of base class vector<G4VPhysicalVolume * > is a problem
The type of member vector<G4VPhysicalVolume * >::start_ is pointer
The type of member vector<G4VPhysicalVolume * >::finish_ is pointer
The type of member vector<G4VPhysicalVolume * >::end_of_storage_
is pointer
The type of member vector<G4VPhysicalVolume * >::alloc_ is a
problem
The type of member allocator<G4VPhysicalVolume * >::impl_ is
pointer
G4VPhysVolRefVArray transPhysVolPtrs;
^
-------------------------------------------------------------------------
3) The following warning messages appears during the installation of the
libraries and the compilation of the example files. Dependency
file is used to solve the GNUmake dependencies inside the Geant4
categories and it can be safely ignored.
-------------------------------------------------------------------------
In file included from /afs/cern.ch/sw/lhcxx/specific/@sys/HepODBMS/0.3.1.0/
include/HepODBMS/odbms/HepODBMS.h:75,
from include/G4PersistentTypes.hh:21,
from include/G4VPersistentSubMan.hh:34,
from src/G4VPersistentSubMan.cc:16:
/afs/cern.ch/sw/lhcxx/specific/sun/Objectivity/5.2/include/oo.h:57:
warning: No include path in which to find generic.h
-------------------------------------------------------------------------
4) The following error messages appear at the end of the library
installation, and it can be safely ignored.
-------------------------------------------------------------------------
installing schema header files ...
cp: cannot access /afs/cern.ch/sw/geant4/stt/ref+/AIX-xlC/debug/persistency/
STL/tmp/SUN-CC/G4pglobal/*.hh
schema header file does not exist, so ignore the error message...
-------------------------------------------------------------------------
5) The following warning message appears at the runtime of the persistency
examples, which is generated by HepDbApplication in HepODBMS.
It can be ignored.
-------------------------------------------------------------------------
Opening federated database OO_FD_BOOT.
WARNING: g4example: Could not find naming root directory:
Naming will be disabled.
-------------------------------------------------------------------------
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 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, a problem can occur reading the data files associated with
the environment variable G4LEVELGAMMADATA. (Usually the value
for this variable is $G4INSTALL/geant4/data/PhotonEvaporation .)
A correction that resolves this anomalous behaviour will be issued
soon, in a patch.
7. Compilation Warnings
-----------------------
There are compilation warnings on some platforms. We do not believe
that any will lead to incorrect run-time behaviour, but we are working
on reducing 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