Geant4 6.1 Release Notes

March 25th, 2004

The code and binary libraries for the supported systems are available through our Source Code Web page.

Please refer to the Geant4 User Documentation for further information about using Geant4.

## Contents

1. Supported and Tested Platforms
2. AIDA and CLHEP
3. Compiler Specific Problems
4. Known Run-Time Problems
5. Compilation Warnings
6. Known Run-Time Warnings
7. Major items for migration of user code
8. Detailed list of changes and fixes

## 1. Supported and Tested Platforms

Official platforms:

- SUN Solaris 5.8, C++ CC-5.4 Patch 111715-02.
- Linux, gcc 2.95.2, gcc 3.2.
  This configuration was tested with the RedHat 7.3 distribution, versions of Geant4 have also been compiled successfully on other Linux distributions, like Debian, Suse or more recent RedHat systems. The default RedHat compiler gcc-2.96 distributed in RedHat 7.X is NOT supported. It has been verified that it produces incorrect binaries, therefore is not reliable. See also note below.
- Windows/2000 and CygWin Tools with: Visual C++ 6.0 Service Pack 5

More verified configurations:

- SUN Solaris 5.8, C++ CC-5.5.
- Linux, gcc 3.3.3.
- Linux, Intel-icc 8.0.
- MacOS 10.3, gcc-3.3
- Windows/XP and CygWin Tools, .NET Visual Studio 2003 C++ 7.1

Platforms configured but not tested and not supported:

- AIX 4.3.2, xlC 6.0
- DEC V4.0, cxx C++ V6.1-027
- HP 10.20, aCC C++ B3910B A.01.23
- SGI V6.5.5, CC 7.2.1

## 2. AIDA and CLHEP

Geant4 6.1 requires the installation of CLHEP.
Tests have been performed with CLHEP-1.8.1.0.

Geant4 6.1 examples with histogramming cowork with AIDA 3 implementations. These include:

- ANAPHE and included components
- JAS (Java Analysis Studio)
- Open Scientist

AIDA headers can be downloaded from: http://aida.freehep.org

## 3. Compiler Specific Problems

