[430] | 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); |
---|