Back to home page

EIC code displayed by LXR

 
 

    


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.