Back to home page

EIC code displayed by LXR

 
 

    


Warning, /geant4/CHANGELOG/ReleaseNotes4.5.2.txt is written in an unsupported language. File is not indexed.

0001 
0002                           Geant4 5.2 Release Notes
0003                           ------------------------
0004 
0005                                                       27 June 2003
0006 
0007 The code and some binary libraries are available through our "Source Code"
0008 Web page (http://cern.ch/geant4).
0009 
0010 Please refer to the Geant4 User Documentation
0011 (http://cern.ch/geant4/G4UsersDocuments/Overview/html)
0012 for further information about using Geant4.
0013 
0014 
0015 Contents
0016 --------
0017 
0018   1. Supported and Tested Platforms
0019   2. AIDA and CLHEP
0020   3. The Standard Template Library (STL)
0021   4. Compiler Specific Problems
0022   5. Known Run-Time Problems
0023   6. Compilation Warnings
0024   7. Known Run-Time Warnings
0025   8. Features at Run-Time
0026   9. Items for migration of user code
0027 
0028 
0029 1. Supported and Tested Platforms
0030 ---------------------------------
0031 
0032   o SUN Solaris 5.8, C++ 5.4 Patch 111715-02.
0033   o Linux, gcc 2.95.2, gcc 3.2.
0034       This configuration was tested with the RedHat 7.3 distribution,
0035       versions of Geant4 have also been compiled successfully on other
0036       Linux distributions, like Debian or Suse.
0037       The default RedHat compiler gcc-2.96 distributed in RedHat 7.X is NOT
0038       supported. It has been verified that it produces incorrect binaries,
0039       therefore is not reliable. See also note below.
0040   o Windows-2000/XP and CygWin Tools with: Visual C++ 6.0 Service Pack 5
0041 
0042 Platforms configured but not tested and not supported:
0043   o DEC V4.0, cxx C++ V6.1-027
0044   o HP 10.20, aCC C++ B3910B A.01.23
0045   o SGI V6.5.5, CC 7.2.1
0046   o AIX 4.3.2, xlC 6.0 
0047   o MacOS 10.2, gcc 2.95.2 / gcc-3.2
0048   o Windows/XP with CygWin Tools, .NET Visual Studio C++ 7
0049 
0050 
0051 2. AIDA and CLHEP
0052 -----------------
0053 
0054 Geant4 5.2 requires the installation of CLHEP
0055 (http://cern.ch/clhep/INSTALLATION/clhep.html).
0056 Tests have been performed with CLHEP 1.8.0.0.
0057 
0058 Geant4 5.2 examples with histogramming cowork with AIDA 3.0 implementations.
0059 These include:
0060 - ANAPHE and components included therein
0061   (see: ANAPHE - http://cern.ch/anaphe)
0062 - JAS (Java Analysis Studio)
0063   (see: JAS - http://jas.freehep.org)
0064 - Open Scientist
0065   (see: Open Scientist - http://www.lal.in2p3.fr/OpenScientist)
0066 
0067 AIDA headers can be downloaded from:
0068   http://aida.freehep.org
0069 
0070 
0071 3. The Standard Template Library
0072 --------------------------------
0073 
0074 Native versions of STL have been tested on the following platforms:
0075 
0076    Windows/2000, Linux, and SUN.
0077 
0078 NOTES:
0079 
0080 - Platform specific setup:
0081   o SUN:     Native STL is required for ISO/ANSI setup.
0082   o Linux:   Native STL is required (non ISO/ANSI setup for egcs compiler only).
0083   o Windows: Native STL and ISO/ANSI setup required.
0084 
0085 
0086 4. Compiler Specific Problems
0087 -----------------------------
0088 
0089   o Linux Red Hat 7.X, gcc-2.96.
0090 
0091     - The default compiler distributed by Red Hat since release 7.0 is
0092       NOT supported and not considered reliable for running a Geant4-based
0093       application. In more than one test case, binaries produced by gcc-2.96
0094       have shown incorrect behavior, either due to wrong order of
0095       initialisation of static data in memory or to bugs in the system
0096       iostream classes, problems which apparently have all been solved in
0097       more recent versions of the compiler (3.X series).
0098       For information, gcc-2.96 is a compiler that has never been
0099       officially released, nor supported by the GNU team itself and is not
0100       considered reliable by the authors (for more information, see also
0101       http://gcc.gnu.org/gcc-2.96.html).
0102 
0103 
0104 5. Known Run-Time Problems and Limitations
0105 ------------------------------------------
0106 
0107 For a complete list of outstanding run-time problems and to submit any
0108 problem you may find running this version of Geant4, please refer to the
0109 Geant4 Problem Reporting System, available on the Web at this address:
0110 
0111     http://cern.ch/geant4/problemreport
0112 
0113 
0114 6. Compilation Warnings
0115 -----------------------
0116 
0117 There are compilation warnings on some platforms.  We do not believe
0118 that any will lead to incorrect run-time behaviour, but we are working
0119 on reducing them.
0120 
0121 
0122 7. Known Run-Time Warnings
0123 --------------------------
0124 
0125 The following messages can be written to error output while tracking.
0126 We believe none give rise to incorrect behaviour.
0127 
0128   o G4PropagateInField: Warning: Particle is looping 
0129     -  tracking in field will be stopped. 
0130        It has performed 1000 steps in Field while a maximum of 1000
0131        are allowed. 
0132 
0133 
0134 8. Features at Run-Time
0135 -----------------------
0136 
0137   o In the propagation in field, the default value of "maximum step count"
0138     has been changed from 10000 to 1000.
0139     This will cause more particles to be recognised to loop earlier (see
0140     section 7 of these notes) as this parameter controls this behavior too.
0141 
0142 
0143 9. Items for migration of user code
0144 -----------------------------------
0145 
0146   o With this release, usage of the obsolete 'g4std' wrappers has been removed
0147     from the code and wrappers themselves are now hard-coded to STL headers.
0148     User code making use of these wrappers will still compile and run as
0149     normal, however, we encourage to migrate the user code at the earliest
0150     convenience.
0151     From the -next- public release (and development/beta releases), wrappers
0152     and definition of 'G4std' will be removed, therefore making the migration
0153     of the user code mandatory:
0154       - Any reference to G4std:: will have to be changed to std::
0155       - Any #include statement of the kind
0156           #include "g4std/XXX"
0157         will have to migrate to standard C++ calls of the kind
0158           #include <XXX>
0159   o The new data sets for low-energy EM processes G4EMLOW2.2 is required
0160     for applications making use of such processes.
0161 
0162 
0163  ----------------------------------------------------------------------------
0164 
0165                         List of changes and fixes
0166                         -------------------------
0167 
0168 These are the main new features/fixes included in this release since the
0169 last patched public release (for the detailed list of fixes/additions,
0170 please refer to the related History files):
0171 
0172 
0173   o Configuration
0174     -------------
0175     - Made build of STEP and STEPinterface modules optional. Added flags
0176       G4LIB_BUILD_STEP/G4USE_STEP. By default the libraries will not be built.
0177     - Removed G4_HAVE_BOOL macro. Now using default 'bool' type,
0178       defined in all supported compilers.
0179     - Removed flag G4USE_STD_NAMESPACE from specific setups in sys.
0180       Follows migration from G4std and STL header wrappers apported in
0181       the whole code.
0182     - Removed obsolete usage of GNU_GCC specific option for g++ compilers.
0183     - Modified mechanism for building shared libraries to include symbols
0184       from external libs like OpenGL, ... so libraries will be self-contained
0185       concerning their dependencies.
0186     - Added UI32LIBS to interactivity.gmk to handle UI libraries on WIN32
0187       platforms and added libraries for OpenGL and UI to default setup of
0188       WIN32-VC and WIN32-VC7. Removed some obsolete compilation options.
0189     - Added more strict compiler options for warnings on Linux-g++ platform.
0190     - Added missing module Bertini-Cascade to list of libraries for
0191       compound build.
0192 
0193   o Digitization & Hits:
0194     -------------------
0195     - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
0196 
0197   o Electromagnetic Processes (Low-energy):
0198     --------------------------------------
0199     - Requires a new version of the data-set: G4EMLOW2.2. 
0200     - Improved design to allow for multiple models of Bremsstrahlung angular 
0201       distribution; currently the model for modified Tsai is provided.
0202     - G4PenelopeCompton triggers atomic relaxation.
0203     - Removed two memory leaks in Penelope processes and design flaw in
0204       private interface of G4eBremsstrahlungSpectrum.
0205     - Fixed argument to pow() in G4LinLogLogInterpolation.cc and
0206       G4LogLogInterpolation.cc to allow for porting on .NET 7.1 compiler.
0207     - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
0208 
0209   o Electromagnetic Processes (Standard):
0210     ------------------------------------
0211     - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
0212     - Short-lived particles no longer applicable for G4hIonisation and
0213       G4MultipleScattering.
0214     - STD prototype processes:
0215       + Updated initialisation for STD processes: integral Bohr fluctuations.
0216       + Bug fix in cross section at high energies in G4MuPairProductionSTD.
0217       + Removed and replaced obsolete multiple-scattering classes with "model"
0218         variant.
0219       + Fix in SupressionFunction of bremsstrahlung.
0220       + Fix in dedx for e- ionisation for E<1keV.
0221       + Removed tracking cut.
0222       + Establish limits on eloss for Bohr and Ion fluctuations.
0223       + Added precise range calculation.
0224       + Default step parameters are now set to be as for standard processes.
0225     - Multiple Scattering:
0226       + IMPORTANT change in the angle distribution for muons/hadrons
0227         the width of the central part now is corresponds to the value
0228         can be computed from the HighLand formula (no change of this
0229         kind for e+/e-) --> small change in the width for low to
0230         medium energy (protons - 1 MeV - few hundred MeV) but change
0231         up to 20 -25 % for high energy.
0232       + minor correction in the angle sampling algorithm, affects 
0233         e+/e- too --> small change for very small and very big
0234         stepsize/range values.
0235       + Fixed misprint at Tev energies.
0236       + Fix minor problem in nuclear form-factor calculations.
0237     - G4VXTRenergyLoss: modifications in BuildPhysicsTable.
0238       Angle range 0-0.3, Legendre96 integration in 0-0.3-0.6-1.0*fMaxThetaTR.
0239     - Set default number 120 bins for dedx table in G4eIonisation.
0240     - Updated PAI model: included high energy transfers.
0241     - Trivial fixes in G4PAIxSection on arguments to pow() for porting on
0242       .NET 7.1 compiler.
0243 
0244   o General Processes, Parameterisation, Decay, Optical:
0245     ---------------------------------------------------
0246     - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
0247 
0248   o Geometry:
0249     --------
0250     - management:
0251       o G4LogicalVolume:
0252         + added method ClearDaughters() to be used for resetting the list of
0253           daughters to a logical volume in the use-case when only the physical
0254           volume store is cleared at run-time.
0255         + notify removal of root-logical-volume from G4Region in case of
0256           deletion of a logical-volume from the destructor, instead that from
0257           DeRegister() method.
0258       o GVPhysicalVolume:
0259         + Added pointer to mother logical volume (will replace in future
0260           releases the pointer to mother physical volume) and related accessors.
0261         + Standardised registration mechanism as daughter for constructor using
0262           the pointer to the mother's PV.
0263       o G4PVPlacement/Replica/Parameterised:
0264         + Standardised registration mechanism as daughter for constructor using
0265           the pointer to the mother's PV.
0266       o G4Region:
0267         + Removed redundant calls to ScanVolumeTree() and UpdateMaterials()
0268           from RemoveRootLogicalVolume() method.
0269       o G4LogicalVolumeStore:
0270         + removed redundant check and call to RemoveRootLogicalVolume() from
0271           Clean() method.
0272       o G4PhysicalVolumeStore:
0273         + Added notification mechanism to logical volumes in the Clean() method
0274           to update the list of daughters.
0275         + Update mother's LV list of daughters when deregistering a volume.
0276     - solids
0277       o Made compilation of STEP and STEPinterface modules optional
0278         controlled by variable G4LIB_BUILD_STEP/G4USE_STEP.
0279         By default modules are not built.
0280       o G4ReflectionFactory:
0281         + Made public accessors: GetConstituentLV(), GetReflectedLV(),
0282           IsConstituent() and IsReflected().
0283         + Added accessor GetReflectedVolumesMap() to access list of
0284           reflected volumes.
0285         + Added methods Set/GetScalePrecision().
0286       o G4BREPSolidPCone:
0287         + Commented out verbose-mode in SurfaceNormal(). Temporary solution
0288           to problem reports #425, #431 and #474.
0289     - verification
0290       o G4GeomTestVolume:
0291         + Added methods TestRecursiveLine() and TestRecursiveCylinder() for
0292           allowing recursion on line_test and cylinder_test respectively.
0293         + Introduced ability to control depth and starting level of recursion.
0294     - volumes
0295       o G4GeometryMessenger:
0296         + Added new commands for controlling geometry overlaps: added recursion
0297           to line_test and cylinder_test; added possibility to customise the
0298           resolution and shape of grid/cylinder for the test; added ability to
0299           select depth of recursion in the geometry tree.
0300         + Added explicit call to OpenGeometry() in method CheckGeometry() to
0301           force cleanup of voxelisation when command navigator/reset is called.
0302       o G4PropagatorInField:
0303         + Implemented use of safety to reduce calls to navigator.
0304         + Changed the default value of "maximum step count" from 10000 to 1000.
0305           This will cause more particles to be recognised to loop earlier as
0306           this parameter controls this behavior too.
0307         + Added new method FindAndSetFieldManager() to find the current field
0308           manager and set it for the Propagator.  The class currently ensures
0309           that this method is always called once for each call to ComputeStep().
0310         + Added new method SetDetectorFieldManager(), so as to have it updated
0311           when the global field manager is changed.
0312       o G4TransportationManager:
0313         + corrected the method SetFieldManager(). It now messages the current
0314           global PropagatorInField to notify it.
0315     - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
0316 
0317   o Global:
0318     ------
0319     - Define g4std wrappers and G4std to original STL headers and std
0320       namespace. Removed usage of G4USE_STD_NAMESPACE macro.
0321     - G4PhysicsVector: moved copy costructor and assignment operator to
0322       public. Fixes problem report #486.
0323 
0324   o Hadronic Processes:
0325     ------------------
0326     - Cleared most compilation warnings.
0327     - cross_sections
0328       + Design iteration.
0329       + Fixed problem with electro-nuclear cross-sections.
0330       + Fixed usage of arguments to pow() for porting on .NET 7.1 compiler.
0331     - management
0332       + Added AddDataSet directly to the process interface
0333       + Reimplementation of the registry to make it suitable for dynamic
0334         loading of libraries.
0335       + Fixed warning generated after migration from g4std.
0336     - models/cascade/evaporation 
0337       + Fixed usage of arguments to pow() for porting on .NET 7.1 compiler.
0338     - models/chiral_inv_phase_space 
0339       + Fixed usage of arguments to pow() for porting on .NET 7.1 compiler.
0340     - models/generator/de_excitation
0341       + Reimplemented Coulomb barrier in the GEM emission probabilities.
0342       + Fixed floating-point exception observed in G4NuclearLevelManager.
0343       + Improved mass calculation in G4VGammaDeexcitation.
0344       + Introduced C++ casts.
0345       + Reconfigured Fermi-break-up.
0346       + Fixed case of floating-point exception in internal conversion.
0347       + Fixed usage of arguments to pow() for porting on .NET 7.1 compiler.
0348     - models/generator/kinetic_model
0349       + Improved transition between pre-equilibrium decay and binary cascade.
0350       + Corrected dummy declaration of virtual function to allow porting
0351         on WIN32 platforms.
0352     - models/generator/pre_equilibrium
0353       + Overall design iteration and re-implementation.
0354       + Added GNASH transition probabilities as option.
0355       + Added HETC emission probabilities as option.
0356       + Re-work of alpha emission probabilities.
0357       + Fixed compilation problem on WIN32 platforms.
0358     - models/generator/scattering
0359       + Fixed long-standing error on SUN dealing with ordering of static
0360         construction.
0361       + Fixed calculation of lower bound in sampling resonance masses
0362         for multiple resonance final states.
0363     - models/generator/util 
0364       + Extended nucleon interface to allow tracing during the cascading.
0365       + Added fermi-momentum to G4Nucleon.
0366       + Enabled hit-counting in G4Nucleon.
0367       + Cleared printout on value of excitation energy.
0368       + Fixed usage of arguments to pow() for porting on .NET 7.1 compiler.
0369     - models/low_energy
0370       + Added re-coil creation and energy transfer calculation to elastic
0371         scattering
0372       + Bug fix for random coincidence exception in elastic scattering.
0373     - models/neutron_hp
0374       + Fixed usage of arguments to pow() for porting on .NET 7.1 compiler.
0375     - models/radiative_decay
0376       + Fix in G4ITDecayChannel and G4RadioactiveDecay for porting on
0377         Windows .NET (WIN23-VC7) compiler: changed signature in
0378         constructor for G4ITDecayChannel to use G4Ions instead of generic
0379         G4ParticleDefinition.
0380     - processes
0381       + Implemented the AddDataSet interface in all process classes.
0382     - stopping
0383       + Fixed bug in alpha evaporation from nucleus observed when mu- stops
0384         in air.
0385       + Adopt trivial workaround to avoid "internal compiler error" on WIN32
0386         platforms.
0387 
0388   o Magnetic Field:
0389     --------------
0390     - Revised G4FieldManager adding a (new) virtual method:
0391           ConfigureForTrack( const G4Track *)
0392       to enable the user to configure it with different accuracy parameters
0393       depending on energy, particle id, volume, or other track state.
0394     - Revised G4ChordFinder:
0395       + FindNextChord() now provides next Step estimate (for accuracy
0396         in Integration)
0397       + Modified AdvanceChordLimited() to use FindNextChord() and
0398         initial-step.
0399       + Fixed missing initialisation of several member data in the simple
0400         constructor and fixed unitialised variable for next step.
0401       + Protected assignment of fLastStepEstimate_Unconstrained in case of
0402         unitialised value.
0403     - G4MagIntegratorDriver:
0404       + Took out unneccessary square roots and divisions.
0405         Giving 15% performance boost.
0406       + Added extra argument for suggested initial step size 'hinitial'
0407         to Accurate Advance.
0408       + Keep simple statistics on number of steps, total error and step size.
0409     - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
0410 
0411   o Materials:
0412     ---------
0413     - G4Isotope: fixed bug in operator=. Fixes problem report #429
0414     - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
0415 
0416   o Parameterisations:
0417     -----------------
0418     - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
0419 
0420   o Particles:
0421     ---------
0422     - G4DynamicParticle.cc:
0423       + Fix in constructors for the calculation of masses to avoid negative
0424         values result of precision loss when massless particles
0425         (like photons) are treated. Fixes problem report #489.
0426       + Use condition m^2<0.001MeV^2 to identify massless particles.
0427 
0428   o Persistency:
0429     -----------
0430     - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
0431 
0432   o Run, Events, Intercoms and Interfaces
0433     -------------------------------------
0434     - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
0435     - G4UItokenNum.hh: fixed longstanding bug in the definition of the
0436       struct "yystype": defined operator= and copy-constructor, defined
0437       default constructor with default initialisation of members.
0438       Fixes potential usage of uninitialised values.
0439     - G4UIGainServer: fixed compilation problem on Darwin-g++ with gcc-3.X.
0440     - G4VUserPhysicsList: added check for IsShortLived() before building the
0441       physics table in BuildPhysicsTable().
0442     - G4RunManager: fixed case of removal of logical volume from default
0443       region, when the whole geometry setup is cleared between runs.
0444 
0445   o Tracking & Track:
0446     ----------------
0447     - Fixed copy operator of G4Track not to copy the pointer to user
0448       information.
0449     - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
0450 
0451   o Transportation:
0452     --------------
0453     - G4Transportation:
0454       o Use new method of PropagatorInField to simplify choice of
0455         global/local field.
0456       o Activated new capability of a (user derived) field manager to configure
0457         itself with different accuracy parameters depending on track's energy,
0458         particle identity, or other property.
0459       o Fixes to accomodate incorrect and missing functionality for the
0460         following use cases:
0461         + setting of a local field when no global field exists.
0462         + overriding of an existing global field with a 'zero' field
0463           by creating a local field manager that has a NULL G4Field pointer.
0464     - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
0465 
0466   o Visualization:
0467     -------------
0468     - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
0469     - OpenGL
0470       + Added first implementation of G4OpenGLWin32Viewer for Windows GL.
0471       + Fixes for porting compilation on WIN32.
0472 
0473   o g3tog4 tool:
0474     -----------
0475     - Fixed compilation warnings on Linux-g++ for higher-lever diagnostics.
0476 
0477   o data
0478     ----
0479     - New data set for low-energy EM processes: G4EMLOWEN2.2.
0480 
0481   o Examples:
0482     --------
0483     - Updated reference outputs.
0484     - Cleared most compilation warnings.
0485     - advanced:
0486       o brachytherapy
0487         + Implementation revision.
0488       o composite_calorimeter
0489         + Updated physics lists.
0490       o gammaray_telescope
0491         + Updated to ANAPHE 5.0.5 and cuts-by-region.
0492       o lAr_calorimeter
0493         + Updated physics lists.
0494       o Rich
0495         + New application simulating the TestBeam setup of the Rich
0496           detector in LHCb.
0497       o Tiara
0498         + New application implementing a simulation of the neutron
0499           shielding experiment TIARA using importance biasing.
0500       o underground_physics
0501         + Fixes to physics list.
0502         + Added HepRep visualization.
0503         + Fixes to hits collection: fixed hits deposition on photocathode
0504           material.
0505       o xray_fluorescence
0506         + Bug fixes for energy deposition in the detector.
0507     - extended:
0508       o analysis
0509         + A01
0510           o Updated AIDA scripts.
0511         + AnaEx01
0512           o Updated to AIDA 3.0.
0513       o biasing
0514         + Implementation revision.
0515       o electromagnetic
0516         + TestEm1, TestEm2, TestEm3
0517           o Corrected deletion of volumes/solids when geometry is updated.
0518         + TestEm4
0519           o
0520         + TestEm5
0521           o New histogram (ID=11) for the projeted angle at exit.
0522             Bug corrected in gustep.
0523           o New macros for multiple-scattering tests: run61,71,81,91
0524           o Proper deletion of old geometry when it is updated.
0525         + TestEm6
0526           o
0527         + TestEm7
0528           o New example simulating energy deposited by particles absorbed
0529             in a given material (Bragg peak).
0530         + TestEm8
0531           o Fixed warnings and changed input parameters for updated PAI.
0532       o field
0533         + Fixed geometry construction in case of switching of detector.
0534       o geometry
0535         + cad
0536           o GNUmakefile: added control through G4USE_STEP variable.
0537       o medical
0538         + DICOM
0539           o New application implementing a Geant4 interface to the DICOM
0540             image format for the simulation of a phantom geometry.
0541       o persistency
0542         + Updates to README and scripts.
0543     - novice
0544       o N03
0545         + Properly delete volumes/solids when geometry is updated.
0546         + Moved heprep.mac to visTutor.