next up previous contents
Next: EGS4_HOWFAR - the geometry Up: Event Evolution Previous: Conclusions   Contents

Electron, Positrons, and Gammas $\rightarrow $ EGS4

Interaction Codes
Code Description
301000 + p Photon from particle p
t*1000000 + 310000 Photodisintegration of target t
397000 Photon bundle
399000 + p EGS4 vertex from particle p

[Note: as of SNOMAN version 2_08, the EGS4 code has been upgraded to version 2. This does not invalidate the discussion here, but has introduced a number of new features. The interested reader is recommended to consult SNO-STR-095-039.]

The transport of electrons, positrons and gamma rays in SNOMAN is handled by the EGS4 code system. This code is well documented by its authors [7], and a brief outline of how the system works has already been given in this document. The EGS4 code used in SNOMAN is version 2 (see elsewhere for a list of the differences between EGS4 versions 1 and 2).

The EGS code system consists of two user callable routines: EGS4_HATCH and EGS4_SHOWER. EGS4_HATCH is responsible for setting up the data arrays with information drawn from the specified PEGS file, and must be called once before the first electron, positron or gamma ray is propagated. EGS4_SHOWER calls the appropriate EGS routines (describing the physics involved), which, in turn, call two user provided routines, EGS4_AUSGAB and EGS4_HOWFAR (responsible for output and geometry respectively). Information is transferred between EGS subroutines via a number of common blocks.

Figure 13.1: Program structure for EGS in SNOMAN. nb EGS4 routines are now prefixed with EGS4_ .
\begin{figure}{
\setlength{\unitlength}{1mm}
\vspace{5mm}
\begin{picture}(135,9...
...0,0){Media Data}}
\put(12,5){\makebox(0,0){(PEGS)}}
\end{picture}}\end{figure}

The various subroutines in the figure will be discussed below, with the exception of the geometry routine GE_NEXT, which is discussed elsewhere in this manual.

The VXEGS4 subroutine is the ``command'' routine for the SNOMAN implementation of EGS and is called by the vertex processor when it attempts to process a vertex whose particle type is identified as that of an electron, positron or gamma ray. It calls EGSINP to establish the initial conditions for the particle it has been called to deal with. The routine INEGS4 has previously performed the following tasks:

  1. Invokes the Management of Titles System to read in the value of ESTEPE (the maximum step length) and the values of ECUT and PCUT for all regions, from the EGS4 titles bank.

  2. Calls EGS4_HATCH, which reads in the media data from the PEGS file.

  3. Calls EGS4_PRESTA_INIT to initialise the PRESTA routines and invoke EGS4_FIXTMX to limit the step length to the desired amount.

VXEGS4 then calls EGS4_SHOWER, the subroutine which actually does most of the hard work in propagating the electromagnetic shower, and finally calls the routine EGSOUT to set up the EGS4 output bank, before returning control to the main code. The contents of the EGS4 bank are documented in:-

Companion/Event Data Structure/EGS4



Subsections
next up previous contents
Next: EGS4_HOWFAR - the geometry Up: Event Evolution Previous: Conclusions   Contents
sno Guest Acct 2009-09-09