1. Beam Lines
The accelerator to be studied is known to OPAL as a sequence of
physical elements called a beam line. A beam line is built from
simpler beam lines whose definitions can be nested to any level. A
powerful syntax allows to repeat or to reflect pieces of beam lines.
Formally a beam line is defined by a LINE
command:
label:LINE=(member,...,member);
label see Section [label] gives a name to the beam line for later reference.
Each member
may be one of the following:
-
An element label,
-
A beam line label,
-
A sub-line, enclosed in parentheses,
Beam lines can be nested to any level.
1.1. Simple Beam Lines
The simplest beam line consists of single elements:
label:LINE=(member,...,member);
Example:
L:LINE=(A,B,C,D,A,D);
- ORIGIN
-
Position vector of the origin of the line. All elements in this line that are placed using
ELEMEDGE
use this position as reference. - ORIENTATION
-
Vector of Tait-Bryan angles [bib:tait-bryan] of the orientation of the line at the origin.
1.2. Sub-lines
Instead of referring to an element, a beam line member can refer to another beam line defined in a separate command. This provides a shorthand notation for sub-lines which occur several times in a beam line. Lines and sub-lines can be entered in any order, but when a line is used, all its sub-lines must be known.
Example:
L:LINE=(A,B,S,B,A,S,A,B); S:LINE=(C,D,E);
This example produces the following expansion steps:
-
Replace sub-line
S
:(A,B,(C,D,E),B,A,(C,D,E),A,B)
-
Omit parentheses:
A,B,C,D,E,B,A,C,D,E,A,B
valuated to constants immediately.