1 | ! S. Fartoukh: 06/06/2009: Version compatible with beam1, beam2 or beam4; |
---|
2 | ! Revised version for SLHCV2: S. Fartoukh 30.09.2009 |
---|
3 | ! Based on SLHC3.0/removeinstall.madx |
---|
4 | ! 2011/11 R. De Maria |
---|
5 | ! To be called once at the beginning of the script |
---|
6 | ! Use removeinstall.madx to place and displace elements |
---|
7 | ! - New name conventions and element classes |
---|
8 | ! - Additional orbit correctors for closed crossing scheme |
---|
9 | ! - Movable D2,Q4,Q5,Q6 |
---|
10 | ! - MQYL in Q5 IR6 |
---|
11 | ! - Addition MS in Q10 |
---|
12 | ! - Default reference radius |
---|
13 | ! - Additional corrector package |
---|
14 | ! 2012/03/19 new MCBX lengths and position, new BPMS position |
---|
15 | ! bug in a5/b5 kmax corrected |
---|
16 | ! 2012/03/20 new name for BPM in the triplet from BPMSD to BPMSQ |
---|
17 | ! xywab(d)e already taken |
---|
18 | ! 2012/03/20 a5/b5 bug in the definition of the strengths |
---|
19 | ! 2012/07/13 Crab cavity elements as tkickers |
---|
20 | |
---|
21 | |
---|
22 | |
---|
23 | !------------------------------------------------------------------- |
---|
24 | ! Remove install old and new elements |
---|
25 | ! Triplets, interconnection lenghts and MS postions are defined |
---|
26 | ! by the calling program |
---|
27 | ! ----------------------------------------------------------- |
---|
28 | bv_aux=1; |
---|
29 | |
---|
30 | if (on_layout_custom==0){ |
---|
31 | l.MQXL := 7.6850000000 ; |
---|
32 | l.MQX := 6.5770000000 ; |
---|
33 | dq1q2a := 3.5600000000 ; |
---|
34 | dq2aq2b := 1.9150000000 ; |
---|
35 | dq2bq3 := 3.5600000000 ; |
---|
36 | deltaposD2 := -15.0000000000 ; |
---|
37 | deltaposQ4 := 0.0000000000 ; |
---|
38 | deltaposQ5 := 11.0000000000 ; |
---|
39 | deltaposQ6 := 0.0000000000 ; |
---|
40 | on_cutMS.10 := 0 ; |
---|
41 | on_cutMS.14 := 0 ; |
---|
42 | }; |
---|
43 | |
---|
44 | !value, l.MQXL,l.MQX,dq1q2a,dq2aq2b,dq2bq3; |
---|
45 | !value, deltaposD2; |
---|
46 | !value, deltaposQ4; |
---|
47 | !value, deltaposQ5; |
---|
48 | !value, deltaposQ6; |
---|
49 | |
---|
50 | !-------------------------------------------------- |
---|
51 | ! REMOVE CURRENT INSERTION (from TAS to Q6) |
---|
52 | !-------------------------------------------------- |
---|
53 | |
---|
54 | seqedit,sequence=lhcb1;flatten;endedit; |
---|
55 | scale = 23348.89927; |
---|
56 | |
---|
57 | removemarker: marker; |
---|
58 | marks.l1: removemarker; marke.l1: removemarker; |
---|
59 | marks.l5: removemarker; marke.l5: removemarker; |
---|
60 | marks.r1: removemarker; marke.r1: removemarker; |
---|
61 | marks.r5: removemarker; marke.r5: removemarker; |
---|
62 | |
---|
63 | posmarke=15.0; |
---|
64 | !posmarks=163.0; ! include D2 |
---|
65 | !posmarks=184; ! include Q4 |
---|
66 | posmarks=240; ! include Q6 |
---|
67 | |
---|
68 | seqedit, sequence=lhcb1; |
---|
69 | install,element=marks.l1,class=removemarker,at=-posmarks,from=IP1.L1; |
---|
70 | install,element=marke.l1,class=removemarker,at=-posmarke,from=IP1.L1; |
---|
71 | install,element=marke.r1,class=removemarker,at= posmarke,from=IP1; |
---|
72 | install,element=marks.r1,class=removemarker,at= posmarks,from=IP1; |
---|
73 | install,element=marks.l5,class=removemarker,at=-posmarks,from=IP5; |
---|
74 | install,element=marke.l5,class=removemarker,at=-posmarke,from=IP5; |
---|
75 | install,element=marke.r5,class=removemarker,at= posmarke,from=IP5; |
---|
76 | install,element=marks.r5,class=removemarker,at= posmarks,from=IP5; |
---|
77 | endedit; |
---|
78 | |
---|
79 | |
---|
80 | |
---|
81 | seqedit, sequence=lhcb1; |
---|
82 | select, flag=seqedit, clear; |
---|
83 | select, flag=seqedit, range=marks.l1/marke.l1; |
---|
84 | select, flag=seqedit, range=marke.r1/marks.r1; |
---|
85 | select, flag=seqedit, range=marks.l5/marke.l5; |
---|
86 | select, flag=seqedit, range=marke.r5/marks.r5; |
---|
87 | remove, element=selected; |
---|
88 | endedit; |
---|
89 | |
---|
90 | |
---|
91 | seqedit, sequence=lhcb1; |
---|
92 | select, flag=seqedit, clear; |
---|
93 | select, flag=seqedit, class=BRANA; |
---|
94 | select, flag=seqedit, class=X1FCL; |
---|
95 | select, flag=seqedit, class=X1FCR; |
---|
96 | select, flag=seqedit, class=X1ZDC001; |
---|
97 | select, flag=seqedit, class=X5ZDC001; |
---|
98 | select, flag=seqedit, class=X5ZDC002; |
---|
99 | remove, element=selected; |
---|
100 | endedit; |
---|
101 | |
---|
102 | |
---|
103 | ! remove old Q10 corrector package |
---|
104 | |
---|
105 | seqedit,sequence=lhcb1; |
---|
106 | remove, element=MCBCH.10L1.B1; |
---|
107 | remove, element=MCBCV.10R1.B1; |
---|
108 | remove, element=MCBCH.10L5.B1; |
---|
109 | remove, element=MCBCV.10R5.B1; |
---|
110 | remove, element=MS.10L1.B1; |
---|
111 | remove, element=MS.10R1.B1; |
---|
112 | remove, element=MS.10L5.B1; |
---|
113 | remove, element=MS.10R5.B1; |
---|
114 | remove, element=MCBH.10L1.B1; |
---|
115 | remove, element=MCBV.10R1.B1; |
---|
116 | remove, element=MCBH.10L5.B1; |
---|
117 | remove, element=MCBV.10R5.B1; |
---|
118 | endedit; |
---|
119 | |
---|
120 | |
---|
121 | |
---|
122 | ! remove old Q5 in IR6 |
---|
123 | |
---|
124 | seqedit,sequence=lhcb1; |
---|
125 | remove,element=MQY.5L6.B1; |
---|
126 | remove,element=MQY.5R6.B1; |
---|
127 | remove,element=BPMYA.5L6.B1; |
---|
128 | remove,element=MQYL.5L6.B1 ; |
---|
129 | remove,element=MQYL.5R6.B1 ; |
---|
130 | remove,element=MCBYV.5R6.B1; |
---|
131 | endedit; |
---|
132 | |
---|
133 | ! ---------------------------------------------------------------- |
---|
134 | ! macros for installation |
---|
135 | ! ---------------------------------------------------------------- |
---|
136 | |
---|
137 | install_ir15_cmn(ENAME,SPOS): macro={ |
---|
138 | value,SPOS; |
---|
139 | seqedit,sequence=lhcb1; |
---|
140 | install, element=ENAMEL1,at=-SPOS,from=IP1.L1; |
---|
141 | install, element=ENAMER1,at= SPOS,from=IP1; |
---|
142 | install, element=ENAMEL5,at=-SPOS,from=IP5; |
---|
143 | install, element=ENAMER5,at= SPOS,from=IP5; |
---|
144 | endedit; |
---|
145 | }; |
---|
146 | |
---|
147 | install_ir15_b12(ENAME,SPOS): macro={ |
---|
148 | value,SPOS; |
---|
149 | seqedit,sequence=lhcb1; |
---|
150 | install, element=ENAMEL1.B1,at=-SPOS,from=IP1.L1; |
---|
151 | install, element=ENAMER1.B1,at= SPOS,from=IP1; |
---|
152 | install, element=ENAMEL5.B1,at=-SPOS,from=IP5; |
---|
153 | install, element=ENAMER5.B1,at= SPOS,from=IP5; |
---|
154 | endedit; |
---|
155 | }; |
---|
156 | |
---|
157 | |
---|
158 | !---------------------------------------------------------- |
---|
159 | ! TAS |
---|
160 | !---------------------------------------------------------- |
---|
161 | posTAS =20.15; !from V6.503 |
---|
162 | l.TASC =1.8; |
---|
163 | |
---|
164 | TASC: RCOLLIMATOR, L := l.TASC; ! new TAS |
---|
165 | |
---|
166 | TASC.1R1: TASC; TASC.1L1: TASC; |
---|
167 | TASC.1R5: TASC; TASC.1L5: TASC; |
---|
168 | |
---|
169 | ! TAS |
---|
170 | exec,install_ir15_cmn(TASC.1, posTAS ); |
---|
171 | |
---|
172 | |
---|
173 | !---------------------------------------------------------- |
---|
174 | ! Triplet region |
---|
175 | !--------------------------------------------------------- |
---|
176 | |
---|
177 | ! Lstar {.46 |Q1|} |
---|
178 | Lstar =23.00; !22.965 m in V6.503 |
---|
179 | |
---|
180 | posQ1 :=Lstar+l.MQXL/2.; |
---|
181 | posQ2a:=posQ1+(l.MQXL+l.MQX)/2.+dq1q2a; |
---|
182 | posQ2b:=posQ2a+l.MQX+dq2aq2b; |
---|
183 | posQ3 :=posQ2b+(l.MQXL+l.MQX)/2.+dq2bq3; |
---|
184 | !value, posQ1,posQ2a,posQ2b,posQ3; |
---|
185 | |
---|
186 | ! new element types |
---|
187 | MQXC: QUADRUPOLE, L := l.MQXL; ! Q1 Q3 |
---|
188 | MQXD: QUADRUPOLE, L := l.MQX; ! Q2a Q2b |
---|
189 | |
---|
190 | ! triplet quad strengths in IR1 & IR5 |
---|
191 | |
---|
192 | MQXC.1L1 : MQXC,k1:= kqx1.l1 *bv_aux; |
---|
193 | MQXC.1R1 : MQXC,k1:= kqx1.r1 *bv_aux; |
---|
194 | MQXD.A2L1: MQXD,k1:=-kqx2a.l1 *bv_aux; |
---|
195 | MQXD.B2L1: MQXD,k1:=-kqx2b.l1 *bv_aux; |
---|
196 | MQXD.A2R1: MQXD,k1:=-kqx2a.r1 *bv_aux; |
---|
197 | MQXD.B2R1: MQXD,k1:=-kqx2b.r1 *bv_aux; |
---|
198 | MQXC.3L1 : MQXC,k1:= kqx3.l1 *bv_aux; |
---|
199 | MQXC.3R1 : MQXC,k1:= kqx3.r1 *bv_aux; |
---|
200 | |
---|
201 | MQXC.1L5 : MQXC,k1:= kqx1.l5 *bv_aux; |
---|
202 | MQXC.1R5 : MQXC,k1:= kqx1.r5 *bv_aux; |
---|
203 | MQXD.A2L5: MQXD,k1:=-kqx2a.l5 *bv_aux; |
---|
204 | MQXD.B2L5: MQXD,k1:=-kqx2b.l5 *bv_aux; |
---|
205 | MQXD.A2R5: MQXD,k1:=-kqx2a.r5 *bv_aux; |
---|
206 | MQXD.B2R5: MQXD,k1:=-kqx2b.r5 *bv_aux; |
---|
207 | MQXC.3L5 : MQXC,k1:= kqx3.l5 *bv_aux; |
---|
208 | MQXC.3R5 : MQXC,k1:= kqx3.r5 *bv_aux; |
---|
209 | |
---|
210 | ! Triplet |
---|
211 | exec,install_ir15_cmn(MQXC.1, posQ1 ); |
---|
212 | exec,install_ir15_cmn(MQXD.A2, posQ2A ); |
---|
213 | exec,install_ir15_cmn(MQXD.B2, posQ2B ); |
---|
214 | exec,install_ir15_cmn(MQXC.3, posQ3 ); |
---|
215 | |
---|
216 | !---------------------------------------------------- |
---|
217 | ! MCBX in Q2 (small orbit corrector) |
---|
218 | !---------------------------------------------------- |
---|
219 | |
---|
220 | ! MCBX |
---|
221 | ! Q1 |.46 } .72 {.36 | MCBXDa | .46 | Q2a |
---|
222 | ! Q2a |.46 } .72 {.46 | Q2b | .46| MCBXDb |.36 } |
---|
223 | ! Q2b |.46 | MCBXDb |.36 } .72 {.46 | Q3 | .46} |
---|
224 | |
---|
225 | !l.MCBXD := l.mqxl-l.mqx-0.360; ! orbit corrector |
---|
226 | l.MCBXD := dq1q2a-(.46+.72+.36+.46); ! orbit corrector |
---|
227 | posMCBXDa := posQ2a -(l.MQX + l.MCBXD )/2. -0.460; |
---|
228 | posMCBXDb := posQ2b +(l.MQX + l.MCBXD )/2. +0.460; |
---|
229 | !value,l.MCBXD, posMCBXDa,posMCBXDb; |
---|
230 | |
---|
231 | ! Cabling orbit corrector inside Q2a and Q2b cold masses |
---|
232 | |
---|
233 | MCBXDH: HKICKER, Lrad := l.MCBXD; ! nested corrector |
---|
234 | MCBXDV: VKICKER, Lrad := l.MCBXD; ! nested corrector |
---|
235 | |
---|
236 | Kmax_MCBXD := 1.8000 / l.MCBXD; ! 1.8Tm integrated strength |
---|
237 | Kmin_MCBXD := -Kmax_MCBXD ; |
---|
238 | !value, Kmax_MCBXD; |
---|
239 | |
---|
240 | MCBXDH, Kmax:=Kmax_MCBXDH, Kmin:=Kmin_MCBXDH; |
---|
241 | MCBXDV, Kmax:=Kmax_MCBXDV, Kmin:=Kmin_MCBXDV; |
---|
242 | |
---|
243 | |
---|
244 | MCBXDH.a2L1: MCBXDH, KICK := acbxh1.l1; |
---|
245 | MCBXDH.a2R1: MCBXDH, KICK := acbxh1.r1; |
---|
246 | MCBXDH.a2L5: MCBXDH, KICK := acbxh1.l5; |
---|
247 | MCBXDH.a2R5: MCBXDH, KICK := acbxh1.r5; |
---|
248 | MCBXDV.a2L1: MCBXDV, KICK := acbxv1.l1*bv_aux; |
---|
249 | MCBXDV.a2R1: MCBXDV, KICK := acbxv1.r1*bv_aux; |
---|
250 | MCBXDV.a2L5: MCBXDV, KICK := acbxv1.l5*bv_aux; |
---|
251 | MCBXDV.a2R5: MCBXDV, KICK := acbxv1.r5*bv_aux; |
---|
252 | MCBXDH.b2L1: MCBXDH, KICK := acbxh2.l1; |
---|
253 | MCBXDH.b2R1: MCBXDH, KICK := acbxh2.r1; |
---|
254 | MCBXDH.b2L5: MCBXDH, KICK := acbxh2.l5; |
---|
255 | MCBXDH.b2R5: MCBXDH, KICK := acbxh2.r5; |
---|
256 | MCBXDV.b2L1: MCBXDV, KICK := acbxv2.l1*bv_aux; |
---|
257 | MCBXDV.b2R1: MCBXDV, KICK := acbxv2.r1*bv_aux; |
---|
258 | MCBXDV.b2L5: MCBXDV, KICK := acbxv2.l5*bv_aux; |
---|
259 | MCBXDV.b2R5: MCBXDV, KICK := acbxv2.r5*bv_aux; |
---|
260 | |
---|
261 | ! Orbit correctors |
---|
262 | exec,install_ir15_cmn(MCBXDH.A2, posMCBXDa ); |
---|
263 | exec,install_ir15_cmn(MCBXDV.A2, posMCBXDa ); |
---|
264 | exec,install_ir15_cmn(MCBXDH.B2, posMCBXDb ); |
---|
265 | exec,install_ir15_cmn(MCBXDV.B2, posMCBXDb ); |
---|
266 | |
---|
267 | |
---|
268 | !-------------------------------------------------------------------- |
---|
269 | !BPM triplet |
---|
270 | !-------------------------------------------------------------------- |
---|
271 | |
---|
272 | ! Q1 | .46 } .24 BPM .12 .36 {.36 | MCBXDa |
---|
273 | ! MCBXDa | Q2a | .46 } .24 BPM .12 .36 {.46 | Q2b |
---|
274 | ! MCBXDb | .36 } .24 BPM .12 .36 {.46 | Q3 |
---|
275 | ! Q3 | .46 } .24 BPM .12 .36 ... |
---|
276 | |
---|
277 | ! BMPSQW is between TAS and Q1 |
---|
278 | l.BPMSQ := 0.22; |
---|
279 | BPMSQ: MONITOR, L := l.BPMSQ; ! bpm in the triplets' |
---|
280 | |
---|
281 | posBPMW :=21.475; !from V6.503 |
---|
282 | posBPM1 := posQ1 + l.mqxl /2.+.46+.24; |
---|
283 | posBPM2a := posQ2a + l.mqx /2.+.46+.24; |
---|
284 | posBPM2b := posQ3 - l.mqxl /2.-.46-.36-.12; |
---|
285 | posBPM3 := posQ3 + l.mqxl /2.+.46+.24; |
---|
286 | !value, posBPM1,posBPM2a,posBPM2b,posBPM3; |
---|
287 | |
---|
288 | |
---|
289 | BPMSQW.1L1.B1: BPMSQ;BPMSQW.1R1.B1 : BPMSQ; |
---|
290 | BPMSQW.1L5.B1: BPMSQ;BPMSQW.1R5.B1 : BPMSQ; |
---|
291 | BPMSQ.1L1.B1 : BPMSQ;BPMSQ.1R1.B1 : BPMSQ; |
---|
292 | BPMSQ.1L5.B1 : BPMSQ;BPMSQ.1R5.B1 : BPMSQ; |
---|
293 | BPMSQ.A2L1.B1: BPMSQ;BPMSQ.A2R1.B1: BPMSQ; |
---|
294 | BPMSQ.A2L5.B1: BPMSQ;BPMSQ.A2R5.B1: BPMSQ; |
---|
295 | BPMSQ.B2L1.B1: BPMSQ;BPMSQ.B2R1.B1: BPMSQ; |
---|
296 | BPMSQ.B2L5.B1: BPMSQ;BPMSQ.B2R5.B1: BPMSQ; |
---|
297 | BPMSQ.3L1.B1 : BPMSQ;BPMSQ.3R1.B1 : BPMSQ; |
---|
298 | BPMSQ.3L5.B1 : BPMSQ;BPMSQ.3R5.B1 : BPMSQ; |
---|
299 | |
---|
300 | ! BPMS |
---|
301 | exec,install_ir15_b12(BPMSQW.1, posBPMW ); |
---|
302 | exec,install_ir15_b12(BPMSQ.1, posBPM1 ); |
---|
303 | exec,install_ir15_b12(BPMSQ.A2, posBPM2a ); |
---|
304 | exec,install_ir15_b12(BPMSQ.B2, posBPM2b ); |
---|
305 | exec,install_ir15_b12(BPMSQ.3, posBPM3 ); |
---|
306 | |
---|
307 | |
---|
308 | !---------------------------------------------------------- |
---|
309 | !Corrector package |
---|
310 | !---------------------------------------------------------- |
---|
311 | |
---|
312 | ! layout |
---|
313 | |
---|
314 | l.MCBXC := 2; ! orbit corrector |
---|
315 | l.MQSX3 := 0.670 ; ! skew quadrupole corrector |
---|
316 | l.MCSTX3 := 0.500 ; ! (b3,b6) nested correctors not yet finalised |
---|
317 | l.MCSX3 := l.MCSTX3 ; ! b3 corrector combined with b6 |
---|
318 | l.MCTX3 := l.MCSTX3 ; ! b6 corrector combined with b3 |
---|
319 | l.MCOSSX3 := 0.500 ; ! (a3,a4,b4) nested correctors not yet finalised |
---|
320 | l.MCSSX3 := l.MCOSSX3; ! a3 corrector combined with (a4,b4) |
---|
321 | l.MCOSX3 := l.MCOSSX3; ! a4 corrector combined with (a3,b4) |
---|
322 | l.MCOX3 := l.MCOSSX3; ! b4 corrector combined with (a3,a4) |
---|
323 | l.MCDTSX3 := 0.500 ; ! (a5,b5,a6) nested correctors not yet finalised |
---|
324 | l.MCDSX3 := l.MCDTSX3; ! a5 corrector |
---|
325 | l.MCDX3 := l.MCDTSX3; ! b5 corrector |
---|
326 | l.MCTSX3 := l.MCDTSX3; ! b6 corrector |
---|
327 | |
---|
328 | |
---|
329 | ! Q3|.46} .72 {.18 .18 |MCBXC |.18 |
---|
330 | ! .20 .115|MQSX3 |.115 |
---|
331 | ! .20 .075|MCOSSX3 |.075 |
---|
332 | ! .20 .075|MCSTX3 |.075 |
---|
333 | ! .20 .075|MCDTSX3 |.075 .25} |
---|
334 | posMCBXC := posQ3 +(l.MQXL + l.MCBXC )/2.+0.460+0.720+.180+.180; |
---|
335 | posMQSX3 := posMCBXC +(l.MCBXC + l.MQSX3 )/2.+0.180+0.200+0.115; |
---|
336 | posMCOSSX3:= posMQSX3 +(l.MQSX3 + l.MCOSSX3 )/2.+0.115+0.200+0.075; |
---|
337 | posMCSTX3 := posMCOSSX3+(l.MCOSSX3+ l.MCSTX3 )/2.+0.075+0.200+0.075; |
---|
338 | posMCDTSX3:= posMCSTX3 +(l.MCSTX3 + l.MCDTSX3 )/2.+0.075+0.200+0.075; |
---|
339 | |
---|
340 | |
---|
341 | ! orbit corrector elements |
---|
342 | MCBXCH : HKICKER , Lrad := l.MCBXC; ! H in corrector package (long for crabs) |
---|
343 | MCBXCV : VKICKER , Lrad := l.MCBXC; ! V in corrector package (long for crabs) |
---|
344 | MQSX3 : QUADRUPOLE, L := l.MQSX3 ; ! (a2) |
---|
345 | MCSTX3 : MULTIPOLE , L := l.MCSTX3 ; ! (b3,b6) |
---|
346 | MCOSSX3: MULTIPOLE , L := l.MCOSSX3; ! (a3,a4,b4) |
---|
347 | MCDTSX3: MULTIPOLE , L := l.MCDTSX3; ! (a5,b5,a6) |
---|
348 | |
---|
349 | |
---|
350 | Kmax_MCBXC := 6.0000 / l.MCBXC ;!6.0000Tm@50mm |
---|
351 | ! 1.5*140urad needed for 15sigma crossing |
---|
352 | ! 25mrad for orbit correction |
---|
353 | ! 5.6Tm -> 6Tm |
---|
354 | Rref_mpcorr=0.05; !50mm reference radius for multipole correctors |
---|
355 | Kmax_MQSX3 := 0.6000 / l.MQSX3 /Rref_mpcorr ;!0.6000Tm@50mm |
---|
356 | Kmax_MCSX3 := 0.0500 / l.MCSX3 /Rref_mpcorr^2 * 2.;!0.0500Tm@50mm |
---|
357 | Kmax_MCSSX3:= 0.0500 / l.MCSSX3/Rref_mpcorr^2 * 2.;!0.0500Tm@50mm |
---|
358 | Kmax_MCOX3 := 0.0300 / l.MCOX3 /Rref_mpcorr^3 * 6.;!0.0300Tm@50mm |
---|
359 | Kmax_MCOSX3:= 0.0300 / l.MCOSX3/Rref_mpcorr^3 * 6.;!0.0300Tm@50mm |
---|
360 | Kmax_MCDX3 := 0.0300 / l.MCDX3 /Rref_mpcorr^4 * 24.;!0.0300Tm@50mm |
---|
361 | Kmax_MCDSX3:= 0.0300 / l.MCDSX3/Rref_mpcorr^4 * 24.;!0.0300Tm@50mm |
---|
362 | Kmax_MCTX3 := 0.0700 / l.MCTX3 /Rref_mpcorr^5 * 120.;!0.0700Tm@50mm |
---|
363 | Kmax_MCTSX3:= 0.0700 / l.MCTSX3/Rref_mpcorr^5 * 120.;!0.0700Tm@50mm |
---|
364 | |
---|
365 | |
---|
366 | Kmin_MCBXC := -Kmax_MCBXC ; |
---|
367 | Kmin_MQSX3 := -Kmax_MQSX3 ; |
---|
368 | Kmin_MCSX3 := -Kmax_MCSX3 ; |
---|
369 | Kmin_MCSSX3:= -Kmax_MCSSX3; |
---|
370 | Kmin_MCOX3 := -Kmax_MCOX3 ; |
---|
371 | Kmin_MCOSX3:= -Kmax_MCOSX3; |
---|
372 | Kmin_MCTX3 := -Kmax_MCTX3 ; |
---|
373 | Kmin_MCDX3 := -Kmax_MCDX3 ; |
---|
374 | Kmin_MCDSX3:= -Kmax_MCDSX3; |
---|
375 | Kmin_MCTSX3:= -Kmax_MCTSX3; |
---|
376 | |
---|
377 | ! cabling |
---|
378 | MCBXCH, Kmax:=Kmax_MCBXH3, Kmin:=Kmin_MCBXH3; |
---|
379 | MCBXCV, Kmax:=Kmax_MCBXV3, Kmin:=Kmin_MCBXV3; |
---|
380 | MCBXCH.3L1: MCBXCH, KICK := acbxh3.l1; |
---|
381 | MCBXCH.3R1: MCBXCH, KICK := acbxh3.r1; |
---|
382 | MCBXCH.3L5: MCBXCH, KICK := acbxh3.l5; |
---|
383 | MCBXCH.3R5: MCBXCH, KICK := acbxh3.r5; |
---|
384 | MCBXCV.3L1: MCBXCV, KICK := acbxv3.l1*bv_aux; |
---|
385 | MCBXCV.3R1: MCBXCV, KICK := acbxv3.r1*bv_aux; |
---|
386 | MCBXCV.3L5: MCBXCV, KICK := acbxv3.l5*bv_aux; |
---|
387 | MCBXCV.3R5: MCBXCV, KICK := acbxv3.r5*bv_aux; |
---|
388 | |
---|
389 | |
---|
390 | !A2 CORRECTOR |
---|
391 | MQSX3: QUADRUPOLE, L := l.MQSX3 , Kmax:=Kmax_MQSX3 , Kmin:=Kmin_MQSX3; |
---|
392 | MQSX.3L1: MQSX3, K1S:=kqsx3.l1; |
---|
393 | MQSX.3R1: MQSX3, K1S:=kqsx3.r1; |
---|
394 | MQSX.3L5: MQSX3, K1S:=kqsx3.l5; |
---|
395 | MQSX.3R5: MQSX3, K1S:=kqsx3.r5; |
---|
396 | |
---|
397 | |
---|
398 | !B3 CORRECTOR |
---|
399 | MCSX3: MULTIPOLE, Lrad := l.MCSX3 , Kmax:=Kmax_MCSX3 , Kmin:=Kmin_MCSX3; |
---|
400 | MCSX.3L1: MCSX3, KNL := {0, 0, kcsx3.l1*l.MCSX3}; |
---|
401 | MCSX.3R1: MCSX3, KNL := {0, 0, kcsx3.r1*l.MCSX3}; |
---|
402 | MCSX.3L5: MCSX3, KNL := {0, 0, kcsx3.l5*l.MCSX3}; |
---|
403 | MCSX.3R5: MCSX3, KNL := {0, 0, kcsx3.r5*l.MCSX3}; |
---|
404 | |
---|
405 | !B6 CORRECTOR |
---|
406 | MCTX3: MULTIPOLE, Lrad := l.MCTX3 , Kmax:=Kmax_MCTX3 , Kmin:=Kmin_MCTX3; |
---|
407 | MCTX.3L1: MCTX3, KNL := {0, 0, 0, 0, 0, kctx3.l1 *bv_aux*l.MCTX3}; |
---|
408 | MCTX.3R1: MCTX3, KNL := {0, 0, 0, 0, 0, kctx3.r1 *bv_aux*l.MCTX3}; |
---|
409 | MCTX.3L5: MCTX3, KNL := {0, 0, 0, 0, 0, kctx3.l5 *bv_aux*l.MCTX3}; |
---|
410 | MCTX.3R5: MCTX3, KNL := {0, 0, 0, 0, 0, kctx3.r5 *bv_aux*l.MCTX3}; |
---|
411 | |
---|
412 | !A6 CORRECTOR |
---|
413 | MCTSX3: MULTIPOLE, Lrad := l.MCTSX3 , Kmax:=Kmax_MCTSX3 , Kmin:=Kmin_MCTSX3; |
---|
414 | MCTSX.3L1: MCTSX3, KSL := {0, 0, 0, 0, 0, kctsx3.l1 *l.MCTSX3}; |
---|
415 | MCTSX.3R1: MCTSX3, KSL := {0, 0, 0, 0, 0, kctsx3.r1 *l.MCTSX3}; |
---|
416 | MCTSX.3L5: MCTSX3, KSL := {0, 0, 0, 0, 0, kctsx3.l5 *l.MCTSX3}; |
---|
417 | MCTSX.3R5: MCTSX3, KSL := {0, 0, 0, 0, 0, kctsx3.r5 *l.MCTSX3}; |
---|
418 | |
---|
419 | !A3 CORRECTOR |
---|
420 | MCSSX3: MULTIPOLE, Lrad := l.MCSSX3, Kmax:=Kmax_MCSSX3, Kmin:=Kmin_MCSSX3; |
---|
421 | MCSSX.3L1: MCSSX3, KSL := {0, 0, kcssx3.l1 *bv_aux*l.MCSSX3}; |
---|
422 | MCSSX.3R1: MCSSX3, KSL := {0, 0, kcssx3.r1 *bv_aux*l.MCSSX3}; |
---|
423 | MCSSX.3L5: MCSSX3, KSL := {0, 0, kcssx3.l5 *bv_aux*l.MCSSX3}; |
---|
424 | MCSSX.3R5: MCSSX3, KSL := {0, 0, kcssx3.r5 *bv_aux*l.MCSSX3}; |
---|
425 | |
---|
426 | !A4 CORRECTOR |
---|
427 | MCOSX3: MULTIPOLE , Lrad := l.MCOSX3, Kmax:=Kmax_MCOSX3, Kmin:=Kmin_MCOSX3; |
---|
428 | MCOSX.3L1: MCOSX3, KSL := {0, 0, 0, kcosx3.l1*l.MCOSX3}; |
---|
429 | MCOSX.3R1: MCOSX3, KSL := {0, 0, 0, kcosx3.r1*l.MCOSX3}; |
---|
430 | MCOSX.3L5: MCOSX3, KSL := {0, 0, 0, kcosx3.l5*l.MCOSX3}; |
---|
431 | MCOSX.3R5: MCOSX3, KSL := {0, 0, 0, kcosx3.r5*l.MCOSX3}; |
---|
432 | |
---|
433 | !B4 CORRECTOR |
---|
434 | MCOX3 : MULTIPOLE , Lrad := l.MCOX3 , Kmax:=Kmax_MCOX3 , Kmin:=Kmin_MCOX3; |
---|
435 | MCOX.3L1: MCOX3, KNL := {0, 0, 0, kcox3.l1 *bv_aux*l.MCOX3}; |
---|
436 | MCOX.3R1: MCOX3, KNL := {0, 0, 0, kcox3.r1 *bv_aux*l.MCOX3}; |
---|
437 | MCOX.3L5: MCOX3, KNL := {0, 0, 0, kcox3.l5 *bv_aux*l.MCOX3}; |
---|
438 | MCOX.3R5: MCOX3, KNL := {0, 0, 0, kcox3.r5 *bv_aux*l.MCOX3}; |
---|
439 | |
---|
440 | !A5 CORRECTOR |
---|
441 | MCDSX3: MULTIPOLE , Lrad := l.MCDSX3, Kmax:=Kmax_MCDSX3, Kmin:=Kmin_MCDSX3; |
---|
442 | MCDSX.3L1: MCDSX3, KSL := {0, 0, 0, 0, kcdsX3.l1 *bv_aux*l.MCDSX3}; |
---|
443 | MCDSX.3R1: MCDSX3, KSL := {0, 0, 0, 0, kcdsX3.r1 *bv_aux*l.MCDSX3}; |
---|
444 | MCDSX.3L5: MCDSX3, KSL := {0, 0, 0, 0, kcdsX3.l5 *bv_aux*l.MCDSX3}; |
---|
445 | MCDSX.3R5: MCDSX3, KSL := {0, 0, 0, 0, kcdsX3.r5 *bv_aux*l.MCDSX3}; |
---|
446 | |
---|
447 | !B5 CORRECTOR |
---|
448 | MCDX3 : MULTIPOLE , Lrad := l.MCDX3 , Kmax:=Kmax_MCDX3 , Kmin:=Kmin_MCDX3; |
---|
449 | MCDX.3L1: MCDX3, KNL := {0, 0, 0, 0, kcdx3.l1*l.MCDX3}; |
---|
450 | MCDX.3R1: MCDX3, KNL := {0, 0, 0, 0, kcdx3.r1*l.MCDX3}; |
---|
451 | MCDX.3L5: MCDX3, KNL := {0, 0, 0, 0, kcdx3.l5*l.MCDX3}; |
---|
452 | MCDX.3R5: MCDX3, KNL := {0, 0, 0, 0, kcdx3.r5*l.MCDX3}; |
---|
453 | |
---|
454 | |
---|
455 | |
---|
456 | ! Installl non linear correctors |
---|
457 | exec,install_ir15_cmn(MCBXCH.3,posMCBXC); !b1 |
---|
458 | exec,install_ir15_cmn(MCBXCV.3,posMCBXC); !a1 |
---|
459 | exec,install_ir15_cmn(MQSX.3, posMQSX3); !a2 |
---|
460 | exec,install_ir15_cmn(MCSSX.3, posMCOSSX3);!a3 |
---|
461 | exec,install_ir15_cmn(MCOSX.3, posMCOSSX3);!a4 |
---|
462 | exec,install_ir15_cmn(MCOX.3, posMCOSSX3);!b4 |
---|
463 | exec,install_ir15_cmn(MCSX.3, posMCSTX3); !b3 |
---|
464 | exec,install_ir15_cmn(MCTX.3, posMCSTX3); !b6 |
---|
465 | exec,install_ir15_cmn(MCDX.3, posMCDTSX3);!a5 |
---|
466 | exec,install_ir15_cmn(MCDSX.3, posMCDTSX3);!b5 |
---|
467 | exec,install_ir15_cmn(MCTSX.3, posMCDTSX3);!a6 |
---|
468 | |
---|
469 | |
---|
470 | |
---|
471 | !--------------------------------------------- |
---|
472 | ! D1 area |
---|
473 | !--------------------------------------------- |
---|
474 | |
---|
475 | ! separation recombination dipoles |
---|
476 | l.MBXA= 6.5; |
---|
477 | MBXA : RBEND, L := l.MBXA ; ! D1 |
---|
478 | BPMWC: MONITOR, L := l.BPMWC; ! bpm in D1 |
---|
479 | |
---|
480 | ! service module for current distribution in the non-IP side of D1 |
---|
481 | l.DFBXI = 3; ! not finalized |
---|
482 | DFBXI : PLACEHOLDER, L:= l.DFBXI; |
---|
483 | |
---|
484 | ! Layout |
---|
485 | ! MCDTSX3 |.075 .25} .72 {.4 .29 D1 .4 .29} |
---|
486 | ! D1 | .4 .29 } .72 .4 .29 DFBXI |
---|
487 | ! D1 | .4 .29 } .72 .4 .29 DFBXI |
---|
488 | |
---|
489 | posD1 := posMCDTSX3+(l.MBXA+l.MCDTSX3)/2.+0.075+0.250+0.72+0.4+0.29; |
---|
490 | posDFBXI := posD1 + (l.MBXA+l.DFBXI)/2.+0.72+0.4+0.29; |
---|
491 | posBPMWC := posD1 + l.MBXA/2 + 0.90; ! to be checked with long range |
---|
492 | |
---|
493 | ! Separation recombination dipoles |
---|
494 | |
---|
495 | MBXA.4L1: MBXA,angle:= ad1.lr1, K0 := kd1.lr1; |
---|
496 | MBXA.4R1: MBXA,angle:=-ad1.lr1, K0 :=-kd1.lr1; |
---|
497 | MBXA.4L5: MBXA,angle:= ad1.lr5, K0 := kd1.lr5; |
---|
498 | MBXA.4R5: MBXA,angle:=-ad1.lr5, K0 :=-kd1.lr5; |
---|
499 | |
---|
500 | BPMWC.4L1.B1: BPMWC; |
---|
501 | BPMWC.4R1.B1: BPMWC; |
---|
502 | BPMWC.4L5.B1: BPMWC; |
---|
503 | BPMWC.4R5.B1: BPMWC; |
---|
504 | |
---|
505 | DFBXI.4L1: DFBXI; |
---|
506 | DFBXI.4R1: DFBXI; |
---|
507 | DFBXI.4L5: DFBXI; |
---|
508 | DFBXI.4R5: DFBXI; |
---|
509 | |
---|
510 | |
---|
511 | ! D1 |
---|
512 | exec,install_ir15_b12(BPMWC.4, posBPMWC ); |
---|
513 | exec,install_ir15_cmn(MBXA.4, posD1); |
---|
514 | exec,install_ir15_cmn(DFBXI.4, posDFBXI); |
---|
515 | |
---|
516 | |
---|
517 | |
---|
518 | |
---|
519 | !--------------------------------------------- |
---|
520 | ! D2 area |
---|
521 | !--------------------------------------------- |
---|
522 | |
---|
523 | ! TAN TCTVA TCTH BPMWD .4055 (left) |
---|
524 | ! TAN TCLP BPMWD .4055 (right) |
---|
525 | ! {.4 D2 .4 MCBRDH .4 MCBRDV .4} |
---|
526 | ! B1-> 0.5 { 1.3 1.3 CRAB 2.6 CRAB 2.6 CRAB 1.3 } 2.69 | MCBYY |
---|
527 | ! B2<- 0.5 { 1.3 CRAB 2.6 CRAB 2.6 CRAB 1.3 1.3 } 2.69 | MCBYY |
---|
528 | |
---|
529 | |
---|
530 | |
---|
531 | ! D2 |
---|
532 | l.MBRD=10; |
---|
533 | l.MCBRD=1.5; |
---|
534 | MBRD : RBEND, L := l.MBRD ; ! D2 |
---|
535 | MCBRDH: HKICKER, L := l.MCBRD; ! long for crabs in D2 cryostats |
---|
536 | MCBRDV: VKICKER, L := l.MCBRD; ! long for crabs in D2 cryostats |
---|
537 | BPMWD: MONITOR, L := l.BPMWD; ! bpm in D2 |
---|
538 | |
---|
539 | posD2 := 157.9+deltaposD2; ! from V6.503 |
---|
540 | !posD2 = 157.9-15; ! 3.99T |
---|
541 | !posD2 = 157.9-8-7; ! from V6.503 |
---|
542 | ! 8 to fit two cavitities with 1.5 meter at 163 |
---|
543 | !11 to fit three cavitities with 1.5 meter |
---|
544 | |
---|
545 | |
---|
546 | ! shielding collimation |
---|
547 | ! v6.503 10.425 , 7.335 , 5.655 , 3.445 , 2.0805 |
---|
548 | ! slhc 1.275 closer to D2 |
---|
549 | posTAN := posD2 - l.MBRD/2 - 9.15; |
---|
550 | posTCTVA := posD2 - l.MBRD/2 - 6.06; |
---|
551 | posTCTH := posD2 - l.MBRD/2 - 4.38; |
---|
552 | posTCLP := posD2 - l.MBRD/2 - 2.17; |
---|
553 | posBPMWD := posD2 - l.MBRD/2 - 0.8055; |
---|
554 | posMCBRDH := posD2 + l.MBRD/2 + l.MCBRD/2 + 0.40; |
---|
555 | posMCBRDV := posMCBRDH + l.MCBRD/2 + l.MCBRD/2 + 0.40; |
---|
556 | |
---|
557 | |
---|
558 | |
---|
559 | MBRD.4L1.B1: MBRD, angle:=-ad2.l1, K0:=-kd2.l1; |
---|
560 | MBRD.4R1.B1: MBRD, angle:= ad2.r1, K0:= kd2.r1; |
---|
561 | MBRD.4L5.B1: MBRD, angle:=-ad2.l5, K0:=-kd2.l5; |
---|
562 | MBRD.4R5.B1: MBRD, angle:= ad2.r5, K0:= kd2.r5; |
---|
563 | |
---|
564 | |
---|
565 | MCBRDH.4L1.B1: MCBRDH, kick:=acbrdh4.l1b1; |
---|
566 | MCBRDH.4R1.B1: MCBRDH, kick:=acbrdh4.r1b1; |
---|
567 | MCBRDH.4L5.B1: MCBRDH, kick:=acbrdh4.l5b1; |
---|
568 | MCBRDH.4R5.B1: MCBRDH, kick:=acbrdh4.r5b1; |
---|
569 | MCBRDV.4L1.B1: MCBRDV, kick:=acbrdv4.l1b1; |
---|
570 | MCBRDV.4R1.B1: MCBRDV, kick:=acbrdv4.r1b1; |
---|
571 | MCBRDV.4L5.B1: MCBRDV, kick:=acbrdv4.l5b1; |
---|
572 | MCBRDV.4R5.B1: MCBRDV, kick:=acbrdv4.r5b1; |
---|
573 | |
---|
574 | |
---|
575 | |
---|
576 | |
---|
577 | BPMWD.4L1.B1: BPMWD; |
---|
578 | BPMWD.4R1.B1: BPMWD; |
---|
579 | BPMWD.4L5.B1: BPMWD; |
---|
580 | BPMWD.4R5.B1: BPMWD; |
---|
581 | |
---|
582 | |
---|
583 | ! separation recombination powering |
---|
584 | ad1.lr1:=atan(0.194/2./(posD2-posD1))*(1-R0); |
---|
585 | kd1.lr1:=ad1.lr1/l.MBXA; |
---|
586 | ad1.lr5:=atan(0.194/2./(posD2-posD1))*(1-R0); |
---|
587 | kd1.lr5:=ad1.lr5/l.MBXA; |
---|
588 | ad2.l1 :=atan(0.194/2./(posD2-posD1))*(1-R0); |
---|
589 | ad2.r1 :=atan(0.194/2./(posD2-posD1))*(1-R0); |
---|
590 | kd2.l1 :=ad2.l1/l.MBRD; |
---|
591 | kd2.r1 :=ad2.r1/l.MBRD; |
---|
592 | ad2.l5 :=atan(0.194/2./(posD2-posD1))*(1-R0); |
---|
593 | ad2.r5 :=atan(0.194/2./(posD2-posD1))*(1-R0); |
---|
594 | kd2.l5 :=ad2.l5/l.MBRD; |
---|
595 | kd2.r5 :=ad2.r5/l.MBRD; |
---|
596 | |
---|
597 | value, posD1,posD2,posD2-posD1; |
---|
598 | value, ad1.lr1,l.MBXA,ad1.lr1/l.MBXA*scale; |
---|
599 | value, ad2.l1,l.MBRD,ad2.l1/l.MBRD*scale; |
---|
600 | |
---|
601 | value,posTAN; |
---|
602 | value,posTCTH,posTCTVA,posTCLP; |
---|
603 | seqedit,sequence=lhcb1; |
---|
604 | ! ... TAN |
---|
605 | install,element=TANAL.4L1, at= -posTAN, from= IP1.L1; |
---|
606 | install,element=TANAR.4R1, at= posTAN, from= IP1; |
---|
607 | install,element=TANC.4L5, at= -posTAN, from= IP5; |
---|
608 | install,element=TANC.4R5, at= posTAN, from= IP5; |
---|
609 | |
---|
610 | ! ... TCTH |
---|
611 | install,element=TCTH.4L1.B1, at= -posTCTH, from= IP1.L1; |
---|
612 | install,element=TCTH.4L5.B1, at= -posTCTH, from= IP5; |
---|
613 | |
---|
614 | ! ... TCTVA |
---|
615 | install,element=TCTVA.4L1.B1, at= -posTCTVA, from=IP1.L1; |
---|
616 | install,element=TCTVA.4L5.B1, at= -posTCTVA, from=IP5; |
---|
617 | |
---|
618 | ! ... TCLP |
---|
619 | install,element=TCLP.4R1.B1, at= posTCLP, from=IP1; |
---|
620 | endedit; |
---|
621 | |
---|
622 | |
---|
623 | ! D2 |
---|
624 | exec,install_ir15_b12(MBRD.4, posD2 ); |
---|
625 | exec,install_ir15_b12(BPMWD.4, posBPMWD ); |
---|
626 | exec,install_ir15_b12(MCBRDH.4, posMCBRDH); |
---|
627 | exec,install_ir15_b12(MCBRDV.4, posMCBRDV); |
---|
628 | |
---|
629 | |
---|
630 | |
---|
631 | !------------------------------------------- |
---|
632 | ! Q4 |
---|
633 | !------------------------------------------- |
---|
634 | |
---|
635 | l.MQYY =3.40; |
---|
636 | l.MCBYY=0.90; |
---|
637 | |
---|
638 | |
---|
639 | posQ4 :=169.553+deltaPosQ4; !nominal |
---|
640 | posBPMYY.4 :=posQ4 + l.MQYY/2 + 0.994; !2.676 BPMYA.4L5.B1:BPMYA BPMYA.4L5.B2:BPMYA |
---|
641 | posMCBYY.B4 :=posQ4 - 2.522; !same as nominal note that in IR2-8-6 distance can |
---|
642 | posMCBYY.4 :=posQ4 - 3.818; !be better |
---|
643 | posMCBYY.A4 :=posQ4 - 5.114; |
---|
644 | |
---|
645 | MQYY : QUADRUPOLE, L := l.MQYY ; ! very large aperture 2-in-1 (MQYY) |
---|
646 | MCBYYH : HKICKER, L := l.MCBYY ; ! for orbit correction separate |
---|
647 | MCBYYV : VKICKER, L := l.MCBYY ; ! for orbit correction separate |
---|
648 | BPMYY : MONITOR, L := l.BPMYY ; ! bpm in Q4 |
---|
649 | |
---|
650 | Kmax_MCBYYH=2.5; !Copied from MCBY 2.5T at 4.5k |
---|
651 | Kmax_MCBYYV=2.5; |
---|
652 | |
---|
653 | |
---|
654 | |
---|
655 | MQYY.4L1.B1: MQYY, k1:= kq4.l1b1; |
---|
656 | MQYY.4R1.B1: MQYY, k1:= kq4.r1b1; |
---|
657 | MQYY.4L5.B1: MQYY, k1:= kq4.l5b1; |
---|
658 | MQYY.4R5.B1: MQYY, k1:= kq4.r5b1; |
---|
659 | |
---|
660 | MCBYYV.A4R1.B1:MCBYYV, KICK:= acbyvs4.r1b1, polarity=+1; |
---|
661 | MCBYYH.4R1.B1 :MCBYYH, KICK:= acbyhs4.r1b1, polarity=+1; |
---|
662 | MCBYYV.B4R1.B1:MCBYYV, KICK:= acbyv4.r1b1, polarity=+1; |
---|
663 | MCBYYH.B4L5.B1:MCBYYH, KICK:= acbyh4.l5b1, polarity=+1; |
---|
664 | MCBYYV.4L5.B1 :MCBYYV, KICK:= acbyvs4.l5b1, polarity=+1; |
---|
665 | MCBYYH.A4L5.B1:MCBYYH, KICK:= acbyhs4.l5b1, polarity=+1; |
---|
666 | MCBYYV.A4R5.B1:MCBYYV, KICK:= acbyvs4.r5b1, polarity=+1; |
---|
667 | MCBYYH.4R5.B1 :MCBYYH, KICK:= acbyhs4.r5b1, polarity=+1; |
---|
668 | MCBYYV.B4R5.B1:MCBYYV, KICK:= acbyv4.r5b1, polarity=+1; |
---|
669 | MCBYYH.B4L1.B1:MCBYYH, KICK:= acbyh4.l1b1, polarity=+1; |
---|
670 | MCBYYV.4L1.B1 :MCBYYV, KICK:= acbyvs4.l1b1, polarity=+1; |
---|
671 | MCBYYH.A4L1.B1:MCBYYH, KICK:= acbyhs4.l1b1, polarity=+1; |
---|
672 | |
---|
673 | BPMYY.4L1.B1: BPMYY; |
---|
674 | BPMYY.4R1.B1: BPMYY; |
---|
675 | BPMYY.4L5.B1: BPMYY; |
---|
676 | BPMYY.4R5.B1: BPMYY; |
---|
677 | |
---|
678 | |
---|
679 | exec,install_ir15_b12(BPMYY.4, posBPMYY.4 ); |
---|
680 | exec,install_ir15_b12(MQYY.4, posQ4 ); |
---|
681 | |
---|
682 | value,posMCBYY.B4,posMCBYY.4,posMCBYY.A4; |
---|
683 | |
---|
684 | seqedit,sequence=lhcb1; |
---|
685 | ! .... MCBYY.B4 |
---|
686 | install,element=MCBYYH.B4L1.B1, at=-posMCBYY.B4, from= IP1.L1; |
---|
687 | install,element=MCBYYV.B4R1.B1, at= posMCBYY.B4, from= IP1; |
---|
688 | install,element=MCBYYH.B4L5.B1, at=-posMCBYY.B4, from= IP5; |
---|
689 | install,element=MCBYYV.B4R5.B1, at= posMCBYY.B4, from= IP5; |
---|
690 | ! |
---|
691 | ! .... MCBYY.4 |
---|
692 | install,element=MCBYYV.4L1.B1, at=-posMCBYY.4, from= IP1.L1; |
---|
693 | install,element=MCBYYH.4R1.B1, at= posMCBYY.4, from= IP1; |
---|
694 | install,element=MCBYYV.4L5.B1, at=-posMCBYY.4, from= IP5; |
---|
695 | install,element=MCBYYH.4R5.B1, at= posMCBYY.4, from= IP5; |
---|
696 | ! |
---|
697 | ! .... MCBYY.A4 |
---|
698 | install,element=MCBYYH.A4L1.B1, at=-posMCBYY.A4, from= IP1.L1; |
---|
699 | install,element=MCBYYV.A4R1.B1, at= posMCBYY.A4, from= IP1; |
---|
700 | install,element=MCBYYH.A4L5.B1, at=-posMCBYY.A4, from= IP5; |
---|
701 | install,element=MCBYYV.A4R5.B1, at= posMCBYY.A4, from= IP5; |
---|
702 | endedit; |
---|
703 | |
---|
704 | |
---|
705 | !------------------------------------------- |
---|
706 | ! Q5 |
---|
707 | !------------------------------------------- |
---|
708 | ! Q5 MQYL for IR5 to gain aperture and for IR6 to gain strength |
---|
709 | l.MQYL=4.80; |
---|
710 | MQYL: QUADRUPOLE, L := l.MQYL ; ! long MQY type |
---|
711 | BPMYC: MONITOR, L := l.BPMYC ; ! large ap. for Q5 maybe from old q4 ones |
---|
712 | |
---|
713 | |
---|
714 | |
---|
715 | MQYL.5R1.B1:MQYL,K1 := kq5.r1b1, polarity=+1; |
---|
716 | MQYL.5L5.B1:MQYL,K1 := kq5.l5b1, polarity=-1; |
---|
717 | MQYL.5R5.B1:MQYL,K1 := kq5.r5b1, polarity=+1; |
---|
718 | MQYL.5L1.B1:MQYL,K1 := kq5.l1b1, polarity=-1; |
---|
719 | |
---|
720 | MCBYH.5R1.B1: MCBYH, KICK := acbch5.r1b1, polarity=+1; |
---|
721 | MCBYV.5L5.B1: MCBYV, KICK := acbcv5.l5b1, polarity=+1; |
---|
722 | MCBYH.5R5.B1: MCBYH, KICK := acbch5.r5b1, polarity=+1; |
---|
723 | MCBYV.5L1.B1: MCBYV, KICK := acbcv5.l1b1, polarity=+1; |
---|
724 | |
---|
725 | |
---|
726 | BPMYC.5R1.B1:BPMYC; |
---|
727 | BPMYC.5L5.B1:BPMYC; |
---|
728 | BPMYC.5R5.B1:BPMYC; |
---|
729 | BPMYC.5L1.B1:BPMYC; |
---|
730 | |
---|
731 | posMQYL.5 := 196.490 + deltaPosQ5; |
---|
732 | posMQML.6 := 228.390 + deltaPosQ6; |
---|
733 | |
---|
734 | dposMCBY = 3.042; |
---|
735 | dposMCBC = 3.042; |
---|
736 | dposBPM = 3.145; |
---|
737 | |
---|
738 | |
---|
739 | ! Q5 |
---|
740 | exec,install_ir15_b12(MQYL.5, posMQYL.5 ); |
---|
741 | |
---|
742 | seqedit,sequence=lhcb1; |
---|
743 | install,element=BPMYC.5L1.B1, at=-posMQYL.5+dposBPM, from= IP1.L1; |
---|
744 | install,element=BPMYC.5R1.B1, at= posMQYL.5+dposBPM, from= IP1; |
---|
745 | install,element=BPMYC.5L5.B1, at=-posMQYL.5-dposBPM, from= IP5; |
---|
746 | install,element=BPMYC.5R5.B1, at= posMQYL.5-dposBPM, from= IP5; |
---|
747 | |
---|
748 | install,element=MCBYV.5L1.B1, at=-posMQYL.5-dposMCBY, from= IP1.L1; |
---|
749 | install,element=MCBYH.5R1.B1, at= posMQYL.5-dposMCBY, from= IP1; |
---|
750 | install,element=MCBYV.5L5.B1, at=-posMQYL.5+dposMCBY, from= IP5; |
---|
751 | install,element=MCBYH.5R5.B1, at= posMQYL.5+dposMCBY, from= IP5; |
---|
752 | endedit; |
---|
753 | |
---|
754 | ! ------------------------------------------ |
---|
755 | ! Q6 |
---|
756 | ! ------------------------------------------ |
---|
757 | |
---|
758 | exec,install_ir15_b12(MQML.6, posMQML.6 ); |
---|
759 | |
---|
760 | seqedit,sequence=lhcb1; |
---|
761 | ! .... BPM.6 |
---|
762 | install,element=BPM.6L1.B1, at=-posMQML.6+dposBPM, from= IP1.L1; |
---|
763 | install,element=BPMR.6R1.B1, at= posMQML.6+dposBPM, from= IP1; |
---|
764 | install,element=BPM.6L5.B1, at=-posMQML.6-dposBPM, from= IP5; |
---|
765 | install,element=BPMR.6R5.B1, at= posMQML.6-dposBPM, from= IP5; |
---|
766 | |
---|
767 | ! .... MCBC.6 |
---|
768 | install,element=MCBCH.6L1.B1, at=-posMQML.6-dposMCBC, from= IP1.L1; |
---|
769 | install,element=MCBCV.6R1.B1, at= posMQML.6-dposMCBC, from= IP1; |
---|
770 | install,element=MCBCH.6L5.B1, at=-posMQML.6+dposMCBC, from= IP5; |
---|
771 | install,element=MCBCV.6R5.B1, at= posMQML.6+dposMCBC, from= IP5; |
---|
772 | endedit; |
---|
773 | |
---|
774 | |
---|
775 | |
---|
776 | |
---|
777 | |
---|
778 | ! ------------------------------------------ |
---|
779 | ! MS in Q10 |
---|
780 | ! ------------------------------------------ |
---|
781 | posMSQ10 := l.MQML/2 +0.1605+l.MS/2; |
---|
782 | posMCBQ10 :=posMSQ10+l.MS/2 +0.085+l.MCBV/2; |
---|
783 | |
---|
784 | MCBH.10L1.B1: MCBH, KICK := acbh10.l1b1, polarity=+1; |
---|
785 | MCBH.10L5.B1: MCBH, KICK := acbh10.l5b1, polarity=+1; |
---|
786 | MCBV.10R1.B1: MCBV, KICK := acbv10.r1b1, polarity=+1; |
---|
787 | MCBV.10R5.B1: MCBV, KICK := acbv10.r5b1, polarity=+1; |
---|
788 | |
---|
789 | |
---|
790 | DISABLE_SEXT(MS.10):macro={ |
---|
791 | MS.10L1.B1: MS,K2:=0; |
---|
792 | MS.10R1.B1: MS,K2:=0; |
---|
793 | MS.10L5.B1: MS,K2:=0; |
---|
794 | MS.10R5.B1: MS,K2:=0; |
---|
795 | on_cutMS.10=1; |
---|
796 | }; |
---|
797 | |
---|
798 | ENABLE_SEXT(MS.10,ksf1,ksd2,ksd1,ksf2):macro={ |
---|
799 | MS.10L1.B1: MS,K2:=ksf1.a81b1; |
---|
800 | MS.10R1.B1: MS,K2:=ksd2.a12b1; |
---|
801 | MS.10L5.B1: MS,K2:=ksf1.a45b1; |
---|
802 | MS.10R5.B1: MS,K2:=ksd2.a56b1; |
---|
803 | on_cutMS.10=0; |
---|
804 | }; |
---|
805 | |
---|
806 | exec,ENABLE_SEXT(MS.10); |
---|
807 | |
---|
808 | value,posMSQ10,posMCBQ10; |
---|
809 | value,on_cutMS.10,on_cutMS.14; |
---|
810 | if (on_cutMS.10==1){exec, DISABLE_SEXT(MS.10);}; |
---|
811 | if (on_cutMS.14==1){exec, DISABLE_SEXT(MS.14);}; |
---|
812 | |
---|
813 | ! Q10 |
---|
814 | seqedit,sequence=lhcb1; |
---|
815 | install,element=MS.10L1.B1, at=+posMSQ10, from=MQML.10L1.B1; |
---|
816 | install,element=MS.10R1.B1, at=+posMSQ10, from=MQML.10R1.B1; |
---|
817 | install,element=MS.10L5.B1, at=+posMSQ10, from=MQML.10L5.B1; |
---|
818 | install,element=MS.10R5.B1, at=+posMSQ10, from=MQML.10R5.B1; |
---|
819 | install,element=MCBH.10L1.B1,at=posMCBQ10, from=MQML.10L1.B1; |
---|
820 | install,element=MCBV.10R1.B1,at=posMCBQ10, from=MQML.10R1.B1; |
---|
821 | install,element=MCBH.10L5.B1,at=posMCBQ10, from=MQML.10L5.B1; |
---|
822 | install,element=MCBV.10R5.B1,at=posMCBQ10, from=MQML.10R5.B1; |
---|
823 | endedit; |
---|
824 | |
---|
825 | |
---|
826 | ! ------------------------------------------ |
---|
827 | ! Q5 in IR6 |
---|
828 | ! ------------------------------------------ |
---|
829 | |
---|
830 | dQ5IR6= l.MQYL-l.MQY; |
---|
831 | posQ5IR6 := 208.2 +dQ5IR6/2; |
---|
832 | posBPMQ5IR6 := 210.918+dQ5IR6; |
---|
833 | posMCBYQ5IR6 := 210.547+dQ5IR6; |
---|
834 | |
---|
835 | MQYL.5L6.B1: MQYL, K1 := kq5.l6b1; |
---|
836 | MQYL.5R6.B1: MQYL, K1 := kq5.r6b1; |
---|
837 | |
---|
838 | value,posBPMQ5IR6,posQ5IR6,posMCBYQ5IR6; |
---|
839 | |
---|
840 | seqedit,sequence=lhcb1; |
---|
841 | install,element=BPMYA.5L6.B1,at=-posBPMQ5IR6 ,from=IP6; |
---|
842 | install,element=MQYL.5L6.B1 ,at=-posQ5IR6 ,from=IP6; |
---|
843 | install,element=MQYL.5R6.B1 ,at= posQ5IR6 ,from=IP6; |
---|
844 | install,element=MCBYV.5R6.B1,at= posMCBYQ5IR6,from=IP6; |
---|
845 | endedit; |
---|
846 | |
---|
847 | |
---|
848 | ! ------------------------------------------------- |
---|
849 | ! Crab cavities |
---|
850 | ! ------------------------------------------------- |
---|
851 | |
---|
852 | ! {.4 D2 .4 MCBRDH .4 MCBRDV .4} |
---|
853 | ! B1-> 0.5 { 1.3 1.3 CRAB 2.6 CRAB 2.6 CRAB 1.3 } 2.69 | MCBYY |
---|
854 | |
---|
855 | posCRAB=163-1.5; ! 3 modules 11.8MV 1.8 from D2 at(-15) |
---|
856 | posCRABA1=posCRAB-1.5;posCRABA2=posCRAB-2.8; |
---|
857 | posCRABB1=posCRAB-4.1;posCRABB2=posCRAB-5.4; |
---|
858 | posCRABC1=posCRAB-6.7;posCRABC2=posCRAB-8.0; |
---|
859 | |
---|
860 | |
---|
861 | crab_make_tkicker(NNN,FFF): macro { |
---|
862 | omega_crabsc:=twopi*HRF400/LHCLENGTH; |
---|
863 | z_crab:=0; |
---|
864 | sin_crab:=sin(omega_crabsc*z_crab); |
---|
865 | cosi1:=cos(twopi*phi_IR1/360.);sinu1:=sin(twopi*phi_IR1/360.); |
---|
866 | cosi5:=cos(twopi*phi_IR5/360.);sinu5:=sin(twopi*phi_IR5/360.); |
---|
867 | on_crab1=0;on_crab5=0; |
---|
868 | acrabNNN.l1b1: tkicker, l=0, HKICK:=on_crab1*ahcrab_l1b1/FFF*sin_crab*cosi1,VKICK:=on_crab1*avcrab_l1b1/FFF*sin_crab*sinu1; |
---|
869 | acrabNNN.r1b1: tkicker, l=0, HKICK:=on_crab1*ahcrab_r1b1/FFF*sin_crab*cosi1,VKICK:=on_crab1*avcrab_r1b1/FFF*sin_crab*sinu1; |
---|
870 | acrabNNN.l5b1: tkicker, l=0, HKICK:=on_crab5*ahcrab_l5b1/FFF*sin_crab*cosi5,VKICK:=on_crab5*avcrab_l5b1/FFF*sin_crab*sinu5; |
---|
871 | acrabNNN.r5b1: tkicker, l=0, HKICK:=on_crab5*ahcrab_r5b1/FFF*sin_crab*cosi5,VKICK:=on_crab5*avcrab_r5b1/FFF*sin_crab*sinu5; |
---|
872 | }; |
---|
873 | |
---|
874 | crab_install(NNN,PFFF,PBBB): macro ={ |
---|
875 | value,PFFF,PBBB; |
---|
876 | seqedit, sequence=lhcb1; |
---|
877 | install,element=acrabNNN.l5b1,at=-PBBB,from=IP5; |
---|
878 | install,element=acrabNNN.r5b1,at= PFFF,from=IP5; |
---|
879 | install,element=acrabNNN.l1b1,at=-PBBB,from=IP1.L1; |
---|
880 | install,element=acrabNNN.r1b1,at= PFFF,from=IP1; |
---|
881 | endedit; |
---|
882 | }; |
---|
883 | |
---|
884 | crab_remove(NNN): macro ={ |
---|
885 | seqedit, sequence=lhcb1; |
---|
886 | remove,element=acrabNNN.l5b1; |
---|
887 | remove,element=acrabNNN.r5b1; |
---|
888 | remove,element=acrabNNN.l1b1; |
---|
889 | remove,element=acrabNNN.r1b1; |
---|
890 | endedit; |
---|
891 | }; |
---|
892 | |
---|
893 | |
---|
894 | exec,crab_make_tkicker(A,3); |
---|
895 | exec,crab_make_tkicker(B,3); |
---|
896 | exec,crab_make_tkicker(C,3); |
---|
897 | |
---|
898 | !exec,crab_remove(A); |
---|
899 | !exec,crab_remove(B); |
---|
900 | !exec,crab_remove(C); |
---|
901 | |
---|
902 | exec,crab_install(A,posCRABA1,posCRABA2); |
---|
903 | exec,crab_install(B,posCRABB1,posCRABB2); |
---|
904 | exec,crab_install(C,posCRABC1,posCRABC2); |
---|