389 lines
16 KiB
Plaintext
389 lines
16 KiB
Plaintext
|
|
Geant4 2.0 Release Notes
|
|
------------------------
|
|
|
|
30th June 2000
|
|
|
|
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:
|
|
-------------------------
|
|
- internal reorganisation of the EnergyLoss classes.
|
|
Introduced one level of abstraction through the G4VEnergyLoss class
|
|
for muons, electrons and hadrons.
|
|
- introduced new functionalities for the energy loss fluctuation model,
|
|
and bug fixes.
|
|
- removed *Plus* process classes and merged to standard processes:
|
|
optimized generation of delta rays near the geometrical boudaries is
|
|
now performed as the default.
|
|
- bug fixed in the multiple scattering.
|
|
- bugs fixed in G4eIonisation and G4hIonisation.
|
|
- absolute min gamma energy fixed to 10 keV in G4eBremsstrahlung.
|
|
- bugs fixed in G4MuIonisation and G4MuPairProduction.
|
|
Updated Physics Reference Manual for muon processes.
|
|
- Added new models of Transition Radiation radiators
|
|
in processes/parametrisation.
|
|
|
|
o Electromagnetic Processes, Low-energy :
|
|
-------------------------------------
|
|
- fixes in G4LowEnergyBremsstrahlung for continuous energy loss.
|
|
- modifications for integration of cross sections, corrections of
|
|
fluorescence transition probabilities to take into account
|
|
non-radiative transitions.
|
|
|
|
o General Processes, Parameterisation, Decay :
|
|
------------------------------------------
|
|
- introduced new set of models for X-ray transition radiation
|
|
parameterisation.
|
|
- implemented full migration to STL for processes/parameterisation
|
|
and processes/management modules.
|
|
- added process registration into ProcessTable in copy constructor.
|
|
- fixed registration of "shortlived" particles for G4Decay.
|
|
|
|
o Geometry:
|
|
--------
|
|
- magneticfield:
|
|
o corrected helical steppers.
|
|
o fix in G4LineSection to prevent divisions by 0 and sqrt(<0).
|
|
o modified method for finding new trial step in G4ChordFinder.
|
|
- management:
|
|
o design change in G4VSolid for visualization utilities: changed pure
|
|
virtual method G4VSolid::GetExtent() to virtual. Added default
|
|
implementation based on CalculateExtent().
|
|
- BREPS solids:
|
|
o Decoupled BREPS module from the STEP Reader;
|
|
o Memory leak fixes and some code cleanup.
|
|
- CSG and specific solids:
|
|
o created new module solids/specific and moved therein all non-CSG
|
|
shapes previously placed in solids/CSG.
|
|
o Added new shape in solids/specific: G4EllipticalTube.
|
|
o Fixed bug in G4PolyhedraSide::Normal(...). This fixes a problem
|
|
observed in G4Polyhedra::SurfaceNormal. Fixes in G4Hype.
|
|
o Fixed typo in method name in G4Polyhedra.: changed GetNumSIde() to
|
|
GetNumSide().
|
|
o Added more diagnostics in G4Cons, G4Sphere and G4Torus in function
|
|
DistanceToOut(p,v,...).
|
|
o Fix in DistanceToIn(p,v) for G4Box and G4Trd to return zero
|
|
distance in case computed value is less than 0.5*kCarTolerance.
|
|
o Added safety against call from outside in DistanceToOut(p)
|
|
o Fix to G4Tubs::DistanceToOut(p,v,...) in computation of xi, yi
|
|
for (sphi>=-0.5*kCarTolerance).
|
|
o Added more diagnostics in case of invalid enum for DistanceToOut.
|
|
o Added new alternative functions SolveBiQuadratic/CubicNew in G4Torus.
|
|
- solids/Boolean:
|
|
o Implemented CreatePolyhedron method.
|
|
o G4DisplacedSolid: reversed implementation of GetFrameRotation and
|
|
GetObjectRotation, removing inappropriate invertion.
|
|
o G4DisplacedSolid::GetConstituentMovedSolid() made const.
|
|
o Fixed bug in G4SubtractionSolid::DistanceToOut(p,v,...).
|
|
validNorm flag was uncorrectly set to true.
|
|
- STEP:
|
|
o Upgraded NIST STEP Reader to SCL (STEP Class Library) 3.2;
|
|
o Implemented porting on supported platforms/compilers and
|
|
ISO-ANSI C++ compliance.
|
|
- STEP Interface module:
|
|
o Implemented porting to support the new NIST STEP Reader;
|
|
o Reduced inter-class dependencies by reorganising include
|
|
statements.
|
|
o Improved overall diagnostics and fixed internal memory-leaks;
|
|
o Added protections for NULL pointers generated by missing geometry
|
|
creators.
|
|
o Implemented temporary solution for association of placements
|
|
with manifolded solids for advanced BREP shape representations.
|
|
- volumes:
|
|
o introduced kCarTolerance for check over taken step length and
|
|
TruePathLength in G4PropagatorInField::ComputeStep().
|
|
o fixes in G4ReplicaNavigation::ComputeStep() for zero-step length
|
|
loops observed when point is on boundary.
|
|
|
|
o Globals and Config:
|
|
------------------
|
|
- Added class G4PhysicsLnVector implementing a physics vector with
|
|
natural logarithmic scale for energy/momentum bins.
|
|
- Added string identifier to G4UserLimits.
|
|
- Defined G4complex type as complex type of doubles.
|
|
- Fixes to STLInterface wrappers: fixed initialization of base STL
|
|
vector in default constructor of vector collections.
|
|
- Changed implementation of G4Integrator to a template class.
|
|
- Config: implemented modular setup. Now system specific configurations
|
|
are grouped in separated files $G4SYSTEM.gmk and placed in the new
|
|
directory config/sys.
|
|
|
|
o Graphics Representations:
|
|
------------------------
|
|
- Added HepPolyhedron class and re-implemented G4Polyhedron using this
|
|
new class (which will become part of CLHEP).
|
|
- Added boolean processor for boolean operations of HepPolyhedron
|
|
objects.
|
|
|
|
o Hadronic Processes:
|
|
------------------
|
|
- management: allowing ion interactions in G4HadronInelasticProcess.
|
|
- cross_sections: added new classes for ion-ion reactions, and for ion
|
|
reactions on Hydrogen.
|
|
- processes: added new process for ion induced reactions.
|
|
- models/isotope_production: added model for proton induced isotope
|
|
production, validity range is the proton spallation energy range
|
|
(to use this, an update of the G4NDL library is required).
|
|
- models/neutron_hp: enabled production of residual nuclei for some
|
|
inelastic final states.
|
|
- models/generator/de_excitation: design iteration to allow re-use of
|
|
root-finding algorithms.
|
|
- models/generator/quark_gluon_string: added gamma annihilation
|
|
cross-sections and anti-nucleaon-nucleon annihilation. Bug fixes
|
|
in AntiSigma SU(12) wafe-function. Extended G4SPBaryon.
|
|
- models/generator/string_fragmentation: extended
|
|
G4VLongitudinalStringDecay to allow string excitation dependent
|
|
parameters.
|
|
- models/generator/util: bug fixes and added functionality in
|
|
G4KineticTrack.
|
|
- models/radiative_decay: added model for simulating the decay of
|
|
radio-active nuclei and isomeric states. Validity range is the
|
|
range of materials available from ENSDF as of May 2000. To use
|
|
this model a data set is provided in geant4/data/RadiativeDecay
|
|
and the environment variable G4RADIOACTIVEDATA must be set.
|
|
- fixes for memory leaks observed at event loop.
|
|
|
|
NOTE: the consistent data sets for photon evaporation and radio-active
|
|
decay (derived from the same version of the ENSDF data) are
|
|
provided from Web in the source download area. A previous version
|
|
of photon evaporation data is also provided.
|
|
|
|
o Interfaces:
|
|
----------
|
|
- Introduced new G4UITerminal (G4UItcsh) with UNIX-like shell
|
|
(currently fully tested only on Linux-g++ and SUN-CC systems).
|
|
|
|
o Particles:
|
|
---------
|
|
- Full migration to STL performed.
|
|
- Removed G4RhoPlus, G4RhoZero, and G4RhoMinus classes.
|
|
Added "rho0" in G4ShortLivedConstructor.
|
|
- Fixes in G4IsotopeTable and G4NucleiProperties classes.
|
|
- Introduced ParticleSubType property in ParticleDefinition.
|
|
- Added GetAtomicNumber() and GetAtomicMass() methods to G4VIon,
|
|
G4Proton, and G4Neutron.
|
|
- Added G4VDecayChannel::GetAngularMomentum() method.
|
|
|
|
o Tracking & Track:
|
|
----------------
|
|
- Added thePolarizationChange in G4ParticleChangeForTransportation.
|
|
- Added cashing mechanism of pointer to material in G4StepPoint.
|
|
to extract material information from parametrized volumes.
|
|
- GetTouchable/SetTouchable methods have been changed to handle
|
|
"const" pointers.
|
|
- Introduced G4VUserTrackInformation class and associated to G4Track.
|
|
- Fixed problem in deleting touchable in G4SteppingManager.
|
|
|
|
o Visualization:
|
|
-------------
|
|
- Introduced first implementation of the G4RayTracer. With G4RayTracer
|
|
all solids types supported in Geant4 can be visualised.
|
|
- Added commands /vis/viewer/update, /vis/viewer/reset.
|
|
- Added "compound" commands: /vis/open, /vis/drawVolume.
|
|
- Added ability to visualise boolean solids through G4Polyhedron objects.
|
|
- Added G4LogicalVolumeModel::DescribeSolid(), which explicitly adds
|
|
components of composite solids as white forced-wireframe objects.
|
|
- OPACS:
|
|
o G4GoSceneHandler: correct polyhedron wire-frame in order to remove
|
|
some edges.
|
|
o G4WoViewer: changed camera name checking so that a viewer created
|
|
by the GUI (Wo) could be hooked.
|
|
o G4GoSceneHandler: changed circle rendering.
|
|
- Bug fix in G4PhysicalVolumeModel for replicas.
|
|
|
|
|
|
Notes:
|
|
|
|
o Geant4 2.0 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 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 2.0 are expected to be published as
|
|
usual within three weeks from the release date.
|
|
|
|
|
|
Contents
|
|
--------
|
|
|
|
1. Supported and Tested Platforms
|
|
2. LHC++ and CLHEP 1.5
|
|
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.23
|
|
o Linux 2.2.12-20, gcc C++ egcs-2.91.66 (egcs 1.1.2).
|
|
This configuration was tested with the RedHat 6.1 distribution, but
|
|
versions of Geant4 have also been compiled successfully on 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 SUN Solaris 5.6, C++ 5.0 patches 107357-07, 107311-09.
|
|
|
|
Platforms configured but not yet tested (a patch will follow, if needed):
|
|
|
|
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. LHC++ and CLHEP 1.5
|
|
----------------------
|
|
|
|
Geant4 2.0 requires the installation of CLHEP 1.5.
|
|
|
|
See CLHEP 1.5 (http://cern.ch/clhep/INSTALLATION/clhep.html).
|
|
|
|
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 those compilers (for example, DEC).
|
|
Note that the installation of the "Hist" package in CLHEP for histogramming
|
|
is now disabled by default. If you wish to install CLHEP with the "Hist"
|
|
package, you need to edit the CLHEP installation scripts and add the
|
|
corresponding entry.
|
|
|
|
Geant4 2.0 coworks with LHC++ 2.0.0 and components included therein:
|
|
Objectivity 5.2.1
|
|
ObjectSpace 2.1
|
|
HepODBMS 0.3.1.3
|
|
CLHEP 1.5.0.0
|
|
|
|
3. The Standard Template Library
|
|
--------------------------------
|
|
|
|
The following versions of STL have been tested:
|
|
|
|
ObjectSpace STL on
|
|
DEC, HP and SUN.
|
|
|
|
See ObjectSpace (http://www.objectspace.com).
|
|
|
|
"Native" STL on: Linux, HP, DEC and SUN.
|
|
|
|
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: either ObjectSpace or native STL can be 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.0 only).
|
|
o Linux: native STL is required (non ISO/ANSI setup).
|
|
o NT: Native STL and ISO/ANSI setup required.
|
|
|
|
In the interest of stability, a significant part of the code in Geant4 2.0
|
|
still makes use of the "STL Interface" wrapper classes, used for allowing the
|
|
migration from Rogue Wave Tools.h++ container library. For these the emphasis
|
|
has remained on correct behaviour, rather than performance.
|
|
|
|
|
|
4. Persistency
|
|
--------------
|
|
|
|
- Platforms
|
|
|
|
Persistency in Geant4 2.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.4 5.2.1
|
|
Linux-g++ Linux RH6.1 egcs 1.1.2 0.3.1.1 5.2.1
|
|
|
|
- Known Problems
|
|
|
|
There are many 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.
|
|
|
|
For the detail of the warning messages, please refer to the release
|
|
note of 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.
|
|
- 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.
|
|
|
|
o SUN Solaris 5.6, C++ 5.0 patches 107357-07, 107311-09.
|
|
|
|
Due to a compiler bug, some code in Geant4 cannot be compiled in
|
|
optimised mode, patches are available from SUN (107357-09, 107311-10)
|
|
which are claimed to fix this problem, we have not been able to test
|
|
them yet. Tests have been performed only by using the debuggable
|
|
version of the libraries.
|
|
|
|
|
|
6. Known Run-Time Problems and Limitations
|
|
------------------------------------------
|
|
|
|
- In the "high energy" hadronic model, a problem of energy non conservation
|
|
has been observed. A fix for it is currently under test and will be
|
|
available soon in a public patch.
|
|
- In multiple scattering, the nuclear size correction maybe not well adapted
|
|
for electrons. A fix will come soon.
|
|
- The parametrisation of the total cross section for electron bremsstrahlung
|
|
will be reviewed in order to allow generation of gamma below 10 keV.
|
|
|
|
|
|
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.
|