# Geant4 7.1 Release Notes

Geant4 7.1 Release Notes

June 30th, 2005

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. Known Run-Time Problems
4. Compilation Warnings
5. Known Run-Time Warnings
6. Items for migration of the user code
7. 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 3.2.3.
  This configuration was tested on 32 bits architectures (Intel) and 64 bits architectures (AMD) with the Scientific Linux CERN 3 (SLC3) distribution (based on RedHat Linux Enterprise 3). Versions of Geant4 have also been compiled successfully on other Linux distributions, like Debian, Suse or other RedHat systems.
- Windows/XP and CygWin Tools with: Visual C++ 7.1 .NET

More verified configurations:

- SUN Solaris 5.8, C++ CC-5.5
- Linux, gcc-3.4.3, gcc-3.4.4, gcc-4.0.0
- Linux, Intel-icc 8.0
- MacOS 10.3, gcc-3.3
- MacOS 10.4, gcc-4.0

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 7.1 requires the installation of CLHEP.
Tests have been performed with CLHEP-1.9.2.1
The software has been verified to be still compatible with CLHEP-1.8.1.0.

Geant4 7.1 examples with histogramming cowork with AIDA 3.2.1 implementations. These include:

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

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

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

## 4. Compilation Warnings

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

## 5. Known Run-Time Warnings

The following message can be written to error output while tracking. We believe it does not 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.

## 6. Items for migration of the user code

Some minor migrations may be necessary for advanced uses of features in Geant4 in order to upgrade from release 7.0 to release 7.1, a full recompilation and/or reinstallation of libraries and user applications is anyhow required.

New Installation flags

Some installation flags have been introduced or slightly modified:

- `G4LIB_BUILD_ZLIB, G4LIB_USE_ZLIB`: building the `zlib` file compression module has now become optional. It is not required on UNIX-like platforms where the built-in `zlib` library is used, while it is optional on Windows where it is disabled by default.
- `G4LIB_BUILD_G3TOG4, G4LIB_USE_G3TOG4`: now required to build and use the optional `g3tog4` module.

New Data libraries

New data libraries for "low-energy" processes (G4LOWEN-3.0) and "elastic scattering" at high-energy (G4ELASTIC-1.1) should be used in this release.

User defined solids

User codes which include implementations of customised solids are required to slightly modify their implementation of the helper method for visualization `DescribeYourselfTo()` to replace the call to `AddThis()` with `AddSolid()`.

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

- `Configure` script:
  - Now setting a unique entry point for path to data; added also settings for new data sets (low-energy-EM and elastic-scattering).
  - Updated variable settings for G3toG4 module and zlib.
  - Corrected text where necessary.
- Added printout of Geant4 version at build startup and removed verbose output from libmap stage.
- Modified `clean` targets to allow multiple clean rules.
- Setup variables:
  - Changed `G4USE_G4TOG4` to `G4LIB_USE_G3TOG4` to be consistent with the rest of configuration variables. Now `G4LIB_BUILD_G3TOG4` is required in order to build the `G3toG4` module.
  - Added `G4LIB_BUILD/USE_ZLIB` flags:
    - `G4LIB_BUILD_ZLIB` is mandatory for Windows, if zlib is required;
    - if `G4LIB_BUILD_ZLIB` is set, the Geant4 zlib module is used (all platforms);
    - if only `G4LIB_USE_ZLIB` is set, the system built-in zlib is used (UNIX only);
    - if none is set, zlib is not used (all platforms).
- Changed configuration for OPENGLXM to explicitely require OPENGLX.
- System configurations:
  - SUN-CC: removed obsolete compilation option for redirection to template repository, no longer necessary, and added `-lsunmath` to `LOADLIBS` now required with CLHEP-1.9.X for static libraries.
  - Darwin-g++: updated compilation options, now similar to Linux-g++ setup.

### Digitization & Hits

- `G4VHit`: fixed interface to `CreateAttValues()`, removed `const` qualifier.

