Import Geant4 2.0.0 source tree
This commit is contained in:
@@ -0,0 +1,392 @@
|
||||
|
||||
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 <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 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 <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">
|
||||
CLHEP 1.5</A>.
|
||||
|
||||
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
|
||||
|
||||
For more information about LHC++ 2.0.0, see:
|
||||
<A href="http://wwwinfo.cern.ch/asd/lhc++/may2000.html">LHC++ 2.0.0</A>
|
||||
|
||||
3. The Standard Template Library
|
||||
--------------------------------
|
||||
|
||||
The following versions of STL have been tested:
|
||||
|
||||
ObjectSpace STL on
|
||||
DEC, HP and SUN.
|
||||
|
||||
See <A href="http://www.objectspace.com/">ObjectSpace</A>.
|
||||
|
||||
"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.
|
||||
Reference in New Issue
Block a user