Repository navigation
Expand file tree
/
Copy pathOrbitCorrectionRing.html
More file actions
250 lines (238 loc) · 186 KB
/
Copy pathOrbitCorrectionRing.html
File metadata and controls
250 lines (238 loc) · 186 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,IE=9,chrome=1"><meta name="generator" content="MATLAB 2021a"><title>Orbit correction in a ring (Section 8.5.1)</title><style type="text/css">.rtcContent { padding: 30px; } .S0 { margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(0, 0, 0); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: normal; text-align: left; }
.S1 { margin: 15px 10px 5px 4px; padding: 0px; line-height: 28.8px; min-height: 0px; white-space: pre-wrap; color: rgb(213, 80, 0); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 24px; font-weight: normal; text-align: left; }
.CodeBlock { background-color: #F7F7F7; margin: 10px 0 10px 0;}
.S2 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 0px none rgb(0, 0, 0); border-radius: 4px 4px 0px 0px; padding: 6px 45px 0px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px; }
.S3 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 0px none rgb(0, 0, 0); border-bottom: 0px none rgb(0, 0, 0); border-radius: 0px; padding: 0px 45px 0px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px; }
.S4 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 0px none rgb(0, 0, 0); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 0px 0px 4px 4px; padding: 0px 45px 4px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px; }
.S5 { margin: 10px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(0, 0, 0); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: normal; text-align: left; }
.S6 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 0px none rgb(0, 0, 0); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 0px; padding: 0px 45px 4px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px; }
.S7 { color: rgb(64, 64, 64); padding: 10px 0px 6px 17px; background: rgb(255, 255, 255) none repeat scroll 0% 0% / auto padding-box border-box; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px; overflow-x: hidden; line-height: 17.234px; }
.S8 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 4px 4px 0px 0px; padding: 6px 45px 4px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px; }
.S9 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 0px none rgb(0, 0, 0); border-radius: 0px; padding: 6px 45px 0px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px; }
.S10 { margin: 3px 10px 5px 4px; padding: 0px; line-height: 20px; min-height: 0px; white-space: pre-wrap; color: rgb(60, 60, 60); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: bold; text-align: left; }
.S11 { margin: 10px 10px 5px 4px; padding: 0px; line-height: 18px; min-height: 0px; white-space: pre-wrap; color: rgb(60, 60, 60); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 15px; font-weight: bold; text-align: left; }</style></head><body><div class = rtcContent><div class = 'S0'><span>Companion software for "Volker Ziemann, </span><span style=' font-style: italic;'>Hands-on Accelerator physics using MATLAB, CRCPress, 2019</span><span>" (https://www.crcpress.com/9781138589940)</span></div><h1 class = 'S1'><span>Orbit correction in a ring (Section 8.5.1)</span></h1><div class = 'S0'><span>Volker Ziemann, 211129, CC-BY-SA-4.0</span></div><div class = 'S0'><span>In this example, we illustrate correcting the horizontal orbit in a ring made of eighteen FODO cells with one corrector magnet and one beam position monitor (BPM) in each cell.</span></div><div class = 'S0'><span>We add the support functions for the 4D beam optics calculations and define the FODO cell that has a phase advance of close to </span><span texencoding="90^o" style="vertical-align:-5px"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAmCAYAAAC76qlaAAAEGklEQVRYR+3XdahtVRAG8N+zxcZCsQO7G1QUMZ6FotitKAoWmOA/KooigmJgYGJigC0qJoqFLYrdCoqF3Xwy57Hd7HM9593HhQdn/rnn7rVmrdkz33zz7UmmU5s0ncZtFPhEV26U8VHGB8zACCoDJmqabRsr41nbBwdhMcyKr3ELzscP/xPFSjgW6+EPzIkncA7eHu8b9As8l9yONbE7HqmLdsQ1+A6T8UafAPbDZXgSu+BbLIibsD72wl19fOfBcZgdX2IbnI6Hm/v7BX419seRuLB1QQK5FV9gNXzVWt8CD1RFVsXHjfV58W4FtTFeaPmuUxU9DYkhdi4OwbLNu7oC3xBP4TcshO9bh8fnUyxShx/YWJ8Jb2FpnIFTOrJ6Nk7AM8hdPVsSz1ZVjm48z/lXYnvc03veFXggsjPeRHDaZRfjcPyOJSr72bc3riuHzfFoh/PWuL+eb4UH6/cdyP/L4POG35k4GVviobECf6fKksOD4y4LhoP12MGVkfzuvfSvCCx+6XBO/3yDVCeZjP9yValrcUDL524Efgs3q9/OeBoibDED7sV2fQLPC2U9djkOrd9ppgXwCtbo45vHaeoV8UHBKs16PY7CBQ2/pYqBzsPxzfO6Av+Rf1XjWJeH4oLHWDKyA2bDz/XsMWw2RuDpoY1qfb5imYsKKj3oZPlSbFBMlJ6bYl0Yfx9502Q+zdkLpum3fJU2z0JTKWW6PjCLBa87jRF4qtWDYZhnRryIfXFD+aVfTio6TcP/x7oCj+OetSsd3aOlpmNg8FI9uBl7YBM8Xs+C/zZWm/7NO0KL4fsMu+A9fTIz5kIYqKtPOj8k0iivYxZ8iE3xUePW4D/DJZfEMkWPqdIHArGrauL2S3peLA0eCyWGGoeyfgMohJ/BkzGfAXIFXi0IpRp/1yjPZWmsG6vJ3qvbk7UMqn52Z/VF1hfHJ0NFXU3YzydwOBFrl1YJflOJS6r7d8VfRVOZnmGkn+qwHu77nR3NEogkAUlO5sFQNjWydn58VlC6D9s2buzRYRotL9zPXsMqNWgWHSri2jw1gWdcp2mSrXVbeiPKMZUII4XmogrblgxnAKVCEV09Ihgq/mEDXx1P16Vp0MNat4VdgvdYeDp72xZ+76nN3UpUDRV0Ng8T+Nx4HuHwYDhys43N0FjUXxouAitCq22RqFnLvMhZfw4d9RCBRwlmJEc4RcMks9HkXRbMR8WFQldo8XB0Spo82jxia4poGjb4QTKeCRg9koyfhVOLTca664jSHKHFDLFgPqIryjEKMMoyFDvV1i/wZDjSNo0WdritvkIiiga1tepLZuWSDXPg5fowyN9xWVfg4e8wRyjrOUQwDc2z44pqAOdBoDLAMRO/ZRT4ROd8lPFRxgfMwAgqAyZqmm37Bwf6zSfA9ehYAAAAAElFTkSuQmCC" width="23" height="19" /></span><span> in the horizontal plane and </span><span texencoding="60^o" style="vertical-align:-5px"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAmCAYAAAC76qlaAAAEHUlEQVRYR+3Xd8i2YxgG8N9n770ysreSTRGyPjKz90xRVkZEEVFCkfyBzKyQsoXsXWak7BUJ2Xt21Pno9nQ/q/f91FvP+c8zrvO6ruM+x3Ee9zRT1KZNUdzGwP/vzI0jPo74kBGYjFLJGX8Ped+kuY0KfD5sje2wMj7BJXhx0hANedCwwBfG6Tgan+IM3IPv+tyzOk7ABvgD8+BJXIC3h8TX020Y4InwbVgA1+A4fD/g4oNwBZ7G7vgGi+IWbIj9cHePM+bHSZgTX2A6zsEjTf9BwA/GlZgFh+HaISK1FR7ED1gLHzf25OHfLVCb4qWu89arIJ3duOsiHIEV8WXHvx/wbXE/ZsKZyGGDLA/4FpbHuVVS3XvOxyl4Hhs3FpfFC5WVZLVjh+Jq7Ih7BwFfCq9hofpMJFKng2x/3FBOW+Kxlg1p7Afq/wTnofp+J/J7BXzW2HceTsM2eHgQ8MtxZDklTVcNQlzrd2A3/Fo98UvLvjTp11V+ieThWKkydT0O6doTEkj5Ld4kg7ZSWRrvYVb8jiXqkjUrA28UK/zZAirNtEhlae0+D/smVsMHVVZp1htxLC5t7Fuu7roYJzfPawMeyrusnJ7FMzgGszU2hgZDdYlYx+bAz/XjcWzRB3jO3KTWFyyWyZ3N0slyMr9RMdFvg4DfhZ3K6dvi75TAT1gXp9YFccnwOb580/XvNOp11z7A78P2tR7mmRkv40DcVP+nX3JX6DQN/x9ri3gnjXHcE7d37QlzhIPDr39hnSqNzfBE+V7XUqvNYwJu3/ojtBi+P6DqPUFKmc6LMFBbn7S+SHxVtZy0p5ECrts2bzBGajOXJvUpgVgGVXi/l+XBMqRiocRQ40jWFvFMuUyvNGHS2Ms+x2J4paIe7k5TxxK1pLiXNctxmdI8EwYeIGGED5Gu7mURVqn51H4yk+bM91jGcyisl0WzpESiKmcv9pow8AyCnYsh5upzWqbYDqVbohpjHTpMo+WhetnrCL1m0Cw5EuJybiuVjPezaj3aIszSZpl4EWCJ/PrlEDG2R+mU0FzbtE2EM4AioiK6Ok06Ev424Bm5obWs7Y1be5yYHlgDmXYRY7F9cHN9T7M+17I3/P5o/b9XiaqRQMe5l8iKxghzhApDid2W6RhdHmpMSaQvYqGxqL80XDR7hFa3RaJm7f16GWmbwAMfpBfwiP9wa5onAis12bQTcWENiwyKpqXuU/8fYdUuHk4TJ5vR5hFb/4qmgUi7HPrJ2qQ9Iz0aOFriqZpwmYgZIGGGXfBjy6WRDdEcocXI0mjz9EuUY8b6USMIt9ZnGvQisUoJn1yWssgwCk3mhSIg+r0kZ6LmTSZ9kGE2N15FXgzyOSEbBHxCh8/IzWPgMzK6bWePIz6O+JARGJfKkIGaNLcpG/F/ADsIzidDnMd+AAAAAElFTkSuQmCC" width="23" height="19" /></span><span> in the vertical plane.Then the focal lengths of the thin-lens quadrupoles were slightly changed to give overall tunes of 4.27 and 3.38 for the full ring with 18 equal cells. Note also that we introduced two new element codes: 200 to indicate a corrector magnet and 300 to indicate a BPM.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div class = 'S2'><span style="white-space: pre"><span >clear </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >addpath </span><span style="color: rgb(170, 4, 249);">./4D</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >fodo=[</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > 1, 25, 0.1, 0;</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > 2, 1, 0, 4.357; </span><span style="color: rgb(2, 128, 9);">% QF</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > 200, 1, 0, 0; </span><span style="color: rgb(2, 128, 9);">% Corrector</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > 300, 1, 0, 0; </span><span style="color: rgb(2, 128, 9);">% BPM</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > 1, 15, 0.1, 0;</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > 4, 20, 0.1, 1; </span><span style="color: rgb(2, 128, 9);">% Dipole</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > 1, 15, 0.1, 0;</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > 2, 1, 0, -4.4542; </span><span style="color: rgb(2, 128, 9);">% QD</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > 1, 25, 0.1, 0];</span></span></div></div><div class="inlineWrapper"><div class = 'S4'><span style="white-space: pre"><span >beamline=repmat(fodo,18,1);</span></span></div></div></div><div class = 'S5'><span>In order to verify that the beta functions and the tunes are the desired ones we calculate the transfer matrices </span><span style=' font-family: monospace;'>Racc</span><span> and from those the tunes, the periodic sigma matrix with the beta functions sigma0, and then plot the beta functions.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div class = 'S2'><span style="white-space: pre"><span >[Racc,spos,nmat,nlines]=calcmat(beamline); Rend=Racc(:,:,end); </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >Q=tunes(Rend);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >sigma0=periodic_beammatrix(Rend,1,1);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >plot_betas(beamline,sigma0);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >legend(</span><span style="color: rgb(170, 4, 249);">'AutoUpdate'</span><span >,</span><span style="color: rgb(170, 4, 249);">'off'</span><span >) </span><span style="color: rgb(2, 128, 9);">% cosmetic, prevent extra entry in legend</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >drawmag(beamline,2,1)</span></span></div></div><div class="inlineWrapper outputs"><div class = 'S6'><span style="white-space: pre"><span >title([</span><span style="color: rgb(170, 4, 249);">'FODO ring: Q_x='</span><span >,num2str(Q(1),</span><span style="color: rgb(170, 4, 249);">'%5.3f'</span><span >),</span><span style="color: rgb(170, 4, 249);">', Q_y='</span><span >,num2str(Q(2),</span><span style="color: rgb(170, 4, 249);">'%5.3f'</span><span >)])</span></span></div><div class = 'S7'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="1A5ECC0B" data-scroll-top="null" data-scroll-left="null" data-testid="output_0" style="width: 1307px;"><div class="figureElement"><div class="figureContainingNode" style="width: 560px; max-width: 100%; display: inline-block;"><div class="GraphicsView" data-dojo-attach-point="graphicsViewNode,backgroundColorNode" id="uniqName_333_862" widgetid="uniqName_333_862" style="width: 100%; height: auto;"><div class="ImageView" id="uniqName_333_866" widgetid="uniqName_333_866" style="width: 100%; height: auto;">
<canvas class="ImageView" data-dojo-attach-point="canvasViewNode" draggable="false" ondragstart="return false;" style="width: 100%; height: auto; display: none;"></canvas>
<img class="ImageView figureImage" data-dojo-attach-point="imageViewNode" draggable="false" ondragstart="return false;" style="width: 100%; height: auto; display: inline;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjAAAAGkCAYAAAAv7h+nAAAgAElEQVR4AezBD3TV9X3/8ef3y18hWFNIZ2prvqGQl1WH3bD/Ue7lIKVRkBMZUts0STc7peBq2Sz1OOPt5iqntHWtf5jCcptWW0wxSg0icshFUf50TNYK9W3VfDL/oDUSG+mP5BLy/Z2v52QHOQho+WJv+D4efphIJBKJRCJRYHwSiUQikUgkCoxPIpFIJBKJRIHxSSQSiUQikSgwPolEIpFIJBIFxieRSCQSiUSiwPgkEolEIpFIFBifRKLA1dTUUFVVRVVVFVVVVVRVVVFVVUVVVRXr1q2jXz6fZ/HixaTTaU455RRKS0uZM2cOa9as4UBf/OIXqaqqoqqqiqqqKqqqqqipqeFnP/sZh5LP51m8eDHpdJpTTjmF0tJS5syZw5o1a3g3vvjFL1JVVUV3dzfvhXw+z80330w6neaUU06hpKSE2bNn88ADDxCHFStWUFVVxcyZM7nxxhvp7e3l7fT29nLzzTdTVVXFzJkz+frXv87zzz9P5Fe/+hWXX345l19+OZdffjmXX345l19+OZdffjl33HEH/VasWEFVVRUzZ87kxhtvpLe3l2Mtn89z8803k06nOeWUUygpKWH27Nk88MADHGsrVqygqqqKmTNncuONN9Lb28vb6evr4/vf/z6zZs1i5syZ3HjjjfT29tKvt7eXG2+8kaqqKmbOnMk111zDq6++yoFWrFhBVVUVM2fO5MYbb6S3t5dE4r3gk0gUuNWrV9Pc3ExzczPNzc00NzfT3NxMc3Mz7e3tRPbs2UM6nWbRokXkcjm6u7t59dVXaWpq4vOf/zyLFi2i3y9/+Uuam5tpbm6mubmZ5uZmGhsbueyyy6iqquJAe/bsIZ1Os2jRInK5HN3d3bz66qs0NTXx+c9/nkWLFvFO/fKXv6S5uZne3l6Ot66uLiZPnszVV19NLpeju7ubzs5OVq5cyYwZM5g/fz7H0tKlS5k7dy6rVq1izZo1XHfdddTU1PB2Zs2axdVXX82qVatYu3Yt//7v/865557Lrl27eO6551i2bBnLli1j2bJlLFu2jGXLlrFs2TJaW1uJLF26lLlz57Jq1SrWrFnDddddR01NDcdSV1cXkydP5uqrryaXy9Hd3U1nZycrV65kxowZzJ8/n2Nl6dKlzJ07l1WrVrFmzRquu+46ampqeDvV1dUsXLiQ1atXs2bNGq677jrmzp1Lv8suu4zrrruO1atXs379er773e9y3nnn0dfXR2Tp0qXMnTuXVatWsWbNGq677jpqampIJN4LPonEAHH//ffT09NDT08PPT099PT0UFdXR+Saa67h8ccf54Mf/CCPPPII3d3d5PN5br31ViKLFy9m1apVHOj++++np6eHP/zhD2SzWUaNGkVzczNLly6l3zXXXMPjjz/OBz/4QR555BG6u7vJ5/PceuutRBYvXsyqVat4Jx566CEeeeQRhg8fzvG2aNEiNm/ezKmnnsojjzxCd3c3+XyeW2+9lcitt97KihUrOFYymQyRLVu28MorrzBmzBjuvvtunn76aQ62fft2WlpaOPXUU9m1axf/7//9P1KpFL///e9ZtmwZkyZNorm5mebmZpqbm1m5ciVjxoxh5MiR/PM//zORTCZDZMuWLbzyyiuMGTOGu+++m6effppjZdGiRWzevJlTTz2VRx55hO7ubvL5PLfeeiuRW2+9lRUrVnAsZDIZIlu2bOGVV15hzJgx3H333Tz99NMcrL29nbvvvpvx48fT0dHBiy++yEknncTKlSt5+umnyefzNDU1MXLkSHbt2sWePXv41Kc+hZmxdu1aIplMhsiWLVt45ZVXGDNmDHfffTdPP/00icTx5pNIDBCDBw9m6NChDB06lKFDhzJ06FB83yefz3PHHXcQWb58Oeeddx4R3/eZN28eCxcuJPKDH/yAAw0ePJihQ4dy8sknU1NTw/XXX0/kjjvuIJLP57njjjuILF++nPPOO4+I7/vMmzePhQsXEvnBD37AoVx00UXMnj2b5cuX8/73v590Ok3ke9/7HosXL6a3t5fI7NmzmTVrFtu2bSOdTnPyySfz6U9/mscee4x+XV1dzJ8/n1NOOYWPfOQj3Hbbbdx4441cdNFFbN++nchtt93GRRddxG233cahdHd3s2zZMiJ33nkn5513HhHf95k3bx4LFy4ksnTpUo7kvvvuo6SkhJKSEkpKSigpKaGkpISSkhJKSkrYs2cP27dv5+WXX2bUqFFMnDiR4uJipk6dSmTTpk0crLi4mJtuuon6+npKSkrwfZ/zzz+fyAsvvMBpp53GrFmzmDVrFrNmzeI3v/kNHR0dLFmyhDPPPJPt27fz8ssvM2rUKCZOnEhxcTFTp04l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1bydrq4uvvvd7xL50pe+RKS0tJRJkyYRufLKK+ns7KTf9u3bWbx4MZHq6moOZ/Dgwfwpxo8fT2Tt2rW8+uqrRJ588kl27NjBgXp7e8nn8/T29nIopaWlTJo0iciCBQvo7u5my5YtXHPNNZx99tksXryYSHV1NUdy/vnn09LSQktLCy0tLbS0tNDS0kJLSwstLS0MHz6c888/n0GDBvH888/T1dVF5KmnniJyzjnnEMnn8+Tzefp97Wtf48EHH2T8+PFs2LCB0tJSDrZ27Voi06dP50Dnn38+gwYN4vnnn6erq4vIU089ReScc84hks/nyefzvFulpaVMmjSJyIIFC+ju7mbLli1cc801nH322SxevJhIdXU1h3P++efT0tJCS0sLLS0ttLS00NLSQktLCy0tLQwfPpzzzz+fQYMG8fzzz9PV1UXkqaeeInLOOecQyefz5PN5IqtWrWL48OF87nOfo99vfvMbIiNGjMD3fSIvvPAC/V544QUigwcP5vzzz2fQoEE8//zzdHV1EXnqqaeInHPOOSQSx5tPInECWL58OcXFxWzevJny8nJmz55NZWUl5557Lp2dnXzmM59h4cKFHOi6667jggsu4Nxzz2XMmDFs27aNIAj4xje+Qb/ly5dTXFzM5s2bKS8vZ/bs2VRWVnLuuefS2dnJZz7zGRYuXEicPvaxjzFlyhR6enr42Mc+xpw5c5g0aRJDhgzhQF//+tcZNmwYX//613k7y5cvp7i4mPXr1zN+/HjWrFnDhAkT+N3vfkdnZydjxozh6quv5khKS0uprKyksrKSyspKKisrqayspLKyksrKSgYPHkxRURGzZs1i//79XHjhhcyZM4etW7cSBAHTpk0jMmbMGIYNG8aePXv49a9/zR133EHEOcdHPvIRTj75ZE4++WSuuuoq+jnniHz0ox/lQEVFRcyaNYv9+/dz4YUXMmfOHLZu3UoQBEybNo3IySefzLBhw8jn87xby5cvp7i4mPXr1zN+/HjWrFnDhAkT+N3vfkdnZydjxozh6quv5nBKS0uprKyksrKSyspKKisrqayspLKyksrKSgYPHkxRURGzZs1i//79XHjhhcyZM4etW7cSBAHTpk0jMmbMGIYNG8aePXuYMmUK73vf+1i3bh2zZs2irq6O733vewwaNIgFCxYwdepUPvCBD7Bx40bmzJnDP//zP/Od73yHyFe+8hWKioqYNWsW+/fv58ILL2TOnDls3bqVIAiYNm0aicTx5pNInAAqKirYunUrF198MXv27GHlypU8+OCDDB8+nIULF/Lwww8zePBgDvTEE0+wbt06tm/fTklJCQsWLGDz5s2MHj2afhUVFWzdupWLL76YPXv2sHLlSh588EGGDx/OwoULefjhhxk8eDBx+/nPf87cuXN57bXXeOyxx/jRj37E+973PiKDBg3iaFVUVLB582ZmzJjBrl27+OlPf8q2bdsYOXIk48ePp6Ojg7PPPptt27ZxLNx+++1MnTqVjRs30tTUxNixY7n//vvxfZ+D3X333fTbt28fb7zxBm+88QZvvPEGe/fupd+2bduIVFRUcLDbb7+dqVOnsnHjRpqamhg7diz3338/vu9zrFRUVLB582ZmzJjBrl27+OlPf8q2bdsYOXIk48ePp6Ojg7PPPptt27bxp7r99tuZOnUqGzdupKmpibFjx3L//ffj+z4HKyoqYvXq1Uji/vvvJ5vN8qEPfYhVq1YxYcIEioqKWL16NWeddRZNTU3867/+K5Fly5bx2c9+lsjtt9/O1KlT2bhxI01NTYwdO5b7778f3/dJJI43n0SiwL366quEYUhlZSWHM27cOO677z7y+Ty//e1veemll9izZw9LlixhxIgR9Ovq6iIMQ8IwJAxDent7efHFF/nhD3/IX/zFX3CwcePGcd9995HP5/ntb3/LSy+9xJ49e1iyZAkjRozg7YRhSBiGHKyrq4swDCkqKiLS1dVFGIYUFRXRr6urizAMGT16NL29vaxZs4YvfvGL7Nq1ixdffJHq6mr27dtHZMKECURuueUWwjDklltu4XAqKipYtWoV+XweM+Oll16iq6uLnTt3cv3119PT08NZZ53F9u3bWbduHZ2dnUR27tzJunXrePXVVzlaJSUlPPzww+zevRsz49lnn2XChAn06+rqIgxDioqKuOmmmwjDkDAMCcOQMAwJw5AwDLnzzjvp9/rrrxOGIUOHDuVgJSUlPPzww+zevRsz49lnn2XChAn06+joYMiQIQwdOpQ/RUVFBatWrSKfz2NmvPTSS3R1dbFz506uv/56enp62L17N4899hj9Ojs7WbduHS+++CJHq6SkhIcffpjdu3djZjz77LNMmDCBfl1dXYRhSFFREZGJEyfy1FNP8dJLL2Fm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UiilUEqhlELOmRgjS4gxUkqhlEIphVIKOWdSSixBErvdjlIKpRRKKZRSyDmzlN1uRymFUgqlFEoplFJYym63o5RCKYVSCqUUSiks5eHhgVIKpRRKKZRS2O12LGW321FKoZRCKYVSCqUUlrLb7SilUEqhlEIphVIKklhCKYVSCqUUSimUUiilIIklpJQopVBKoZRCKYWcMzFGlhBjpJRCKYVSCqUUcs6klFiCJHa7HaUUSimUUiilkHNmKbvdjlIKpRRKKZRSKKWwlN1uRymFUgqlFEoplFJYysPDA6UUSimUUiilsNvteKtWvEF/9md/xu/93u/xt3/7t4zjyG/91m/xv//7vzxHCAFJPJJESomUEiklUkrEGLmWJJ5KKZFSIqVESokYI9eShCTmUkqklEgpkVIixsi1JBFjZC6lREqJlBIpJVJKvESMkbmUEiklUkqklEgp8RIxRiTxKMZISomUEiklUkq8RIwRSTyKMZJSIqVESomUEi8hiRACj2KMpJRIKZFSIqWEJF5CEo8kkVIipURKiZQSkrhWCAFJPJJESomUEiklUkrEGLmWJJ5KKZFSIqVESokYI9eShCTmUkqklEgpkVIixsi1JBFjZC6lREqJlBIpJVJKvESMkbmUEiklUkqklEgp8RIxRiTxKMZISomUEiklUkq8RIwRSTyKMZJSIqVESomUEi8hiRACj2KMpJRIKZFSIqWEJF5CEo8kkVIipURKiZQSknirVrwx//Iv/8Jf/uVf8ld/9Vf8xV/8BX/913/N//zP//A3f/M3PEdKiZwzrcQY2e12tCKJh4cHWtrtdkiilVIKMUZayTkTY6SVnDMxRloppZBSopVSCjlnWkkpkXOmlRj9IeOSAAAbRUlEQVQju92OViTx8PBAS7vdDkm0UkohxkgrOWdijLSScybGSCulFFJKtFJKIedMd9yKN+ZrX/saX3zxBV/72td4dHNzw7//+7/zXJJoSRLdaZJoSRLdT5ckWpJEd5okWpJE111rxRvz8z//8/zqr/4qj6ZpYrfb8Ru/8Ruc8+7dO969e8e7d+/47ne/S9d1Xdf9/+i73/0u79694927d7x7945P1Yo37Ec/+hEpJb7+9a/zi7/4i5xzf3/P/f099/f3fOMb36Druq7r/n/0jW98g/v7e+7v77m/v+dTteKN+qd/+id+8zd/k9/5nd/h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vj4utn379pFKpTifEydOsG3bNo4ePcqy0dFRWlpaSKfTtLe309fXx8W0b98+UqkUhTKZDHfeeSdvvPEGvb29bNu2jVwuR97o6CgtLS2k02na29vp6+sjurAC0ackSUJXVxfDw8P09PQwMjLC0NAQCwsLFKvjx4/z8ssv8+qrr9LT08Nrr73Gxx9/zOjoKEmS0NXVxfDwMD09PYyMjDA0NMTCwgLF5uzZszz22GNUVVWxLEkSurq6GB4epqenh5GREYaGhlhYWKCYJElCR0cHe/bsobe3l1deeYVsNsubb75JkiR0dXUxPDxMT08PIyMjDA0NsbCwQLHI5XL09vby61//mp6eHn7zm9/wu9/9juPHj5MkCV1dXQwPD9PT08PIyAhDQ0MsLCxwMWWzWTo6Oti/fz+FkiShq6uL4eFhenp6GBkZYWhoiIWFBZIkoauri+HhYXp6ehgZGWFoaIiFhQUutGw2S0dHB/v376fQ8ePHefnll3n11Vfp6enhtdde4+OPP2Z0dJQkSejq6mJ4eJienh5GRkYYGhpiYWGBiyGbzdLR0cH+/fs5n7Nnz/LYY49RVVXFsiRJ6OrqYnh4mJ6eHkZGRhgaGmJhYYELLZvN0tHRwf79+ymUJAkdHR3s2bOH3t5eXnnlFbLZLG+++SZJktDV1cXw8DA9PT2MjIwwNDTEwsIC0YUTiD5lfHyciooKampqyKusrKSpqYnJyUmKVUVFBYODg1RUVLDsuuuu4/3332d8fJyKigpqamrIq6yspKmpicnJSYrNc889x+23387111/PsvHxcSoqKqipqSGvsrKSpqYmJicnKSaZTIarr76a9evXs+z111+nubmZ8fFxKioqqKmpIa+yspKmpiYmJycpJv/5z3+4/PLLyVu9ejUhBP79738zPj5ORUUFNTU15FVWVtLU1MTk5CQX0549e6isrGTXrl0UGh8fp6KigpqaGvIqKytpampicnKS8fFxKioqqKmpIa+yspKmpiYmJye50Pbs2UNlZSW7du2iUEVFBYODg1RUVLDsuuuu4/3332d8fJyKigpqamrIq6yspKmpicnJSS6GPXv2UFlZya5duzif5557jttvv53rr7+eZePj41RUVFBTU0NeZWUlTU1NTE5OcqHt2bOHyspKdu3aRaFMJsPVV1/N+vXrWfb666/T3NzM+Pg4FRUV1NTU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wwbuvvtuvv71r/OXv/yFKIqivEAURdEX7Fvf+ha1tbVs3ryZlpYWfvGLX3D55Zcjic+yZs0alq1evZrLL7+c8vJyln35y18mSRKiKIryAlEURV+wVatWMTIywi9/+Uu++tWv8vvf/57vfve7HDhwgCiKoi9CIIqi6Av27rvv8oc//IFNmzaxa9cuDh06xP33388LL7xAFEXRFyEQRVH0BfvHP/7B448/zpEjR8jL5XL8/e9/52tf+xpRFEVfhEAURdEXbP369Wzfvp0HH3yQb3zjG9xyyy188MEH7N69myiKoi9CIIqi6L9gx44dHDt2jHQ6zVtvvcWrr77KVVddxfnYZvPmzSz7zne+w9tvv02hwcFBOjs7iaIoygtEURT9l4QQ+MpXvkJpaSnn+te//sUnn3zC53HmzBlOnz5NFEWXrkAURdEFdtlll9HR0cFtt93G5/GTn/yE2267jS996UuEEIii6NITiKIousDefvttjh07xp///Gc+j76+Po4dO8axY8dYt24dURRdegJRFEVRFEUrTCCKoiiKomiFCURRFEVRFK0wgSiKoiiKohUmEEVRFEVRtML8H8Y7cmT60UUXAAAAAElFTkSuQmCC">
</div></div></div></div></div></div></div></div><div class = 'S5'><span>Before simulating the ring, we need to prepare arrays that contain the positions of the correctors, the BPM, and the quadrupoles. To do so we loop over all elements and segments in the beamline, increment counters for each device found; </span><span style=' font-family: monospace;'>nquad</span><span> for the quadrupoles, </span><span style=' font-family: monospace;'>nbpm</span><span> for the BPM, and</span><span style=' font-family: monospace;'> ncor</span><span> for the correctors. At the same time we record their position</span><span style=' font-family: monospace;'> ic</span><span> in the beam line; in </span><span style=' font-family: monospace;'>quadpos()</span><span> for the quadrupoles, in </span><span style=' font-family: monospace;'>corpos()</span><span> for the correctors, and in </span><span style=' font-family: monospace;'>bpmpos()</span><span> for the BPM . As a convenience, we also record the focal lengths of the found quadrupoles in </span><span style=' font-family: monospace;'>quadf()</span><span>.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div class = 'S2'><span style="white-space: pre"><span >nquad=0; quadpos=zeros(1,36); quadf=quadpos;</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >nbpm=0; bpmpos=zeros(1,18);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >ncor=0; corpos=zeros(1,18);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >ic=1; </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">for </span><span >line=1:nlines </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">for </span><span >seg=1:beamline(line,2) </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > ic=ic+1;</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">switch </span><span >beamline(line,1)</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">case </span><span >2 </span><span style="color: rgb(2, 128, 9);">% thin quadrupole</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > nquad=nquad+1;</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > quadpos(nquad)=ic;</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > quadf(nquad)=beamline(line,4);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">case </span><span >200 </span><span style="color: rgb(2, 128, 9);">% corrector</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > ncor=ncor+1;</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > corpos(ncor)=ic;</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">case </span><span >300 </span><span style="color: rgb(2, 128, 9);">% bpm</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > nbpm=nbpm+1;</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > bpmpos(nbpm)=ic;</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div class = 'S4'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">end</span></span></div></div></div><div class = 'S5'><span>Now that we know the positions of the correctors and the BPM, we can calculate the response matrix </span><span style=' font-family: monospace;'>Cx</span><span> in the horizontal plane in a netsed loop over all BPM and over all correctors and for each combination calculating the 4x4 response matrix </span><span style=' font-family: monospace;'>C</span><span> with the function </span><span style=' font-family: monospace;'>CC()</span><span>, which is defined in the Appendix.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div class = 'S2'><span style="white-space: pre"><span >Cx=zeros(nbpm,ncor); </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">for </span><span >ibpm=1:nbpm</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">for </span><span >icor=1:ncor</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > C=CC(bpmpos(ibpm),corpos(icor),Racc);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > Cx(ibpm,icor)=C(1,2);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div class = 'S4'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">end</span></span></div></div></div><div class = 'S5'><span>Likewise we determine the BPM-quadrupole response matrix, which relates a transverse quadrupole displacement </span><span texencoding="d_x" style="vertical-align:-6px"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAoCAYAAAAG0SEsAAACkklEQVRYR+3WS6iVVRTA8d8VRVHMHCg+QoykMk3QmShJJShGDynMDEVQMBFR8IFiWqYRolGGkr0EQ0IdOFATnIgTMXASiaghjpLCpFBKwh7GinUvx6/vqufe75yLcPfkHPa39/rv9V4tunC1dCFbN7xLrH/fmv1FPI5H8RguYV49JuyM5i9gAt5K4AZsahY8OI/gYgIn42Qz4bOwH79jIP5sJvwDLMcxTK8HHGc74/O4fxZPYCXebyZ8OH5I4DicaRS8F17BxPTtboxE/P6IYfWC79XsL2EnTmELfsF76IGXsQfzGwHfhhXYiLdrAAELrSNmXsdXVcM/xDIcTA1r5S/EZ7iFIbhSJXwuvsRVjMK1gvD1eAffYnxHwO35fHBWrf6Zw9tLhB/C8wi3rKoS/hGWZmANxc2C8H64jAFZWKLAdGgVi0zv9N8D+BSLSqQuwY58VJTUGx0il1S453AkhUXXOlwQHI89ly30BJ7uKLjM55FW4cdY0asvFIS3NpLYfhPvVgmP4rEmBQ7KaG+V/xC2YnZuRLX7BjNxvCQj7vquos/fwMd5K1xwNP8/jC/SKl/jNzyIZzEF62pIT+XeYsSA8Xn2/QO4XuuqIjwKxveINPsZuxCpNxUxNo3FPvyT8RD5vwB/lagZNeAPPJPTTigSgdwWR2UtdVJq+CR+Te1jPIoONiJNHPci4iMt/27HvhEPqxE9f3NqfdvRzvbzO/l1BsJFUS33lh1sJDwm2vPZH8JC/1uNhEfgTsNpvNpMeGTNdznHR7GKYSOqYc8M5P/eUqXmYxBpFpnQNwMtNI7seA2jcy6I75XD52QGfIK1Kb9Pmv0nxPdI37ZVpeZ3rWjFA93wuk1WxYVus1dhxbpl/AtYC3Qpo5vR7AAAAABJRU5ErkJggg==" width="15.5" height="20" /></span><span> to the change of the beam position on a BPM. As for the BPM-corrector response matrix before, we the calcluate 4x4 response matrix </span><span style=' font-family: monospace;'>C</span><span> with the function </span><span style=' font-family: monospace;'>CC()</span><span> and copy its 12-element into the appropriate place in the matrix </span><span style=' font-family: monospace;'>Cqx()</span><span>. We then divide by the focal length </span><span style="font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: normal; color: rgb(0, 0, 0);">f</span><span> of the respective quadrupole, because the kick </span><span style="font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: normal; color: rgb(0, 0, 0);">θ</span><span> that a displaced quadrupole gives to the beam is </span><span texencoding="\theta=d_x/f" style="vertical-align:-6px"><img src="data:image/png;base64,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" width="59.5" height="20" /></span><span>. </span></div><div class="CodeBlock"><div class="inlineWrapper"><div class = 'S2'><span style="white-space: pre"><span >Cqx=zeros(nbpm,nquad);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">for </span><span >ibpm=1:nbpm</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">for </span><span >iquad=1:nquad</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > C=CC(bpmpos(ibpm),quadpos(iquad),Racc);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > Cqx(ibpm,iquad)=C(1,2)/quadf(iquad);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div class = 'S4'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">end</span></span></div></div></div><div class = 'S5'><span>We immediately use </span><span style=' font-family: monospace;'>Cqx</span><span> to calculate effect of displaced quadrupoles on the position recorded on the BPM. We therefore randomly displace the quadrupoles by </span><span style=' font-family: monospace;'>dx</span><span>, sampled from a uniform distribution in the range </span><span texencoding="\pm0.5" style="vertical-align:-5px"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAkCAYAAAA5DDySAAADwklEQVRoQ+3Yach1UxQH8N9rnpLXUEQkGUqID4bITChD5g9vMg8pmeeZQpIhSeahkDllHiLzB1MkFBkisxSKMvR/21fX6ZzXufe5nXvruevT89y99tpr/fda67/2mWOWy5xZHr8pANMMmOUITEtgliTA4jgEt+CP/pi7zoBFcVBxZhEsjV9wI27DXzO4kOXwBZZpsPEA9q2udQnAingQW2IfPFycORB34Nny+29DgnAWLl7A3u3w/LgAWBhPYXtciRMrjpyDC3EvDhgCgCXwWQHyvZr93+PROrtdZcBhuAm/YwX8WnFmWfyAlMVueHxAEI7BKVgbfw6ytysAPirOvYBtGxx8FZvjlVImbeNIdsX+Nbi67aae3jAAXI/NSiN7u8WBG+Kdonc+LmjYcwlOx99Ys6R0C/PSQ+4uDfR9vFbS/bFqxx9VCTyNHbEVXm7h4bG4tujtjYca9qT27ylrB+P2Fraj8iY2rtH9Cekt1xVQa80NkwGDAtC72ThQ24mLZzvjyfL3VTihBQDpGUdj1ZI122Dlyr7Q3/5NFNsFAHdiXnEqN9VUNpvi9aJ3P/ZrAUCdSpjmTOzQt1jHPPOXuwAg/B6nIqntTxsCWwcflrVnsNOQAPS2HVnSP00yzLAuPq7a7AKApHXSO7IGPm8ILOB8UtaewK4zBCDbj0KaduRSnNEGgKTL8SM4PLX4TWlmGX8jYYR3G2xvgjfK2s04fAQ+5ILfwkZNQ1ZdBlyB4xZweFIq+5JWoawmWa0AcBlOLUpb48WGDanZpH7kIpw7AgBi4jyEfp+r9IX55rsogX4a3BOPNASWh8p9ZS2pe8OIAEj2hVJjO2zwH+kCgPXRm88z6CQj6qT3Hsjaen0NcaY4pJxT1qHjsEPnAOTAD0oXTkPcpSGivNTC45nmAtqoJLefLMiY3aPZf213kQE5rNeN89SdWzOiLoVMbovhUNxaiX51rIW8JQb5ZpB9odaAW8sqXQGwEF7CFkhPyHjaLyfj8uJommF/kJkPMjwtWconZdSTvAHSWNM8T8PXfWsBNd8cQq95gH1Zl1JdAZCzVymPlAS0V1/H3700qAS5B76tOJrG2ft4kttMf4iEjaK7fPn/59LxA0bo9iR8Vei0anNGJZAbCsfnA8d3AxZqbvGIMhqHRhNEqDR1Gu7P94KqpCwyGm+AfPW5q08hv51dns8r4cfyikwfyfP4f1+rw2TAgDFPtnodAKOeBCcagWEmwbYB9SbBtvpj0ZuWwFhgn6BDpxkwQZcxFlemGTAW2Cfo0H8AQeLBJa3YIcQAAAAASUVORK5CYII=" width="32" height="18" /></span><span>mm and loop over the BPM; for each BPM we sum the contributions from all quadrupoles to the reading of the BPM. After the loops complete, we plot </span><span style=' font-family: monospace;'>bpmx()</span><span> in a bargraph to simulate the typical display of beam positions found in accelerator control rooms. </span></div><div class="CodeBlock"><div class="inlineWrapper"><div class = 'S2'><span style="white-space: pre"><span >dx=1e-3*(rand(1,nquad)-0.5); </span><span style="color: rgb(2, 128, 9);">% quad displacement</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >bpmx=zeros(1,nbpm);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">for </span><span >ibpm=1:nbpm</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">for </span><span >iquad=1:nquad</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > bpmx(ibpm)=bpmx(ibpm)+Cqx(ibpm,iquad)*dx(iquad);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >figure; bar(spos(bpmpos),1e3*bpmx); drawmag(beamline,3.5,1);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >xlim([-5,spos(end)+5]); xlabel(</span><span style="color: rgb(170, 4, 249);">'s [m]'</span><span >); ylabel(</span><span style="color: rgb(170, 4, 249);">'x [mm]'</span><span >);</span></span></div></div><div class="inlineWrapper outputs"><div class = 'S6'><span style="white-space: pre"><span >title(</span><span style="color: rgb(170, 4, 249);">'Before correction'</span><span >)</span></span></div><div class = 'S7'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="5589AF07" data-scroll-top="null" data-scroll-left="null" data-testid="output_1" style="width: 1307px;"><div class="figureElement"><div class="figureContainingNode" style="width: 560px; max-width: 100%; display: inline-block;"><div class="GraphicsView" data-dojo-attach-point="graphicsViewNode,backgroundColorNode" id="uniqName_333_863" widgetid="uniqName_333_863" style="width: 100%; height: auto;"><div class="ImageView" id="uniqName_333_868" widgetid="uniqName_333_868" style="width: 100%; height: auto;">
<canvas class="ImageView" data-dojo-attach-point="canvasViewNode" draggable="false" ondragstart="return false;" style="width: 100%; height: auto; display: none;"></canvas>
<img class="ImageView figureImage" data-dojo-attach-point="imageViewNode" draggable="false" ondragstart="return false;" style="width: 100%; height: auto; display: inline;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjAAAAGkCAYAAAAv7h+nAAAgAElEQVR4AezBD5BddXnw8e/vgJkYEPkjpoRx+B0EnoYJdhXG0c7C3tsGJWNCgWZEAia7lUALWWBurZ1WcPdOS/03RGnQDCg9Z7EaxDQZEBzj5OaeE5EBJyGCaHmmmZxfAGGZbdDEUPK3eefOO5n3vCmuMLvX5rjP5xMdMsYYY4ypmAhjjDHGmIqJMMYYY4ypmAhjjDHGmIqJMMYYY4ypmAhjjDHGmIqJMMYYY4ypmAhjjDHGmIqJMMYYY4ypmAhjjDHGmIqJMMYYY4ypmAhjjDHGmIqJMMYYY4ypmAhjjDHGmIqJMMYcda6++mquuOIKrrjiCq644gquuOIKFi5cyC233MLWrVt5o8bGxvjoRz/KiSeeyLvf/W5+9KMfYX67559/nueff57Drr76aq644gr27NmDMeboEGGMOep897vfZe3ataxdu5a1a9eydu1a/u3f/o0777yT97///fziF7/gjfjsZz/Ld77zHd7+9rdz/vnnM336dMz4vvrVr3L22Wejqhz23e9+l7Vr13LgwAGMMUeHCGPMUeuRRx7h0KFD7N+/nxdeeIHzzz+fX/7yl3z961/njXjppZfo+NznPscDDzzA+eefjxnf2rVr2bt3L2Xr1q1j48aNTJ8+HWPM0SHCGHPUO/bYYzn99NM577zz6Dj22GPp2L17NzfddBMzZ87kxBNP5KqrrmL79u103HbbbWzcuJGOL37xiyxcuJDD7rnnHi644AJOOOEEzjnnHJrNJvv27eOw+fPns3DhQu69915OPvlk6vU6Hbt37+amm25i5syZnHjiiVx11VVs376d3+TAgQM0m03OOeccTjjhBHp6erj33nspu+eee7jgggs44YQTOOecc2g2m+zbt4/D5s+fz8KFC7n33ns5+eSTqdfrdMyfP5+FCxdy7733cvLJJ1Ov1+nYvXs3N910EzNnzuTEE0/kqquuYvv27Rx24MABms0m55xzDieccAI9PT3ce++9dDSbTX7yk5/Qcdttt7F8+XI67rjjDj7/+c9z4MABDrvnnnu44IILOOGEEzjnnHNoNpvs27ePwxYuXMhll13G5s2bqdfrnHDCCXzwgx/kRz/6EcaYiYswxhy1fvCDH3Dvvfdy77330mg0+Pa3v8073/lOrr32WjoWLFjAihUr8N4zd+5c7r//fj7wgQ+wY8cOVJVf/vKXdIQQeOaZZ+gYGhri+uuv55lnnqFWq7Fz506Gh4e59NJLOeyRRx7hoYce4vrrr2ffvn147+lYsGABK1aswHvP3Llzuf/++/nABz7Ajh07eD2f+MQnGB4eZu/evXzoQx/iueee49prr+Ub3/gGHUNDQ1x//fU888wz1Go1du7cyfDwMJdeeimHPfLIIzz00ENcf/317Nu3D+89HY888ggPPfQQ119/Pfv27cN7T8eCBQtYsWIF3nvmzp3L/fffzwc+8AF27NhBxyc+8QmGh4fZu3cvH/rQh3juuee49tpr+cY3vsGzzz7Lr3/9azp+9rOfsW3bNjp+8IMf8Mgjj3DgwAE6hoaGuP7663nmmWeo1Wrs3LmT4eFhLr30Ug77wQ9+wMMPP8wll1zCqaeeyplnnsnjjz/OwoULMcZMXIQx5qh15513cu2113LttdfypS99iddee40///M/5+1vfzvtdpssy3jve9/LE088werVqxkeHmZ0dJQkSXjggQf4sz/7MzpWrlzJs88+y0svvcTtt9/OMcccw6ZNm3jooYd49tlnOfPMM1m3bh0PP/wwh+3fv5/ly5eze/duVq5cSbvdJssy3vve9/LEE0+wevVqhoeHGR0dJUkSjrR9+3buu+8+3vrWt/Lkk0+yevVq7rvvPj784Q/z8ssv89JLL3H77bdzzDHHsGnTJh566CGeffZZzjzzTNatW8fDDz/MYfv372f58uXs3r2blStXctj+/ftZvnw5u3fvZuXKlbTbbbIs473vfS9PPPEEq1evZnh4mNHRUZIkYfv27dx333289a1v5cknn2T16tXcd999fPjDH+bll19m1apVXHjhhXSsWbOGu+66iyO99NJL3H777RxzzDFs2rSJhx56iGeffZYzzzyTdevW8fDDD3PYwYMH+dznPscDDzzAY489xjHHHMPo6Ci7d+/GGDMxEcaYo9att97K2rVrWbt2Lffffz/vf//7WblyJYsXL+bxxx+nY/fu3SxdupSlS5fy6KOP0rF582Zez8aNGzl48CD1ep05c+bQcdJJJ7FgwQI6HnzwQcquvPJKOqZPn87jjz9Ox+7du1m6dClLly7l0UcfpWPz5s0cafPmzXTMnTuXU045hY758+fz/e9/n09+8pNs3LiRgwcPUq/XmTNnDh0nnXQSCxYsoOPBBx+k7Morr6Rj+vTplF155ZV0TJ8+nccff5yO3bt3s3TpUpYuXcqjjz5Kx+bNm9m8eTMdc+fO5ZRTTqFj/vz5fP/73+eTn/wkb8TGjRs5ePAg9XqdOXPm0HHSSSexYMECOh588EHK6vU6HTNmzGDGjBl07N27F2PMxEQYY45aH/zgB7nsssu47LLLuPLKK0mShI7vfOc7/PKXv6Rj//797Nixgx07dvC2t72Nyy+/nJ6eHsZz3HHHUXbcccfRceDAAcpOOeUUDtu5cycd+/fvZ8eOHezYsYO3ve1tXH755fT09HCkgwcP8kYcd9xxlB133HF0HDhwgLJTTjmF13PKKadw2M6dO+nYv38/O3bsYMeOHbztbW/j8ssvp6enh4MHDzJZjjvuOMqOO+44Og4cOEDZO9/5Towxky/CGFMZTz31FB1vectbuOCCC+g466yzWLNmDWvWrGF4eJjFixezaNEiXs/s2bPpWL9+PTt27OCwDRs20HHRRRdRduyxx3LY+eefT8dZZ53FmjVrWLNmDcPDwyxevJhFixZxpLPPPpuODRs2sGfPHjp+8pOf8K53vYulS5cye/ZsOtavX8+OHTs4bMOGDXRcdNFFlB177LG8nmOPPZbDzj//fDrOOuss1qxZw5o1axgeHmbx4sUsWrSIs88+m44NGzawZ88eOn7yk5/wrne9i6VLl1L23//937ye2bNn07F+/Xp27NjBYRs2bKDjoosuwhjTfRHGmKPWrbfeysUXX8zFF1/MH/7hH7Jo0SI6BgYGuPTSS5k1axbr16/nlltuYWRkhHnz5nH55Zfz1FNP8Xre8573MG/ePF599VUuvPBCbrjhBvr6+nj88ccREa6++mp+kwULFjBr1izWr1/PLbfcwsjICPPmzePyyy/nqaee4kg9PT1cdNFFvPrqq/T29rJs2TI+9rGP8cILLzBr1ize8573MG/ePF599VUuvPBCbrjhBvr6+nj88ccREa6++mrerAULFjBr1izWr1/PLbfcwsjICPPmzePyyy/nqaeeoqenh4suuohXX32V3t5eli1bxsc+9jFeeOEFZs2aRcdb3vIWOpYvX85dd93Fkd7znvcwb948Xn31VS688EJuuOEG+vr6ePzxxxERrr76aowx3RdhjDlqbdmyhfXr19NutwkhMGvWLG6++WbuvPNOpk+fzrp16zjvvPO488476e/vZ+fOndxxxx3Mnz+f3+SBBx7gxhtvZOvWraxcuZKNGzfykY98hHa7zbRp0/hNpk+fzrp16zjvvPO488476e/vZ+fOndxxxx3Mnz+f17N69WrmzZvH5s2b+cpXvsLWrVu58cYbGRoaouOBBx7gxhtvZOvWraxcuZKNGzfykY98hHa7zbRp03izpk+fzrp16zjvvPO488476e/vZ+fOndxxxx3Mnz+fjtWrVzNv3jw2b97MV77yFbZu3cqNN97I0NAQHZdddhnHHHMM69at4/vf/z6v54EHHuDGG29k69atrFy5ko0bN/KRj3yEdrvNtGnTMMZ0X4Qx5qiza9cuDh06xKFDhzh06BAHDhxgz549/OIXv+DLX/4y06dPp2POnDk8/fTTvPbaa4yOjrJr1y4ajQaHrVq1ikOHDnHllVdy2PHHH89dd93Fnj17ePHFF9m7dy8PP/wwp512GocdOnSIQ4cOcaQ5c+bw9NNP89prrzE6OsquXbtoNBr8Jqeeeirf+9732Lt3Ly+88AL79u3jrrvuIooiOo4//njuuusu9uzZw4svvsjevXt5+OGHOe200zjs0KFDHDp0iCMdOnSIQ4cOcaQ5c+bw9NNP89prrzE6OsquXbtoNBocduqpp/K9732PvXv38sILL7Bv3z7uuusuoiii47rrruO//uu/eOGFF3jooYfo2LVrF4cOHeL444+n4/jjj+euu+5iz549vPjii+zdu5eHH36Y0047jcN27drFoUOHOP744zls165dHDp0iFNOOQVjzMRETEGvvPIKmzZtYtOmTWzatIlNmzaxa9cujKmq6dOnM3PmTKIo4o2KoojTTjuNadOm8WZNnz6dmTNnEkURb8S0adM4/fTTiaKI1xNFEaeddhrTpk1jskyfPp2ZM2cSRRGvZ9q0aZx++ulEUcSRpk2bxumnn04URYwniiJOO+00pk2bhjHmdytiClq7di1Llizhuuuu47rrruO6667j6aefxhhjjDHVEDEF/exnP+PTn/40Tz75JE8++SRPPvkkvb29GGOMMaYaIqagn//857z73e/mlVdeYf/+/RhjjDGmWiKmmIMHD/Lcc8/xD//wD8yfP58/+qM/4tZbb8UYY4wx1RExxbz88svMnTuXe+65h8cee4x2u80Pf/hDVq1axW/y8Y9/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UVVUFVVFVVFVfv7zn2OMMcaYqSXCGGOMMaZiIiripz/9Kddccw2LFi1i0aJFLFq0iEWLFnHNNddgjDHGmKklogJuvvlmFi5cyPPPP8/o6Cijo6OMjo4yOjrK6OgoxhhjjJlaIiogz3Puuece8jxnw4YNbNiwgQ0bNrBhwwbWr1+PMcYYY6aWiAo49thjOffcczHGGGOM6YiogNtuu41PfepTHDx4EGOMMcaYiAq45JJLeOyxxzj33HPp6emhp6eHnp4eenp6eN/73ocx5v+wBwegdt/1/f+fn6+ReC9h3F3TbCLavy7rK6n1X0hIJNmMt37tqGAJ3caaxNJYN5zprMXj6kgmiUqtpDd+l0sunWHVGJwparCUSOGWe7zcJL386pySNU155cb8010URUkuld5rDee+/9wfBC7FuTm3Jid5Px4ppXRtqegCt912G7/7u7/LV77yFR577DEee+wxHnvsMR577DG++tWvklJKKaVrS0UXOH/+PI8//jhr165l5cqVrFy5kpUrV7Jy5UpWrlxJSimllK4tFV3g9a9/Pf/+7/9OSimllNK8ii7w1a9+lbvvvpt//Md/5OzZs5w9e5azZ89y9uxZzp49S0oppZSuLRVdYNOmTczbu3cv733ve3nve9/Le9/7Xt773vfyvve9j5RSSildWyq6wPj4OLaxjW1sYxvbnDp1ipRSSildWyquULfffjuTk5P8V83MzLBq1SpSSimldPWruELNzs5im8nJSSYnJ5mcnGRycpLJyUkmJyeZnJxkcnKSyclJJicnsc0vfvELUkoppXT1q7hCVVXFJz7xCTZu3MjGjRvZuHEjGzduZOPGjWzcuJGNGzeyceNGNm7cyMaNG3n/+99PKYWUUkopXf0qrlBPPfUUp06d4tSpU5w6dYpTp05x6tQpTp06xalTpzh16hSnTp3i1KlTnDp1ilOnTvHcc8+RUkoppatfRUoppZRSl6lIKaWUUuoyFSmllFJKXaaiy3U6HVJKKaV0banoArfccgvPPvssrzQ2Nsbb3/52/jumpqYYHR3FNimllFLqLhVdYN26dfz5n/85Q0NDXHL//ffz4Q9/mPe///38po4cOcKmTZsYGRlh27ZtDA0NkVJKKaXuUdEFHnroIb74xS/yyCOP8K53vYubb76Zp59+mqeeeoq///u/5zfR6XTYtWsXBw8eZHBw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lNKV6L777sM2trHN1ariKvfggw+yatUqVq1axTvf+U4uefbZZ7njjju4++672bZtGymllFLqHhVXuS1btjA8PMzw8DCf//znmTcxMcEHP/hBPvWpT3HPPfeQUkoppe5ScZV761vfyvr161m/fj1r165lamqKj3zkIzz88MPccsstXLx4kYsXL9LpdEgppZRSd6i4xhw6dIiXXnqJD3/4w9x0003cdNNN3HTTTXz2s58lpZRSSt2h4hrzd3/3d9jGNraxjW127txJSimllLpDRUoppZRSl6lIKaWUUuoyFSmllFJKXaYipZRSSqnL79asKQAAHexJREFUVKSUUkopdZmKlFJKKaUuU5FSSiml1GUqUkoppZS6TEVKKaWUUpepSCmllFLqMhUppZRSSl2mIqWUUkqpy1SklFJKKXWZipRSSimlLlORUkoppdRlKlJKKaWUukxFSimllFKXqUgppZRS6jIVKaWUUkpdpiKllFJKqctUpJRSSil1mYqUUkoppS5TkVJKKaXUZSpSSimllLpMRUoppZRSl6lIKaWUUuoyFSmllFJKXabiGmWb0dFRzp07R0oppZS6S8U16B/+4R+47777aLfb/NVf/RX79+8npZRSSt2j4hozOTnJl770Jb7+9a/zuc99jscee4yhoSHOnz9PSimllLpDxTXmD/7gD3j88cfp6+tj3mtf+1o6nQ4XL14kpZRSSt2h4hpTVRXLly+n0+nwta99ja1bt/I3f/M3/N7v/R6/jiQkIYl9+/aRUkopXYn27duHJCQhiatVxTXq/PnzvPzyyyxbtoynn36a6elpfh3b2MY29913HymllNKV6L777sM2trHN1ariKvfggw+yatUqVq1axTvf+U4uue6667j77rv5p3/6J173utdx8OBBUkoppdQdKq5yW7ZsYXh4mOHhYT7/+c9z9uxZ/vmf/5mFfv/3f58f//jHpJRSSqk7VFzl3vrWt7J+/XrWr1/P2rVr6XQ6fO5zn+Ps2bPM+9nPfsbx48e59dZbSSmllFJ3qLjG/OEf/iGf/OQn+dM//VP+8i//kve85z3cfffdvPvd7yallFJK3aHiGrR582a+973vsXv3bv71X/+Vv/7rvyallFJK3aPiGlVVFUuXLuU1r3kNKaWUUuouFSmllFJKXaYipZRSSqnLVKSUUkopdZmKlFJKKaUuU5FS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55+n0+mwa9cuDh48yODgIIcPH+bAgQOcO3eOy2F6eprt27fz6KOPslCn02HXrl0cPHiQwcFBDh8+zIEDBzh37hydToddu3Zx8OBBBgcHOXz4MAcOHODcuXO8Wqanp9m+fTuPPvooCz3//PN87Wtf45vf/CaDg4M88cQT/PznP+fIkSN0Oh127drFwYMHGRwc5PDhwxw4cIBz587xapienmb79u08+uij/CoXL17k4x//OEuXLuWSTqfDrl27OHjwIIODgxw+fJgDBw5w7tw5Xi3T09Ns376dRx99lIU6nQ7bt29n79697Nmzh2984xtMT0/z1FNP0el02LVrFwcPHmRwcJDDhw9z4MABzp07x6tlenqa7du38+ijj7LQ3Nwce/bs4ctf/jKDg4N8/etf5/HHH+f555+n0+mwa9cuDh48yODgIIcPH+bAgQOcO3eOq1VF+q0cPXqUvr4+li9fzrz+/n42bNjA8ePHudL09fWxf/9++vr6uOQtb3kLP/rRjzh69Ch9fX0sX76cef39/WzYsIHjx49zpWiahrquueGGG7jk6NGj9PX1sXz5cub19/ezYcMGjh8/zuU0Pj7OG9/4RtauXcsl3/rWt7jttts4evQofX19LF++nHn9/f1s2LCB48ePcyWICF73utcxr6enh6qq+OUvf8nRo0fp6+tj+fLlzOvv72fDhg0cP36cy2Hv3r309/fz0EMPsdDRo0fp6+tj+fLlzOvv72fDhg0cP36co0eP0tfXx/Lly5nX39/Phg0bOH78OK+WvXv30t/fz0MPPcRCfX197N+/n76+Pi55y1vewo9+9COOHj1KX18fy5cvZ15/fz8bNmzg+PHjvBr27t1Lf38/Dz30EL9K0zTUdc0NN9zAJUePHqWvr4/ly5czr7+/nw0bNnD8+HFeLXv37qW/v5+HHnqIhcbHx3njG9/I2rVrueRb3/oWt912G0ePHqWvr4/ly5czr7+/nw0bNnD8+HFeLXv37qW/v5+HHnqIV4oIXve61zGvp6eHqqr45S9/ydGjR+nr62P58uXM6+/vZ8OGDRw/fpyrVUX6rUxPT7NixQoWWrJkCadPn+ZK84Y3vIH169dzyQsvvMDY2Bi33nor09PTrFixgoWWLFnC6dOnuRJ85zvf4ZlnnuGjH/0oC01PT7NixQoWWrJkCadPn+ZyunDhAm9605vY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">
</div></div></div></div></div></div></div></div><div class = 'S5'><span>In the next step we use the BPM readings to calculate the corrector setting, based on inverting Equation 8.53, that is required to zero the BPM readings.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div class = 'S2'><span style="white-space: pre"><span style="color: rgb(2, 128, 9);">% theta=-inv(Cx)*bpmx'; % old style, less robust </span></span></div></div><div class="inlineWrapper"><div class = 'S4'><span style="white-space: pre"><span >theta=-Cx\bpmx'; </span><span style="color: rgb(2, 128, 9);">% correction by inverting eq. 8.53</span></span></div></div></div><div class = 'S5'><span>Next, we introduce the possibility to simulate badly calibrated correctors by giving all correctors a scale factor </span><span style=' font-family: monospace;'>corscale</span><span>. If it is less than unity, say 0.9, all corrector power supplies only produce 90% of the requested current.</span></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div class = 'S8'><span style="white-space: pre"><span >corscale=</span></span><span>1</span><span style="white-space: pre"><span > </span><span style="color: rgb(2, 128, 9);">% Slider for global corrector calibration error</span></span></div><div class = 'S7'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>corscale = 1</div></div></div></div><div class = 'S5'><span>We can also select a single bad corrector </span><span style=' font-family: monospace;'>badcor</span><span> and give it an individual scale error by setting </span><span style=' font-family: monospace;'>badcorscale</span><span> to a value different from unity. By chosing badcorscale=-1 we can simulate a power supply with flipped polarity.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div class = 'S2'><span style="white-space: pre"><span >badcor=2; </span><span style="color: rgb(2, 128, 9);">% second corrector is bad</span></span></div></div><div class="inlineWrapper outputs"><div class = 'S6'><span style="white-space: pre"><span >badcorscale=</span></span><span>1</span><span style="white-space: pre"><span style="color: rgb(2, 128, 9);">% Slider for scale error of the bad corrector</span></span></div><div class = 'S7'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>badcorscale = 1</div></div></div><div class="inlineWrapper"><div class = 'S9'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">if </span><span >badcor>0</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > theta(badcor)=badcorscale*theta(badcor); </span><span style="color: rgb(2, 128, 9);">% single corrector with wrong calibration</span></span></div></div><div class="inlineWrapper"><div class = 'S4'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">end </span></span></div></div></div><div class = 'S5'><span>Finally, we add the effect of the corrector magnets with non-zero excitation to the BPM reading and display the resulting orbit.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div class = 'S2'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">for </span><span >ibpm=1:nbpm </span><span style="color: rgb(2, 128, 9);">% add corrections to bpm</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">for </span><span >icor=1:ncor</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > bpmx(ibpm)=bpmx(ibpm)+corscale*Cx(ibpm,icor)*theta(icor);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >figure; bar(spos(bpmpos),1e3*bpmx); </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >xlim([-5,spos(end)+5]); xlabel(</span><span style="color: rgb(170, 4, 249);">'s [m]'</span><span >); ylabel(</span><span style="color: rgb(170, 4, 249);">'x [mm]'</span><span >);</span></span></div></div><div class="inlineWrapper outputs"><div class = 'S6'><span style="white-space: pre"><span >title(</span><span style="color: rgb(170, 4, 249);">'After correction'</span><span >)</span></span></div><div class = 'S7'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="DDE2B7DF" data-scroll-top="null" data-scroll-left="null" data-testid="output_4" style="width: 1307px;"><div class="figureElement"><div class="figureContainingNode" style="width: 560px; max-width: 100%; display: inline-block;"><div class="GraphicsView" data-dojo-attach-point="graphicsViewNode,backgroundColorNode" id="uniqName_333_864" widgetid="uniqName_333_864" style="width: 100%; height: auto;"><div class="ImageView" id="uniqName_333_870" widgetid="uniqName_333_870" style="width: 100%; height: auto;">
<canvas class="ImageView" data-dojo-attach-point="canvasViewNode" draggable="false" ondragstart="return false;" style="width: 100%; height: auto; display: none;"></canvas>
<img class="ImageView figureImage" data-dojo-attach-point="imageViewNode" draggable="false" ondragstart="return false;" style="width: 100%; height: auto; display: inline;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjAAAAGkCAYAAAAv7h+nAAAgAElEQVR4AezBC8yW9X3/8ff3UlBuqVO0GjXNnFU/xdqOak8miDy5XSspdNqwqtRD13qIFWpzxbapzqpb2o1or+iksnmoUWcwjmjqKdJycfIwa0Q8Nn7EEBWjuGd4oMgjwsPvnzv/kBCjq2ateMP39apKSimllFKfqUgppZRS6jMVKaWUUkp9piKllFJKqc9UpJRSSin1mYqUUkoppT5TkVJKKaXUZypSSimllPpMRUoppZRSn6lIKaWUUuozFSmllFJKfaYipZRSSqnPVKSUUkop9ZmKlFJKKaU+U5E+8oaHhzn55JPZsGEDPf/+7//OmWeeyZlnnsmZZ57JsmXLSNufE088kW984xvMmjWLdzM4OMg3v/lNdtttNz75yU9y//33s3LlSlauXEn6/1auXMnKlSvZ7Fvf+hbf+MY3eOutt0gpfbRVpI+0V155he985zs89NBDbPbrX/+af/zHf2TmzJnMnDmTQw89lLR9mT9/PjfffDO33XYbF198MZs2beKd/vmf/5n//M//5C/+4i84/PDDueOOOzjooIOwTYIrr7ySgw46CNtsdscdd3DbbbexceNGUkofbRXpI+2aa67hO9/5Drvvvjs9w8PDDA0NsdNOO7Fy5Up22203RowYQdq+XHXVVfSMGDGC//mf/+Gmm27inV5++WV6/uVf/oVbbrmFpUuXsn79etL/d9ttt7F+/Xq2NG/ePJYsWcLOO+9MSumjrSJ9pJ1//vkcddRRbPb444+zdu1afvjDH9I0DVOmTOHVV18lbT8GBwe59dZbGTFiBD//+c/pueaaa9jSBRdcwJIlS+i55JJL+PSnP82jjz5KzwUXXEDTNPSsXbuW73//++y9997stttunHjiiTz//PNsNnnyZKZOncq1117LmDFjGBgY4N1s3LiRiy++mIMPPphdd92VcePGce2117Klq666is9//vPsuuuuHHzwwVx88cW8/fbbbDZ58mSmTp3Ktddey5gxYxgYGKBn8uTJTJ06lWuvvZYxY8YwMDBAz9q1a/n+97/P3nvvzW677caJJ57I888/z2YbN27k4osv5uCDD2bXXXdl3LhxXHvttfRcfPHFPProo/RccMEFNE1Dzy9+8QtmzpzJxo0b2eyqq67i85//PLvuuisHH3wwF198MW+//TabTZ06lWOPPZalS5cyMDDArrvuyhFHHMH9999PSunPpyL9Wd17772808qVK5k/fz622dITTzzB/PnzmT9/PoODg7ybfffdl9mzZ3P11Vdz3XXXMWHCBH71q1+Rth833XQTw8PD/N3f/R3f/e53GTFiBEuWLOGZZ55hM9u89tpr9Dz33HOsXLmSP/zhD/Q89dRTrFixgp4pU6ZwxRVXsP/++3P00Udz88038+Uvf5nVq1fTc9ddd3H77bdz5pln8vbbb7P//vvzbr773e9y0UUXsX79er7yla/wwgsvcNppp3HjjTfSc+GFF3LmmWfy5JNPMnHiRN544w0uuugivv71r7PZXXfdxe23386ZZ57J22+/zf7770/PXXfdxe23386ZZ57J22+/zf7770/PlClTuOKKK9h///05+uijufnmm/nyl7/M6tWr6fnud7/LRRddxPr16/nKV77CCy+8wGmnncaNN97I008/zR/+8Ad6nnrqKVasWEHPb37zG+666y42btxIz4UXXsiZZ57Jk08+ycSJE3njjTe46KKL+PrXv85mv/nNb7jzzjs55phj+PjHP84BBxzAgw8+yNSpU0kp/flUpD+bK6+8kvPOO48t3XHHHZxwwgnMmzePs846i8svv5zNnnjiCX7729/y29/+lv/+7//m3ey555587nOfY7NPf/rTrFq1irT9uOaaa+g5+eST2X333Tn22GPpueqqq9jslltu4W//9m/pmT17NmvWrOHII4+k59Zbb2XWrFksXLiQRYsW8bnPfY7f/e53zJ07l4suuohVq1Zx3XXXsdmGDRtomoa1a9cye/Zs3un555/nhhtuYNSoUTzyyCPMnTuXG264ga9+9au88sorvPzyy/zsZz9jhx124OGHH+b222/n6aef5oADDmDevHnceeedbLZhwwaapmHt2rXMnj2bzTZs2EDTNKxdu5bZs2ezcOFCFi1axOc+9zl+97vfMXfuXC666CJWrVrFddddx/PPP88NN9zAqFGjeOSRR5g7dy433HADX/3qV3nllVeYM2cORx55JD233nors2bN4p1efvllfvazn7HDDjvw8MMPc/vtt/P0009zwAEHMG/ePO688042Gx4e5l/+5V+45ZZbeOCBB9hhhx1YtWoVa9euJaX051GR/uRef/11fvKTn3DNNdewpeHhYS688EKuv/56LrnkEubOnct1113Hc889R8+0adOYOXMmM2fO5NOf/jTvZu7cuUyfPp3N7r33Xg477DDS9uG//uu/eOqppxgxYgQbN27k7rvv5oADDqDnV7/6FRs3buT9evDBB+lZu3Ytp59+Oqeffjr33XcfPUuXLmVLxx9/PD0777wz77R06VJ6jj76aPbYYw96Jk+ezD333MO5557LkiVLGB4eZmBggEMPPZSe3XffnSlTptDz61//mi0df/zx9Oy8885s6fjjj6dn55135sEHH6Rn7dq1nH766Zx++uncd9999CxdupSlS5fSc/TRR7PHHnvQM3nyZO655x7OPfdc3o8lS5YwPDzMwMAAhx56KD277747U6ZMoefXv/41WxoYGKCn0+nQ6XToWb9+PSmlP4+K9L5s2rSJZ599lnd66aWXWLt2LVu67LLLGDNmDD//+c/Z0pIlS9htt9048MAD6RkzZgwTJkzgvvvu4/2aOnUqEcGpp57KtGnT2LBhA9OmTSNtH371q1/Rs2HDBqZMmcLXvvY1Zs6cSc9rr73GTTfdxPv1xhtv0LNhwwZWr17N6tWr+djHPsZxxx3HuHHj2NIee+zBexkeHub92GWXXdjSLrvsQs/GjRvZ0h577MG72WOPPdjsjTfeoGfDhg2sXr2a1atX87GPfYzjjjuOcePGMTw8zJ/KLrvswpZ22WUXejZu3MiW9tprL1JKH56K9L5UVcVdd93FY489xmYvvfQSN954I6NHj2ZLP/3pT/nhD3/IqFGj2NLrr7/Opz71KbY0evRonnnmGf6YBx98kBEjRrDDDjtw5ZVXcs0113D99ddz6aWXkrYP69at48Ybb6Tn29/+NqeddhqnnXYap512GhMmTKDnmmuu4Y/ZtGkTPYcffjg9Bx54ILfeeiu33norF110EaeccgrTpk1jSzvuuCPv5aCDDqJnwYIFvPXWW/Q8+uijfOITn+D0009n7Nix9MyfP5/Vq1ez2YIFC+iZMGECW9pxxx15NzvuuCObHX744fQceOCB3Hrrrdx6661cdNFFnHLKKUybNo2DDjqIngULFvDWW2/R8+ijj/KJT3yC008/nS1t2rSJdzN27Fh65s+fz+rVq9lswYIF9EyYMIGU0tZTkd63c845h0WLFvHYY4/x0ksvceONN/LjH/+Yd6qqinczPDxMVVVsqaoqNm3axAc1YsQIRowYQdp+/Md//Afr16/nM5/5DNdddx1XX301V199NVdffTXXXnstPffddx9PP/0072bEiBH0NE3DrFmzmDJlCvvuuy/z58/nBz/4Addffz2TJk3iuOOO47HHHuP9GjduHBMmTODNN99k/PjxTJ8+nRNOOIEXX3yRfffdl89+9rNMmjSJN998kyOPPJLvfe97HHXUUTz44INI4lvf+hYf1JQpU9h3332ZP38+P/jBD7j++uuZNGkSxx13HI899hjjxo1jwoQJvPnmm4wfP57p06dzwgkn8OKLL7LvvvvSM2LECHqapmHWrFm802c/+1kmTZrEm2++yZFHHsn3vvc9jjrqKB588EEk8a1vfYuU0tZTkT6Qc845h7vvvpsrr7ySH//4x3wQO+20E8PDw2xp06ZN7LjjjqT0x1x77bX0nHLKKbzTgQceyIQJE+j5t3/7N97Nscceyw477MC8efO455572HnnnZk3bx6f+cxnuPzyy/n2t7/NG2+8wS9+8QsmT57MBzF37lwmTZrE0qVL+eUvf8mzzz7L2WefzYUXXkjPLbfcwtlnn82zzz7L7NmzWbJkCV/72tdYuHAhI0eO5IPaeeedmTdvHp/5zGe4/PLL+fa3v80bb7zBL37xCyZPnkzP3LlzmTRpEkuXLuWXv/wlzz77LGeffTYXXnghPcceeyw77LAD8+bN45577uHd3HLLLZx99tk8++yzzJ49myVLlvC1r32NhQsXMnLkSFJKW09F+kCee+45Nm3axF/+5V/y2GOP8UHstddePPnkk2zptdde4/DDDyelP+Z3v/sdpRTOPfdc3s3ixYsppXDZZZfRM2fOHEopHH/88fScccYZrFu3jhdffJHbb7+dnkMPPZTHH3+coaEhVq1axZo1a6jrms1KKZRS+GM+/vGPc/fdd7N+/XpefPFF3n77bWbNmkVVVfSMHj2aWbNm8dZbb/HSSy+xfv167rzzTvbZZx82K6VQSuGdSimUUninQw89lMcff5yhoSFWrVrFmjVrqOuazT7+8Y9z9913s379el588UXefvttZs2aRVVV9JxxxhmsW7eOF198kdtvv52eNWvWUEph9OjR9IwePZpZs2bx1ltv8dJLL7F+/XruvPNO9tlnHzZbs2YNpRRGjx7NZmvWrKGUwh577EFK6c+jYjt377338n4999xz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UEqhlEIphVIKpRRKKZRSKKVQSmHhwoWklFL686rYSi644AJ+9KMfMTw8TEoppZTSB1GxlRxzzDE88MADHHLIIYwbN45x48Yxbtw4xo0bx2GHHUZKKaWU0nup2EqOOeYYdt99d2688UbmzJnDnDlzmDNnDnPmzOGmm24ipZRSSum9VGwlr776Krfddhtf/OIXGTt2LGPHjmXs2LGMHTuWsWPHklJKKaX0Xiq2kj322IMXXniBlFJKKaUPqmIruemmmzjllFOYPXs2K1asYMWKFaxYsYIVK1awYsUKUkoppZTeS8VWcsIJJ9Bz2WWXMWnSJCZNmsSkSZOYNGkSkydPJqWUUkrpvVRsJYsXL8Y2trGNbWxjm9///veklFJKKb2XivSRNXHiRGi60HSh6ULThaYLTReaLjRdaLrQdKHpQtOFpgtNF5ouNF1outB0mThxIimllNK2omIreuKJJzjppJOYNm0a06ZNY9q0aUybNo2TTjqJBAsXLqSUQimFUgqlFEoplFIopVBKoZRCKYVSCqUUSimUUiilUEqhlEIphYULF5JSSiltKyq2knPOOYepU6eycuVKVq1axapVq1i1ahWrVq1i1apVpJRSSim9l4qtZPHixVx11VUsXryYBQsWsGDBAhYsWMCCBQuYP38+KaWUUkrvpWIr2XHHHTnkkENIKaWUUvqgKraSCy64gB/96EcMDw+TUtq+TJw4EZouNF1outB0oelC04WmC00Xmi40XWi60HSh6ULThaYLTReaLhMnTiSltH2q2EqOOeYYHnjgAQ455BDGjRvHuHHjGDduHOPGjeOwww4jpbTtWrhwIaUUSimUUiilUEqhlEIphVIKpRRKKZRSKKVQSqGUQimFUgqlFBYuXEhKaftUsZUcc8wx7L777tx4443MmTOHOXPmMGfOHObMmcNNN91ESimllNJ7qdhKXn31VW677Ta++MUvMnbsWMaOHcvYsWMZO3YsY8eOJaWUUkrpvVRsJXvssQcvvPACKaWPpokTJ0LThaYLTReaLjRdaLrQdKHpQtOFpgtNF5ouNF1outB0oelC04Wmy8SJE0kppT+liq3kpptu4pRTTmH27NmsWLGCFStWsGLFClasWMGKFStIKW1dCxcupJRCKYVSCqUUSimUUiilUEqhlEIphVIKpRRKKZRSKKVQSqGUQimFhQsXklJKf0oV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">
</div></div></div></div></div></div></div></div><div class = 'S5'><span>Note that without any errors the orbit correction is perfect and the resulting BPM readings ar zero to machine precision.</span></div><div class = 'S0'><span>Now it's time to play with the scale errors of the corrector magnets to simulate how much badly calibrated steering magnets affect the orbit correction. You might also want to add code to simulate bad BPMs.</span></div><h2 class = 'S10'><span>Appendix</span></h2><h4 class = 'S11'><span>CC()</span></h4><div class = 'S0'><span>The function </span><span style=' font-family: monospace;'>CC()</span><span> receives the positions of the BPM and corrector in the beam line sequence and the transfer matrices </span><span style=' font-family: monospace;'>Racc</span><span> as input and returns the 4x4 response matrix from Equation 8.28 as </span><span style=' font-family: monospace;'>out</span><span>. Inside the function, we have to separately treat the cases, where the index of the BPM is larger than that of the corrector, or vice-versa.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div class = 'S2'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">function </span><span >out=CC(ipos,jpos,Racc)</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >Rjj=Racc(:,:,jpos)*Racc(:,:,end)*inv(Racc(:,:,jpos));</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">if </span><span >ipos > jpos</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > Rij=Racc(:,:,ipos)*inv(Racc(:,:,jpos));</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">else</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > Rij=Racc(:,:,ipos)*Racc(:,:,end)*inv(Racc(:,:,jpos));</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >out=Rij*(inv(eye(4)-Rjj)); </span><span style="color: rgb(2, 128, 9);">% eq. 8.28</span></span></div></div><div class="inlineWrapper"><div class = 'S4'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">end</span></span></div></div></div><h4 class = 'S11'><span>calcmat()</span></h4><div class = 'S0'><span>We have amended the function </span><span style=' font-family: monospace;'>calcmat()</span><span> for this program to handle the correctors with code 200 and the BPM with code 300 to prevent many </span><span style=' font-family: monospace;'>unsupported code</span><span> messages. The rest of the function is unchanged.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div class = 'S2'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">function </span><span >[Racc,spos,nmat,nlines]=calcmat(beamline)</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >ndim=size(DD(1),1); </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >nlines=size(beamline,1); </span><span style="color: rgb(2, 128, 9);">% number of lines in beamline</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >nmat=sum(beamline(:,2))+1; </span><span style="color: rgb(2, 128, 9);">% sum over repeat-count in column 2</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >Racc=zeros(ndim,ndim,nmat); </span><span style="color: rgb(2, 128, 9);">% matrices from start to element-end</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >Racc(:,:,1)=eye(ndim); </span><span style="color: rgb(2, 128, 9);">% initialize first with unit matrix</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >spos=zeros(nmat,1); </span><span style="color: rgb(2, 128, 9);">% longitudinal position</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span >ic=1; </span><span style="color: rgb(2, 128, 9);">% element counter</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">for </span><span >line=1:nlines </span><span style="color: rgb(2, 128, 9);">% loop over input elements</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">for </span><span >seg=1:beamline(line,2) </span><span style="color: rgb(2, 128, 9);">% loop over repeat-count </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > ic=ic+1; </span><span style="color: rgb(2, 128, 9);">% next element </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > Rcurr=eye(4); </span><span style="color: rgb(2, 128, 9);">% matrix in next element</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">switch </span><span >beamline(line,1) </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">case </span><span >1 </span><span style="color: rgb(2, 128, 9);">% drift</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > Rcurr=DD(beamline(line,3));</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">case </span><span >2 </span><span style="color: rgb(2, 128, 9);">% thin quadrupole</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > Rcurr=Q(beamline(line,4)); </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">case </span><span >4 </span><span style="color: rgb(2, 128, 9);">% sector dipole</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > phi=beamline(line,4)*pi/180; </span><span style="color: rgb(2, 128, 9);">% convert to radians</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > rho=beamline(line,3)/phi;</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > Rcurr=SB(beamline(line,3),rho);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">case </span><span >5 </span><span style="color: rgb(2, 128, 9);">% thick quadrupole</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > Rcurr=QQ(beamline(line,3),beamline(line,4)); </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">case </span><span >20 </span><span style="color: rgb(2, 128, 9);">% coordinate roll</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > Rcurr=ROLL(beamline(line,4));</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">case </span><span >200 </span><span style="color: rgb(2, 128, 9);">% corrector</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > Rcurr=eye(4);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">case </span><span >300 </span><span style="color: rgb(2, 128, 9);">% BPM</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > Rcurr=eye(4);</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">otherwise</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > disp(</span><span style="color: rgb(170, 4, 249);">'unsupported code'</span><span >)</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">end</span><span > </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > Racc(:,:,ic)=Rcurr*Racc(:,:,ic-1); </span><span style="color: rgb(2, 128, 9);">% concatenate </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > spos(ic)=spos(ic-1)+beamline(line,3); </span><span style="color: rgb(2, 128, 9);">% position of element </span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span > </span><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div class = 'S3'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div class = 'S4'><span style="white-space: pre"><span style="color: rgb(14, 0, 255);">end</span></span></div></div></div>
<br>
<!--
##### SOURCE BEGIN #####
%%
% Companion software for "Volker Ziemann, _Hands-on Accelerator physics using
% MATLAB, CRCPress, 2019_" (https://www.crcpress.com/9781138589940)
%% Orbit correction in a ring (Section 8.5.1)
% Volker Ziemann, 211129, CC-BY-SA-4.0
%
% In this example, we illustrate correcting the horizontal orbit in a ring made
% of eighteen FODO cells with one corrector magnet and one beam position monitor
% (BPM) in each cell.
%
% We add the support functions for the 4D beam optics calculations and define
% the FODO cell that has a phase advance of close to $90^o$ in the horizontal
% plane and $60^o$ in the vertical plane.Then the focal lengths of the thin-lens
% quadrupoles were slightly changed to give overall tunes of 4.27 and 3.38 for
% the full ring with 18 equal cells. Note also that we introduced two new element
% codes: 200 to indicate a corrector magnet and 300 to indicate a BPM.
clear
addpath ./4D
fodo=[
1, 25, 0.1, 0;
2, 1, 0, 4.357; % QF
200, 1, 0, 0; % Corrector
300, 1, 0, 0; % BPM
1, 15, 0.1, 0;
4, 20, 0.1, 1; % Dipole
1, 15, 0.1, 0;
2, 1, 0, -4.4542; % QD
1, 25, 0.1, 0];
beamline=repmat(fodo,18,1);
%%
% In order to verify that the beta functions and the tunes are the desired ones
% we calculate the transfer matrices |Racc| and from those the tunes, the periodic
% sigma matrix with the beta functions sigma0, and then plot the beta functions.
[Racc,spos,nmat,nlines]=calcmat(beamline); Rend=Racc(:,:,end);
Q=tunes(Rend);
sigma0=periodic_beammatrix(Rend,1,1);
plot_betas(beamline,sigma0);
legend('AutoUpdate','off') % cosmetic, prevent extra entry in legend
drawmag(beamline,2,1)
title(['FODO ring: Q_x=',num2str(Q(1),'%5.3f'),', Q_y=',num2str(Q(2),'%5.3f')])
%%
% Before simulating the ring, we need to prepare arrays that contain the positions
% of the correctors, the BPM, and the quadrupoles. To do so we loop over all elements
% and segments in the beamline, increment counters for each device found; |nquad|
% for the quadrupoles, |nbpm| for the BPM, and |ncor| for the correctors. At the
% same time we record their position |ic| in the beam line; in |quadpos()| for
% the quadrupoles, in |corpos()| for the correctors, and in |bpmpos()| for the
% BPM . As a convenience, we also record the focal lengths of the found quadrupoles
% in |quadf()|.
nquad=0; quadpos=zeros(1,36); quadf=quadpos;
nbpm=0; bpmpos=zeros(1,18);
ncor=0; corpos=zeros(1,18);
ic=1;
for line=1:nlines
for seg=1:beamline(line,2)
ic=ic+1;
switch beamline(line,1)
case 2 % thin quadrupole
nquad=nquad+1;
quadpos(nquad)=ic;
quadf(nquad)=beamline(line,4);
case 200 % corrector
ncor=ncor+1;
corpos(ncor)=ic;
case 300 % bpm
nbpm=nbpm+1;
bpmpos(nbpm)=ic;
end
end
end
%%
% Now that we know the positions of the correctors and the BPM, we can calculate
% the response matrix |Cx| in the horizontal plane in a netsed loop over all BPM
% and over all correctors and for each combination calculating the 4x4 response
% matrix |C| with the function |CC()|, which is defined in the Appendix.
Cx=zeros(nbpm,ncor);
for ibpm=1:nbpm
for icor=1:ncor
C=CC(bpmpos(ibpm),corpos(icor),Racc);
Cx(ibpm,icor)=C(1,2);
end
end
%%
% Likewise we determine the BPM-quadrupole response matrix, which relates a
% transverse quadrupole displacement $d_x$ to the change of the beam position
% on a BPM. As for the BPM-corrector response matrix before, we the calcluate
% 4x4 response matrix |C| with the function |CC()| and copy its 12-element into
% the appropriate place in the matrix |Cqx()|. We then divide by the focal length
% $f$ of the respective quadrupole, because the kick $\theta$ that a displaced
% quadrupole gives to the beam is $\theta=d_x/f$.
Cqx=zeros(nbpm,nquad);
for ibpm=1:nbpm
for iquad=1:nquad
C=CC(bpmpos(ibpm),quadpos(iquad),Racc);
Cqx(ibpm,iquad)=C(1,2)/quadf(iquad);
end
end
%%
% We immediately use |Cqx| to calculate effect of displaced quadrupoles on the
% position recorded on the BPM. We therefore randomly displace the quadrupoles
% by |dx|, sampled from a uniform distribution in the range $\pm0.5$mm and loop
% over the BPM; for each BPM we sum the contributions from all quadrupoles to
% the reading of the BPM. After the loops complete, we plot |bpmx()| in a bargraph
% to simulate the typical display of beam positions found in accelerator control
% rooms.
dx=1e-3*(rand(1,nquad)-0.5); % quad displacement
bpmx=zeros(1,nbpm);
for ibpm=1:nbpm
for iquad=1:nquad
bpmx(ibpm)=bpmx(ibpm)+Cqx(ibpm,iquad)*dx(iquad);
end
end
figure; bar(spos(bpmpos),1e3*bpmx); drawmag(beamline,3.5,1);
xlim([-5,spos(end)+5]); xlabel('s [m]'); ylabel('x [mm]');
title('Before correction')
%%
% In the next step we use the BPM readings to calculate the corrector setting,
% based on inverting Equation 8.53, that is required to zero the BPM readings.
% theta=-inv(Cx)*bpmx'; % old style, less robust
theta=-Cx\bpmx'; % correction by inverting eq. 8.53
%%
% Next, we introduce the possibility to simulate badly calibrated correctors
% by giving all correctors a scale factor |corscale|. If it is less than unity,
% say 0.9, all corrector power supplies only produce 90% of the requested current.
corscale=1 % Slider for global corrector calibration error
%%
% We can also select a single bad corrector |badcor| and give it an individual
% scale error by setting |badcorscale| to a value different from unity. By chosing
% badcorscale=-1 we can simulate a power supply with flipped polarity.
badcor=2; % second corrector is bad
badcorscale=1% Slider for scale error of the bad corrector
if badcor>0
theta(badcor)=badcorscale*theta(badcor); % single corrector with wrong calibration
end
%%
% Finally, we add the effect of the corrector magnets with non-zero excitation
% to the BPM reading and display the resulting orbit.
for ibpm=1:nbpm % add corrections to bpm
for icor=1:ncor
bpmx(ibpm)=bpmx(ibpm)+corscale*Cx(ibpm,icor)*theta(icor);
end
end
figure; bar(spos(bpmpos),1e3*bpmx);
xlim([-5,spos(end)+5]); xlabel('s [m]'); ylabel('x [mm]');
title('After correction')
%%
% Note that without any errors the orbit correction is perfect and the resulting
% BPM readings ar zero to machine precision.
%
% Now it's time to play with the scale errors of the corrector magnets to simulate
% how much badly calibrated steering magnets affect the orbit correction. You
% might also want to add code to simulate bad BPMs.
%% Appendix
% CC()
% The function |CC()| receives the positions of the BPM and corrector in the
% beam line sequence and the transfer matrices |Racc| as input and returns the
% 4x4 response matrix from Equation 8.28 as |out|. Inside the function, we have
% to separately treat the cases, where the index of the BPM is larger than that
% of the corrector, or vice-versa.
function out=CC(ipos,jpos,Racc)
Rjj=Racc(:,:,jpos)*Racc(:,:,end)*inv(Racc(:,:,jpos));
if ipos > jpos
Rij=Racc(:,:,ipos)*inv(Racc(:,:,jpos));
else
Rij=Racc(:,:,ipos)*Racc(:,:,end)*inv(Racc(:,:,jpos));
end
out=Rij*(inv(eye(4)-Rjj)); % eq. 8.28
end
% calcmat()
% We have amended the function |calcmat()| for this program to handle the correctors
% with code 200 and the BPM with code 300 to prevent many |unsupported code| messages.
% The rest of the function is unchanged.
function [Racc,spos,nmat,nlines]=calcmat(beamline)
ndim=size(DD(1),1);
nlines=size(beamline,1); % number of lines in beamline
nmat=sum(beamline(:,2))+1; % sum over repeat-count in column 2
Racc=zeros(ndim,ndim,nmat); % matrices from start to element-end
Racc(:,:,1)=eye(ndim); % initialize first with unit matrix
spos=zeros(nmat,1); % longitudinal position
ic=1; % element counter
for line=1:nlines % loop over input elements
for seg=1:beamline(line,2) % loop over repeat-count
ic=ic+1; % next element
Rcurr=eye(4); % matrix in next element
switch beamline(line,1)
case 1 % drift
Rcurr=DD(beamline(line,3));
case 2 % thin quadrupole
Rcurr=Q(beamline(line,4));
case 4 % sector dipole
phi=beamline(line,4)*pi/180; % convert to radians
rho=beamline(line,3)/phi;
Rcurr=SB(beamline(line,3),rho);
case 5 % thick quadrupole
Rcurr=QQ(beamline(line,3),beamline(line,4));
case 20 % coordinate roll
Rcurr=ROLL(beamline(line,4));
case 200 % corrector
Rcurr=eye(4);
case 300 % BPM
Rcurr=eye(4);
otherwise
disp('unsupported code')
end
Racc(:,:,ic)=Rcurr*Racc(:,:,ic-1); % concatenate
spos(ic)=spos(ic-1)+beamline(line,3); % position of element
end
end
end
##### SOURCE END #####
-->
</div></body></html>