In the manual parts of this report, some conventions are used. All names of subprograms, common blocks and variables are given in upper-case `typewriter' style, e.g. MSTP(111)=0. Also program examples are given in this style.
If a common block variable must have a value set at the beginning of execution, then a default value is stored in the block data subprogram PYDATA. Such a default value is usually indicated by a `(D=...)' immediately after the variable name, e.g.
All variables in the fragmentation-related common blocks (with very few exceptions, clearly marked) can be freely changed from one event to the next, or even within the treatment of one single event; see discussion on initialization in the previous section. In the process generation machinery common blocks the situation is more complicated. The values of many switches and parameters are used already in the PYINIT call, and cannot be changed after that. The problem is mentioned in the preamble to the afflicted common blocks, which in particular means PYPARS and PYSUBS. For the variables which may still be changed from one event to the next, a `(C)' is added after the `(D=...)' statement.
Normally, variables internal to the program are kept in separate common blocks and arrays, but in a few cases such internal variables appear among arrays of switches and parameters, mainly for historical reasons. These are denoted by `(R)' for variables you may want to read, because they contain potentially interesting information, and by `(I)' for purely internal variables. In neither case may the variables be changed by you.
In the description of a switch, the alternatives that this switch may take are often enumerated, e.g.
It is also up to you to choose physically sensible values for parameters: there is no check on the allowed ranges of variables. We gave an example of this at the end of the preceding section.
Subroutines you are expected to use are enclosed in a box at the point where they are defined:
This is followed by a description of input or output parameters. The difference between input and output is not explicitly marked, but should be obvious from the context. In fact, the event-analysis routines of section return values, while all the rest only have input variables.
Routines that are only used internally are not boxed in. However, we use boxes for all common blocks, so as to enhance the readability.
In running text, often specific switches and parameters will be mentioned, without a reference to the place where they are described further. The Index at the very end of the document allows you to find this place. Tables and gives a brief summary of almost all common blocks and the variables stored there. Often names for switches begin with MST and parameters with PAR. No common block variables begin with PY. There is thus no possibility to confuse an array element with a function or subroutine call.