### Electromagnetic Processes (Low-energy)

- Included implementation of DNA elastic scattering in water.
- New low energy polarised Rayleigh scattering process: `G4LowEnergyPolarizedRayleigh`
- Fix to Penelope ionisation for atomic deexcitation.
- Fixed Sauter angular distribution in `G4PenelopePhotoelectric`.
- Minor fixes in: `G4hICRU49Nuclear`, `G4hZiegler1985Nuclear` and `G4LowEnergyPolarizedCompton`.
- Bug fix in AtomicDeexcitation concerning the Auger effect.
- Bug fix in PenelopeIonisation, addressing problem report #729.

### Electromagnetic Processes (Standard)

- Utils & Standard
  - The photon processes (`G4PhotoElectric`, `G4ComptonScattering`, `G4GammaConversion`) and `G4eplusnAnnihilation` have been redesigned according to the process-model approach, like for the energy loss processes.
    The common base classes, `G4VEmProcess` and `G4VEmModel`, have been consequently upgraded. Physics results should be unchanged.
    The redesign is transparent to the user. 'Old' photon and positron processes have been frozen and kept for a while, under `G4PhotoElectric52` ... etc ... See the class `PhysListEmG4v52` in most of extended/electromagnetic examples and `g4v52` alternative PhyicsList in physics_list/electromagnetic.
  - The class `G4EmCalculator` allows to access most of the basic quantities of electromagnetic processes: crossSections, meanFreePath, stoppingPower, csdaRange. It has been updated and can be applied to all standard processes. See examples in extended/electromagnetic `RunAction` for TestEm1, TestEm5 and TestEm11.
  - The limit of applicability of the model of energy loss straggling (`G4UniversalFluctuation`) has been reviewed and extended to smaller energy loss (~eV). This affects energy loss distributions for small steps (under micrometer).
  - The `G4EmCorrections` class has been introduced to provide corrections to energy loss of hadrons and ions. With the standard package, stopping power for protons and alpha particles are within 2% with the Nist data, from `1 keV` to `100 GeV` for all atoms.
- Muons
  - A new class `G4EnergyLossForExtrapolator` has been introduced. This class provides calculation of average energy loss and its dispersion for the step of charged particles in media. It also provides average angle of multiple scattering. This class is working independently of the Geant4 event loop and does not require Run, Event and Stepping managers. It requires only particles and materials instantiation.
- HighEnergy
  - Two new models `G4BetheBlochNoDeltaModel` and `G4BraggNoDeltaModel` are released; they can be used for the simulation of exotic heavy ionizing objects (monopoles ..etc..).
- Xrays
  - Updated TRD model for regular radiator, to provide more realistic gamma spectrum. Added `G4StrawTubeXTRadiator` and modified the integration algorithm in `G4TransparentRegXTRadiator`.

### Event

- Extended `G4PrimaryTransformer` to accept exotic particles, to take care of mass defined in `G4PrimaryParticle` and to accept shortlived primary particles with proper decay table. Also issueing a warning message if a shortlived primary does not have decay table nor pre-assigned decay mode. Added also a new virtual method to alter the conversion of such shortlived into a track.
- Modified `G4ParticleGun` and `G4ParticleGunMessenger` to accept shortlived primary particle with proper decay table.
- Moved `G4PrimaryParticle`, `G4PrimaryVertex`, `G4VUserPrimaryParticleInformation`, and `G4VUserPrimaryVertexInformation` to 'particles' category.
- Fixed bug for particle weight in `G4SingleParticlesource`.

### General Processes: Decay, Transportation

- Decay
  - Fixed bug in `G4Decay::AtRestGetPhysicalInteractionLength()`. Condition is now fixed to `Not Forced`.
- Transportation
  - Made destructors virtual for `G4StepLimiter` and `G4UserSpecialCuts`.
  - Added process type to `G4Transportation`. Addresses problem report #743.

### Geometry

