The framework offered by GEANT for event simulation is described in the following paragraphs, in order to familiarise the reader with the areas where user interventions are expected. For each item we will indicate in brackets the relevant section where more information can be found.
At the same time, the GEANT data structures are introduced. This is important as the coding to be provided by the user most often consists of storing and retrieving information from data structures, or reading or writing data structures. For simple applications user routines are provided as an interface to the data structures partially hiding them from the users. For advanced users of GEANT, some idea of the layout of the data in memory is helpful. GEANT data structures are logically related set of data which are physically stored in the /GCBANK/ common block. The position of each structure is contained in an INTEGER variable which is constantly kept up-to-date by ZEBRA. By convention the names of these variable, called pointers begin with J, and they are used in this manual to designate the structure they point to.
A main program has to be provided by the user ( [BASE100]) for batch type operation. For interactive operation a main program is provided, both binary and source, in the library directory both at CERN and in the standard distribution tape of the CERN Program Library. The file is called gxint<ver>.<ext>, where <ver> is the version of GEANT to which this file belongs and <ext> is the system-dependent file-name extension to denote a FORTRAN source or an object file. This file should be loaded in front of all other files when assembling a GEANT application. The source is provided in case the user wants to modify it, in particular changing the size of the commons /GCBANK/ or /PAWC/.
The main program allocates the dynamic memory for ZEBRA and HBOOK and passes control to the three phases of the run:
where in each of the three phases the user can implement his own code in the appropriate routines.