Warning, /geant4/CHANGELOG/ReleaseNotes4.4.0.txt is written in an unsupported language. File is not indexed.
0001
0002 Geant4 4.0 Release Notes
0003 ------------------------
0004
0005 14th December 2001
0006
0007 These are the main new features/fixes included in this release since the
0008 last public release (for the detailed list of fixes/additions, please refer
0009 to the related History files):
0010
0011 o Analysis:
0012 --------
0013 - Removed analysis module. AIDA 2.2 or higher should now be adopted.
0014
0015 o Configuration:
0016 -------------
0017 - New version of the 'Configure' script for installation.
0018 - architecture.gmk:
0019 o made Linux-g++ architecture the default G4SYSTEM.
0020 o removed references to STLInterface.
0021 - Added Linux-egcs for old Linux architectures based on egcs-1.1.2 compiler.
0022 - Made Linux-g++ specific to gcc-2.95.2 compiler or higher.
0023 - Made SUN-CC specific to CC-5.2 compiler, the default compiler on SUN
0024 systems. CC-4.2 is no longer supported.
0025 - Introduced environment variable G4VIS_NONE that, if set, no visualization
0026 drivers are built and no vis libraries are built.
0027 - Introduced environment variable G4UI_NONE that, if set, no UI
0028 sessions nor any UI libraries are built.
0029 - Re-engineered G4VIS variables: removed the need to specify environment
0030 variables for visualization drivers which do not need external packages
0031 or libraries, namely :
0032 G4VIS_BUILD_DAWNFILE_DRIVER
0033 G4VIS_BUILD_RAYTRACER_DRIVER
0034 G4VIS_BUILD_VRMLFILE_DRIVER
0035 G4VIS_BUILD_ASCIITREE_DRIVER
0036 G4VIS_BUILD_GAGTREE_DRIVER
0037 with associated G4VIS_USE environment variables:
0038 G4VIS_USE_DAWNFILE
0039 G4VIS_USE_RAYTRACER
0040 G4VIS_USE_VRMLFILE
0041 G4VIS_USE_ASCIITREE
0042 G4VIS_USE_GAGTREE
0043 - Re-engineered G4UI variables: removed the need to specify environment
0044 variables for UI sessions which do not need external packages or
0045 libraries, namely :
0046 G4UI_BUILD_GAG_SESSION, G4UI_BUILD_TERMINAL_SESSION
0047 with associated G4UI_USE environment variables:
0048 G4UI_USE_GAG, G4UI_USE_TCSH, G4UI_USE_TERMINAL
0049 - Removed references to STLInterface module in architecture.gmk
0050 and architecture setups.
0051 - analysis.gmk: added flags to use an AIDA 2.2 compliant analysis system.
0052
0053 o Event:
0054 -----
0055 - Added a new feature for the user to increase the number of waiting stacks.
0056 - Added Beam option for generating accelerator beams.
0057 - Added check whether the primary vertex is inside of the world volume.
0058 - G4PrimaryParticle now stores the proper trackID.
0059 - G4PrimaryTransformer: now considering case where a primary is
0060 placed on the boundary of the world volume.
0061 - G4GeneralParticleSource (GPS): implemented co-ordinates rotation for
0062 angular distribution.
0063 - Bug fix in G4EventManager in case G4_STORETRAJECTORY is off.
0064 - Moved set method of position and time from G4ParticleGun to
0065 G4VPrimaryGenerator so that G4HEPEvtInterface can accept the primary
0066 vertex position
0067 - Cleared compilation warnings on gcc-2.95.2.
0068 - Fixes to comply with removal of STLInterface.
0069
0070 o Electromagnetic Processes (Low-energy):
0071 --------------------------------------
0072 - Major revision of G4LowEnergyCompton, G4LowEnergyRayleigh and
0073 G4LowEnergyGammaConversion: re-implementation according to the design
0074 iteration in the data domain.
0075 - New version of data G4EMLOW0.5 required.
0076 - New classes for shell cross sections for proton-induced fluorescence.
0077 - First implementation of fluorescence process.
0078 - Introduced PIXE in G4hLowEnergyIonisation.
0079 - Significant physics an performance improvement in electron processes.
0080 - Added method to deactivate fluorescence in ionisation if needed.
0081 - Added protection in G4LowEnergyPhotoElectric to avoid generation of
0082 photons causing negative energy balance.
0083 - Fixed a problem of continuity of ion effective charge.
0084 - Fixed energy conservation problems for small range cuts in
0085 G4LowEnergyIonisation.
0086 - Introduced changes to allow multiple cuts per material (temporary).
0087 - Removed static inline methods to non inline.
0088 - Cleared compilation warnings on gcc-2.95.2.
0089 - Fixes to comply with removal of STLInterface.
0090
0091 o Electromagnetic Processes (Standard):
0092 ------------------------------------
0093 - Implemented mechanism for storing and retrieving Physics Tables.
0094 - Implemented new function ComputeRestrictedMeandEdx() for ionisation
0095 processes.
0096 - Implemented subcutoff delta-rays mechanism in G4VMuEnergyLoss.
0097 - Suppression of the production threshold in phot, compt, conv, annih
0098 processes.
0099 - Removed obsolete "integral" module.
0100 - Fixed old outstanding bug in G4EnergyLossTables, responsible for
0101 causing negative energy deposit in some occasions.
0102 - Introduced changes for reference-counted touchables.
0103 - Introduced changes to allow multiple cuts per material (temporary).
0104 - Removed static inline methods to non inline.
0105 - Cleared compilation warnings on gcc-2.95.2.
0106 - Fixes to comply with removal of STLInterface.
0107
0108 o General Processes, Parameterisation, Decay, Optical:
0109 ---------------------------------------------------
0110 - management:
0111 o Added Set/GetProcessManager() to G4VProcess and modified
0112 G4ProcessManager::AddProcess() to invoke SetProcessManager().
0113 o Fixed bug in copy constructor of G4ProcessManager.
0114 - parameterisation(s):
0115 o Added new classes describing X-ray transition radiation generation
0116 inside radiators (i.e. just along incident particle track):
0117 G4FoamXTRdEdx, G4GamDistrXTRdEdx, G4IrregularXTRdEdx,
0118 G4PlateIrrGasXTRdEdx, G4RegularXTRdEdx, G4VXTRdEdx, G4VXrayTRadModel.
0119 o Introduced changes in G4VClusterModel for reference-counted
0120 touchables.
0121 - optical:
0122 o Changed process name for G4OpRayleigh, G4OpBoundary and G4OpAbsorption.
0123 - Cleared compilation warnings on gcc-2.95.2 compiler.
0124 - Fixes to comply with removal of STLInterface.
0125
0126 o Geometry:
0127 --------
0128 - Introduced geometry/verification module for checking geometry for
0129 volumes overlaps.
0130 - Magnetic field:
0131 o Handling Electric Field and time-dependent fields.
0132 o Introduced ability to set field per volume.
0133 o New extended examples for field in examples/extended.
0134 o Added method in G4ChordFinder to erase/reset the state of the
0135 StepEstimate. This is unwanted internal state that was carried
0136 between tracks and events as a side effect.
0137 Calling this at the start of each track, it is now possible to
0138 eliminate a reported problem of non-repeatability.
0139 o Reduced maximum number of steps in G4MagIntegratorDriver.
0140 o Protected verbose warnings with G4DEBUG_FIELD flag in G4ChordFinder
0141 and G4MagIntegratorDriver.
0142 o G4FieldManager: added fFieldChangesEnergy data member and get/set
0143 methods.
0144 o Fixed interface to virtual functions in the inheritance chain of
0145 G4Field and subclasses.
0146 - Management:
0147 o Added definition of G4TouchableHandle.
0148 o Added class G4SmartVoxelStat for statistics on geometry optimisation
0149 of volumes through voxelisation.
0150 o Modified G4GeometryManager to make use of G4SmartVoxelStat when run
0151 in verbose mode:
0152 - added argument to CloseGeometry() method for verbosity
0153 - added ReportVoxelStats() method for reporting optimisation statistics.
0154 o Initialise noNodes to 1 in G4SmartVoxelHeader::BuildNodes() in case
0155 computed nodes for smartless happen to be zero.
0156 - Volumes:
0157 o Introduced G4GeometryMessenger associated to G4TransportationManager
0158 with following commands defined:
0159 - geometry/test/run - to start verification of geometry for overlapping
0160 regions based on standard grid setup.
0161 - geometry/test/line_test - to activate test along a specified
0162 direction and position user defined.
0163 - geometry/test/position - to specify position for the line_test.
0164 - geometry/test/direction - to specify direction for the line_test.
0165 - geometry/test/tolerance - to customise test precision.
0166 - geometry/navigator/reset - for resetting navigation history
0167 and position.
0168 o Added handles for reference counting: G4GRSSolidHandle,
0169 G4GRSVolumeHandle, G4TouchableHistoryHandle.
0170 o Modified G4Navigator for reference counted touchables.
0171 Introduced new methods CreateTouchableHistoryHandle() and
0172 LocateGlobalPointAndUpdateTouchableHandle(...).
0173 o G4PropagatorInField:
0174 - Added thresholds for number of steps with get/Set methods.
0175 - Modified choice of subsequent step size in case of zero steps.
0176 - Added GetCurrentFieldManager() method.
0177 - Added 'maximum' epsilon value.
0178 o G4Navigator:
0179 - Fixed mirroring of the input argument for global direction into
0180 local variable in LocateGlobalPointAndSetup().
0181 - Added ResetState() method (that only reset state - not stack).
0182 - Added optional argument for direction to LocateGlobalPointAndSetup().
0183 - State is now resetted when touchable history is used to
0184 re-initialise it.
0185 - Direction in LocateGlobalPointAndSetup() methods is now used.
0186 - solids/Boolean:
0187 o Introduced first implementation of classes G4ReflectedSolid and
0188 G4ReflectionFactory for reflections of positioned volumes based
0189 on simple CSG solids.
0190 o Introduced G4BOOLDEBUG flag and relaxed G4Exception calls with
0191 warnings to G4cerr for rare occurences of anomalous conditions.
0192 - solids/BREPS:
0193 o Fix in G4BSplineCurve::Init() for initialisation of point vector.
0194 o G4BREPSolidPolyhedra.cc: fixed situation when phi1 = 0 dphi1 = 2*pi
0195 and all RMINs = 0.0. In this case the inner planes are not created.
0196 - solids/CSG:
0197 o G4Sphere: bug fix in SurfaceNormal() for the case kNETheta.
0198 - solids/STEP & STEPinterface:
0199 o SdaiCONFIG_CONTROL_DESIGN.cc: cleaned up warnings issued on SUN-CC.
0200 o dirobj.cc: restored usage of strdup() and forced non-ANSI setup.
0201 o Fixes for compilation on gcc-2.96.98 and gcc-3.0.2 compilers.
0202 o G4Axis2Placement3dCreator::CreateG4Geometry(): added check to
0203 attribute validity for 'direction'.
0204 - Cleared compilation warnings on gcc-2.95.2 compiler.
0205 - Fixes to comply with removal of STLInterface.
0206
0207 o Global:
0208 ------
0209 - Introduced G4ReferenceCountedHandle templated class.
0210 - Modified G4Exception behavior, now setting G4StateManager to
0211 "abort" state instead of aborting the application.
0212 - Removed STLinterface module:
0213 o renamed cstring[.h.icc] to G4String[.hh.icc].
0214 o renamed ctoken.h to G4Tokenizer.hh.
0215
0216 o Graphics Representations:
0217 ------------------------
0218 - Added G4Scale class.
0219 - Added G4Polyline::transform.
0220 - Cleared compilation warnings on gcc-2.95.2 compiler.
0221
0222 o Hadronic Processes:
0223 ------------------
0224 - Doppler broadening of low energy neutron cross-sections on the fly,
0225 enabling to simulate setups with mixed temperatures from 0K data files.
0226 - First release of chiral invariant phase-cpace decay.
0227 Usable now for electron and gamma nuclear reactions, and for pi-
0228 and anti-proton absorption. Also a cascade back-end replacement for
0229 string models.
0230 - First release of specialized models for neutron and proton scattering
0231 off Hydrogene, with particular focus on recoils.
0232 - First release of the evaporation and utilities parts of the HETC
0233 re-write.
0234 - Optimized memory usage of the neutron_hp transport code (gained an
0235 integer factor)
0236 - Maximized robustness: system tests now at O(5000) LHC event of hadronic
0237 energy flow; large-N tests with about a factor 100 more statistics.
0238 - Addition of gamma nuclar and electro nuclear reaction cross-sections.
0239 - Checking for tracking consistancy.
0240 - Added possibility to activate models for single elements/materials in
0241 one call
0242 - Now calling ResetNumberOfInteractionLengthLeft() rather than
0243 ClearNumberOfInteractionLengthLeft().
0244 - Enabled logging in various places.
0245 - Fix for final state rotation from z; this can be done in general in
0246 the hadronic process framework layer.
0247 - Added G4PhotoNuclearProcess, G4PositronNuclearProcess, and
0248 G4ElectronNuclearProcess.
0249 - Optimised sampling of gaussian distributions.
0250 - Fixed a missing initialization of strangeness in the high energy
0251 models.
0252 - Fixed the particle production for low energy light ion reactions.
0253 - Bug fix for beta+ decay in radioactive decay (corrected Q-value).
0254 - Bug-fix in neutron induced isotope production code to allow for mixtures.
0255 - Bug-fix in the vector hash to allow for re-use of the hash tables.
0256 - Getting rid of the strstream portability problem between SUN and Linux.
0257 - Some conservative programming in the sampling vector, to allow for
0258 binary re-use of the hash.
0259 - Minor bug fix on gamma distributions in very special cases (yields and
0260 integral energy was correct, but distribution had a slight bias before).
0261 - Fix on elastic scattering final states: getting rid of a bias that was
0262 there for a particular data representation. Affects Xenon.
0263 - Fix for inelastic n->b+m*gamma channel; for the case of 4 gammas in the
0264 final state, the mass of the recoil was of by one under certain condition.
0265 (Mildly relevant for activation when simulating earth.)
0266 - Fix in Names finding for scattering off Hydrogen.
0267 - New calculation for compound radius in coulomb barrier calculation.
0268 - Reduced default vector size.
0269 - Added delete structs to the vectors.
0270 - Getting rid of the E-11ev gamma problem, and a few memory leaks
0271 introduced in the STL transition.
0272 - Templated qgs models with the type of participants to enable heavy ion
0273 collision simulation; heavy ion participants still to be fixed for
0274 impact of fermi momentum.
0275 - qgs model now also for kaons.
0276 - Enabled 'meson' splitting for incident gammas in quark gluon string
0277 model.
0278 - First tuning of pomeron trajectory and vertex parameters for incident
0279 gammas, assuming vector meson dominance; based on total reaction
0280 cross-section only; further improvement scheduled.
0281 - Fixed minimum mass constraint on string fragmentation in the
0282 presence of zeitgleiche multiple and multi pomoron exchange, and
0283 diffractive collisions.
0284 - Design iteration on string fragmentation.
0285 - Traced an elusing charge non-conservation to isotopic composition of
0286 Hydrogene, which is taken care of internally.
0287 - Bug-fix for splitting Omega- into partons.
0288 - Added transformation in pre-equilibrium decay.
0289 - Enabled tracing of colour, spin and iso-spin in the parton.
0290 - Some improvement on folding two resonance collision cross-section.
0291 - Cleared most compilation warnings and minor fixes for gcc-2.95.2 compiler.
0292 - Fixes to comply with removal of STLInterface.
0293
0294 o Materials:
0295 ---------
0296 - G4Isotope, G4Element, G4Material: IndexInTable is now obtained
0297 dynamically via GetIndex().
0298 - Added new function G4Materials::SetChemicalFormula().
0299 - Fixed problems erasing when deleting Isotope, Element or Material objects.
0300 - Fixed memory leak in G4SandiaTable::ComputeMatSandiaMatrix(),
0301 for deletion of temporary vectors Z, tmp1, tmp2.
0302 - Moved definitions of G4IsotopeVector and G4ElementVector
0303 G4ElementTable and G4MaterialTable to the appropriate headers.
0304 - Removed static inline methods to non-inline.
0305 - Cleared compilation warnings on gcc-2.95.2 compiler.
0306 - Fixes to comply with removal of STLInterface.
0307
0308 o Particles:
0309 ---------
0310 - Introduced G4NeutronBetaDecayChannel and added to G4Neutron.
0311 - Allow MassDifference in case of nucleon decay.
0312 - Fixed bug in copy constructor of G4DecayProduct.
0313 - Introduced changes to allow multiple cuts per material (temporary).
0314 - Removed static inline methods to non-inlined.
0315 - Cleared compilation warnings and minor fixed for gcc-2.95.2 compiler.
0316 - Fixes to comply with removal of STLInterface.
0317
0318 o Persistency:
0319 -----------
0320 - Fixes to comply with removal of STLInterface.
0321 - Fixed porting problems on gcc-2.95.2.
0322
0323 o Run, Intercoms and Interfaces
0324 -----------------------------
0325 - run:
0326 o Added new feature allowing to increase the number of waiting stacks.
0327 o Added Set/GetApplyCuts methods in G4VUserPhysicsList.
0328 o Added /run/particle/applyCuts command in G4UserPhysicsListMessenger.
0329 o Added GetVersionString() method to G4RunManager.
0330 o Added rndmSaveThisRun() and rndmSaveThisEvent() methods to G4RunManager.
0331 o Added /random/ commands to G4RunMessenger.
0332 o Fixed bugs in G4VUserPhysicsList.
0333 - intercoms:
0334 o Introduced feature for suppressing the program abortion due to
0335 G4Exception.
0336 o Introduced "Shell variables" for UI command handling. Added
0337 class G4UIaliasList.
0338 o Introduced loop execution of a macro file, recursive expansion of
0339 aliased variables, and some other new features in G4UImanager and
0340 related classes.
0341 New commands: /control/shell, /control/foreach, /control/loop,
0342 /control/createHTML.
0343 o Added G4VGraphicsScene::AddPrimitive(const G4Scale&).
0344 o Added G4VisManager::Draw(const G4Scale&,...).
0345 o Modified G4UIbatch to display (G4cerr) the error message.
0346 Comment lines are now displayed only for verbose level=2.
0347 o Included correction for string parameter starting with a space.
0348 o Fixed parsing of quoted (") tokens.
0349 o Fixed a problem for commands with doubled slash.
0350 - interfaces:
0351 o Re-engineered G4UI variables:
0352 changed GNUmakefile so that GAG, TERMINAL and TCSH built by default.
0353 Nothing built if G4UI_NONE is set.
0354 o G4VInteractorManager::RemoveDispatcher : change the remove logic in
0355 order to fix a disfunctionning with vis/OpenInventor driver.
0356 - Cleared compilation warnings on gcc-2.95.2 compiler.
0357 - Fixes to comply with removal of STLInterface.
0358
0359 o Tracking & Track:
0360 ----------------
0361 - track:
0362 o Fixed bug for velocity in method G4Step::UpdateTrack().
0363 o Implemented assignment operator for G4ParticleChangeForRadDecay.
0364 o Fixed bug in assignment operator of G4Track.
0365 o Removed static inline methods to non inline.
0366 - tracking:
0367 o Added protection for tracks placed outside the world volume
0368 at the initial point.
0369 o Correction to the use the touchable Handle for secondary tracks,
0370 when it is available. Now the direction is used in locating a particle
0371 (primary or secondary) in SetInitialStep(). This is in order to assist
0372 in starting particles that are on/near-to boundaries in the correct
0373 volume.
0374 - Introduced changes for reference-counted touchables mechanism.
0375 - Cleared compilation warnings on gcc-2.95.2 compiler.
0376 - Fixes to comply with removal of STLInterface.
0377
0378 o Transportation:
0379 --------------
0380 - Motivated by the use case of an Electric Field, in order to achieve
0381 reasonable accuracy in time integration, and to enable fields that
0382 vary with the global time:
0383 o G4Transportation now try obtaining the delta_time from G4FieldTrack.
0384 - Introduced changes to G4Transportation for reference-counted touchables.
0385 Added methods GetFreeTouchable() and SetTheOtherTouchableFree().
0386 - Added protection in G4Transportation::AlongStepGPIL for messaging
0387 "ResestStepEstimate" of G4ChordFinder for the case there is no global
0388 field.
0389
0390 o Visualization:
0391 -------------
0392 - Introduced new HepRep graphics driver.
0393 - Removed the need to specify environment variables for visualization
0394 drivers which do not need external packages or libraries.
0395 - Removed old-style commands.
0396 - Added commands:
0397 o /vis/scene/add/scale
0398 o /vis/viewer/flush = refresh + update.
0399 o /vis/viewer/set/upThetaPhi and upVector.
0400 o refresh|flush option to /vis/scene/notifyHandlers.
0401 - Moved /vis/viewer/lights and viewpoint to /vis/viewer/set.
0402 - Added G4ScaleModel.
0403 - Added G4VModel::SetExtent(const G4VisExtent&).
0404 - Added G4VisManager::Draw(const G4Scale&,...).
0405 - Added template graphics system XXX.
0406 - Re-implemented verbosity control. Output statements wherever possible
0407 are controlled by the verbosity in a simple graded message scheme.
0408 - Improved auto-refreshing.
0409 - Force rebuild of graphics "stores" (graphical databases) and,
0410 if auto-refresh is true, refresh of all views
0411 (/vis/scene/notifyHandlers) after an addition to scene.
0412 - Eliminated view parameters from G4VisManager.
0413 Paramenters can be copied from one view to another with:
0414 /vis/viewer/set/all
0415 - Updated G4RTJpegMaker for porting Windows systems.
0416 - OpenInventor : move HEPVis/SoWindow under vis/OpenInventor/G4SoWindow
0417 to prepare HEPVis/6.0. (HEPVis/SoWindow will disappear from HEPVis/6.0).
0418 - Fixed crash in optimised mode: added Initialise() to viewers so
0419 that windows are opened after viewers are fully constructed.
0420 - Corrected mistake which could cause crash if user specified a
0421 non-existent scene handler in /vis/sceneHandler/remove.
0422 - Fix for replica rotation matrix. It Fixes observed crashes in replica
0423 tracking with visualisation.
0424 - Fixed bug in G4VSceneHandler::AddPrimitive(const G4Scale&).
0425 - Fixed bug in G4VisManager::EndOfEvent.
0426 - Added README.quick, a quick installation guide.
0427 - Improved verbosity guidance and READMEs.
0428 - Cleared compilation warnings on gcc-2.95.2 compiler.
0429 - Fixes to comply with removal of STLInterface.
0430
0431 o G4toG4 Tool:
0432 -----------
0433 - Implemented reflection of CSG solids through G4ReflectionFactory
0434 class and G4ReflectedSolid. Added G3G4_NO_REFLECTION flag to exclude
0435 it if needed for cases not yet covered.
0436 - Added limited support for MANY volumes through adoption of boolean solids.
0437 - Changed G3Division::CreatePVReplica() to return a G4PhysicalVolumesPair.
0438 - Cleared compilation warnings on gcc-2.95.2 compiler.
0439 - Fixes to comply with removal of STLInterface.
0440
0441 o Examples:
0442 --------
0443 - Novice:
0444 o updated visualization macros.
0445 o updated vis-managers.
0446 - Extended:
0447 o new electromagnetic example "TestEm10" for exercising
0448 specific parameterisation models.
0449 o new examples for electro-magnetic field: field01, field02, field03.
0450 o updated vis-managers.
0451 - Advanced:
0452 o underground_physics: new example for simulation of an underground
0453 dark matter experiment.
0454 o xray_fluorescence: new simulation setup for the study the elemental
0455 composition of a planet through the measurement of the X-rays emitted.
0456 o new improved versions of existing advanced applications.
0457 - Cleared most compilation warnings on gcc-2.95.2 compiler.
0458 - Fixes to comply with removal of STLInterface.
0459 - Updated reference outputs.
0460
0461 ----------------------------------------------------------------------------
0462
0463 Technical Notes
0464 ---------------
0465
0466 o Geant4 4.0 is based on STL and can be installed with strict
0467 ISO/ANSI C++ compliant setup or not. See notes below.
0468
0469 The code and some binary libraries are available through our "Source Code"
0470 Web page:
0471 - see our Geant4 Home Page (http://cern.ch/geant4).
0472
0473 Please refer to the Geant4 User Documentation
0474 (http://cern.ch/geant4/G4UsersDocuments/Overview/html)
0475 for further information about using Geant4.
0476
0477
0478 Contents
0479 --------
0480
0481 1. Supported and Tested Platforms
0482 2. ANAPHE and CLHEP
0483 3. The Standard Template Library (STL)
0484 4. Persistency
0485 5. Compiler Specific Problems
0486 6. Known Run-Time Problems
0487 7. Compilation Warnings
0488 8. Known Run-Time Warnings
0489
0490
0491 1. Supported and Tested Platforms
0492 ---------------------------------
0493
0494 o SUN Solaris 5.7, C++ 5.2 Patch 109508-03.
0495 o Linux, gcc 2.95.2, egcs-2.91.66 (egcs 1.1.2).
0496 This configuration was tested with the RedHat 6.1 distribution, but
0497 versions of Geant4 have also been compiled successfully on more recent
0498 RedHat, Debian and Suse distributions.
0499 o NT 4.0 (Service Pack 4) or Windows-2000 and Cygnus Tools b20 with:
0500 Visual C++ 6.0 Service Pack 5
0501
0502 Platforms also tested but giving rise to some problems - see below:
0503
0504 o DEC V4.0, cxx C++ V6.1-027.
0505
0506 Platforms configured but not tested and not supported:
0507 o HP 10.20, aCC C++ B3910B A.01.23
0508 o SGI V6.5.5, CC 7.2.1 with ObjectSpace
0509 o AIX 4.3.2, xlC compiler with ObjectSpace
0510
0511
0512 2. ANAPHE and CLHEP
0513 -------------------
0514
0515 Geant4 4.0 requires the installation of CLHEP.
0516
0517 See CLHEP (http://cern.ch/clhep/INSTALLATION/clhep.html).
0518 Tests have been performed with CLHEP 1.7.0.0.
0519
0520 By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
0521 if the compiler is capable. You need to explicitly disable CLHEP settings in
0522 case you wish non-ISO/ANSI setup on specific compilers.
0523
0524 Geant4 4.0 coworks with ANAPHE 3.6.5 and components included therein:
0525 Objectivity 6.1.3
0526 HepODBMS 0.3.3.1
0527 CLHEP 1.7.0.0
0528
0529 For more information about ANAPHE, see: http://cern.ch/anaphe
0530
0531
0532 3. The Standard Template Library
0533 --------------------------------
0534
0535 Native versions of STL have been tested on the following platforms:
0536
0537 Windows/2000, Linux, DEC and SUN.
0538
0539 NOTES:
0540
0541 - Platform specific setup:
0542 o DEC: Native STL is required for ISO/ANSI setup.
0543 o SUN: Native STL is required for ISO/ANSI setup (CC 5.2 only).
0544 o Linux: Native STL is required (non ISO/ANSI setup for egcs compiler only).
0545 o W2000: Native STL and ISO/ANSI setup required (VC++ 6.0).
0546
0547
0548 4. Persistency
0549 --------------
0550
0551 Platform
0552 --------
0553
0554 Persistency in Geant4 4.0 release is tested on the following
0555 platforms:
0556
0557 G4SYSTEM OS C++ compiler HepODBMS Objectivity
0558 --------- ----------- ------------ --------- -----------
0559 SUN-CC SunOS 5.7 CC 5.2 0.3.3.1 6.1.3 (*)
0560 Linux-g++ RedHat 6.1 gcc-2.95.2 0.3.3.1 6.1.3 (#)
0561
0562 (*) HepODBMS header files must be prepared with "ooddlx -noline"
0563 option. See below.
0564 (#) See g4odbms_setup[.sh.csh] in example PersistentEx01 in
0565 'geant4/examples/extended/persistency' for example setup scripts.
0566
0567 Known Problems
0568 --------------
0569
0570 - There are several warning messages on some platforms during the
0571 installation of the libraries and the compilation of the examples.
0572 Most of them can be safely ignored. It is annoying but hard to get
0573 rid of them due to various reasons.
0574
0575 - If you are using Solaris7 CC compiler 5.2 (SUN-CC) with the original
0576 release version, persistent header files has to be generated by
0577 ooddlx with "-noline" option due to a bug in C++ compiler.
0578 This workaround applies not only to Geant4 Persistency category but
0579 also to HepODBMS, and the user defined ddl files as well.
0580 This is the default for SUN-CC configuration for Geant4 GNUmakefiles.
0581 When this option is turned on, it removes the "#line" directive of
0582 the file name and the line number of the original .ddl file. As a
0583 consequences, C++ compiler no longer "tells" the correct file name
0584 and the line number of the .ddl file if compiler error occurs. When
0585 you design a persistent object with Geant4 GNUmakefiles and get the
0586 compiler errors, try to identify the problem by first looking into
0587 the header file generated by ooddlx, and then locate the source of
0588 the problem by looking into the .ddl file.
0589 A patch to the compiler is released from SUN, and you may remove this
0590 option by commenting out the line:
0591
0592 G4DDLX_FLAGS += -noline
0593
0594 in the file $G4INSTALL/config/sys/SUN-CC.gmk.
0595
0596 You can check the SUN-CC patch by the following command:
0597
0598 % what `which CC` | grep RELEASE
0599
0600
0601 5. Compiler Specific Problems
0602 -----------------------------
0603
0604 o DEC V4.0, cxx C++ V6.1-027.
0605
0606 - We have found cases of mis-compilation of min and max templates
0607 on DEC. We have traced those which cause serious malfunction
0608 but there is no guarantee that there are no other cases.
0609 Detailed inspection of assembler output suggests that this
0610 problem might not be confined to min and max. This has been
0611 reported to DEC/Compaq. We understand a new version 6.2 of the
0612 compiler is now available. However we cannot guarantee correct
0613 execution of Geant4 on DEC with the current version of the
0614 compiler.
0615 - A bug in cin.getline() system function causes an anomalous
0616 behavior when running in interactive-mode on DEC-cxx 6.1 in
0617 ISO/ANSI mode. We tested the bug has been fixed in more recent
0618 versions of the compiler.
0619
0620
0621 6. Known Run-Time Problems and Limitations
0622 ------------------------------------------
0623
0624 For a complete list of outstanding run-time problems and to submit any
0625 problem you may find running this version of Geant4, please refer to the
0626 Geant4 Problem Reporting System, available on the Web at this address:
0627
0628 http://cern.ch/geant4/problemreport
0629
0630
0631 7. Compilation Warnings
0632 -----------------------
0633
0634 There are compilation warnings on some platforms. We do not believe
0635 that any will lead to incorrect run-time behaviour, but we are working
0636 on reducing them.
0637
0638
0639 8. Known Run-Time Warnings
0640 --------------------------
0641
0642 The following messages can be written to error output while tracking. We
0643 believe none give rise to incorrect behaviour.
0644
0645 o G4PropagateInField: Warning: Particle is looping
0646 - tracking in field will be stopped.
0647 It has performed 10000 steps in Field while a maximum of 10000
0648 are allowed.