- Management
  - Extended `G4Region` to hold `G4UserLimits` so that the information will be propagated as for the cuts; added access from `G4LogicalVolume`.
  - Added optional boolean argument `propagate` to `GetMass()` to avoid propagation of computation of masses to the daughter volumes on request. Propagation to daughters is done by default.
  - Extended signatures for `OpenGeometry()` and `CloseGeometry()` to consider local optimisation of a subtree of volumes. Voxelisation can now apply to just a specific subtree if a physical volume is specified.
  - Added protection against `NULL` material pointer for volumes belonging to the tracking geometry in `G4Region` scanning. Addresses problem report #735.
  - Updated implementation of `GetPolyhedron()` in `G4ReflectedSolid`.
  - Modified `G4LogicalVolume::SetVisAttributes(const G4VisAttributes& VA)` to now create a copy of `VA` on the heap. Temporary solution, until a proper 'store' for visualization attributes will be implemented to take care of the memory management.
- Solids
  - Implemented `Get/CreatePolyhedron()` where missing
  - Changed `AddThis()` with `AddSolid()` for all solids in `DescribeYourselfTo()`.
  - Some code cleanup.
  - Boolean:
    - Fix in `G4IntersectionSolid::DistanceToIn(p,v)` to allow for correct simmetrical treatment of the solids' intersection. Algorithm reviewed as proposed in problem report #723.
    - Modified `Inside(p)` in `G4SubtractionSolid` and `G4UnionSolid`, to fix inconsistency for non-zero sum of surface-normals. Now computing surface-normal for edges/vertices.
    - Use the newly available `CreatePolyhedron()` for components of Boolean solids, instead of `GetPolyhedron()`.
  - CSG:
    - New implementation of `SurfaceNormal(p)` with edges/vertices. The implementation is now consistent with `Inside(p)` functions for the treatment of phi/theta surfaces, which are now treated in terms of `kAngTolerance`; the surface selection is made according to `Inside(p)` approach. The old specification is temporarily kept to treat exotic uses of the function for points not at the surface.
  - Specific:
    - New generic framework for twisted solids `G4TwistedBox`, `G4TwistedTrd` and `G4TwistedTrap`: inheriting now from a new base class `G4VTwistedFaceted`.
    - Extended `G4TwistedTrap` to support setups with different trapezoidal endcaps with centres not necessarily on a line parallel to the `z` axis.
    - `G4TwistedSurface`: fixed bug in `GetAreaCode()` affecting `G4TwistedTubs`.
- Volumes
  - Made constructors/destructors and operators for `G4NavigationLevelRep` and `G4NavigationLevel` not inlined. Rationalised definition of allocators to belong to related translation units. Workaround necessary to allow for correct optimisation on some compilers on 64-bits systems.

### Global

- Migrated calls to `G4Exception` in HEPNumerics to canonical signature.
- Q/A cleanup to clear CodeWizard warnings, minor fixes and moved inline methods to .icc files.
- Added `G4BestUnit::operator G4String` in `G4UnitsTable`.
- Added new class `G4AnalyticalPolSolver` in HEPNumerics module, implementing the CACM algorithm for solving analytically a polynomial equation up to the 4th order.

### Graphical Representations

- `HepPolyhedron`: added method `IsErrorBooleanProcess()`. and `BooleanProcessor::get_processor_error()`.
- Implementation improvements in `G4VisExtent`, `G4Polyhedron`, and `G4VisAttributes`. Added new class `G4AttCheck`.

### Materials

- New public interface to build elements and materials, based on the Nist materials data base. In particular one can easily define an element with its natural isotope composition. About 300 materials are included into the Geant4 material DB.
  Examples are given in extended/electromagnetic examples TestEm9, TestEm11 and extended/medical/GammaTherapy.
  The material category is equipped by its messenger, which allows to access elements and materials from data-base.
- Made `A` optional in `G4Isotope`, now taken from Nist data base by default.
- Added new data member in `G4Element` to count the number of elements with same `Z`.
- Added `SetGROUPVEL()` to `G4MaterialPropertiesTable`. Addresses problem report #741.
- Trivial fix in `G4IonisParamMat::FindMeanExcitationEnergy()`. Addresses problem report #746.

