If, on the other hand, the user is interested in including the routine GDEBUG and in excluding graphics at the same time, then the following routine should be included in the code:
SUBROUTINE GDCXYZ ENTRY IGSA ENTRY GDTRAK END
which will avoid every reference to the graphics routines from GDEBUG.
The example shows the basic concept in GEANT. First material parameters are defining the properities of a detector material calling the subroutine GSMATE. Here in addition to the 16 predefined materials, the material definition of Calcium is examplary shown. More information towards the predefined materials and further use of material definition routines can be found in the section CONS001 - CONS101. Then tracking parameters are associated to the materials, defining a so called tracking medium. Each GEANT volume must be associated to an existing tracking medium. Here in the example the tracking medium 'TARGET' is defined to exist of Calcium.
In the example shown below several detector volumes are defined using the subroutine GSVOLU. The defined volume have associated parameters of name, shape, tracking medium and shape parameters. In this example the volume 'TGT ' consists of the previously defined tracking medium 'TARGET'.The volumes (and if necessary identical copies of them) are then positioned according to the detector geometry. The volumes are positioned on the same level, or inside each other. By setting the parameter ONLY or MANY in the call of GSPOS the user has the opportunity to tell either GEANT the logical volume structure and to apply boolean operations (cutting, joining and intersection) between two positioned volumes. More information about the concept in defining volumes and positioning can be retrieved from the section GEOM.
Finally the user is required to classify into sets all sensitive detectors (defined as those volume defined as detector via GSDET and other related routines, for which he wants to store hits in the hit data structure JHITS.
READ 4 TRIG 10 STOPthe first line instructs FFREAD to open and process the file connected with logical unit 4, and the second line (re-)defines the number of events to be processed. The STOP command ends the FFREAD processing of the input.
Long experience in supporting GEANT users has shown that, as the user program grows, typing errors in the insertion of the common blocks by hand become very common, but difficult to find. The investment needed to learn a code management system at the user level is usually negligible compared with the time and energy needed in hunting a problem introduced by a mistyped common.