- Linux Red Hat 7.X, gcc-2.96.
  - The default compiler distributed by Red Hat since release 7.0 is NOT supported and not considered reliable for running a Geant4-based application. In more than one test case, binaries produced by gcc-2.96 have shown incorrect behavior, either due to wrong order of initialisation of static data in memory or to bugs in the system `iostream` classes, problems which apparently have all been solved in more recent versions of the compiler (3.X series).
    For information, gcc-2.96 is a compiler that has never been officially released, nor supported by the GNU team itself and is not considered reliable by the authors (for more information, see also http://gcc.gnu.org/gcc-2.96.html).

## 4. 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.

## 5. Compilation Warnings

There may be compilation warnings on some platforms. We do not believe that any will lead to incorrect run-time behaviour.

## 6. Known Run-Time Warnings

The following messages can be written to error output while tracking. We believe none give rise to incorrect behaviour.

        G4PropagateInField: Warning: Particle is looping
        -  tracking in field will be stopped.
           It has performed 1000 steps in Field while a maximum of 1000
           are allowed.

## 7. Major items for migration of user code

There not known migrations necessary if upgrading from release 6.0, other than recompilation and/or reinstallation of libraries and user applications.

## 8. Detailed list of changes and fixes

These are the main new features/fixes included in this release since the last patched public release (for the detailed list of fixes/additions, please refer to the related History files provided in most packages):

### Configuration

- Fixes in the experimental configuration file `Linux-icc.gmk` for Intel/icc compiler on Linux systems.
- `WIN32-VC7.gmk`: added material to build shared-libs for Windows (DLLs), for future use.
  Added program `win32def.c` to help building DLLs, for future use.

### Digitization & Hits

- Added methods to `G4HCtable` for additional verbosity.

### Event

- `LocateGlobalPointAndSetup()` method of `G4Navigator` is now invoked at the beginning of each new event to reset the navigation history.
- Bug Fix in the destructor of `G4ParticleGunMessenger`.

### Electromagnetic Processes (Low-energy)

- Implemented optimization of Bremsstrahlung angular generators.
- Bug fixes in `G4IonisationParameters`, `G4PenelopeCompton` and `G4PenelopeIonisation`.
- Fixed some compilation warnings on Intel/icc compiler.
- Bug fix in `G4PenelopeRayleigh`, related to problem report #605.
- Performance improvement in `G4Generator2BN` and Penelope processes.

### Electromagnetic Processes (Standard)

- Bug Fixes in model variant of multiple-scattering; simplified calculation of energy dependence of internal parameters.
  `G4MscModel`: corrections to path length conversion and theta angle.
- Updated parameterizations in G4MuPairProductionModel for energies over ~100 GeV. Precision of differential cross section parameterization is improved from 30% to 5%.
- Updated radiative corrections calculation for `G4MuBetheBlochModel` for muon energy above 1 GeV. Accuracy of energy loss of high energy muons updated from 10% to 2%.
- Fixed problem of ionisation in air with low pressure less than `10-4 Atm`. Setting `lowestKinEnergy` to `1.*eV`, in `G4VEnergyLossProcess`.
- Fixed problem of simulation of fluctuation of energy losses in very small steps.
- Activated new optional feature, PreciseRange option, which provides ranges of particles calculated from total (not-truncated by cut) energy loss. Relevant for energies less than `1 MeV` and effect sampling calorimeter results.
- Added new class `G4EmProcessOptions` to be used in physics lists.
- Fixes in constructor of discrete processes for setting of process type.

### General Processes, Parameterisation, Cuts, Decay, Optical

- Decay:
  - Fixed bug in `PostStepGPIL()` in case of stopping during AlongStep actions.
- Optical:
  - `G4OpBoundaryProcess`:
    - Added process status `NotAtBoundary`, `SameMaterial`, `StepTooSmall`, `NoRINDEX`. Allowing for a skin-surface between mother and daughter volumes, with the daughter skin taking precedence.
    - Initialise all class members in constructor.

### Geometry

- Navigation
  - `G4Navigator`: fixed old outstanding bug in `ComputeStep()` for the location of the local point in the calculation of a valid exit normal.
  - Added check_mode state for navigators. The state can be activated by a new UI command (`geometry/navigator/check_mode [true/false]`) and will force more strict and less tolerant checks in step/safety computation to verify the correctness of solids' response in the geometry.
  - Reorganised verbosity levels. Added more useful information activated when in `G4VERBOSE` mode and verbosity level selected.
    Fixed output formatting when entering/exiting verbose blocks.
- Solids
  - Boolean solids:
    - `G4UnionSolid`, `G4SubtractionSolid`: fix in debug printout for `SurfaceNomal()`.
  - CSG solids:
    - `G4Torus`: fixed bug in `Inside(p)`, fixing warnings of '`point p is outside`' observed when running in debug-mode.

### Global

- Removed obsolete "`includes`" target in `management/GNUmakefile`.
- Corrected comments in `G4UserLimits` header.

### Hadronic Processes

- management & utils
  - Added a white-board functionality to allow for in-core inspection of reaction conditions in optimized.
  - Added a signal-handler (for SIGSEGV) that prints the reaction conditions before handling it over to the experiment (or default) signal handler.
  - Fixed cases of double deletion of memory in cases when isotope-production models are used.
  - Run-time checking for `NaN` values of energies of secondaries.
  - Fix for suspended particles (only neutron_hp model has these).
  - Rudimentary verification of consistancy of hadronic physics.
  - Transition to `std::pair` in `G4Pair`.
- models/binary_cascade
  - Fixed a few memory leaks in `G4BinaryLightIonReaction`.
  - Fix for single nucleon spectator, resulting in occasional momentum non-conservation.
  - Removed one recurring run time warning from `G4RKPropagation`. Relates to problem report #593.
- models/chiral_inv_phase_space
  - Major improvement of the CHIPS nuclear fragmentation model: in addition to Lambdas, now Sigmas, Xi, and Omega hyperons are added to the fragmentation algorithm (together with N+Sigma and NN+Sigma nuclear fragments); Delta isobars together with iso-nuclei are implemented as an intermediate states of fragmentation; all leptons are added to the CHIPSWorld of particles, so that now the CHIPS model is ready for nuclear muon-minus capture at rest process and for the neutrino-nuclear reactions.
  - Implemented new debug system of step by step energy/momentum and charge/baryon_number conservation control.
  - Resolved en/mom conflicts in the Sigma+Delta++ and Sigma-Delta- final states.
  - Corrected baryon number and charge non conservation observed in some decays.
  - Cleared unnecessary run-time warnings, for which it was tested that the conflict situation is successfully resolved.
  - Fixed bug for Delta-,Delta-,n under 3n+2pi- together with all possible Delta-Delta-,(k*n) under (k+2)*n+2pi- threshold and Delta++,Delta++, (k*p) under (k+2)*p+2pi+ threshold possible fragmentation states.
  - Bug fixes and porting in the interface classses.
- models/im_r_matrix
  - Improved configuration and configurability, using TMPs.
- models/leading_particle
  - Added constructor message, specifying what code is used.
- models/neutron_hp
  - Bug fix concerning Mandrake/Linux (CSTOP enum replaced).
  - Fixed Valgrind run-time error on `G4NeutronHPVector`.
- models/qgsm
  - Introduced minimal transverse mass for diffractive scattering of gammas.
- stopping
  - Updated implementation of mu-nuclear absorption at rest.

### Particles

- Updated mass and width to meet with PDG 2002 data.
- Added classes for retrieving particle properties from file:
  - Base class `G4VParticlePropertyRetriever`.
  - Classes `G4TextPPReporter` and `G4TextPPRetriever`.

### Readout

- Added some methods in `G4DCtable` to enhance a verbosity.

### Run, Intercoms and Interfaces

- `G4RunManager`:
  - Invocation of `G4Navigator::LocateGlobalPointAndSetup()` is now moved to `G4EventManager` so that the navigation history is reset for every new event.
  - Added reference and WWW information to run-time header.

### Visualization

- HepRep
  - HepRepFile handle duplicate `ShowView`.
  - HepRepFile improve layering and hierarchy for hits.
  - Fixed compilation warnings for the Linux-icc (8.0) compiler.
  - Removed appendzip.cc file, not strictly necessary. Fixes problem report #570.
  - Renamed the HepRep schema locator to new web URL.
- OpenGL
  - Fixed wrong order of statements in `G4OpenGLXViewer` destructor. Fixes bug report #581.
- management
  - Added checks and minor improvement of behaviour at end of event and run.

### Hadronic physics-lists

- Updates to package 4.1 (QGSP_BIC, QGSP_BERT).

### Examples

- Updated reference outputs.
- advanced
  - brachytherapy
    - Added a new histogram and some code cleanup.
  - composite_calorimeter
    - Removed redefinition of streaming operator for `G4LorentzVector` in `CCalRotationMatrixFactory`, causing compilation problems on some compiler/system configurations.
  - Rich
    - Fixed compilation errors and warnings for gcc-3.2.
- extended
  - biasing/B01
    - Open the geometry to cleanly clear biasing stores at the end of the application.
  - electromagnetic/TestEm5
    - Modified histo 7: projected position at exit.
    - RunAction: removed UI commands for visualisation, added a function `ComputeMscHighland()`.
  - field
    - Fixed methods that change the field to update the equation and field-manager in field01 and field03.
  - medical/DICOM
    - Added History file, changed README.
- novice
  - N06
    - DetectorConstruction: changed surface model between `OpWaterSurface` and `OpAirSurface`.