### Hadronic Processes

- cross_sections:
  - Cleared compilation warnings in `G4EMDissociationCrossSection`.
- management:
  - Checking for `NaN` at input to `PostStepDoit()` method.
  - Corrected treatement of momentum balance for elastic scattering final states.
  - Isotope production code now also provides name of producing model.
- models/abrasion:
  - Pointers to theAbrasionGeometry and products generated by the deexcitation handler deleted to prevent memory leaks. Also particle change of projectile fragment previously not properly defined.
- models/cascade/cascade:
  - Added kaon extension to Bertini cascade. Currently, in order to compile the new code, the conditional assembly flag `G4BERTINI_KAON` must be set.
  - Fixed compilation warnings on gcc-4.0.0.
- models/chiral_invariant_phase_space:
  - Adapted interface to 'body' module as to not simulate heavy fragments.
  - Physics tuning for the antiproton-nuclear annihilation at rest.
  - Corrected error in hypernuclear degradation to normal nuclear fragment (1 per 5 millions interactions on `Al`).
  - Fixed bug in `G4QEnvironment::EvaporateResidual()` observed on SUN. Return statement added in the end of recursive void function.
  - Cleared warnings after QGSC test for 30.E6 interactions of protons.
  - Fix for uninitialised `G4QPDGCode` in "interface module".
- models/coherent_elastic:
  - New implementation of high energy coherent elastic scattering, with substantial improvement of angular distributions for heavy materials and large scattering angles.
- models/de_excitation:
  - fermi_breakup: registration of fermi fragments made less redundant.
  - gem_evaporation: channel registration sequence simplified.
  - handler: fixed a small memory leak for light fragments.
- models/low_energy:
  - Fixed cases of very rare crashes for low energy strange particle interactions.
  - Fixed long standing bug in triton inelastic scattering (lead to platform dependence).
- models/management:
  - Removed obsolete classes.
- models/parton_string/qgsm:
  - Improved baryon splitting and removed `InelasticSplitableHadron` now no longer needed.
  - Fixed compilation warnings on gcc-4.0.0 and some code cleanup.
- models/pre_equilibrium:
  - Performance optimization by means of reshuffling channels.
- models/radioactive_decay:
  - Added tests to avoid cosine rounding errors in `G4NuclearDecayChannel`.
  - Minor correction to `G4NuclearDecayChannel` to fix bug #711.
- models/util:
  - Some code cleanup.

### Parameterisations

- `GFlashShowerModel`: fixed compilation warning on gcc-4.0.0 for possible undefined operations and warnings on SUN-CC for hiding of class attributes.
- Corrected signature for `IntegrateNspLongitudinal()` in implementation of `GFlashHomoShowerParamterisation`, to remove const qualifier. Problem detected on SUN-CC.

### Particles

- Changed default value of mass of `G4PrimaryParticle` from 0 to -1 and added `GetPDGcode()` method.
- Added neutrino energy spectrum in `G4MuonDecayChannel`.
- Moved `G4PrimaryParticle`, G4PrimaryVertex, `G4VUserPrimaryParticleInformation` and `G4VUserPrimaryVertexInformation` from event category to management module.

### Run, Itercoms and Interfaces

- Intercoms:
  - Modified `G4UIbatch` so that it now aborts the execution of the macro file (and any other parent macro files which issued this macro file) if a command in the macro file is wrong or cannot be executed. Fixes problem report #734.
  - Migration from `AddThis()` to `AddSolid()` and `AddCompound()`.
  - `G4VGraphicsScene`: introduced new names. Old methods call new methods as interim solution.
  - `G4VVisManager::Draw()`: removed default argument.
- Interfaces:
  - `G4UIGainServer`: fixed conditional compilation for porting on MacOS 10.4.
