Import Geant4 4.0.0 source tree
This commit is contained in:
@@ -0,0 +1,649 @@
|
||||
|
||||
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.
|
||||
Reference in New Issue
Block a user