next up previous contents index
Next: Sequence Editor Up: Beam Lines, Sequences, and Previous: Lines and Sequences with   Contents   Index


Shared Lines

Normally, when a beam line or sequence is referred to in another line, each reference refers to a distinct copy of the line.

L:LINE=(A,B,C);
S:SEQUENCE,L=real;
   ...
ENDSEQUENCE;
Such a line or sequence is cloned when it is inserted in another line or sequence, thus permitting assignment of errors to its elements without affecting other occurrences of the same line.

A beam line or sequence can be shared by using the keyword SHARED, then the line or sequence is unique, and all references in other lines refer to the same instance. Example:


// Define the interaction region common to both rings:
SHARED IR2:SEQUENCE,L=...;
   ...
ENDSEQUENCE;
RING1:LINE=(...,IR2,...);
RING2:LINE=(...,IR2,...);
// Now assign imperfections to IR2 wich will be seen by both rings:
EALIGN,LINE=IR2,DX=...,DY=...;
Counterexample:

// Define one superperiod of the machine:
SUPER:SEQUENCE,L=...;
   ...
ENDSEQUENCE;
// Each occurrence of SUPER is distinct:
RING:LINE=(8*SUPER);
// Assign different imperfections to each SUPER:
EALIGN,LINE=RING,DX=...,DY=...;



MAD User Guide, http://wwwslap.cern.ch/mad/