Permanent or voluntary misalignments in MADX T Persson











- Slides: 11

Permanent (or voluntary) misalignments in MAD-X T. Persson Thanks to: R. De Maria, R. Tomas, L. Deniau, A. Huschauer

Background • The misalignments in MAD-X were considered as errors • Had to be defined using the ealign command • Not seen by SURVEY • New feature to introuduce permanent alignment offset in MAD-X • Useful for machines where elements are ”misaligned” on purpose (e. g. PS) • Included in SURVEY (by default but can also be excluded) • Same behaviour as aligmnets errors in TWISS, TRACK and EMIT and in the conversion to PTC

How to use it? • Every element has these attributes: • dx, dy, ds, dpsi, dtheta, dphi • Behaves like misalignment in TWISS, TRACK and EMIT • Note that the routines are only accurate when the angles are relativley small since they are treated in a linear approximation • The position including this permanent misalignment is shown in SURVEY • Can be turned off in suvrvey using option, perm_align_survey=false;

Reminder of the MAD-X rotations and translations Yaw Pitch Roll The rotations are given from the beginning of the element in MAD-X, however, the layout database assume that misalignment are defined from the centre of the object

Example q 1: quadrupole, at=0. 5, l=1, k 1=0. 01, dx=0. 01; z dx = 0. 01 SURVEY x TWISS

What does the attributes belong to? • Internally in MAD-X there is something called nodes. In the node information such as the location of an element is stored but it also points to an element. More than 1 node can point to the same element: q 1: quadrupole, l=1, k 1=0. 01; myseq: sequence, l=10; q 1, at = 1; q 1, at = 2; endsequence; Node 2 q 1 Node 1

Another example q 1: quadrupole, l=1, k 1=0. 01; myseq: sequence, l=10; q 1, at = 1, k 1=0. 02; q 1, at = 2; endsequence; This used to pass through without any warnings but did NOT change the value of k 1! This is now prevented, and an error is thrown! This will work: q 1: quadrupole, l=1, k 1=0. 01; myseq: sequence, l=10; q 1: q 1 a, at = 1, k 1=0. 02, dx=0. 02; q 1: q 1 b, at = 2; endsequence;

Should permanent misalignment be stored in the nodes? If implemented on the nodes the following would be possible: myseq: sequence, l=10; q 1, at = 1, dx=0. 02; q 1, at = 2; endsequence; Benefit: • When the same element appears in two sequences the same element can be used • In some way a more logical place Drawback: • The check that no other attributes have been altered needs to disappear again (risk of human error or their will be a slowdown in reading the sequence) • The permanent misalignments must be copied internally and not handled in the same way as other attributes -> More work and increased risk of errors. Special handling for saving and slicing.

Permanent misalignment and error misalignment • In case the user defines an alignment and a permanent misalignment for the same element these two will be added • It is up to the user to create the desired misalignment • Note that MAD-X is not designed for large deviation from the reference orbit • Works well for realistic misalignments

Visualize using PTC and root • PTC does not separate between errors and perm misalignments. • Piotr implemented a way to visualize a sequence in ROOT from PTC ptc_printframes, file="line. C", format=rootmacro: • Example: myseq: sequence, l=10; q 1 a: q 1, at = 1, dx=0. 3; q 1 b: q 1, at = 3; q 1 c: q 1, l =1, at = 5, dtheta = pi/8; endsequence;

Conclusion • A new way to place an element away from the reference orbit has been implemented in MAD-X • It will be available in the next release • It behaves as alignment errors in TWISS, EMIT, TRACK and in the translation to PTC • The actual position of the element is reflected in SURVEY by default but can also be excluded by an option • Two remaining questions: • Is it needed to have the misalignments stored in the nodes? • Should we also be able to give the angles for the permanent misalignments from the middle of the element?