443 lines
18 KiB
Plaintext
443 lines
18 KiB
Plaintext
|
|
Geant4 3.2 Release Notes
|
|
------------------------
|
|
|
|
29th June 2001
|
|
|
|
These are the main new features/fixes included in this release since
|
|
release 3.1 (for the detailed list of fixes/additions, please refer to the
|
|
related History files):
|
|
|
|
o Configuration:
|
|
-------------
|
|
- Added G4VIS_BUILD_ASCIITREE_DRIVER, G4VIS_USE_ASCIITREE and
|
|
G4VIS_BUILD_GAGTREE_DRIVER, G4VIS_USE_GAGTREE variables to
|
|
activate module for ascii/GAG hierachycal tree of geometry volumes.
|
|
- Introduced changes for persistency: common.gmk is now split in three,
|
|
one general, and one for specific for transient and persistent each.
|
|
Dependencies now much better handled in persistency.
|
|
- Removed G4_NO_CBRT flag from WIN32-VC.gmk, no more needed.
|
|
|
|
o Event:
|
|
-----
|
|
- Fixes to cowork with STL vector migration of 'geometry'.
|
|
|
|
o Electromagnetic Processes (Low-energy):
|
|
--------------------------------------
|
|
- Migration to STL vector. Removed references to RW wrappers.
|
|
- Fixed pedantic warnings detected on Linux ANSI setup.
|
|
- Added new process for polarised Compton scattering.
|
|
- Bug fix in anti-proton ionisation.
|
|
|
|
o Electromagnetic Processes (Standard):
|
|
------------------------------------
|
|
- Fixed pedantic warnings detected on Linux ANSI setup.
|
|
|
|
o General Processes, Parameterisation, Decay, Optical:
|
|
---------------------------------------------------
|
|
- Fixed pedantic warnings detected on Linux ANSI setup.
|
|
|
|
o Geometry:
|
|
--------
|
|
- Migrated code to native STL vector. Removed all references to
|
|
Rogue-Wave wrappers.
|
|
- Management:
|
|
o Adopt explicit initialisation for 'minExtents' and 'maxExtents'
|
|
in G4SmartVoxelHeader::BuildNodes(...).
|
|
- Boolean solids:
|
|
o Fix in G4IntersectionSolid::DistanceToIn(p,v) resolving
|
|
bug observed in problem report #153.
|
|
- BREPS solids:
|
|
o Fixes to allow -ansi compilation on Linux-g++, gcc-2.95-2 compiler:
|
|
- G4Ray: changed usage of hypot(x,y) to sqrt(x*x+y*y).
|
|
- G4Hyperbola: changed usage of atanh(x) to 0.5*log((1+x)/(1-x)).
|
|
o G4ProjectedSurface: corrected initialisation of temporary
|
|
G4Point3D objects, to use the correct CLHEP constructor.
|
|
- CSG solids:
|
|
o Added G4CSGDEBUG preprocessor flag to discriminate for debug
|
|
verbosity specific to CSG solids. Included in G4Exception of
|
|
DistanceToOut() for "point p is outside" in G4Box, G4Cons,
|
|
G4Tubs.
|
|
o G4Trap: fixed memory leak in CalculateExtent() for creation of
|
|
vertices in case of finite rotation.
|
|
- Magnetic Field:
|
|
o Updated G4Mag_SpinEqRhs for correction to spin tracking.
|
|
o Fixed G4FieldManager constructors to give default values to
|
|
delta parameters.
|
|
- STEP reader:
|
|
- Fix for porting on Linux-g++ 2.95-2 -ansi: removed usage of
|
|
strdup() in dirobj.cc; replaced with existing solution for
|
|
__O3DB__.
|
|
- Volumes:
|
|
o G4AuxiliaryNavServices::CheckPointOnSurface(): added additional
|
|
check to resolve endless looping of G4Navigator in case the track
|
|
is passing through a point, edge or surface shared by two solids.
|
|
Fixes problem report #185.
|
|
o Fixes in G4ReplicaNavigation for bug reports #253 and #254:
|
|
- in VoxelLocate(...), treated particular case of rotational
|
|
symmetry with extent over 360 degrees.
|
|
- in DistanceToOutPhi(...), fix to correctly handle cases where
|
|
the starting point is on boundary of replicas and direction is
|
|
along boundary.
|
|
o Enabled the use of different field managers for different parts
|
|
of the detector. This first implementation allows a volume that
|
|
has a field manager to override the global one.
|
|
- Note: All field managers currently must refer to fields
|
|
in global coordinates.
|
|
- New ability: setting of the delta accuracy parameters differently
|
|
in different volumes (even while maintaining the same
|
|
field as the global one).
|
|
o Added new parameter to G4PropagatorInField 'fEpsilonMin' which is
|
|
the minimal relative accuracy for MF driving.
|
|
|
|
o Global:
|
|
------
|
|
- Added contructor to G4DataVector with additional argument
|
|
for initialising values of collection.
|
|
- Removed definition of cbrt() in globals.hh to allow ANSI compilation
|
|
on Linux-g++ architecture with compiler gcc-2.95-2.
|
|
- Defined 'str_size' as G4std::string::size_type and replaced usage of
|
|
'size_t' in G4String and G4SubString. Fixes problem report #40.
|
|
|
|
o Graphics Representations:
|
|
------------------------
|
|
- Fixes in HepPolyhedron:
|
|
o Extended implementation to cover unforeseen earlier situation
|
|
during preselection of faces without intersection.
|
|
o Made GetNumberOfRotationSteps() static and public.
|
|
o Added GetSurfaceArea() and GetVolume().
|
|
- Fixed warnings about possible use of uninitialized variables.
|
|
- Migrated to STL vector. Removed references to RW wrappers.
|
|
- Bug fix in BooleanProcessor to address problem report #153.
|
|
|
|
o Hadronic Processes:
|
|
------------------
|
|
- Migration to STL vector of the pre-compound and evaporation codes and
|
|
removal of most warnings detected by Linux ANSI pedantic setup.
|
|
- Management:
|
|
o Fixes memory leak in G4InelasticInteraction: systematic search
|
|
for leaks - energy scan 50MeV-10GeV.
|
|
- High energy model:
|
|
o Energy- OR Momentum- conservation, can be chosen by the user.
|
|
o Added production of Evaporation particles.
|
|
o Better description of experimental data, mainly in Strange
|
|
Particle Production.
|
|
o Cleared compilation warnings on Linux-g++.
|
|
o Minor bug-fix in G4HEPionMinusInelastic.
|
|
o Introduced temporary workaround in G4HEInelastic for high energy
|
|
problem (number of particles created in one event larger than
|
|
allocation).
|
|
o Missing initialization of strangeness corrected, removing energy
|
|
non-conservation in rare cases.
|
|
- Generator models:
|
|
o Upgrade of angular distributions and fission yields in pre-compound
|
|
and evaporation models.
|
|
o Defined local cbrt() in G4FermiMomentum, to allow porting
|
|
on gcc-2.95-2 ANSI setup.
|
|
o De-excitation: interface adjustment in G4ParaFissionModel.
|
|
o Kinetic model: fixed exceptional condition for inelastic scattering
|
|
off Hydrogene. No recoil required.
|
|
- Radiative-decay model:
|
|
o Fixes to cowork with STL vector migration of 'geometry'.
|
|
- Low energy neutron transport model:
|
|
o New code revision: requires new set of data, G4NDL3.0 or later.
|
|
o Includes also an upgrade of the doppler broadening.
|
|
Allows for running on 0K data, and doing exact doppler broadening
|
|
on the fly (according to the temperature specified in G4Material),
|
|
with good performance up to about 5000K.
|
|
o Bug fix in G4NeutronHPInelasticCompFS to get the correct Q-value
|
|
for Lithium (the bug was introduced in recent development).
|
|
- Utilities:
|
|
o Fixed memory leak in G4ReactionDynamics: systematic search for
|
|
leaks - energy scan verification 50MeV-10GeV.
|
|
o Fixed bug in nuclear reactions for light ions.
|
|
|
|
o Materials:
|
|
---------
|
|
- Fixed pedantic warnings detected on Linux ANSI setup.
|
|
- Fix to explicitly initialise to zero values of G4DataVector used
|
|
to fill sandia-matrix.
|
|
|
|
o Particles:
|
|
---------
|
|
- Added a0(980), f0(400-1200), f0(980).
|
|
- Fixed bugs in G4ParticleDefinition::GetPDGIsospin().
|
|
- Fixed element name in G4IonTable.
|
|
- Fixed PDG encoding for excited Lambdas.
|
|
- Added special treatment for Lamdas in G4PDGCodeChecker.
|
|
- Fixed pedantic warnings detected on Linux ANSI setup.
|
|
|
|
o Persistency:
|
|
-----------
|
|
- Removed useless declaration of typedef G4ThreeVectorList.
|
|
- Adapted to new config setup.
|
|
- Changed usage of NULL to 0.
|
|
|
|
o Run and Intercoms:
|
|
-----------------
|
|
- Added binary mode for G4VUserPhysicsList::Retrieve/StorePhysicsTable().
|
|
- Added G4VUserPhysicsList::RetrieveCutValues and related.
|
|
- Added G4VUserPhysicsList::Set/ResetStoredInAscii() to switch on ascii
|
|
mode for Retrieve/StorePhysicsTable().
|
|
- Added 'setStoredInAscii' command in G4UserPhysicsList.
|
|
|
|
o Tracking & Track:
|
|
----------------
|
|
- Migration to STL vector. Removed references to RW wrappers.
|
|
- Moved G4TrackingMessenger* messenger to the class scope in
|
|
G4TrackingManager.
|
|
- Fixed problem of vertex information loss for suspended tracks.
|
|
Fixes problem report #240.
|
|
- Fix to G4SteppingManager to explicitly initialise values in STL
|
|
collections members of the class.
|
|
|
|
o Transportation:
|
|
--------------
|
|
- Correction for 'spin-update' to G4Transportation: to avoid overwrite
|
|
of the spin value for photons and other non-charged particles (and
|
|
for charged particles in zero field).
|
|
|
|
o Visualization:
|
|
-------------
|
|
- Added two new commands:
|
|
/vis/scene/add/text
|
|
/vis/scene/add/axes
|
|
- Improvements in /vis/scene/add/volume.
|
|
- Added /vis/drawTree.
|
|
- Introduced first version of G4ASCIITree to dump geometry hierarchy
|
|
to standard output as ASCII stream.
|
|
This requires two new environment variables:
|
|
G4VIS_BUILD_ASCIITREE_DRIVER and G4VIS_USE_ASCIITREE.
|
|
- Introduced first version of G4GAGTree to dump geometry hierarchy
|
|
to GAG GUI system.
|
|
This requires two new environment variables:
|
|
G4VIS_BUILD_GAGTREE_DRIVER and G4VIS_USE_GAGTREE.
|
|
- Migration to STL vector. Removed references to RW wrappers.
|
|
- Removed OS dependence from the DAWN-network driver.
|
|
* gethostname() removed
|
|
* removed G4SocketConfig.hh and G4SocketMacro.hh.
|
|
NOTE: now "setenv G4DAWN_HOST_NAME hostname" is mandatory to use
|
|
the DAWN-network driver.
|
|
|
|
o G4toG4 Tool:
|
|
-----------
|
|
- Fix in GNUmakefile: G4MAKESHLIB replaced with G4LIB_BUILD_SHARED
|
|
to allow building of shared library according to the new mechanism.
|
|
- Fix in G3toG4BuildTree for a case of the placement a volume in
|
|
cloned mothers. G3toG4BuildTree() has been split in two methods
|
|
G3toG4BuildLVTree() and G3toG4BuildPVTree(), the first creating
|
|
logical volumes only, the second performing placements afterwards.
|
|
- Cleared pedantic warnings detected on Linux-g++ with ISO/ANSI setup.
|
|
|
|
o Examples:
|
|
--------
|
|
- exampleN03: updated visualization macros in visTutor:
|
|
o Commands /vis/set/XXX's are replaced with /vis/viewer/set/XXX
|
|
o Commands /vis/camera/XXX's are replaced with /vis/viewer/XXX
|
|
except for /vis/camera/spin.
|
|
o Added exN03Tree0.mac for ASCII DTREE and exN03Tree1.mac for
|
|
GAG DTREE
|
|
- Migrated novice/N05 to STL vector.
|
|
- Added new interactive commands in extended/electromagnetic/TestEm5.
|
|
- Updated examples:
|
|
o extended/analysis/AnaEx01
|
|
o extended/persistency/PersistentEx01 and PersistentEx02
|
|
o advanced/xray_telescope
|
|
|
|
Notes:
|
|
|
|
o Geant4 3.2 is based on STL and can be installed with strict
|
|
ISO/ANSI C++ compliant setup or not. See notes below.
|
|
|
|
The code and some binary libraries are available through our "Source Code"
|
|
Web page:
|
|
- see our <A href="http://cern.ch/geant4">Geant4 Home Page</A>.
|
|
|
|
Please refer to <A
|
|
href="http://cern.ch/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
|
|
User Documentation</A> for further information about using Geant4.
|
|
Updates to the documentation for Geant4 3.2 are expected to be published as
|
|
usual within three weeks from the release date.
|
|
|
|
|
|
Contents
|
|
--------
|
|
|
|
1. Supported and Tested Platforms
|
|
2. ANAPHE and CLHEP
|
|
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/5.7, C++ 4.2 Patch 104631-04, C++ 5.2 Patch 109508-03.
|
|
o HP 10.20, aCC C++ B3910B A.01.23
|
|
o Linux 2.2.17-7, gcc C++ egcs-2.91.66 (egcs 1.1.2), gcc 2.95-2.
|
|
This configuration was tested with the RedHat 6.1 distribution, but
|
|
versions of Geant4 have also been compiled successfully on more recent
|
|
RedHat, Debian and Suse distributions.
|
|
o NT 4.0 with Service Pack 4 or Windows-2000 and Cygnus Tools b20 with:
|
|
Visual C++ 6.0 Service Pack 2
|
|
|
|
Platforms also tested but giving rise to some problems - see below:
|
|
|
|
o DEC V4.0, cxx C++ V6.1-027.
|
|
|
|
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. ANAPHE and CLHEP
|
|
-------------------
|
|
|
|
Geant4 3.2 requires the installation of CLHEP.
|
|
|
|
See <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">
|
|
CLHEP</A>. Tests have been performed with CLHEP 1.6.0.0.
|
|
|
|
By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
|
|
if the compiler is capable. You need to explicitly disable CLHEP settings in
|
|
case you wish non-ISO/ANSI setup on specific compilers.
|
|
|
|
Geant4 3.2 coworks with ANAPHE 3.6.0 and components included therein:
|
|
Objectivity 6.1
|
|
ObjectSpace 2.1
|
|
HepODBMS 0.3.2.9
|
|
CLHEP 1.6.0.0
|
|
|
|
For more information about ANAPHE 3.6.0, see:
|
|
<A href="http://cern.ch/anaphe">ANAPHE</A>
|
|
|
|
|
|
3. The Standard Template Library
|
|
--------------------------------
|
|
|
|
The following versions of STL have been tested:
|
|
|
|
ObjectSpace STL on SUN (CC 4.2).
|
|
|
|
See <A href="http://www.objectspace.com/">ObjectSpace</A>.
|
|
|
|
"Native" STL on: Windows/NT, Linux, HP, DEC and SUN (CC 5.2).
|
|
|
|
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 in non ISO/ANSI setup.
|
|
Native STL is required for ISO/ANSI setup.
|
|
o HP: Native STL is used (non ISO/ANSI setup).
|
|
o SUN: ObjectSpace is required in non ISO/ANSI setup (CC 4.2).
|
|
Native STL is required for ISO/ANSI setup (CC 5.2 only).
|
|
o Linux: Native STL is required (non ISO/ANSI setup).
|
|
o NT: Native STL and ISO/ANSI setup required.
|
|
|
|
|
|
4. Persistency
|
|
--------------
|
|
|
|
Platform
|
|
--------
|
|
|
|
Persistency in Geant4 3.2 release is tested on the following
|
|
platforms:
|
|
|
|
G4SYSTEM OS C++ compiler HepODBMS Objectivity
|
|
--------- ----------- ------------ --------- -----------
|
|
SUN-CC SunOS 5.6 CC 4.2 0.3.1.4 5.2.1
|
|
SUN-CC5 SunOS 5.7 CC 5.2 0.3.2.10(*) 6.1.3 (*)
|
|
Linux-g++ RedHat 6.1 egcs-2.91.66 0.3.1.4 5.2.1
|
|
Linux-g++ RedHat 6.1 egcs-2.95.2 0.3.2.3 (#) 6.0 (#)
|
|
|
|
(*) HepODBMS header files must be prepared with "ooddlx -noline"
|
|
option. See below.
|
|
(#) Setup scripts for HepODBMS and Objectivity has been changed on
|
|
CERN AFS. See g4odbms_setup[.sh.csh] in example PersistentEx01
|
|
in 'geant4/examples/extended/persistency' for example setup scripts.
|
|
|
|
Known Problems
|
|
--------------
|
|
|
|
- There are several warning messages on some platforms during the
|
|
installation of the libraries and the compilation of the examples.
|
|
Most of them can be safely ignored. It is annoying but hard to get
|
|
rid of them due to various reasons.
|
|
|
|
- A warning message "Could not find naming root directory" appears at
|
|
runtime of the persistency examples. It is generaged by
|
|
HepDbApplication in HepODBMS. It can be ignored.
|
|
|
|
- On Solaris7 (SUN-CC5), persistent header files has to be generated by
|
|
ooddlx with "-noline" option to work around a bug in C++ compiler.
|
|
This workaround applies not only to Geant4 Persistency category but
|
|
also to HepODBMS, and the user defined ddl files as well. This
|
|
option removes the "#line" directive of the file name and the line
|
|
number of the original .ddl file. As a consequences, C++ compiler
|
|
no longer "tells" the correct file name and the line number of the
|
|
.ddl file if compiler error occurs. Try to identify the compiler
|
|
error by first looking into the header file generated by ooddlx,
|
|
and then locate the source of the problem by looking into the .ddl
|
|
file. A patch to the compiler is expected from SUN.
|
|
|
|
|
|
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.
|
|
- A bug in cin.getline() system function causes an anomalous
|
|
behavior when running in interactive-mode on DEC-cxx 6.1 in
|
|
ISO/ANSI mode. We tested the bug has been fixed in more recent
|
|
versions of the compiler.
|
|
|
|
|
|
6. Known Run-Time Problems and Limitations
|
|
------------------------------------------
|
|
|
|
For a complete list of outstanding run-time problems and to submit any
|
|
problem you may find running this version of Geant4, please refer to the
|
|
Geant4 Problem Reporting System, available on the Web at this address:
|
|
|
|
http://wwwinfo.cern.ch/asd/cgi-bin/geant4/problemreport
|
|
|
|
|
|
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 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.
|