next up previous index
Next: Availability of the Up: AAAA001 Foreword Previous: Documentation

Update policy

The GEANT program is constantly updated to reflect corrections, most of the time originating from users' feed-back, and improvements to the code. This constant evolution, which is one of the reasons for the success of GEANT, poses the serious problem of managing change without disrupting stability, which is very important for physicists doing long production runs.

In the CERN Program Library maintenance scheme, three versions of any product are present at the same time on the central systems, in the OLD, PRO and NEW areas with those same names. This scheme does not apply to GEANT because every new release usually contains modifications in the physics which can produce, we hope, better but often different results with respect to the previous version. It is therefore appropriate to offer to the users an extra level of protection against running inadvertedly the wrong version by appending the version number to all the files of GEANT. In this way the users will have to change their procedure to change the version of GEANT.

On the other hand, the new user should not bother about version numbers and correction files, and so an alias is installed on all systems without any version number, always pointing to the latest released version.

As said before, users' feed-back is of paramount importance in detecting problems or areas for improvement in the system, so the new version is made available in the NEW area well before the official release. If, on the one hand, those who use this version do so at their own risk, on the other hand users are encouraged to perform as much testing as possible, in order to detect the maximum number of problems before the final release. Modifications in the pre-release version are made directly in the source code.

When problems are discovered, which may seriously affect the validity of the results of the simulation, they are corrected and the library recompiled in the /new area. To minimise network transfer for remote users and in the interest of the stability of the system, the source code of the released version in PRO is not touched, but rather the correction is applied via a so-called correction cradle which is a file containing the differences between the original and the corrected version in a format required by PATCHY/CMZ. Both these programs can read the original source and the correction cradle and produce the corrected source. The corrected car/cmz source and the corrected binary library are made then available in /pro at the following CERNLIB release (when /new becomes /pro).

The cmz source files contain the full history of the corrections applied with proper versioning, so that every intermediate version can be rebuild. Users at CERN should not need to use the correction cradle other than for documentation purposes. Remote users may want to obtain the cradle and apply the corrections. At every CERNLIB release the correction cradle is obviously reset to be empty, as all the corrections have been applied in the code directly. The correction cradle for the OLD version is available but has to be considered frozen. No correction is ever applied to an old version.

New versions of GEANT are moved into the PRO area synchronously with releases of the CERN Program Library. If no new version of GEANT is available at the time of the release of the Program Library, the GEANT files do not change their location and the production version remains the same.



next up previous index
Next: Availability of the Up: AAAA001 Foreword Previous: Documentation


Janne Saarela
Mon Apr 3 12:46:29 METDST 1995