- Run:
  - Messages about defined particles and physics tables are now printed out only for verbose level greater than 1.
  - Moved invocation of `ConstructParticle()` method back to the original place in `InitializePhysics()`.
  - Added `SetPrimaryTransformer()` method to `G4RunManager` and `G4RunManagerKernel`.
  - Changed version string in `G4RunManagerKernel` not to have CVS symbols.

### Track and Tracking

- Track
  - Added new class `G4ParticleChangeForGamma`.
  - Fix in `G4Track::GetVelocity()`. Addresses problem report #741.
  - Modified `G4ParticleChangeForLoss` to inline 'update' methods.
- Tracking
  - Simplified creation of `G4AttValues` using `G4BestUnit::operator G4String()` and `G4UIcommand::ConvertToString()`.
  - Changed Trajectory classes to make use of `G4AttCheck`.
  - Removed redundant declaration of `SetNavigator()` method. Addresses problem report #742.

### Visualization

- HepRepFile
  - Providing more efficient representation of many solids (reduces typical geometry file sizes by half).
  - Allow user to specify output directory and filename.
  - Allow user to specify whether to append a file number to the file name or to overwrite a single file.
  - Allow user to specify whether or not invisible volumes should be culled from the HepRepFile.
  - Correctly respect trajectory color from `G4VisAttributes`.
  - Handling `G4VisAttributes` from hits.
  - Using `G4AttCheck` to standardize attribute units.
  - Decomposed attributes that are 3Vectors into three separate HepRep Attributes.
- HepRepXML
  - Fixed problems with sequential heprep files, gz files and too much info.
  - Fixes for compilation on gcc-4.0.0.
  - Moved to heprep version 2.0.1 and cheprep version 2.0.5.
  - Reorganised ZLIB and ZIPIOS++ code.
  - Providing more efficient representation of many solids.
  - Handling attributes on hits and trajectories.
- management
  - Introduced drawing of readout geometry for logical volumes. For drawing of logical volumes, introduced boolean flags to control drawing of: boolean components (if any), voxels (if any) and readout geometry (if any). Augmented commands `/vis/specify` and `/vis/scene/add/logicalVolume` to use above flags.
  - Migration from `AddThis()` to `AddSolid()` (method for adding solids to the scene handler) and `AddCompound()` (method for adding "compound" objects to the scene handler). These methods may either (a) invoke "user code" through `G4VVisManager` or (b) invoke `AddPrimitives()` or (c) use graphics-system-specific code or (d) any combination of the above.
  - Introduced `G4VisExecutive`. `MyVisManager` deprecated.
  - Added first implementation of cutaway: a clipping box for physical volume tree: `vis/scene/add/volume ! ! ! box km 0 1 0 1 0 1`.
  - `G4VisCommandsViewerSet`: made Up and Viewpoint vectors unit for safety.
  - `G4VisManager`: removed "Delete" methods. Removed "remove" and "edit" commands.
  - Reviewed all vis commands. Improved guidance, simplified and rationalised the commands.
  - Fixed UI command `/vis/scene/add/text` to accept text with spaces.
  - Reduced text size of scale annotation to 12 pixels.
  - Issue warning in `G4ViewParameters` for viewpoint direction close to up vector direction.
  - Fixed case of scene handler with no viewer in UI command `/vis/scene/notifyHandlers`.
  - Removed automatic parameter candidate specification for commands that take an argument that is a scene, scene handler or viewer name: it is checked in `SetNewValue()` methods.
  - Added `G4VUserVisAction` and `G4CallbackModel` classes.
  - Implemented `/vis/scene/add/userAction` and introduced `/vis/scene/add/logo`.
  - Protected scene handlers for the case of the drawing of solids NOT from a physical volume tree.
  - Improved physical volume clipping.
  - Fixed bug in `/vis/viewer/update` to check the existence of the scene handler and the scene.
- modeling
  - `G4PhysicalVolumeModel`: `SetCopyNo` of replicas and paramaterised volumes.
  - `G4TextModel`: improved global tag for better identification.
  - `G4PhysicalVolumeModel`: fixed case of off-origin volume and handling of rotation steps.
