CALL GHESIG (P,EK,AVER,A,Z,W,NLM,DENS,CORR,IPART)
The cross-sections on nucleus are known only for pions and protons. The general law:
is used but it is valid only for momenta > 2 GeV. The parametrisation done gives only a behaviour averaged over momenta and particle types. For H, Al, Cu and Pb the measured cross-sections are stored in DATA statements.
The stored cross-sections are the pre-calculated GHEISHA ones. As a starting point the measured cross-sections of pions, kaons, protons, antiprotons and neutrons on protons are used. The cross-sections tabulated are measured values taken from the CERN HERA compilations. The values for / are updated as of July 1980. Strange baryon cross-section are calculated using a parametrisation in terms of quark-quark forward scattering amplitudes and optical theorem. The additive quark quark scattering model is used. All the cross-sections are contained in data statements so no external file is needed for GHEISHA. CALL GPGHEI This routine returns the distance to the next hadronic interaction according to the GHEISHA cross-sections. It calls GHESIG and is called by GUPHAD. The default copy provided in the GEANT library uses the GHEISHA shower code:
SUBROUTINE GUPHAD * ***************************************************************** * * * GEANT user routine called at each step to evaluate * * the remaining distance to the hadronic interaction point * * * ***************************************************************** * CALL GPGHEI * END SUBROUTINE GUHADR *. **************************************************************** * * * GEANT user routine called when a hadronic process * * has been selected in the current step, in order to * * generate the final particle's state * * * **************************************************************** * CALL GHEISH * END
CALL GHEISH This is the main steering routine for the hadronic interactions and is a fan-out to the various cascade routines of GHEISHA which treat the particular hadronic interaction. Here the kind of interaction is stored in the INT flag, with the following meaning:
After the interaction has been selected, the appropriate cascade routine is called. Upon exit from this there is a check whether the interaction has generated new particles or not. If yes, the new particles are copied in the GEANT temporary stack (GKING). If the particle is a heavy fragment or a proton and it is below the energy cut specified via the CUTS data record, it is not stored in the stack but the kinetic energy is collected. The size of the GHEISHA stack is parametrised, and its limit is currently set to 100 in sequence GCKMAX. The user is left to decide in GUSTEP what to do with the new tracks. This routine is called also in case of a stopping hadron, i.e. with kinetic energy below the GEANT cuts. In this case the routine GHSTOP (see later) is called to handle the stopping hadron. The printing flags for GHEISHA are also set in this routine according to the current value of IDEBUG.
This routine must be called by the user routine GUHADR (see above).
As explained above, for inorganic scintillators such as the BGO, it is possible to activate a correction to the hadronic cross-section. This is done via the routine GSTPAR in the following way:
CALL GSTPAR(ITMED,'GHCOR1',1.0)The parameter is actually a flag which, if different from 0, triggers the calculation of the cross-section correction, but in view of future developments it is good practice set it to 1.0 when those corrections are required. ITMED is the tracking medium number as used in GSTMED for which corrections are requested. This routine has to be called before GPHYSI. CALL GHSTOP This is an internal routine used to handle stopping particles, called by GHEISH. Here again we have a switch to the various routines handling stopping particles. In particular this routine can lead to nuclear absorption for negative pions and negative kaons ( ABSO) and to annihilation for antineutrons, and antiprotons ( ANNH). The kinetic energy is completely absorbed, and in the case of an unstable particle, the particle is decayed at rest via the standard GEANT decay routine GDECAY.
K.Lassila-Perini