The System Initialisation routines

+-------------+                                               +----------##
| Geant 3.15  |               GEANT User's Guide              | BASE110  ##
+-------------+                                               +----------##
                                   

Author(s) : R.Brun Submitted: 01.06.83 Origin : GEANT2/3 Revised: 13.01.92

                  +------------------------------------+
                  |CALL GZEBRA (NZ) |
                  +------------------------------------+
                                  

Initializes main store (IXSTOR=0, NZEBRA=NZ) in common /GCBANK/

                         NZEBRA = size of common
        /GCBANK/
                                  

The size of the dynamic memory is set to NZEBRA-30. The common /GCBANK/ must be dimensioned in the main program. Please note that ZEBRA (for more information on ZEBRA the reader is referred to the ZEBRA User's guide, CERN Program Library Q100) must be initialised only once. The call to the HBOOK initialization routine HLIMIT will try to initialise ZEBRA as well, and this will cause a program abort. To avoid this HLIMIT must be called after GZEBRA and its argument must be a negative number whose absolute value is the size of the /PAWC/ common containing the histograms. This is shown in the example of main program given in [BASE100].

                     +------------------------------+
                     |CALL GINIT  |
                     +------------------------------+
                                  

Presets labelled common block variables to default values. Preprocesses various common block variables. See 'Overview of common blocks' [BASE030].

                     +------------------------------+
                     |CALL GFFGO  |
                     +------------------------------+
                                  

Reads a set of data records with the FFREAD package. See 'Summary of data records' [BASE040] GFFGO should be called after GINIT.

                    +--------------------------------+
                    |CALL GZINIT  |
                    +--------------------------------+
                                  

Sets index of default division 2 of store IXSTOR (See ZEBRA User's Guide routine MZSTOR) to IXDIV=IXSTOR+2 (common /GCBANK/) Allocates the user long term division IXCONS (common /GCBANK/) (minimum size 2000, maximum size 8*NZEBRA/10). The division IXDIV is reserved for the event data structures and the division IXCONS for the initialisation data structures. Allocates 5200 words of working space. Initialises the link areas and a default run header bank JRUNG [BASE299] Initializes bank formats. GZINIT must be called after GFFGO.

Layout of the dynamic store:

               LQ(1),LQ(2)/working space->/reserve area/<-
                     div.IXDIV/sys.div./<-div.IXCONS
                                  

                    +--------------------------------+
                    |CALL GDINIT  |
                    +--------------------------------+
                                  

Initializes the drawing package [DRAW001] To be called before any VIEW bank is created. This routine initialises the GEANT3 drawing package, but not the underlying graphics system. The GEANT graphic package uses the HIGZ [bib-HIGZ] system. To properly initialises the system, the appropriate routines of the HIGZ package should be called. In the example given in [BASE100] the routine HPLINT from HPLOT [bib-HPLOT] is used. This routine calls the appropriate procedures from HIGZ to initialise the underlaying graphics system. At the moment HIGZ can use several flavours of GKS [bib-gks2d], [bib-gks3d], [bib-GKS1]and X11. An implementation via PHIGS is in preparation.

                    +--------------------------------+
                    |CALL GPHYSI  |
                    +--------------------------------+
                                  

Completes the data structure JMATE [PHYS100] calculating the cross section tables.

                    +--------------------------------+
                    |CALL GBHSTA  |
                    +--------------------------------+
                                  

Initializes any standard histograms required by the user with the data record HSTA. The following histogram keywords may be used :

TIME
Time per event
SIZE
Size of division IXDIV per event
MULT
Total number of tracks per event
NTRA
Number of long life tracks per event
STAK
Maximum stack size per event

GBHSTA should be called after GFFGO.

                    +--------------------------------+
                    |CALL GGCLOS  |
                    +--------------------------------+
                                  

This routine has to be mandatorily called at the end of the definition of the geometry by the user. Failure to call this routine will prevent the GEANT3 system from working correctly. Main tasks of this routine are:

  1. Closes the geometry package, mandatory. Should be called after all volumes have been defined and positioned, and after all detectors have been defined.
  2. Completes the JVOLUM data structure.
  3. Set the optimization search (GSORD) if requested.