- OpenGL
  - `G4OpenGLViewer`: created virtual void `CreateFontLists()`. In all concrete viewers, added call to `CreateFontLists()`. Moved font code for X to `G4OpenGLXViewer::CreateFontLists()`.
  - There is no longer a need to implement in the XmViewer, since it now inherits. Thus the font code now only appears once for X.
  - Restored sequence `Set/Clear/DrawView` in `ClearTransientStore()`. Fixed bug for views not refreshed.
- OpenInventor
  - Implemented marker sizes.
  - Changed `char*` to `const char*` in `gl2psMsg`.
  - Removed extra ';' for porting on gcc-3.4.X and higher.
  - `G4OpenInventorTransform3D`: use `CLHEP::Transform3D::operator(i,j)` in order to be compatible with new versions of CLHEP.
- Tree
  - Changed ASCIITree to use `G4VSolid::GetCubicVolume()` and `G4LogicalVolume::GetMass()`; added printing of names of sensitive detector (if any) and readout geometry (if any).
  - Improved ASCIITree guidance.
- XXX
  - Removed scene count and included some ongoing developments to do with making a consistent geometry hierarchy in presence of culled volumes.
  - Fixed some compilation warnings.

### Physics lists

- electromagnetic: changed gamma and e+ classes in `G4EmQEDBuilder52`.

### G3toG4 Tool

- Fixed initialisation local pointer variable in `G3toG4BuildTree::G3toG4BuildPVTree()`.

### Data

- New data set for low-energy EM processes: G4EMLOWEN-3.0.
- New data set for elastic scattering: G4ELASTIC-1.1.

### Examples

- Updated reference outputs.
- Changed `VisManagers` in all examples making use of visualization to now adopt `G4VisExecutive`.
- advanced
  - air_shower
    - Corrected usage of <strstream> in `RunActionMessenger`.
    - Corrected call to `Visualisation.mac` from main. Changed viewer to OGLSX.
    - Updated README.
  - brachytherapy
    - Updated README and tested with AIDA 3.2.1 and PI-1.3.3.
  - cosmicray_charging
    - Fixed trivial compilation error on gcc-3.4.X (double semicolon).
  - gammaray_telescope
    - Minor changes to macro files.
  - hadrontherapy
    - Optimisation of the detector construction and sensitive detector
    - Introduced modular physics and added hadronic physic list for proton and ion.
    - Corrected bug in the modulator wheel.
    - Code review, removed warnings and deleted public variables.
    - Tested analisys with AIDA 3.2.1 and PI 1.3.3.
  - medical_linac
    - Fixed bug in `ROGeometry`.
    - Code review.
  - radioprotection
    - Code review and tested with AIDA 3.2.1 and PI-1.3.3.
  - Rich
    - Replaced <iostream.h> with <iostream> and `cout` with `G4cout`.
  - Tiara
    - Migration to SLC3 with latest versions of PI 1.3.X.
  - xray_fluorescence
    - Added new developments and tested with PI-1.3.3.
