650 lines
29 KiB
Plaintext
650 lines
29 KiB
Plaintext
|
|
Geant4 4.0 Release Notes
|
|
------------------------
|
|
|
|
14th December 2001
|
|
|
|
These are the main new features/fixes included in this release since the
|
|
last public release (for the detailed list of fixes/additions, please refer
|
|
to the related History files):
|
|
|
|
o Analysis:
|
|
--------
|
|
- Removed analysis module. AIDA 2.2 or higher should now be adopted.
|
|
|
|
o Configuration:
|
|
-------------
|
|
- New version of the 'Configure' script for installation.
|
|
- architecture.gmk:
|
|
o made Linux-g++ architecture the default G4SYSTEM.
|
|
o removed references to STLInterface.
|
|
- Added Linux-egcs for old Linux architectures based on egcs-1.1.2 compiler.
|
|
- Made Linux-g++ specific to gcc-2.95.2 compiler or higher.
|
|
- Made SUN-CC specific to CC-5.2 compiler, the default compiler on SUN
|
|
systems. CC-4.2 is no longer supported.
|
|
- Introduced environment variable G4VIS_NONE that, if set, no visualization
|
|
drivers are built and no vis libraries are built.
|
|
- Introduced environment variable G4UI_NONE that, if set, no UI
|
|
sessions nor any UI libraries are built.
|
|
- Re-engineered G4VIS variables: removed the need to specify environment
|
|
variables for visualization drivers which do not need external packages
|
|
or libraries, namely :
|
|
G4VIS_BUILD_DAWNFILE_DRIVER
|
|
G4VIS_BUILD_RAYTRACER_DRIVER
|
|
G4VIS_BUILD_VRMLFILE_DRIVER
|
|
G4VIS_BUILD_ASCIITREE_DRIVER
|
|
G4VIS_BUILD_GAGTREE_DRIVER
|
|
with associated G4VIS_USE environment variables:
|
|
G4VIS_USE_DAWNFILE
|
|
G4VIS_USE_RAYTRACER
|
|
G4VIS_USE_VRMLFILE
|
|
G4VIS_USE_ASCIITREE
|
|
G4VIS_USE_GAGTREE
|
|
- Re-engineered G4UI variables: removed the need to specify environment
|
|
variables for UI sessions which do not need external packages or
|
|
libraries, namely :
|
|
G4UI_BUILD_GAG_SESSION, G4UI_BUILD_TERMINAL_SESSION
|
|
with associated G4UI_USE environment variables:
|
|
G4UI_USE_GAG, G4UI_USE_TCSH, G4UI_USE_TERMINAL
|
|
- Removed references to STLInterface module in architecture.gmk
|
|
and architecture setups.
|
|
- analysis.gmk: added flags to use an AIDA 2.2 compliant analysis system.
|
|
|
|
o Event:
|
|
-----
|
|
- Added a new feature for the user to increase the number of waiting stacks.
|
|
- Added Beam option for generating accelerator beams.
|
|
- Added check whether the primary vertex is inside of the world volume.
|
|
- G4PrimaryParticle now stores the proper trackID.
|
|
- G4PrimaryTransformer: now considering case where a primary is
|
|
placed on the boundary of the world volume.
|
|
- G4GeneralParticleSource (GPS): implemented co-ordinates rotation for
|
|
angular distribution.
|
|
- Bug fix in G4EventManager in case G4_STORETRAJECTORY is off.
|
|
- Moved set method of position and time from G4ParticleGun to
|
|
G4VPrimaryGenerator so that G4HEPEvtInterface can accept the primary
|
|
vertex position
|
|
- Cleared compilation warnings on gcc-2.95.2.
|
|
- Fixes to comply with removal of STLInterface.
|
|
|
|
o Electromagnetic Processes (Low-energy):
|
|
--------------------------------------
|
|
- Major revision of G4LowEnergyCompton, G4LowEnergyRayleigh and
|
|
G4LowEnergyGammaConversion: re-implementation according to the design
|
|
iteration in the data domain.
|
|
- New version of data G4EMLOW0.5 required.
|
|
- New classes for shell cross sections for proton-induced fluorescence.
|
|
- First implementation of fluorescence process.
|
|
- Introduced PIXE in G4hLowEnergyIonisation.
|
|
- Significant physics an performance improvement in electron processes.
|
|
- Added method to deactivate fluorescence in ionisation if needed.
|
|
- Added protection in G4LowEnergyPhotoElectric to avoid generation of
|
|
photons causing negative energy balance.
|
|
- Fixed a problem of continuity of ion effective charge.
|
|
- Fixed energy conservation problems for small range cuts in
|
|
G4LowEnergyIonisation.
|
|
- Introduced changes to allow multiple cuts per material (temporary).
|
|
- Removed static inline methods to non inline.
|
|
- Cleared compilation warnings on gcc-2.95.2.
|
|
- Fixes to comply with removal of STLInterface.
|
|
|
|
o Electromagnetic Processes (Standard):
|
|
------------------------------------
|
|
- Implemented mechanism for storing and retrieving Physics Tables.
|
|
- Implemented new function ComputeRestrictedMeandEdx() for ionisation
|
|
processes.
|
|
- Implemented subcutoff delta-rays mechanism in G4VMuEnergyLoss.
|
|
- Suppression of the production threshold in phot, compt, conv, annih
|
|
processes.
|
|
- Removed obsolete "integral" module.
|
|
- Fixed old outstanding bug in G4EnergyLossTables, responsible for
|
|
causing negative energy deposit in some occasions.
|
|
- Introduced changes for reference-counted touchables.
|
|
- Introduced changes to allow multiple cuts per material (temporary).
|
|
- Removed static inline methods to non inline.
|
|
- Cleared compilation warnings on gcc-2.95.2.
|
|
- Fixes to comply with removal of STLInterface.
|
|
|
|
o General Processes, Parameterisation, Decay, Optical:
|
|
---------------------------------------------------
|
|
- management:
|
|
o Added Set/GetProcessManager() to G4VProcess and modified
|
|
G4ProcessManager::AddProcess() to invoke SetProcessManager().
|
|
o Fixed bug in copy constructor of G4ProcessManager.
|
|
- parameterisation(s):
|
|
o Added new classes describing X-ray transition radiation generation
|
|
inside radiators (i.e. just along incident particle track):
|
|
G4FoamXTRdEdx, G4GamDistrXTRdEdx, G4IrregularXTRdEdx,
|
|
G4PlateIrrGasXTRdEdx, G4RegularXTRdEdx, G4VXTRdEdx, G4VXrayTRadModel.
|
|
o Introduced changes in G4VClusterModel for reference-counted
|
|
touchables.
|
|
- optical:
|
|
o Changed process name for G4OpRayleigh, G4OpBoundary and G4OpAbsorption.
|
|
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
|
- Fixes to comply with removal of STLInterface.
|
|
|
|
o Geometry:
|
|
--------
|
|
- Introduced geometry/verification module for checking geometry for
|
|
volumes overlaps.
|
|
- Magnetic field:
|
|
o Handling Electric Field and time-dependent fields.
|
|
o Introduced ability to set field per volume.
|
|
o New extended examples for field in examples/extended.
|
|
o Added method in G4ChordFinder to erase/reset the state of the
|
|
StepEstimate. This is unwanted internal state that was carried
|
|
between tracks and events as a side effect.
|
|
Calling this at the start of each track, it is now possible to
|
|
eliminate a reported problem of non-repeatability.
|
|
o Reduced maximum number of steps in G4MagIntegratorDriver.
|
|
o Protected verbose warnings with G4DEBUG_FIELD flag in G4ChordFinder
|
|
and G4MagIntegratorDriver.
|
|
o G4FieldManager: added fFieldChangesEnergy data member and get/set
|
|
methods.
|
|
o Fixed interface to virtual functions in the inheritance chain of
|
|
G4Field and subclasses.
|
|
- Management:
|
|
o Added definition of G4TouchableHandle.
|
|
o Added class G4SmartVoxelStat for statistics on geometry optimisation
|
|
of volumes through voxelisation.
|
|
o Modified G4GeometryManager to make use of G4SmartVoxelStat when run
|
|
in verbose mode:
|
|
- added argument to CloseGeometry() method for verbosity
|
|
- added ReportVoxelStats() method for reporting optimisation statistics.
|
|
o Initialise noNodes to 1 in G4SmartVoxelHeader::BuildNodes() in case
|
|
computed nodes for smartless happen to be zero.
|
|
- Volumes:
|
|
o Introduced G4GeometryMessenger associated to G4TransportationManager
|
|
with following commands defined:
|
|
- geometry/test/run - to start verification of geometry for overlapping
|
|
regions based on standard grid setup.
|
|
- geometry/test/line_test - to activate test along a specified
|
|
direction and position user defined.
|
|
- geometry/test/position - to specify position for the line_test.
|
|
- geometry/test/direction - to specify direction for the line_test.
|
|
- geometry/test/tolerance - to customise test precision.
|
|
- geometry/navigator/reset - for resetting navigation history
|
|
and position.
|
|
o Added handles for reference counting: G4GRSSolidHandle,
|
|
G4GRSVolumeHandle, G4TouchableHistoryHandle.
|
|
o Modified G4Navigator for reference counted touchables.
|
|
Introduced new methods CreateTouchableHistoryHandle() and
|
|
LocateGlobalPointAndUpdateTouchableHandle(...).
|
|
o G4PropagatorInField:
|
|
- Added thresholds for number of steps with get/Set methods.
|
|
- Modified choice of subsequent step size in case of zero steps.
|
|
- Added GetCurrentFieldManager() method.
|
|
- Added 'maximum' epsilon value.
|
|
o G4Navigator:
|
|
- Fixed mirroring of the input argument for global direction into
|
|
local variable in LocateGlobalPointAndSetup().
|
|
- Added ResetState() method (that only reset state - not stack).
|
|
- Added optional argument for direction to LocateGlobalPointAndSetup().
|
|
- State is now resetted when touchable history is used to
|
|
re-initialise it.
|
|
- Direction in LocateGlobalPointAndSetup() methods is now used.
|
|
- solids/Boolean:
|
|
o Introduced first implementation of classes G4ReflectedSolid and
|
|
G4ReflectionFactory for reflections of positioned volumes based
|
|
on simple CSG solids.
|
|
o Introduced G4BOOLDEBUG flag and relaxed G4Exception calls with
|
|
warnings to G4cerr for rare occurences of anomalous conditions.
|
|
- solids/BREPS:
|
|
o Fix in G4BSplineCurve::Init() for initialisation of point vector.
|
|
o G4BREPSolidPolyhedra.cc: fixed situation when phi1 = 0 dphi1 = 2*pi
|
|
and all RMINs = 0.0. In this case the inner planes are not created.
|
|
- solids/CSG:
|
|
o G4Sphere: bug fix in SurfaceNormal() for the case kNETheta.
|
|
- solids/STEP & STEPinterface:
|
|
o SdaiCONFIG_CONTROL_DESIGN.cc: cleaned up warnings issued on SUN-CC.
|
|
o dirobj.cc: restored usage of strdup() and forced non-ANSI setup.
|
|
o Fixes for compilation on gcc-2.96.98 and gcc-3.0.2 compilers.
|
|
o G4Axis2Placement3dCreator::CreateG4Geometry(): added check to
|
|
attribute validity for 'direction'.
|
|
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
|
- Fixes to comply with removal of STLInterface.
|
|
|
|
o Global:
|
|
------
|
|
- Introduced G4ReferenceCountedHandle templated class.
|
|
- Modified G4Exception behavior, now setting G4StateManager to
|
|
"abort" state instead of aborting the application.
|
|
- Removed STLinterface module:
|
|
o renamed cstring[.h.icc] to G4String[.hh.icc].
|
|
o renamed ctoken.h to G4Tokenizer.hh.
|
|
|
|
o Graphics Representations:
|
|
------------------------
|
|
- Added G4Scale class.
|
|
- Added G4Polyline::transform.
|
|
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
|
|
|
o Hadronic Processes:
|
|
------------------
|
|
- Doppler broadening of low energy neutron cross-sections on the fly,
|
|
enabling to simulate setups with mixed temperatures from 0K data files.
|
|
- First release of chiral invariant phase-cpace decay.
|
|
Usable now for electron and gamma nuclear reactions, and for pi-
|
|
and anti-proton absorption. Also a cascade back-end replacement for
|
|
string models.
|
|
- First release of specialized models for neutron and proton scattering
|
|
off Hydrogene, with particular focus on recoils.
|
|
- First release of the evaporation and utilities parts of the HETC
|
|
re-write.
|
|
- Optimized memory usage of the neutron_hp transport code (gained an
|
|
integer factor)
|
|
- Maximized robustness: system tests now at O(5000) LHC event of hadronic
|
|
energy flow; large-N tests with about a factor 100 more statistics.
|
|
- Addition of gamma nuclar and electro nuclear reaction cross-sections.
|
|
- Checking for tracking consistancy.
|
|
- Added possibility to activate models for single elements/materials in
|
|
one call
|
|
- Now calling ResetNumberOfInteractionLengthLeft() rather than
|
|
ClearNumberOfInteractionLengthLeft().
|
|
- Enabled logging in various places.
|
|
- Fix for final state rotation from z; this can be done in general in
|
|
the hadronic process framework layer.
|
|
- Added G4PhotoNuclearProcess, G4PositronNuclearProcess, and
|
|
G4ElectronNuclearProcess.
|
|
- Optimised sampling of gaussian distributions.
|
|
- Fixed a missing initialization of strangeness in the high energy
|
|
models.
|
|
- Fixed the particle production for low energy light ion reactions.
|
|
- Bug fix for beta+ decay in radioactive decay (corrected Q-value).
|
|
- Bug-fix in neutron induced isotope production code to allow for mixtures.
|
|
- Bug-fix in the vector hash to allow for re-use of the hash tables.
|
|
- Getting rid of the strstream portability problem between SUN and Linux.
|
|
- Some conservative programming in the sampling vector, to allow for
|
|
binary re-use of the hash.
|
|
- Minor bug fix on gamma distributions in very special cases (yields and
|
|
integral energy was correct, but distribution had a slight bias before).
|
|
- Fix on elastic scattering final states: getting rid of a bias that was
|
|
there for a particular data representation. Affects Xenon.
|
|
- Fix for inelastic n->b+m*gamma channel; for the case of 4 gammas in the
|
|
final state, the mass of the recoil was of by one under certain condition.
|
|
(Mildly relevant for activation when simulating earth.)
|
|
- Fix in Names finding for scattering off Hydrogen.
|
|
- New calculation for compound radius in coulomb barrier calculation.
|
|
- Reduced default vector size.
|
|
- Added delete structs to the vectors.
|
|
- Getting rid of the E-11ev gamma problem, and a few memory leaks
|
|
introduced in the STL transition.
|
|
- Templated qgs models with the type of participants to enable heavy ion
|
|
collision simulation; heavy ion participants still to be fixed for
|
|
impact of fermi momentum.
|
|
- qgs model now also for kaons.
|
|
- Enabled 'meson' splitting for incident gammas in quark gluon string
|
|
model.
|
|
- First tuning of pomeron trajectory and vertex parameters for incident
|
|
gammas, assuming vector meson dominance; based on total reaction
|
|
cross-section only; further improvement scheduled.
|
|
- Fixed minimum mass constraint on string fragmentation in the
|
|
presence of zeitgleiche multiple and multi pomoron exchange, and
|
|
diffractive collisions.
|
|
- Design iteration on string fragmentation.
|
|
- Traced an elusing charge non-conservation to isotopic composition of
|
|
Hydrogene, which is taken care of internally.
|
|
- Bug-fix for splitting Omega- into partons.
|
|
- Added transformation in pre-equilibrium decay.
|
|
- Enabled tracing of colour, spin and iso-spin in the parton.
|
|
- Some improvement on folding two resonance collision cross-section.
|
|
- Cleared most compilation warnings and minor fixes for gcc-2.95.2 compiler.
|
|
- Fixes to comply with removal of STLInterface.
|
|
|
|
o Materials:
|
|
---------
|
|
- G4Isotope, G4Element, G4Material: IndexInTable is now obtained
|
|
dynamically via GetIndex().
|
|
- Added new function G4Materials::SetChemicalFormula().
|
|
- Fixed problems erasing when deleting Isotope, Element or Material objects.
|
|
- Fixed memory leak in G4SandiaTable::ComputeMatSandiaMatrix(),
|
|
for deletion of temporary vectors Z, tmp1, tmp2.
|
|
- Moved definitions of G4IsotopeVector and G4ElementVector
|
|
G4ElementTable and G4MaterialTable to the appropriate headers.
|
|
- Removed static inline methods to non-inline.
|
|
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
|
- Fixes to comply with removal of STLInterface.
|
|
|
|
o Particles:
|
|
---------
|
|
- Introduced G4NeutronBetaDecayChannel and added to G4Neutron.
|
|
- Allow MassDifference in case of nucleon decay.
|
|
- Fixed bug in copy constructor of G4DecayProduct.
|
|
- Introduced changes to allow multiple cuts per material (temporary).
|
|
- Removed static inline methods to non-inlined.
|
|
- Cleared compilation warnings and minor fixed for gcc-2.95.2 compiler.
|
|
- Fixes to comply with removal of STLInterface.
|
|
|
|
o Persistency:
|
|
-----------
|
|
- Fixes to comply with removal of STLInterface.
|
|
- Fixed porting problems on gcc-2.95.2.
|
|
|
|
o Run, Intercoms and Interfaces
|
|
-----------------------------
|
|
- run:
|
|
o Added new feature allowing to increase the number of waiting stacks.
|
|
o Added Set/GetApplyCuts methods in G4VUserPhysicsList.
|
|
o Added /run/particle/applyCuts command in G4UserPhysicsListMessenger.
|
|
o Added GetVersionString() method to G4RunManager.
|
|
o Added rndmSaveThisRun() and rndmSaveThisEvent() methods to G4RunManager.
|
|
o Added /random/ commands to G4RunMessenger.
|
|
o Fixed bugs in G4VUserPhysicsList.
|
|
- intercoms:
|
|
o Introduced feature for suppressing the program abortion due to
|
|
G4Exception.
|
|
o Introduced "Shell variables" for UI command handling. Added
|
|
class G4UIaliasList.
|
|
o Introduced loop execution of a macro file, recursive expansion of
|
|
aliased variables, and some other new features in G4UImanager and
|
|
related classes.
|
|
New commands: /control/shell, /control/foreach, /control/loop,
|
|
/control/createHTML.
|
|
o Added G4VGraphicsScene::AddPrimitive(const G4Scale&).
|
|
o Added G4VisManager::Draw(const G4Scale&,...).
|
|
o Modified G4UIbatch to display (G4cerr) the error message.
|
|
Comment lines are now displayed only for verbose level=2.
|
|
o Included correction for string parameter starting with a space.
|
|
o Fixed parsing of quoted (") tokens.
|
|
o Fixed a problem for commands with doubled slash.
|
|
- interfaces:
|
|
o Re-engineered G4UI variables:
|
|
changed GNUmakefile so that GAG, TERMINAL and TCSH built by default.
|
|
Nothing built if G4UI_NONE is set.
|
|
o G4VInteractorManager::RemoveDispatcher : change the remove logic in
|
|
order to fix a disfunctionning with vis/OpenInventor driver.
|
|
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
|
- Fixes to comply with removal of STLInterface.
|
|
|
|
o Tracking & Track:
|
|
----------------
|
|
- track:
|
|
o Fixed bug for velocity in method G4Step::UpdateTrack().
|
|
o Implemented assignment operator for G4ParticleChangeForRadDecay.
|
|
o Fixed bug in assignment operator of G4Track.
|
|
o Removed static inline methods to non inline.
|
|
- tracking:
|
|
o Added protection for tracks placed outside the world volume
|
|
at the initial point.
|
|
o Correction to the use the touchable Handle for secondary tracks,
|
|
when it is available. Now the direction is used in locating a particle
|
|
(primary or secondary) in SetInitialStep(). This is in order to assist
|
|
in starting particles that are on/near-to boundaries in the correct
|
|
volume.
|
|
- Introduced changes for reference-counted touchables mechanism.
|
|
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
|
- Fixes to comply with removal of STLInterface.
|
|
|
|
o Transportation:
|
|
--------------
|
|
- Motivated by the use case of an Electric Field, in order to achieve
|
|
reasonable accuracy in time integration, and to enable fields that
|
|
vary with the global time:
|
|
o G4Transportation now try obtaining the delta_time from G4FieldTrack.
|
|
- Introduced changes to G4Transportation for reference-counted touchables.
|
|
Added methods GetFreeTouchable() and SetTheOtherTouchableFree().
|
|
- Added protection in G4Transportation::AlongStepGPIL for messaging
|
|
"ResestStepEstimate" of G4ChordFinder for the case there is no global
|
|
field.
|
|
|
|
o Visualization:
|
|
-------------
|
|
- Introduced new HepRep graphics driver.
|
|
- Removed the need to specify environment variables for visualization
|
|
drivers which do not need external packages or libraries.
|
|
- Removed old-style commands.
|
|
- Added commands:
|
|
o /vis/scene/add/scale
|
|
o /vis/viewer/flush = refresh + update.
|
|
o /vis/viewer/set/upThetaPhi and upVector.
|
|
o refresh|flush option to /vis/scene/notifyHandlers.
|
|
- Moved /vis/viewer/lights and viewpoint to /vis/viewer/set.
|
|
- Added G4ScaleModel.
|
|
- Added G4VModel::SetExtent(const G4VisExtent&).
|
|
- Added G4VisManager::Draw(const G4Scale&,...).
|
|
- Added template graphics system XXX.
|
|
- Re-implemented verbosity control. Output statements wherever possible
|
|
are controlled by the verbosity in a simple graded message scheme.
|
|
- Improved auto-refreshing.
|
|
- Force rebuild of graphics "stores" (graphical databases) and,
|
|
if auto-refresh is true, refresh of all views
|
|
(/vis/scene/notifyHandlers) after an addition to scene.
|
|
- Eliminated view parameters from G4VisManager.
|
|
Paramenters can be copied from one view to another with:
|
|
/vis/viewer/set/all
|
|
- Updated G4RTJpegMaker for porting Windows systems.
|
|
- OpenInventor : move HEPVis/SoWindow under vis/OpenInventor/G4SoWindow
|
|
to prepare HEPVis/6.0. (HEPVis/SoWindow will disappear from HEPVis/6.0).
|
|
- Fixed crash in optimised mode: added Initialise() to viewers so
|
|
that windows are opened after viewers are fully constructed.
|
|
- Corrected mistake which could cause crash if user specified a
|
|
non-existent scene handler in /vis/sceneHandler/remove.
|
|
- Fix for replica rotation matrix. It Fixes observed crashes in replica
|
|
tracking with visualisation.
|
|
- Fixed bug in G4VSceneHandler::AddPrimitive(const G4Scale&).
|
|
- Fixed bug in G4VisManager::EndOfEvent.
|
|
- Added README.quick, a quick installation guide.
|
|
- Improved verbosity guidance and READMEs.
|
|
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
|
- Fixes to comply with removal of STLInterface.
|
|
|
|
o G4toG4 Tool:
|
|
-----------
|
|
- Implemented reflection of CSG solids through G4ReflectionFactory
|
|
class and G4ReflectedSolid. Added G3G4_NO_REFLECTION flag to exclude
|
|
it if needed for cases not yet covered.
|
|
- Added limited support for MANY volumes through adoption of boolean solids.
|
|
- Changed G3Division::CreatePVReplica() to return a G4PhysicalVolumesPair.
|
|
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
|
- Fixes to comply with removal of STLInterface.
|
|
|
|
o Examples:
|
|
--------
|
|
- Novice:
|
|
o updated visualization macros.
|
|
o updated vis-managers.
|
|
- Extended:
|
|
o new electromagnetic example "TestEm10" for exercising
|
|
specific parameterisation models.
|
|
o new examples for electro-magnetic field: field01, field02, field03.
|
|
o updated vis-managers.
|
|
- Advanced:
|
|
o underground_physics: new example for simulation of an underground
|
|
dark matter experiment.
|
|
o xray_fluorescence: new simulation setup for the study the elemental
|
|
composition of a planet through the measurement of the X-rays emitted.
|
|
o new improved versions of existing advanced applications.
|
|
- Cleared most compilation warnings on gcc-2.95.2 compiler.
|
|
- Fixes to comply with removal of STLInterface.
|
|
- Updated reference outputs.
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
Technical Notes
|
|
---------------
|
|
|
|
o Geant4 4.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.
|
|
|
|
|
|
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.7, C++ 5.2 Patch 109508-03.
|
|
o Linux, gcc 2.95.2, 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 more recent
|
|
RedHat, Debian and Suse distributions.
|
|
o NT 4.0 (Service Pack 4) or Windows-2000 and Cygnus Tools b20 with:
|
|
Visual C++ 6.0 Service Pack 5
|
|
|
|
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 HP 10.20, aCC C++ B3910B A.01.23
|
|
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 4.0 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.7.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 4.0 coworks with ANAPHE 3.6.5 and components included therein:
|
|
Objectivity 6.1.3
|
|
HepODBMS 0.3.3.1
|
|
CLHEP 1.7.0.0
|
|
|
|
For more information about ANAPHE 3.6.5, see:
|
|
<A href="http://cern.ch/anaphe">ANAPHE</A>
|
|
|
|
|
|
3. The Standard Template Library
|
|
--------------------------------
|
|
|
|
Native versions of STL have been tested on the following platforms:
|
|
|
|
Windows/2000, Linux, DEC and SUN.
|
|
|
|
NOTES:
|
|
|
|
- Platform specific setup:
|
|
o DEC: Native STL is required for ISO/ANSI setup.
|
|
o SUN: Native STL is required for ISO/ANSI setup (CC 5.2 only).
|
|
o Linux: Native STL is required (non ISO/ANSI setup for egcs compiler only).
|
|
o W2000: Native STL and ISO/ANSI setup required (VC++ 6.0).
|
|
|
|
|
|
4. Persistency
|
|
--------------
|
|
|
|
Platform
|
|
--------
|
|
|
|
Persistency in Geant4 4.0 release is tested on the following
|
|
platforms:
|
|
|
|
G4SYSTEM OS C++ compiler HepODBMS Objectivity
|
|
--------- ----------- ------------ --------- -----------
|
|
SUN-CC SunOS 5.7 CC 5.2 0.3.3.1 6.1.3 (*)
|
|
Linux-g++ RedHat 6.1 gcc-2.95.2 0.3.3.1 6.1.3 (#)
|
|
|
|
(*) HepODBMS header files must be prepared with "ooddlx -noline"
|
|
option. See below.
|
|
(#) 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.
|
|
|
|
- If you are using Solaris7 CC compiler 5.2 (SUN-CC) with the original
|
|
release version, persistent header files has to be generated by
|
|
ooddlx with "-noline" option due to 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 is the default for SUN-CC configuration for Geant4 GNUmakefiles.
|
|
When this option is turned on, it 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. When
|
|
you design a persistent object with Geant4 GNUmakefiles and get the
|
|
compiler errors, try to identify the problem 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 released from SUN, and you may remove this
|
|
option by commenting out the line:
|
|
|
|
G4DDLX_FLAGS += -noline
|
|
|
|
in the file $G4INSTALL/config/sys/SUN-CC.gmk.
|
|
|
|
You can check the SUN-CC patch by the following command:
|
|
|
|
% what `which CC` | grep RELEASE
|
|
|
|
|
|
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.
|