- extended
  - analysis/A01
    - Fixed linking problem with AIDA on WIN32-VC.
    - Added `G4Atts` to hits so that one can see them if hits are picked in WIRED.
    - Fixed filling of hit histograms.
    - Updated documentation for the use of Binary HepRep.
    - Added setting of initial viewpoint to macro files.
    - Added bheprep example files.
  - biasing/B02
    - Migration to SLC3 with latest versions of PI 1.3.X.
  - biasing/B03
    - Migration to SLC3 with latest versions of PI 1.3.X.
  - electromagnetic/TestEm1
    - `PhysListEmStandard`: use `G4eBremsstrahlung` from the standard; removed `G4eBremsstrahlungCMS`. Treat Alpha as GenericIon.
    - Removed He3 from predefined particles.
    - `HistoManager`: added option --noErrors for hbook files.
    - `PhysListEmG4v52`: old photon processes and eplusAnnihilation marked as 52.
  - electromagnetic/TestEm2
    - `HistoManager`: added protection for the creation of the analysis factory.
    - Migration to model version of gamma processes.
    - `RunAction`: added option --noErrors for hbook files.
  - electromagnetic/TestEm3
    - `HistoManager`: added protection for the creation of the analysis factory; file extension is `fileType`.
    - `HistoMessenger`: new command `setFileOption`.
    - Removed He3 from predefined particles.
    - `PhysListEmStandard`: treat Alpha as GenericIon.
    - `RunAction`: added option --noErrors for hbook files.
    - Forward and backward energy flow in `SteppingAction` + `RunAction`.
  - electromagnetic/TestEm4
    - `RunAction`: added protection for the creation of the analysis factory and option --noErrors for hbook files.
  - electromagnetic/TestEm5
    - `HistoManager`: added protection for the creation of the analysis factory; file extension is `fileType`.
    - `HistoMessenger`: new command `setFileOption`.
    - Removed He3 and ionC12 from predefined particles, also from IonBinaryCascade.
    - `PhysListEmStandard`: treat alpha as GenericIon.
    - Added `PhysListEmPenelope`.
    - `RunAction`: added option --noErrors for hbook files.
    - `PhysListEmG4v52`: old photon processes and eplusAnnihilation.
  - electromagnetic/TestEm6
    - `RunAction`: added protection for the creation of the analysis factory.
    and added option --noErrors for hbook files.
- electromagnetic/TestEm7
  - `RunAction`: added protection for the creation of the analysis factory and added option --noErrors for hbook files.
  - Removed He3 and ionC12 from predefined particles, also from IonBinaryCascade.
  - `PhysListEmStandard`: treat alpha as GenericIon.
  - `PhysListEmG4v52`: photon processes v52.
- electromagnetic/TestEm8
  - Remove IonC12 class and unused headers.
  - Migration v70->standard->v52: `PhysicsList` and macros.
- electromagnetic/TestEm9
  - Removed He3 and ionC12 from predefined particles, also from IonBinaryCascade.
  - `PhysListEmStandard`: treat alpha as GenericIon.
  - Migration to use NIST materials.
  - Removed `SteppingVerbose` class.
- electromagnetic/TestEm11
  - New example showing handling of energy deposited by particles in material and illustrating how to use the concept of 'process' in order to implement a constraint on the step size of the particle trajectories.
- electromagnetic/MuonProcesses
  - `HistoManager`: added protection for the creation of the analysis factory; file extension is `fileType`, and added option --noErrors for hbook files.
- electromagnetic/PhotonProcesses
  - `HistoManager`: added protection for the creation of the analysis factory; file extension is `fileType`, and added option --noErrors for hbook files.
  - `HistoMessenger`: new command setFileOption.
  - Migration v70->standard->v52: PhysicsList and macros.
  - Use `EmCalculator` in `RunAction`.
- medical/DICOM
  - Revision and bug fixes.
- medical/GammaTherapy
  - Return back killing electrons in the gas volume.
  - Migrated to use NIST materials and "ApplyCuts" option.
  - Bug fix in UI for step-limiter.
- optical/LXe
  - Fixed a material dependent parameter input.
- paralled
  - Added missing directories with annotated files in ParN02 and ParN04.
  - Added text description.
- persistency
  - Brought code up-to-date to compile with current Geant4 kernel and configuration setup.
- radioactivedecay/exrdm
  - Updated physics list and added macro test.mac for testing it.
- runAndEvent/RE01
  - Added visualization.
  - Added `G4Atts` to hits so that one can see them if hits are picked in WIRED.

- novice
  - N02
    - Uncommented `G4UserLimits` + `G4StepLimiter`.
    - `ExN02TrackerHit`: changed screen size to 2 pixels.
  - N03
    - Decreased size of trajectory points in `EventAction`.
  - N06
    - Use `SetProcessOrdering()` for the decay process.