!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

! 3e12 PoT, randomized 1% sampling, LM
!m5_to_inj_offset = 0.042504644618375796
!m5_to_inj_pitch = -0.017369902520279656
! 3e12 PoT, randomized 1% sampling, HM
m5_to_inj_offset = 0.045922761721851946
m5_to_inj_pitch = -0.017961380052944446
!m5_to_inj_offset = 0.031405
!m5_to_inj_pitch = -0.0189821

lsdc = 1.5240
lmdc = 1.5065
lcda = 1.2192
l5d32 = 0.83185
lsdb = 3.048
lsddx = 1.660525
lpmag = 1.0290
lcmg = 2.0320
lsep = 1.8796

pang = -5.26740368e-02
cdang = -0.0522461761
sdbang = +0.161743
kick = 0.06783430
htheta3 = 0.0430959685
flatang = 0.103327-0.0005-0.00005-0.0001-.0003-0.0000867
phicmg = 35.5e-3
lvkick = 0.9525
phi2 = 39.0e-3
phi1 = 0.5*(83.189e-3-phicmg-phi2-0.362e-3)


brhogm2 = 10.32047016
brhom2e = 29.65013333

bpmag = pang*brhogm2/lpmag
bh812 = cdang*brhogm2/l5d32
bh726 = sdbang*brhom2e/lsdb
bv742 = kick*brhom2e/lmdc
bh744 = htheta3*brhom2e/lmdc
bv750 = flatang*brhom2e/lsddx
bcmag = phicmg*brhom2e/lcmg
bisep = phi2*brhom2e/lsep


pmag: sbend, e1 = pang/2, e2 = pang/2, type = "PMAG", l = pang*1.0290/(2*sin(pang/2)), angle =  &
        pang*1.0290/(2*sin(pang/2)) * 2*sin(pang/2)/1.0290

pmagcolls: RCOLLIMATOR, type = "PMAGcoll", x_limit = 0.0508/2.0, y_limit = 0.0349/2.0 !! x_limit = 0.0444/2.0
pmagcolle: RCOLLIMATOR, type = "PMAGcoll", x_limit = 0.0508/2.0, y_limit = 0.0349/2.0

!pmagcolls: marker
!pmagcolle: marker


h812: sbend, type = "B5D32", l = l5d32, angle = l5d32 * cdang/l5d32
h812coll: RCOLLIMATOR, type = "B5D32coll", x_limit = 5.125*0.0254/2.0, y_limit = 4.125*0.0254/2.0

!h812coll: marker


h726: sbend, e1 = sdbang/2., e2 = sdbang/2., type = "SDB", l = lsdb, angle = lsdb * sdbang/lsdb
h726coll: RCOLLIMATOR, type = "SDBcoll", x_limit = 6*0.0254/2.0, y_limit = 2.375*0.0254/2.0

!h726coll: marker


h729: sbend, e1 = sdbang/2., e2 = sdbang/2., type = "SDB", l = lsdb, angle = lsdb * sdbang/lsdb
h729coll: RCOLLIMATOR, type = "SDBcoll", x_limit = 6*0.0254/2.0, y_limit = 2.375*0.0254/2.0

!h729coll: marker


v742: sbend, e1 = kick/2, e2 = kick/2, type = "MDC", ref_tilt = +pi/2., l =  &
        kick*lmdc/(2*sin(kick/2)), angle = kick*lmdc/(2*sin(kick/2)) * 2*sin(kick/2)/lmdc
v742coll: RCOLLIMATOR, type = "MDCcollv", y_limit = 5.5*0.0254/2.0, x_limit = 2.27*0.0254/2.0

!v742coll: marker


v743: sbend, e1 = kick/2, e2 = kick/2, type = "MDC", ref_tilt = -pi/2., l =  &
        kick*lmdc/(2*sin(kick/2)), angle = kick*lmdc/(2*sin(kick/2)) * 2*sin(kick/2)/lmdc
v743coll: RCOLLIMATOR, type = "MDCcollv", y_limit = 5.5*0.0254/2.0, x_limit = 2.27*0.0254/2.0

!v743coll: marker


h744: sbend, e1 = htheta3/2, e2 = htheta3/2, type = "MDC", l = htheta3*lmdc/(2*sin(htheta3/2)),  &
        angle = htheta3*lmdc/(2*sin(htheta3/2)) * 2*sin(htheta3/2)/lmdc
h744coll: RCOLLIMATOR, type = "MDCcoll", x_limit = 5.5*0.0254/2.0, y_limit = 2.27*0.0254/2.0

!h744coll: marker


h748: sbend, e1 = htheta3/2, e2 = htheta3/2, type = "MDC", l = htheta3*lmdc/(2*sin(htheta3/2)),  &
        angle = htheta3*lmdc/(2*sin(htheta3/2)) * 2*sin(htheta3/2)/lmdc
h748coll: RCOLLIMATOR, type = "MDCcoll", x_limit = 5.5*0.0254/2.0, y_limit = 2.27*0.0254/2.0

!h748coll: marker


v750: sbend, e1 = flatang/2., e2 = flatang/2., type = "SDD", ref_tilt = pi/2., l = lsddx, angle &
         = lsddx * flatang/lsddx
v750coll: RCOLLIMATOR, type = "SDDcollv", y_limit = 6*0.0254/2.0, x_limit = 2.375*0.0254/2.0

!v750coll: marker


icmag: sbend, e1 = phicmg/2, e2 = phicmg/2, type = "CMAG", ref_tilt = -pi/2., l =  &
        phicmg*2.032/(2*sin(phicmg/2)), angle =  &
        phicmg*2.032/(2*sin(phicmg/2)) * 2*sin(phicmg/2)/2.032
icmagcoll: RCOLLIMATOR, type = "CMAGcollv", y_limit = 0.2/2.0, x_limit = 0.051/2.0   ! was y_limit = 0.14/2.0

!icmagcoll: marker

vkick: sbend, e1 = phi1/2, e2 = phi1/2, type = "WHATEVER", ref_tilt = -pi/2., l =  &
        phi1*lvkick/(2*sin(phi1/2)), angle = phi1*lvkick/(2*sin(phi1/2)) * 2*sin(phi1/2)/lvkick

! EV 12-Dec-2018: Added vkickdrift for inactive vkick
vkickdrift: drift, l = lvkick 


isep: sbend, e1 = phi2/2, e2 = phi2/2, type = "SEPT", ref_tilt = -pi/2., l =  &
        phi2*lsep/(2*sin(phi2/2)), angle = phi2*lsep/(2*sin(phi2/2)) * 2*sin(phi2/2)/lsep
isepcoll: RCOLLIMATOR, type = "SEPTcollv", y_limit = 0.086/2.0, x_limit = 0.047/2.0      ! was y_limit = 0.0533/2.0

!isepcoll: marker


str21: line = (dr301a, mss, vkick, mss, drsix, mss, vkick, mss, dr301b)


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --- QUADRUPOLES

lsqa = 0.422275
lsqb = 0.606425
lsqc = 0.66675
lsqd = 0.79375
lsqe = 1.27555
llqd = 0.86995
llqe = 0.758825
lbnl16 = 0.4064
l4q24 = 0.6096
l8q32 = 0.8128

!lsdc = 1.5240
!lmdc = 1.5065
!lcda = 1.2192
!lsdb = 3.048

! gradients:

kq801 = 4.044955e-01
kq802 = 4.545220e-01
kq803 = kq802
kq804 = 5.724863e-01
kq805 = 2.014050e-01
k120 = 1.130211e+00
kq810 = 3.482580e-01
kq811 = 1.206123e+00
kq812 = 6.342271e-01
kq706 = -3.511878e-01
kq707 = 4.369058e-01
kq708 = -3.550286e-01
k90 = 4.020263e-01
kq724 = -3.710059e-01
kq725 = 3.129529e-01
kq726 = -3.746000e-01
kq727 = 3.493677e-01
kq728 = -3.357855e-01
kq729 = kq727
k72 = 3.273558e-01
kq742 = -4.038534e-01
kq743 = 3.123014e-01
kq744 = -3.078791e-01
kq745 = 4.154591e-01
kq746 = -3.671481e-01
kq747 = kq746
kq748 = kq745
kq749 = -4.024958e-01
kq750 = 3.799135e-01
kq751 = -2.548739e-01
kq752 = kq751

kf1 = 3.91746204e-01
kd1 = -3.65693611e-01
kf2 = 3.84623511e-01
kd2 = -3.85006154e-01
kf3 = 3.28866162e-01
kd3 = -3.16682000e-01
kq306 = kd3
kq305 = kf3
kq304 = kd2
kq303 = kf2*lsqc/llqe
kq302 = kd1
kq301 = kf1
kq202 = kd1
kq203 = kf2
kq204 = kd2
kq205 = kf3
kq206 = kd3

!brhogm2 = 10.32047016
!brhom2e = 29.65013333

g801 = kq801*brhogm2
g802 = kq802*brhogm2
g803 = kq803*brhogm2
g804 = kq804*brhogm2
g805 = kq805*brhogm2
g120 = k120*brhogm2
g810 = kq810*brhogm2
g811 = kq811*brhogm2
g812 = kq812*brhogm2
g706 = kq706*brhom2e
g707 = kq707*brhom2e
g708 = kq708*brhom2e
g90 = k90*brhom2e
g724 = kq724*brhom2e
g725 = kq725*brhom2e
g726 = kq726*brhom2e
g727 = kq727*brhom2e
g728 = kq728*brhom2e
g72 = k72*brhom2e
g742 = kq742*brhom2e
g743 = kq743*brhom2e
g744 = kq744*brhom2e
g745 = kq745*brhom2e
g746 = kq746*brhom2e
g747 = kq747*brhom2e
g748 = kq748*brhom2e
g749 = kq749*brhom2e
g750 = kq750*brhom2e
g751 = kq751*brhom2e
g752 = kq752*brhom2e
g303 = kq303*brhom2e

sqxend: drift, l = 0.2032
bnlend: drift, l = 0.1016

! -------------------------------------------------------------------
hq801: quadrupole, type = "SQC_2", l = 0.5*lsqc, k1 = kq801
hq802: quadrupole, type = "SQC_2", l = 0.5*lsqc, k1 = -kq802
hq803: quadrupole, type = "SQC_2", l = 0.5*lsqc, k1 = -kq803
hq804: quadrupole, type = "SQC_2", l = 0.5*lsqc, k1 = kq804
q801: line = (mqq, hq801, mq801, hq801, mqq)
q802: line = (mqq, hq802, mq802, hq802, mqq)
q803: line = (mqq, hq803, mq803, hq803, mqq)
q804: line = (mqq, hq804, mq804, hq804, mqq, bxmax)
mq801: marker
mq802: marker
mq803: marker
mq804: marker
triplet1: line = (q801, dr801, q802, dr802a, vt802, dr802b, q803, dr803, q804)
! -----------------------------
hq805: quadrupole, type = "SQA_2", l = 0.5*lsqa, k1 = kq805
q805: line = (mqq, hq805, mq805, hq805, mqq)
mq805: marker
! ---------------------------------
! M2 120o FODO CELLS
hq806: quadrupole, type = "SQA_2", l = 0.5*lsqa, k1 = -k120
hq807: quadrupole, type = "SQA_2", l = 0.5*lsqa, k1 = k120
hq808: quadrupole, type = "SQA_2", l = 0.5*lsqa, k1 = -k120
hq809: quadrupole, type = "SQA_2", l = 0.5*lsqa, k1 = k120
mq806: marker
mq807: marker
mq808: marker
mq809: marker
q806: line = (mqq, hq806, mq806, hq806, mqq)
q807: line = (mqq, hq807, mq807, hq807, mqq)
q808: line = (mqq, hq808, mq808, hq808, mqq)
q809: line = (mqq, hq809, mq809, hq809, mqq)
! ---------------------------------------------------------------
hq810: quadrupole, type = "SQA_2", l = 0.5*lsqa, k1 = kq810
hq811: quadrupole, type = "SQA_2", l = 0.5*lsqa, k1 = -kq811

hq812: quadrupole, type = "BNL24_2", l = 0.5*l4q24, k1 = kq812, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

mq810: marker
mq811: marker
mq812: marker
q810: line = (mqq, hq810, mq810, hq810, mqq)
q811: line = (mqq, hq811, mq811, hq811, mqq)
q812: line = (mqq, hq812, mq812, hq812, mqq)
! --------------------------------------------------------
whq706: quadrupole, type = "SQD_2", l = 0.5*lsqd/5.0, k1 = kq706
whq707: quadrupole, type = "SQD_2", l = 0.5*lsqd/5.0, k1 = kq707
whq708: quadrupole, type = "SQB_2", l = 0.5*lsqb/5.0, k1 = kq708

hq706 : line = (whq706,whq706,whq706,whq706,whq706)
hq707 : line = (whq707,whq707,whq707,whq707,whq707)
hq708 : line = (whq708,whq708,whq708,whq708,whq708)

mq706: marker
mq707: marker
mq708: marker
q706: line = (mqq, hq706, mq706, hq706, mqq)
q707: line = (mqq, hq707, mq707, hq707, mqq)
q708: line = (mqq, hq708, mq708, hq708, mqq)
! -----------------------------------------------------------------
! M2/M3 90o FODO CELLS
whq709: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = k90
whq710: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = -k90
whq711: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = k90
whq712: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = -k90
whq713: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = k90
whq714: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = -k90
whq715: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = k90
whq716: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = -k90
whq717: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = k90
whq718: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = -k90
whq719: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = k90
whq720: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = -k90
whq721: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = k90
whq722: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = -k90
whq723: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = k90

hq709 : line = (whq709,whq709,whq709,whq709,whq709)
hq710 : line = (whq710,whq710,whq710,whq710,whq710)
hq711 : line = (whq711,whq711,whq711,whq711,whq711)
hq712 : line = (whq712,whq712,whq712,whq712,whq712)
hq713 : line = (whq713,whq713,whq713,whq713,whq713)
hq714 : line = (whq714,whq714,whq714,whq714,whq714)
hq715 : line = (whq715,whq715,whq715,whq715,whq715)
hq716 : line = (whq716,whq716,whq716,whq716,whq716)
hq717 : line = (whq717,whq717,whq717,whq717,whq717)
hq718 : line = (whq718,whq718,whq718,whq718,whq718)
hq719 : line = (whq719,whq719,whq719,whq719,whq719)
hq720 : line = (whq720,whq720,whq720,whq720,whq720)
hq721 : line = (whq721,whq721,whq721,whq721,whq721)
hq722 : line = (whq722,whq722,whq722,whq722,whq722)
hq723 : line = (whq723,whq723,whq723,whq723,whq723)

q709: line = (mqq, hq709, mq709, hq709, mqq)
q710: line = (mqq, hq710, mq710, hq710, mqq)
q711: line = (mqq, hq711, mq711, hq711, mqq)
q712: line = (mqq, hq712, mq712, hq712, mqq)
q713: line = (mqq, hq713, mq713, hq713, mqq)
q714: line = (mqq, hq714, mq714, hq714, mqq)
q715: line = (mqq, hq715, mq715, hq715, mqq)
q716: line = (mqq, hq716, mq716, hq716, mqq)
q717: line = (mqq, hq717, mq717, hq717, mqq)
q718: line = (mqq, hq718, mq718, hq718, mqq)
q719: line = (mqq, hq719, mq719, hq719, mqq)
q720: line = (mqq, hq720, mq720, hq720, mqq)
q721: line = (mqq, hq721, mq721, hq721, mqq)
q722: line = (mqq, hq722, mq722, hq722, mqq)
q723: line = (mqq, hq723, mq723, hq723, mqq)
mq709: marker
mq710: marker
mq711: marker
mq712: marker
mq713: marker
mq714: marker
mq715: marker
mq716: marker
mq717: marker
mq718: marker
mq719: marker
mq720: marker
mq721: marker
mq722: marker
mq723: marker
! ---------------------------------------------------------------
whq724: quadrupole, type = "SQC_2", l = 0.5*lsqc/5.0, k1 = kq724
whq725: quadrupole, type = "SQD_2", l = 0.5*lsqd/5.0, k1 = kq725
whq726: quadrupole, type = "SQB_2", l = 0.5*lsqb/5.0, k1 = kq726

hq724 : line = (whq724,whq724,whq724,whq724,whq724)
hq725 : line = (whq725,whq725,whq725,whq725,whq725)
hq726 : line = (whq726,whq726,whq726,whq726,whq726)

q724: line = (mqq, hq724, mq724, hq724, mqq)
q725: line = (mqq, hq725, mq725, hq725, mqq)
q726: line = (mqq, hq726, mq726, hq726, mqq)
mq724: marker
mq725: marker
mq726: marker
! --------------- StarChamberSmall "SSAQ" ----------------------------
hq727: quadrupole, type = "SSAQ", l = 0.5*lsqe, k1 = kq727
hq728: quadrupole, type = "SSAQ", l = 0.5*lsqe, k1 = kq728
hq729: quadrupole, type = "SSAQ", l = 0.5*lsqe, k1 = kq729
q727: line = (mqq, hq727, mq727, hq727, mqq)
q728: line = (mqq, hq728, mq728, hq728, mqq)
q729: line = (mqq, hq729, mq729, hq729, mqq)
mq727: marker
mq728: marker
mq729: marker
! --------------- StarChamberSmall "SSAQ" ----------------------------
! M2/M3 72o FODO CELLS
hq730: quadrupole, type = "SSAQ", l = 0.5*lsqc, k1 = -k72
hq731: quadrupole, type = "SSAQ", l = 0.5*lsqc, k1 = k72
hq732: quadrupole, type = "SSAQ", l = 0.5*lsqc, k1 = -k72
hq733: quadrupole, type = "SSAQ", l = 0.5*lsqc, k1 = k72
hq734: quadrupole, type = "SSAQ", l = 0.5*lsqc, k1 = -k72
hq735: quadrupole, type = "SSAQ", l = 0.5*lsqc, k1 = k72
hq736: quadrupole, type = "SSAQ", l = 0.5*lsqc, k1 = -k72
hq737: quadrupole, type = "SSAQ", l = 0.5*lsqc, k1 = k72
hq738: quadrupole, type = "SSAQ", l = 0.5*lsqc, k1 = -k72
hq739: quadrupole, type = "SSAQ", l = 0.5*lsqc, k1 = k72
hq740: quadrupole, type = "SSAQ", l = 0.5*lsqc, k1 = -k72
hq741: quadrupole, type = "SSAQ", l = 0.5*lsqc, k1 = k72
mq730: marker
mq731: marker
mq732: marker
mq733: marker
mq734: marker
mq735: marker
mq736: marker
mq737: marker
mq738: marker
mq739: marker
mq740: marker
mq741: marker
q730: line = (mqq, hq730, mq730, hq730, mqq)
q731: line = (mqq, hq731, mq731, hq731, mqq)
q732: line = (mqq, hq732, mq732, hq732, mqq)
q733: line = (mqq, hq733, mq733, hq733, mqq)
q734: line = (mqq, hq734, mq734, hq734, mqq)
q735: line = (mqq, hq735, mq735, hq735, mqq)
q736: line = (mqq, hq736, mq736, hq736, mqq)
q737: line = (mqq, hq737, mq737, hq737, mqq)
q738: line = (mqq, hq738, mq738, hq738, mqq)
q739: line = (mqq, hq739, mq739, hq739, mqq)
q740: line = (mqq, hq740, mq740, hq740, mqq)
q741: line = (mqq, hq741, mq741, hq741, mqq)
! --------------- StarChamberSmall "SSAQ" ----------------------------
mq742: marker
hq742: quadrupole, type = "SSAQ", l = lsqc*0.5, k1 = kq742
q742: line = (mqq, hq742, mq742, hq742, mqq)
mq743: marker
hq743: quadrupole, type = "SSAQ", l = lsqb*0.5, k1 = kq743
q743: line = (mqq, hq743, mq743, hq743, mqq)
mq744: marker
hq744: quadrupole, type = "SSAQ", l = lsqb*0.5, k1 = kq744
q744: line = (mqq, hq744, mq744, hq744, mqq)
! ------- Bend from M3 into the DR tunnel to align with M30 ----------
mq745: marker
mq746: marker
mq747: marker
mq748: marker
hq745: quadrupole, type = "SSAQ", l = 0.5*lsqe, k1 = kq745
hq746: quadrupole, type = "SSAQ", l = 0.5*lsqd, k1 = kq746
hq747: quadrupole, type = "SSAQ", l = 0.5*lsqd, k1 = kq747
hq748: quadrupole, type = "SSAQ", l = 0.5*lsqe, k1 = kq748
q745: line = (mqq, hq745, mq745, hq745, mqq)
q746: line = (mqq, hq746, mq746, hq746, mqq)
q747: line = (mqq, hq747, mq747, hq747, mqq)
q748: line = (mqq, hq748, mq748, hq748, mqq)
mqd0: marker
qd0trip: line = (q746, spread, mqd0, spread, q747)
mq749: marker
hq749: quadrupole, type = "SSAQ", l = 0.5*lsqc, k1 = kq749
q749: line = (mqq, hq749, mq749, hq749, mqq)
mq750: marker
hq750: quadrupole, type = "SSAQ", l = 0.5*lsqd, k1 = kq750
q750: line = (mqq, hq750, mq750, hq750, mqq)
mq751: marker
mq752: marker

hq751: quadrupole, type = "BNL16_2", l = 0.5*lbnl16, k1 = kq751, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

q751: line = (mqq, hq751, mq751, hq751, mqq)

hq752: quadrupole, type = "BNL16_2", l = 0.5*lbnl16, k1 = kq752, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

q752: line = (mqq, hq752, mq752, hq752, mqq)

hq302: sbend, e1 = (-14.156e-03*0.5)/2, e2 = (-14.156e-03*0.5)/2, &
type = "SQC_2", ref_tilt = -pi/2., &
l = (-14.156e-03*0.5)*0.5*lsqc/(2*sin((-14.156e-03*0.5)/2)), &
angle = (-14.156e-03*0.5)*0.5*lsqc/(2*sin((-14.156e-03*0.5)/2)) * &
2*sin((-14.156e-03*0.5)/2)/(0.5*lsqc), k1 = -kq302

hq301: sbend, e1 = (+3.671e-03*0.5)/2, e2 = (+3.671e-03*0.5)/2,   &
type = "SQC_2", ref_tilt = -pi/2., &
l = (+3.671e-03*0.5)*0.5*lsqc/(2*sin((+3.671e-03*0.5)/2)), &
angle = (+3.671e-03*0.5)*0.5*lsqc/(2*sin((+3.671e-03*0.5)/2)) * &
2*sin((+3.671e-03*0.5)/2)/(0.5*lsqc), k1 = -kq301

hq202: quadrupole, type = "SQC_2", l = 0.5*lsqc, k1 = kq202
hq203: quadrupole, type = "SQC_2", l = 0.5*lsqc, k1 = kq203
mq303: marker

hq303: sbend, e1 = (+29.948e-03*0.5)/2, e2 = (+29.948e-03*0.5)/2, &
type = "LQE_2", ref_tilt = -pi/2., &
l = (+29.948e-03*0.5)*0.5*llqe/(2*sin((+29.948e-03*0.5)/2)), &
angle = (+29.948e-03*0.5)*0.5*llqe/(2*sin((+29.948e-03*0.5)/2)) * &
2*sin((+29.948e-03*0.5)/2)/(0.5*llqe), k1 = -kq303


!!! ------------------ Q303, Q302 and Q301 -----


hq303coll: quadrupole, type = "LQE_2coll", l = 1.1e-6, k1 = 1.1e-12 !!!!!!!!!!!!!!!!!!!!!!!


hq302coll: ECOLLIMATOR, type = "SQC_2coll", x_limit = 6.625*0.0254/2.0, y_limit = 6.625*0.0254/2.0, &
y_offset = -0.04855


hq301coll: quadrupole, type = "SQC_2coll", l = 1.1e-6, k1 = 1.1e-12 !!!!!!!!!!!!!!!!!!!!!!!!!!

q303: line = (mqq, hq303, mq303, hq303, mqq)
mq302: marker

q302: line = (mqq, hq302, mq302, hq302, mqq)
mq301: marker

q301: line = (mqq, hq301, mq301, hq301, mqq)
mq202: marker

q202: line = (mqq, hq202, mq202, hq202, mqq)

dr303: drift, l = 0.3048+0.5*(llqd-llqe)

db305: marker
db304: marker

hq306: quadrupole, l = 0.5*lsqd, k1 = kq306
hq305: quadrupole, l = 0.5*lsqd, k1 = kq305
hq304: quadrupole, l = 0.5*lsqc, k1 = kq304

hq204: quadrupole, l = 0.5*lsqc, k1 = kq204
hq205: quadrupole, l = 0.5*lsqd, k1 = kq205
hq206: quadrupole, l = 0.5*lsqd, k1 = kq206

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ---- DRIFTS

dr800a: drift, l = 0.7225

dr800b1: drift, l = 7.039525/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr800b2: drift, l = 7.039525/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr800b3: drift, l = 7.039525/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr800b4: drift, l = 7.039525/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr800b5: drift, l = 7.039525/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr800b6: drift, l = 7.039525/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr800b7: drift, l = 7.039525/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr800b8: drift, l = 7.039525/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr800b9: drift, l = 7.039525/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr800b10: drift, l = 7.039525/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr801: drift, l = 0.65535
dr802a: drift, l = 0.396875
dr802b: drift, l = 0.468075
dr803: drift, l = 0.64115


!=======================================================

wdr804: drift, l = 4.082082/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr804: line = (wdr804,wdr804,wdr804,wdr804,wdr804,&
               wdr804,wdr804,wdr804,wdr804,wdr804)

!=======================================================

wdr805: drift, l = 1.57047036/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr805: line = (wdr805,wdr805,wdr805,wdr805,wdr805,&
               wdr805,wdr805,wdr805,wdr805,wdr805)

!=======================================================

wdr806: drift, l = 3.56321573/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr806: line = (wdr806,wdr806,wdr806,wdr806,wdr806,&
               wdr806,wdr806,wdr806,wdr806,wdr806)

!=======================================================

wdr807: drift, l = 3.56321573/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr807: line = (wdr807,wdr807,wdr807,wdr807,wdr807,&
               wdr807,wdr807,wdr807,wdr807,wdr807)

!=======================================================

wdr808: drift, l = 2.67421573/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr808: line = (wdr808,wdr808,wdr808,wdr808,wdr808,&
               wdr808,wdr808,wdr808,wdr808,wdr808)

!=======================================================

wdr809: drift, l = 1.76097036/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr809: line = (wdr809,wdr809,wdr809,wdr809,wdr809, &
               wdr809,wdr809,wdr809,wdr809,wdr809)

!=======================================================

dr810: drift, l = 0.45194326, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

!=======================================================

wdr811: drift, l = 2.45200623/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr811: line = (wdr811,wdr811,wdr811,wdr811,wdr811,&
               wdr811,wdr811,wdr811,wdr811,wdr811)

!=======================================================

wdr812: drift, l = 6.04837500/20.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr812 : line = (wdr812,wdr812,wdr812,wdr812,wdr812,&
                wdr812,wdr812,wdr812,wdr812,wdr812,&
                wdr812,wdr812,wdr812,wdr812,wdr812,&
                wdr812,wdr812,wdr812,wdr812,wdr812)

!=======================================================

dr705: drift, l = 6.93738000e-01, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

!=======================================================

wdr706: drift, l = 1.308927/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr706: line = (wdr706,wdr706,wdr706,wdr706,wdr706,&
               wdr706,wdr706,wdr706,wdr706,wdr706)

!=======================================================

wdr707: drift, l = 4.093293/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr707: line = (wdr707,wdr707,wdr707,wdr707,wdr707, &
               wdr707,wdr707,wdr707,wdr707,wdr707)

!=======================================================

wdr708: drift, l = 4.867103/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr708 : line = (wdr708,wdr708,wdr708,wdr708,wdr708,&
                wdr708,wdr708,wdr708,wdr708,wdr708)

!=======================================================

wdr709: drift, l = 3.947940/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr709 : line = (wdr709,wdr709,wdr709,wdr709,wdr709,&
                wdr709,wdr709,wdr709,wdr709,wdr709)

!=======================================================

wdr711: drift, l = 4.25274/10.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

dr711: line = (wdr711,wdr711,wdr711,wdr711,wdr711,&
               wdr711,wdr711,wdr711,wdr711,wdr711)

!=======================================================

wdrh90: drift, l = 2.418470/20.0, &
x_limit = 0.07, y_limit = 0.07, &
aperture_type = elliptical, aperture_at = continuous

drh90 : line = (wdrh90,wdrh90,wdrh90,wdrh90,wdrh90,&
                wdrh90,wdrh90,wdrh90,wdrh90,wdrh90,&
                wdrh90,wdrh90,wdrh90,wdrh90,wdrh90,&
                wdrh90,wdrh90,wdrh90,wdrh90,wdrh90)

dr717: drift, l = 4.333740
dr718: drift, l = 3.947940
dr719: drift, l = 4.252740
dr722: drift, l = 3.947940
dr724: drift, l = 3.198640
dr725: drift, l = 3.888096+0.381
dr726a: drift, l = 0.907585
dr726ab: drift, l = 0.2032
dr726b: drift, l = 1.516419-0.381-0.2032
dr727: drift, l = 1.879837
dr728: drift, l = 0.990837
dr729a: drift, l = 1.516419-0.381-0.2032
dr729ab: drift, l = 0.2032
dr729b: drift, l = 0.949325

drh72: drift, l = 2.473325, &
x_limit = 0.052, y_limit = 0.052, &
aperture_type = elliptical, aperture_at = continuous

dr730: drift, l = 4.36245+0.381
dr732: drift, l = 4.33705
dr736: drift, l = 4.03705
dr739: drift, l = 4.33705
dr740: drift, l = 3.98145
dr741: drift, l = 3.85286100e+00
dr742a: drift, l = 3.98462750e-01
dr742b: drift, l = 1.45197667e+00
dr743a: drift, l = 1.82029330e+00
dr743b: drift, l = 1.89297851e+00
dr744a: drift, l = 1.23815295e+00
dr744b: drift, l = 2.03200000e-01
dr744c: drift, l = 1.57633017e+00
dr745: drift, l = 7.95345830e-01
dr747: drift, l = 7.95345240e-01
dr748a: drift, l = 1.57633040e+00
dr748ab: drift, l = 2.03200000e-01
dr748b: drift, l = 6.18744560e-01-0.0508-0.0301625
dr749: drift, l = 4.94843400e-01+0.0508-0.1524-0.0301625-0.0635
dr750a: drift, l = 5.58800350e-01+0.1524-0.0635
dr750b: drift, l = 1.09443465e+00
dr752a: drift, l = 1.42912000e-01
dr752b: drift, l = 5.08000000e-01
dr301a: drift, l = 1.33032500e+00
dr301b: drift, l = 3.77825000e-01
drsix: drift, l = 0.1524
dr9in: drift, l = 0.2286
drft: drift, l = 0.3048
dr12: drift, l = 3.76555
dr23: drift, l = 1.47955
spread: drift, l = 4.06400000e-01
hblankc: drift, l = 0.333375

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ---- KICKERS, BPMS

! CORRECTORS   --------------------------------------------------------
! NDB    0.466725m (18.375") STEEL:   0.6858m (27.000") INSERTION
! NDA    0.165100m ( 6.500") STEEL:   0.4064m (16.000") INSERTION
! 9.1875"
hndb: drift, l = 0.2333625
! 4.3125"
ndbend: drift, l = 0.1095375
! 3.2500"
hnda: drift, l = 0.08255
! 4.7500"
ndaend: drift, l = 0.12065

! M2 -----

KVT802 = 0.0
KHT804 = 0.0
KVT804 = 0.0
KHT808 = 0.0
KVT811 = 0.0

vt802m: kicker, vkick = kvt802, type = "NDB"
ht804m: kicker, hkick = kht804, type = "NDB"
vt804m: kicker, vkick = kvt804, type = "NDB"
ht808m: kicker, hkick = kht808, type = "NDB"
vt811m: kicker, vkick = kvt811, type = "NDB"
vt802: line = (ndbend, mcc, hndb, vt802m, hndb, mcc, ndbend)
ht804: line = (ndbend, mcc, hndb, ht804m, hndb, mcc, ndbend)
vt804: line = (ndbend, mcc, hndb, vt804m, hndb, mcc, ndbend)
ht808: line = (ndbend, mcc, hndb, ht808m, hndb, mcc, ndbend)
vt811: line = (ndbend, mcc, hndb, vt811m, hndb, mcc, ndbend)


! M3 -----

KVT706 = 0.0
KHT707 = 0.0
KHT709 = 0.0
KHT718 = 0.0
KVT722 = 0.0
KVT724 = 0.0
KHT724 = 0.0
KVT728 = 0.0

KHT732 = 0.0
KVT736 = 0.0
KHT739 = 0.0
KHT743 = 0.0
KHT742 = 0.0
KVT743 = 0.0

KHS744 = 0.0
KHS748 = 0.0


vt706m: kicker, vkick = kvt706, type = "NDB"
ht707m: kicker, hkick = kht707, type = "NDB"
ht709m: kicker, hkick = kht709, type = "NDB"
ht718m: kicker, hkick = kht718, type = "NDB"
vt722m: kicker, vkick = kvt722, type = "NDB"
vt724m: kicker, vkick = kvt724, type = "NDB"
ht724m: kicker, hkick = kht724, type = "NDB"
vt728m: kicker, vkick = kvt728, type = "NDB"
ht732m: kicker, hkick = kht732, type = "NDA"
vt736m: kicker, vkick = kvt736, type = "NDA"
ht739m: kicker, hkick = kht739, type = "NDA"
ht743m: kicker, hkick = kht743, type = "NDA"
ht742m: kicker, hkick = kht742, type = "NDA"
vt743m: kicker, vkick = kvt743, type = "NDA"
hs744: kicker, hkick = 0.5*khs744, type = "SHUNT"
hs748: kicker, hkick = 0.5*khs748, type = "SHUNT"
vt706: line = (ndbend, mcc, hndb, vt706m, hndb, mcc, ndbend)
ht707: line = (ndbend, mcc, hndb, ht707m, hndb, mcc, ndbend)
ht709: line = (ndbend, mcc, hndb, ht709m, hndb, mcc, ndbend)
ht718: line = (ndbend, mcc, hndb, ht718m, hndb, mcc, ndbend)
vt722: line = (ndbend, mcc, hndb, vt722m, hndb, mcc, ndbend)
vt724: line = (ndbend, mcc, hndb, vt724m, hndb, mcc, ndbend)
ht724: line = (ndbend, mcc, hndb, ht724m, hndb, mcc, ndbend)
vt728: line = (ndbend, mcc, hndb, vt728m, hndb, mcc, ndbend)
ht732: line = (ndaend, mcc, hnda, ht732m, hnda, mcc, ndaend)
vt736: line = (ndaend, mcc, hnda, vt736m, hnda, mcc, ndaend)
ht739: line = (ndaend, mcc, hnda, ht739m, hnda, mcc, ndaend)
ht743: line = (ndaend, mcc, hnda, ht743m, hnda, mcc, ndaend)
ht742: line = (ndaend, mcc, hnda, ht742m, hnda, mcc, ndaend)
vt743: line = (ndaend, mcc, hnda, vt743m, hnda, mcc, ndaend)


! SECONDARY EMISSION MONITORS 0.3810m ----- 15.000" -------------------
! 7.500"

hsem: drift, l = 0.1905

! M2 -----

mw804: instrument, type = "SEM_Grid"
mw810: instrument, type = "SEM_Grid"
sem804: line = (mww, hsem, mw804, hsem, mww)
sem810: line = (mww, hsem, mw810, hsem, mww)

! M3 -----

mw706: instrument, type = "SEM_Grid"
mw711: instrument, type = "SEM_Grid"
mw719: instrument, type = "SEM_Grid"
mw726: instrument, type = "SEM_Grid"
mw729: instrument, type = "SEM_Grid"
mw740: instrument, type = "SEM_Grid"
mw744: instrument, type = "SEM_Grid"
mw748: instrument, type = "SEM_Grid"
sem706: line = (mww, hsem, mw706, hsem, mww)
sem711: line = (mww, hsem, mw711, hsem, mww)
sem719: line = (mww, hsem, mw719, hsem, mww)
sem726: line = (mww, hsem, mw726, hsem, mww)
sem729: line = (mww, hsem, mw729, hsem, mww)
sem740: line = (mww, hsem, mw740, hsem, mww)
sem744: line = (mww, hsem, mw744, hsem, mww)
sem748: line = (mww, hsem, mw748, hsem, mww)

! ION CHAMBERS 0.3810m ----- 15.000" ----------------------------------
! 7.500"
hic: drift, l = 0.1905
! M2 -----
ic804m: instrument, type = "Ion_Chamber"
ic804: line = (mww, hic, ic804m, hic, mww)
! M3 -----
ic740m: instrument, type = "Ion_Chamber"
ic740: line = (mww, hic, ic740m, hic, mww)

! TOROIDS 0.3000m -----------------------------------------------------
htor: drift, l = 0.1500
! M2 -----
tor804m: instrument, type = "Toroid"
tor804: line = (mww, htor, tor804m, htor, mww)
! M3 -----
tor717m: instrument, type = "Toroid"
tor736m: instrument, type = "Toroid"
tor752m: instrument, type = "Toroid"
tor717: line = (mww, htor, tor717m, htor, mww)
tor736: line = (mww, htor, tor736m, htor, mww)
tor752: line = (mww, htor, tor752m, htor, mww)
! ----------------------------------------------------------------------

! GENERIC MARKERS  :
!mdd: marker
mrr: marker
mvv: marker
mqq: marker
mll: marker
mgm: marker
mss: marker
mcc: marker
mbpm: marker
mww: marker
bxmax: marker
bymax: marker

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

! EV 22-Dec-2018: I divided the beamline into two parts.
! EV 22-Dec-2018: The first part lat_line_1 ends immediately after DR752A
! EV 22-Dec-2018: to match the G4Beamline script.
lat_line_1: line = ( DR800A, &          
PMAGcolls, &             
PMAG, &            
PMAGcolle, &             
DR800B1, DR800B2,DR800B3,DR800B4,DR800B5,DR800B6,DR800B7,DR800B8,DR800B9,DR800B10,&          
MQQ, &             
HQ801, &           
MQ801, &           
HQ801, &           
MQQ, &             
DR801, &           
MQQ, &             
HQ802, &           
MQ802, &           
HQ802, &           
MQQ, &             
DR802A, &          
NDBEND, &          
MCC, &             
HNDB, &            
VT802M, &          
HNDB, &            
MCC, &             
NDBEND, &          
DR802B, &          
MQQ, &             
HQ803, &           
MQ803, &           
HQ803, &           
MQQ, &             
DR803, &           
MQQ, &             
HQ804, &           
MQ804, &           
HQ804, &           
MQQ, &             
BXMAX, &           
SQXEND, &          
NDBEND, &          
MCC, &             
HNDB, &            
HT804M, &
HNDB, &            
MCC, &             
NDBEND, &          
DR804, &           
NDBEND, &          
MCC, &             
HNDB, &            
VT804M, &          
HNDB, &            
MCC, &             
NDBEND, &          
MWW, &             
HTOR, &            
HTOR, &            
MWW, &             
MWW, &             
HIC, &             
IC804M, &          
HIC, &             
MWW, &             
MWW, &             
HSEM, &            
MW804, &           
HSEM, &            
MWW, &             
SQXEND, &          
MQQ, &             
HQ805, &           
MQ805, &           
HQ805, &           
MQQ, &             
DR805, &           
MQQ, &             
HQ806, &           
MQ806, &           
HQ806, &           
MQQ, &             
DR806, &           
MQQ, &             
HQ807, &           
MQ807, &           
HQ807, &           
MQQ, &             
DR807, &           
MQQ, &             
HQ808, &           
MQ808, &           
HQ808, &           
MQQ, &             
SQXEND, &          
NDBEND, &          
MCC, &             
HNDB, &            
HT808M, &          
HNDB, &            
MCC, &             
NDBEND, &          
DR808, &           
MQQ, &             
HQ809, &           
MQ809, &           
HQ809, &           
MQQ, &             
DR809, &           
MQQ, &             
HQ810, &           
MQ810, &           
HQ810, &           
MQQ, &             
SQXEND, &          
MWW, &             
HSEM, &            
MW810, &           
HSEM, &            
MWW, &             
DR810, &           
MQQ, &             
HQ811, &           
MQ811, &           
HQ811, &           
MQQ, &             
SQXEND, &          
NDBEND, &          
MCC, &             
HNDB, &            
VT811M, &          
HNDB, &            
MCC, &             
NDBEND, &          
DR811, &           
MQQ, &             
HQ812, &           
MQ812, &           
HQ812, &           
MQQ, &             
DR812, &           
H812coll, &             
H812, &            
H812coll, &             
DR705, &           
MQQ, &             
HQ706, &           
MQ706, &           
HQ706, &           
MQQ, &             
SQXEND, &          
MWW, &             
HSEM, &            
MW706, &           
HSEM, &            
MWW, &             
NDBEND, &          
MCC, &             
HNDB, &            
VT706M, &          
HNDB, &            
MCC, &             
NDBEND, &          
DR706, &           
MQQ, &             
HQ707, &           
MQ707, &           
HQ707, &           
MQQ, &             
SQXEND, &          
NDBEND, &          
MCC, &             
HNDB, &            
HT707M, &          
HNDB, &            
MCC, &             
NDBEND, &          
DR707, &           
MQQ, &             
HQ708, &           
MQ708, &           
HQ708, &           
MQQ, &             
DR708, &           
MQQ, &             
HQ709, &           
MQ709, &           
HQ709, &           
MQQ, &             
SQXEND, &          
NDBEND, &          
MCC, &             
HNDB, &            
HT709M, &          
HNDB, &            
MCC, &             
NDBEND, &          
DR709, &           
MQQ, &             
HQ710, &           
MQ710, &           
HQ710, &           
MQQ, &             
DRH90, &           
DRH90, &           
MQQ, &             
HQ711, &           
MQ711, &           
HQ711, &           
MQQ, &             
SQXEND, &          
MWW, &             
HSEM, &            
MW711, &           
HSEM, &            
MWW, &             
DR711, &           
MQQ, &             
HQ712, &           
MQ712, &           
HQ712, &           
MQQ, &             
DRH90, &           
DRH90, &           
MQQ, &             
HQ713, &           
MQ713, &           
HQ713, &           
MQQ, &             
DRH90, &           
DRH90, &           
MQQ, &             
HQ714, &           
MQ714, &           
HQ714, &           
MQQ, &             
DRH90, &           
DRH90, &           
MQQ, &             
HQ715, &           
MQ715, &           
HQ715, &           
MQQ, &             
DRH90, &           
DRH90, &           
MQQ, &             
HQ716, &           
MQ716, &           
HQ716, &           
MQQ, &             
DRH90, &           
DRH90, &           
MQQ, &             
HQ717, &           
MQ717, &           
HQ717, &           
MQQ, &             
SQXEND, &          
MWW, &             
HTOR, &            
HTOR, &            
MWW, &             
DR717, &           
MQQ, &             
HQ718, &           
MQ718, &           
HQ718, &           
MQQ, &             
DR718, &           
NDBEND, &          
MCC, &             
HNDB, &            
HT718M, &          
HNDB, &            
MCC, &             
NDBEND, &          
SQXEND, &          
MQQ, &             
HQ719, &           
MQ719, &           
HQ719, &           
MQQ, &             
SQXEND, &          
MWW, &             
HSEM, &            
MW719, &           
HSEM, &            
MWW, &             
DR719, &           
MQQ, &             
HQ720, &           
MQ720, &           
HQ720, &           
MQQ, &             
DRH90, &           
DRH90, &           
MQQ, &             
HQ721, &           
MQ721, &           
HQ721, &           
MQQ, &             
DRH90, &           
DRH90, &           
MQQ, &             
HQ722, &           
MQ722, &           
HQ722, &           
MQQ, &             
SQXEND, &          
NDBEND, &          
MCC, &             
HNDB, &            
VT722M, &          
HNDB, &            
MCC, &             
NDBEND, &          
DR722, &           
MQQ, &             
HQ723, &           
MQ723, &           
HQ723, &           
MQQ, &             
DRH90, &           
DRH90, &           
MQQ, &             
HQ724, &           
MQ724, &           
HQ724, &           
MQQ, &             
DR724, &           
NDBEND, &          
MCC, &             
HNDB, &            
VT724M, &          
HNDB, &            
MCC, &             
NDBEND, &          
NDBEND, &          
MCC, &             
HNDB, &            
HT724M, &          
HNDB, &            
MCC, &             
NDBEND, &          
SQXEND, &          
MQQ, &             
HQ725, &           
MQ725, &           
HQ725, &           
MQQ, &             
SQXEND, &          
DR725, &           
MQQ, &             
HQ726, &           
MQ726, &           
HQ726, &           
MQQ, &             
DR726A, &          
H726coll, &             
H726, &            
H726coll, &             
DR726AB, &         
MWW, &             
HSEM, &            
MW726, &           
HSEM, &            
MWW, &             
DR726B, &          
MQQ, &             
HQ727, &           
MQ727, &           
HQ727, &           
MQQ, &             
DR727, &           
MQQ, &             
HQ728, &           
MQ728, &           
HQ728, &           
MQQ, &             
SQXEND, &          
NDBEND, &          
MCC, &             
HNDB, &            
VT728M, &          
HNDB, &            
MCC, &             
NDBEND, &          
DR728, &           
MQQ, &             
HQ729, &           
MQ729, &           
HQ729, &           
MQQ, &             
DR729A, &          
MWW, &             
HSEM, &            
MW729, &           
HSEM, &            
MWW, &             
DR729AB, &         
H729coll, &             
H729, &            
H729coll, &             
DR729B, &          
MQQ, &             
HQ730, &           
MQ730, &           
HQ730, &           
MQQ, &             
SQXEND, &          
DR730, &           
MQQ, &             
HQ731, &           
MQ731, &           
HQ731, &           
MQQ, &             
DRH72, &           
DRH72, &           
MQQ, &             
HQ732, &           
MQ732, &           
HQ732, &           
MQQ, &             
DR732, &           
NDAEND, &          
MCC, &             
HNDA, &            
HT732M, &          
HNDA, &            
MCC, &             
NDAEND, &          
SQXEND, &          
MQQ, &             
HQ733, &           
MQ733, &           
HQ733, &           
MQQ, &             
DRH72, &           
DRH72, &           
MQQ, &             
HQ734, &           
MQ734, &           
HQ734, &           
MQQ, &             
DRH72, &           
DRH72, &           
MQQ, &             
HQ735, &           
MQ735, &           
HQ735, &           
MQQ, &             
DRH72, &           
DRH72, &           
MQQ, &             
HQ736, &           
MQ736, &           
HQ736, &           
MQQ, &             
SQXEND, &          
MWW, &             
HTOR, &            
HTOR, &            
MWW, &             
NDAEND, &          
MCC, &             
HNDA, &            
VT736M, &          
HNDA, &            
MCC, &             
NDAEND, &          
DR736, &           
MQQ, &             
HQ737, &           
MQ737, &           
HQ737, &           
MQQ, &             
DRH72, &           
DRH72, & 
MQQ, &             
HQ738, &           
MQ738, &           
HQ738, &           
MQQ, &             
DRH72, &           
DRH72, &           
MQQ, &             
HQ739, &           
MQ739, &           
HQ739, &           
MQQ, &             
DR739, &           
NDAEND, &          
MCC, &             
HNDA, &            
HT739M, &          
HNDA, &            
MCC, &             
NDAEND, &          
SQXEND, &          
MQQ, &             
HQ740, &           
MQ740, &           
HQ740, &           
MQQ, &             
SQXEND, &          
MWW, &             
HSEM, &            
MW740, &           
HSEM, &            
MWW, &             
MWW, &             
HIC, &             
IC740M, &          
HIC, &             
MWW, &             
DR740, &           
MQQ, &             
HQ741, &           
MQ741, &           
HQ741, &           
MQQ, &             
DR741, &           
MQQ, &             
HQ742, &           
MQ742, &           
HQ742, &           
MQQ, &             
DR742A, &          
V742coll, &             
V742, &            
V742coll, &             
DR742B, &          
NDAEND, &          
MCC, &             
HNDA, &            
HT742M, &          
HNDA, &            
MCC, &             
NDAEND, &          
SQXEND, &          
MQQ, &             
HQ743, &           
MQ743, &           
HQ743, &           
MQQ, &             
DR743A, &          
V743coll, &             
V743, &            
V743coll, &             
DR743B, &          
NDAEND, &          
MCC, &             
HNDA, &            
VT743M, &          
HNDA, &            
MCC, &             
NDAEND, &          
SQXEND, &          
MQQ, &             
HQ744, &           
MQ744, &           
HQ744, &           
MQQ, &             
SQXEND, &          
DR744A, &          
H744coll, &             
HS744, &       
H744, &            
HS744, &           
H744coll, &             
DR744B, &          
MWW, &             
HSEM, &            
MW744, &           
HSEM, &            
MWW, &             
DR744C, &          
MQQ, &             
HQ745, &           
MQ745, &           
HQ745, &           
MQQ, &             
DR745, &           
MQQ, &             
HQ746, &           
MQ746, &           
HQ746, &           
MQQ, &             
SPREAD, &          
MQD0, &            
SPREAD, &          
MQQ, &             
HQ747, &           
MQ747, &           
HQ747, &           
MQQ, &             
DR747, &           
MQQ, &             
HQ748, &           
MQ748, &           
HQ748, &           
MQQ, &             
DR748A, &          
MWW, &             
HSEM, &            
MW748, &           
HSEM, &            
MWW, &             
DR748AB, &         
H748coll, &             
HS748, &           
H748, &            
HS748, &           
H748coll, &             
DR748B, &          
MQQ, &             
HQ749, &           
MQ749, &           
HQ749, &           
MQQ, &             
SQXEND, &          
DR749, &           
MQQ, &             
HQ750, &           
MQ750, &           
HQ750, &           
MQQ, &             
DR750A, &          
V750coll, &             
V750, &            
V750coll, &             
DR750B, &          
MQQ, &             
HQ751, &           
MQ751, &           
HQ751, &           
MQQ, &             
DR9IN, &           
HBLANKC, &         
DB304, &           
HBLANKC, &         
DR9IN, &           
MQQ, &             
HQ752, &           
MQ752, &           
HQ752, &           
MQQ, &             
BNLEND, &          
MWW, &             
HTOR, &            
HTOR, &            
MWW, &             
DR752A)
! EV 22-Dec-2018: The second part begins just before ICMAG and right after Q202.
lat_line_2: line = ( ICMAGcoll, &             
ICMAG, &           
ICMAGcoll, &             
DR752B, &          
HQ303coll, &             
HQ303, &           
HQ303coll, &           
HQ303, &           
HQ303coll, &             
DR303, &           
ISEPcoll, &             
ISEP, &            
ISEPcoll, &             
DR23, &            
HQ302coll, &             
HQ302, &           
HQ302coll, &           
HQ302, &           
HQ302coll, &             
DR12, &            
HQ301coll, &             
HQ301, &           
HQ301coll, &           
HQ301, &           
HQ301coll, &             
DR301A, &          
MSS, &             
VKICK, &           
MSS, &             
DRSIX, &           
MSS, &             
VKICK, &           
MSS, &             
DR301B, &          
MQQ, &             
HQ202, &           
MQ202, &           
HQ202, &           
MQQ)



!!!!!!!10!!!!!!!!!!!!!!!!!!30!!!!!!!!!!!!!!!!!!!!!!!!!!!!60!!!!!!!!!!!!!!!!!!80


momentum = 8.88890
tenergy = 8.93828
kenergy = 8.00000
brho = 3.335641*momentum

lsdd = 1.616075
lsqc_2 = 0.333375
lsqd_2 = 0.396875
llqd_2 = 0.434975
llqe_2 = 0.3794125
lsx = 0.187325

nbend = 66
! Bend angle per dipole
bang = -twopi/nbend !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

bdb: sbend, e1 = bang/2., e2 = bang/2., l = lsdd, angle = lsdd * bang/lsdd
mdd: RCOLLIMATOR, type = "bdbcoll", x_limit = 0.067, y_limit = 0.03 

!mdd: marker


! FOR THIRD INTEGER EXTRACTION:
! Quadrupoles:

kf = 3.55348090e-01
kd = -3.52562896e-01

hqf: quadrupole, l = lsqc_2, k1 = kf
hqd: quadrupole, l = lsqc_2, k1 = kd
hqf1: quadrupole, l = lsqc_2, k1 = kf1
hqd1: quadrupole, l = lsqc_2, k1 = kd1
hqf2: quadrupole, l = lsqc_2, k1 = kf2
hqd2: quadrupole, l = lsqc_2, k1 = kd2
hqf3: quadrupole, l = lsqd_2, k1 = kf3
hqd3: quadrupole, l = lsqd_2, k1 = kd3


! Oddball Quads for Injection Optics:
! Q303 is special large aperture for injection steering


hq303c: quadrupole, l = llqe_2, k1 = kq303
hq302c: quadrupole, l = lsqc_2, k1 = kq302
hq301c: quadrupole, l = lsqc_2, k1 = kq301

! Chromaticity Sextupoles:
! chromaticities : Cx ~ Cy ~0.

!!k2f = 0.71056+0.004 !! when bang angle (twopi/nbend) is positive
!!k2d = -1.08878-0.007 !! when bang angle (twopi/nbend) is positive

k2f = -0.71493 !! when bang angle (twopi/nbend) is negative
k2d = 1.09607 !! when bang angle (twopi/nbend) is negative


sf: sextupole, l = lsx, k2 = k2f
sd: sextupole, l = lsx, k2 = k2d

! 3rd harmonic sextupoles

ddd_str = 0.0

! hopefully this is 30o at ES

ddd_40_3: multipole, k2l = ddd_str*0.3000
ddd_40_2: multipole, k2l = -ddd_str*0.3000
ddd_40_1: multipole, k2l = ddd_str*0.3000
ddd_10_1: multipole, k2l = ddd_str
ddd_10_2: multipole, k2l = -ddd_str
ddd_10_3: multipole, k2l = ddd_str

! half-integer harmonic quadrupoles

kcos19 = 0.
ksin19 = 0.

qfcos19: multipole, k1l = kcos19
qdcos19: multipole, k1l = -kcos19
qfsin19: multipole, k1l = ksin19
qdsin19: multipole, k1l = -ksin19

! zeroth-harmonic quadrupoles

kzero = 0.
qfzeromlp: multipole, k1l = kzero

! zeroth harmonic octupoles

k3zero = 0.
octzero: multipole, k3l = k3zero

! Monitors:

hbpm: instrument, l = 0.1524
vbpm: instrument, l = 0.1524

! Drifts:

dr14: drift, l = 3.613159
dr14pt1: drift, l = 0.1688456
dr14pt2: drift, l = 3.613159-0.1688456
dr14c: drift, l = 3.613159-0.1016+llqd_2-llqe_2
dr45: drift, l = 3.549659
dr56: drift, l = 3.486159
dr67: drift, l = 3.549659
drds: drift, l = 0.922342
drb: drift, l = 1.074740
drmt: drift, l = 2.940109
drba: drift, l = 0.655667
drbb: drift, l = 0.668367
drms: drift, l = 0.079350
drsq: drift, l = 0.219050

! Magnet markers:

mqf: marker
mqd: marker

mqf4: marker
mqd3: marker
mqf3: marker
mqd2: marker
mqf2: marker
mqd1: marker
mqf1: marker

! "Missing Magnet" Dispersion Suppressor Cells

hcfdmt: line = (mqf, hqf, mqq, hbpm, drms, sf, drmt, sd, drsq, mqq, hqd)

hcdfmt: line = (mqd, hqd, mqq, vbpm, drms, sd, drmt, sf, drsq, mqq, hqf, &
mqf, mqq)

fmtcell: line = (hcfdmt, hcdfmt)

hcfdds: line = (mqq, mqf, hqf, mqq, hbpm, drds, mdd, bdb, mdd, drb, mqq, &
hqd)

hcdfds: line = (mqd, hqd, mqq, vbpm, drds, mdd, bdb, mdd, drbb, sf, drsq, &
mqq, hqf)

fdscell: line = (hcfdds, hcdfds)

! Standard Arc Cells

hcfd: line = (mqf, hqf, mqq, hbpm, drms, sf, drba, mdd, bdb, mdd, drbb, sd, &
drsq, mqq, hqd)

hcdf: line = (mqd, hqd, mqq, vbpm, drms, sd, drba, mdd, bdb, mdd, drbb, sf, &
drsq, mqq, hqf)

fcell: line = (hcfd, hcdf)
dcell: line = (hcdf, hcfd)

! non-standard Q19-Q20 half-cell

! (only very slightly 'non-standard' -- BPM's at both U/S & D/S ends)

hcfd1920: line = (mqf, hqf, mqq, hbpm, drms, sf, drba, mdd, bdb, mdd, drba, &
sd, drms, vbpm, mqq, hqd, mqd)

! Septum markers

e_septum: marker

!lambertson: marker

dr14_a: drift, l = 3.613159/2.0
dr14_b: drift, l = 3.613159/2.0

! -----------------------------------------------------------------------------
! Sextant Components:

qd1: line = (mqq, hqd1, mqd1, hqd1, mqq)
qd2: line = (mqq, hqd2, mqd2, hqd2, mqq)
qd3: line = (mqq, hqd3, mqd3, hqd3, mqq)
qf2: line = (mqq, hqf2, mqf2, hqf2, mqq)
qf3: line = (mqq, hqf3, mqf3, hqf3, mqq)

mq306: marker
mq305: marker
mq304: marker

mq203: marker
mq204: marker
mq205: marker
mq206: marker

! Injection Straight Quads

q306: line = (mqq, hq306, mq306, hq306, mqq)
q305: line = (mqq, hq305, mq305, hq305, mqq)
q304: line = (mqq, hq304, mq304, hq304, mqq)

q303c: line = (mqq, hq303c, mq303, hq303c, mqq)
q302c: line = (mqq, hq302c, mq302, hq302c, mqq)
q301c: line = (mqq, hq301c, mq301, hq301c, mqq)

!q202: line = (mqq, hq202, mq202, hq202, mqq)
q203: line = (mqq, hq203, mq203, hq203, mqq)
q204: line = (mqq, hq204, mq204, hq204, mqq)
q205: line = (mqq, hq205, mq205, hq205, mqq)
q206: line = (mqq, hq206, mq206, hq206, mqq)

straight10: line = (mqf1, hqf1, mqq, hbpm, octzero, ddd_10_1, dr14, qd1, &
vbpm, dr14, qf2, hbpm, ddd_10_2, dr14, qd2, vbpm, dr45, qdsin19, qf3, hbpm, &
ddd_10_3, dr56, qd3, vbpm, dr67, qfsin19, mqq, hqf, mqf4, mqq)

straight20: line = (vbpm, dr14, q203, hbpm, dr14, q204, vbpm, dr45, q205, &
hbpm, dr56, q206, vbpm, dr67, mqq, hqf, mqf4, mqq)

straight30: line = (mqf1, hq301c, mqq, hbpm, octzero, dr14, q302c, vbpm, &
dr14c, q303c, hbpm, dr14c, q304, vbpm, dr45, q305, hbpm, dr56, q306, vbpm, &
dr67, mqq, hqf, mqf4, mqq)

straight40: line = (mqf1, hqf1, mqq, hbpm, qfzeromlp, ddd_40_1, dr14, qd1, &
vbpm, dr14, qf2, hbpm, ddd_40_2, dr14, qd2, vbpm, dr45, qfsin19, qf3, hbpm, &
ddd_40_3, dr56, qd3, vbpm, dr67, qdsin19, mqq, hqf, mqf4, mqq)

straight50: line = (mqf1, hqf1, mqq, hbpm, octzero, dr14, qd1, vbpm, &
dr14, qf2, hbpm, dr14, qd2, vbpm, dr45, qfcos19, qf3, hbpm, dr56, qd3, vbpm, &
dr67, qdcos19, mqq, hqf, mqf4, mqq)

straight60: line = (mqf1, hqf1, mqq, hbpm, qfzeromlp, dr14, qd1, vbpm, dr14, &
qf2, hbpm, dr14, qd2, vbpm, dr45, qfcos19, qf3, hbpm, dr56, qd3, vbpm, dr67, &
qdcos19, mqq, hqf, mqf4, mqq)

suppress: line = (fdscell, fmtcell)
arc: line = (mqq, 4*fcell, hcfd1920, mqq)

sector10: line = (straight10, suppress, arc)
sector20: line = (straight20, suppress, arc)
sector30: line = (straight30, suppress, arc)
sector40: line = (straight40, suppress, arc)
sector50: line = (straight50, suppress, arc)
sector60: line = (straight60, suppress, arc)

! -----------------------------------------------------------------------------
! Ring:

mstr: marker
marc: marker

! Starting at d/s QS202 counter-clockwise: 

dring: line = (sector20, marc, -sector10, mstr, sector60, marc, -sector50, &
mstr, sector40, marc, -sector30, mstr, mq301, hq301c, mqq, hbpm, qfzeromlp, &
dr14, mqq, hq202, mq202, hq202, mqq)

!==============================================================================


!=========  g2full starts from mid of Q301 =================

!==================  Quadrupoles ===========================

k1QFS301H = 3.91746204E-01 ! 3.91746204e-01

k1QDS202 = -3.65693611E-01  ! -3.65693611e-01

k1QFS203 = 3.84623511E-01  ! 3.84623511e-01

k1QDS204 = -3.85006154E-01

k1QFS205 = 3.28866162E-01



!************************************************************************

QFS301H : quadrupole, l=0.333375, k1 = k1QFS301H

!************************************************************************

QDS202 : quadrupole, l=0.333375, k1 = k1QDS202

!************************************************************************

Q203kick = 0.00186449527/2.0

Q203ang =Q203kick*0.333375/(2*sin(Q203kick/2))*2*sin(Q203kick/2)/0.333375

QFS203 : sbend, e1 = Q203kick/2, e2 = Q203kick/2, &
         L =  Q203kick*0.333375/(2*sin(Q203kick/2)), angle = Q203ang, &
        k1 = k1QFS203


!QFS203 : quadrupole, l=0.333375, k1 = k1QFS203

!************************************************************************


Q204kick = -0.00282907474/2.0

Q204ang =Q204kick*0.333375/(2*sin(Q204kick/2))*2*sin(Q204kick/2)/0.333375

QDS204 : sbend, e1 = Q204kick/2, e2 = Q204kick/2, &
         L =  Q204kick*0.333375/(2*sin(Q204kick/2)), angle = Q204ang, &
        k1 = k1QDS204

!QDS204 : quadrupole, l=0.333375, k1 = k1QDS204

!************************************************************************


Q205kick = 0.00670792734

Q205ang =Q205kick*0.396875/(2*sin(Q205kick/2))*2*sin(Q205kick/2)/0.396875

QFS205H : sbend, e1 = Q205kick/2, e2 = Q205kick/2, &
         L =  0.396875, angle = Q205ang, &
        k1 = k1QFS205


Q205kickv = -0.0160937891

Q205angv =Q205kickv*0.396875/(2*sin(Q205kickv/2))*2*sin(Q205kickv/2)/0.396875

QFS205V : sbend, e1 = Q205kickv/2, e2 = Q205kickv/2, ref_tilt = pi/2., &
         L =  0.396875, angle = Q205angv, &
        k1 = -k1QFS205


QFS205coll : ECOLLIMATOR, x_limit = 0.203/2.0, y_limit = 0.203/2.0, &
x_offset = -0.02533, y_offset = -0.08146


!QFS205H : quadrupole, l=0.396875, k1 = k1QFS205
!QFS205V : quadrupole, l=0.396875, k1 = k1QFS205


!===================== Dipoles   ===========


lamkick = 0.04 !5.332682E-02

lamang = -lamkick*1.5/(2*sin(lamkick/2))*2*sin(lamkick/2)/1.5

lambertson: sbend, e1 = lamkick/2, e2 = lamkick/2, type = LAM, ref_tilt = pi/2., &
l =  lamkick*1.5/(2*sin(lamkick/2)), angle = lamang

lamScoll : RCOLLIMATOR, y_limit = 0.127/2.0, x_limit = 0.055/2.0, &
                        x_offset = 0.0072, y_offset = 0.0

lamEcoll : RCOLLIMATOR, y_limit = 0.127/2.0, x_limit = 0.055/2.0, &
                        x_offset = 0.0, y_offset = -0.03


GKICK10 = 0.0013

gkick10ang = - GKICK10*0.8/(2*sin(GKICK10/2))*2*sin(GKICK10/2)/0.8

GKICKER10 : sbend, e1 = GKICK10/2, e2 = GKICK10/2, &
            type = g2kick,& 
l = GKICK10*0.78/(2*sin(GKICK10/2)), angle = gkick10ang, &
x_limit = 0.045/2.0, &
aperture_type = rectangular, aperture_at = both_ends
! EV 01-Jan-2019: Changed 0.8 in GKICKER10.l to 0.78
! EV 01-Jan-2019: based on perscom from J.P. Morgan.

GKICKER20 : sbend, e1 = GKICK10/2, e2 = GKICK10/2, &
            type = g2kick,& 
l = GKICK10*0.78/(2*sin(GKICK10/2)), angle = gkick10ang, &
x_limit = 0.045/2.0, &
aperture_type = rectangular, aperture_at = both_ends
! EV 01-Jan-2019: Changed 0.8 in GKICKER20.l to 0.78
! EV 01-Jan-2019: based on perscom from J.P. Morgan.


GKICKER0   : drift, l = 1.50 
!GKICKER10  : drift, l = 0.80
!GKICKER20  : drift, l = 0.80 
SEPT1      : drift, l = 1.0
SEPT2      : drift, l = 2.0


!===============  Drifts  =================

cdrf_1     : drift, l = 0.4851180
cdrf_2     : drift, l = 1.5960140
cdrf_3     : drift, l = 0.4076 
! EV 01-Jan-2019: Changed cdrf_3.l 0.19245690 -> 0.56-0.1524 = 0.4076
! EV 01-Jan-2019: based on perscom from J.P. Morgan.
cdrf_3a    : drift, l = 0.11
! EV 01-Jan-2019: Changed cdrf_3a.l 0.10 -> 0.11
! EV 01-Jan-2019: based on perscom from J.P. Morgan.
cdrf_3b    : drift, l = 0.5+0.3
cdrf_3c    : drift, l = 0.40
cdrf_4     : drift, l = 0.105
! EV 01-Jan-2019: Changed cdrf_4.l 0.28943450 -> 1.505-0.40-1.0 = 0.105 
! EV 01-Jan-2019: based on perscom from J.P. Morgan.
cdrf_5     : drift, l = 0.2828550
cdrf_6     : drift, l = 1.29037250
cdrf_7     : drift, l = 1.72467290
cdrf_8     : drift, l = 0.34920
cdrf_9     : drift, l = 0.44180

!=======    Marker  ===========

QFZERO      : marker
GK          : marker
SEP         : marker

!=======   Monitors ============

!hbpm: instrument, l = 0.1524
!vbpm: instrument, l = 0.1524

!=======  Twiss ================

betaxini = 16.343137822
alfxini =  4.1003083313E-03
betayini =  5.1402250571
alfyini =  5.2377577889E-04


!============== Lines ==================================================

nextract20ext : line = (vbpm,cdrf_3,GK,&
             Gkicker10,cdrf_3a,gkicker20,cdrf_3c,SEP,sept1,cdrf_4, &
             2*QFS203, hbpm, &
             cdrf_5,sept2,&
             cdrf_6,2*QDS204,vbpm,cdrf_7,lamScoll,lambertson,lamEcoll, &
             cdrf_8,QFS205H,QFS205V,QFS205coll,hbpm,cdrf_9) 
nextract20exttokicker : line = (vbpm,cdrf_3,GK)

!============= Quadrupoles =============================================

Q901 : quadrupole, l= 0.2286,  k1 = -0.0883355872085/0.2286

Q902 : quadrupole, l= 0.41402, k1 = 0.0906682819613/0.41402

Q903 : quadrupole, l= 0.41402, k1 = -0.171900509406/0.41402

Q904 : quadrupole, l= 0.41402, k1 = 0.103973438543/0.41402

Q905 : quadrupole, l= 0.2286,  k1 = 0.0466593783575/0.2286

Q906 : quadrupole, l= 0.35052, k1 = -0.0456449774015/0.35052

Q907 : quadrupole, l= 0.41402, k1 = 0.0315305939505/0.41402


Q001 : quadrupole, l= 0.2286,  k1 = -0.130223652617/0.2286

Q002 : quadrupole, l= 0.3302,  k1 = 0.137957911093/0.3302, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q003 : quadrupole, l= 0.3302,  k1 = -0.0377546140936/0.3302, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q004 : quadrupole, l= 0.2286,  k1 = 0.0165184674908/0.2286

Q005 : quadrupole, l= 0.3302,  k1 = 0.0368462042760/0.3302, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q006 : quadrupole, l= 0.2286,  k1 = 0.186285034870/0.2286

Q007 : quadrupole, l= 0.3302,  k1 = -0.352686770433/0.3302, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q008 : quadrupole, l= 0.32004, k1 = 0.302660790515/0.32004

Q009 : quadrupole, l= 0.32004, k1 = 0.302660790515/0.32004

Q010 : quadrupole, l= 0.3302,  k1 = -0.352686770433/0.3302, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q011 : quadrupole, l= 0.2286,  k1 = 0.186285034870/0.2286

Q012 : quadrupole, l= 0.3302,  k1 = 0.137852500198/0.3302, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q013 : quadrupole, l= 0.3302,  k1 = -0.154785164811/0.3302, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q014 : quadrupole, l= 0.3302,  k1 = 0.103024933903/0.3302, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q015 : quadrupole, l= 0.3302,  k1 = -0.103513305481/0.3302, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q016 : quadrupole, l= 0.3302,  k1 = 0.120072293306/0.3302, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

!=============================================================

Q017 : quadrupole, l= 0.3302,  k1 = -0.111914457105/0.3302, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q018 : quadrupole, l= 0.3302,  k1 = 0.120072293306/0.3302, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q019 : quadrupole, l= 0.3302,  k1 = -0.111914457105/0.3302, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q020 : quadrupole, l= 0.3302,  k1 = 0.165247341201/0.3302, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q021 : quadrupole, l= 0.2286,  k1 = 0.00438377221127/0.2286, &
x_limit = 0.10056/2.0, y_limit = 0.10056/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q022 : quadrupole, l= 0.4350,  k1 = -0.0974510185308/0.435, &
x_limit = 0.1524/2.0, y_limit = 0.1524/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q023 : quadrupole, l= 0.4350,  k1 = 0.193440210375/0.435, &
x_limit = 0.1524/2.0, y_limit = 0.1524/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q024 : quadrupole, l= 0.4350,  k1 = -0.250696604031/0.435, &
x_limit = 0.1524/2.0, y_limit = 0.1524/2.0, &
aperture_type = elliptical, aperture_at = both_ends

Q025 : quadrupole, l= 0.3236,  k1 = 0.197096614530/0.3236, &
x_limit = 0.1524/2.0, y_limit = 0.1524/2.0, &
aperture_type = elliptical, aperture_at = both_ends

!=============================================================
!
!Q017 : quadrupole, l= 0.3302,  k1 = -3.122329E-01, &
!x_limit = 1.10056/2.0, y_limit = 1.10056/2.0, &
!aperture_type = elliptical, aperture_at = both_ends
!
!Q018 : quadrupole, l= 0.3302,  k1 = 4.104652E-01, &
!x_limit = 1.10056/2.0, y_limit = 1.10056/2.0, &
!aperture_type = elliptical, aperture_at = both_ends
!
!Q019 : quadrupole, l= 0.3302,  k1 = -2.452246E-01, &
!x_limit = 1.10056/2.0, y_limit = 1.10056/2.0, &
!aperture_type = elliptical, aperture_at = both_ends
!
!Q020 : quadrupole, l= 0.3302,  k1 = 4.779935E-01, &
!x_limit = 1.10056/2.0, y_limit = 1.10056/2.0, &
!aperture_type = elliptical, aperture_at = both_ends
!
!Q021 : quadrupole, l= 0.2286,  k1 = -1.307692E-01, &
!x_limit = 1.10056/2.0, y_limit = 1.10056/2.0, &
!aperture_type = elliptical, aperture_at = both_ends
!
!Q022 : quadrupole, l= 0.4350,  k1 = -3.722038E-01 , &
!x_limit = 1.1524/2.0, y_limit = 1.1524/2.0, &
!aperture_type = elliptical, aperture_at = both_ends
!
!Q023 : quadrupole, l= 0.4350,  k1 = 8.130749E-01, &
!x_limit = 1.1524/2.0, y_limit = 1.1524/2.0, &
!aperture_type = elliptical, aperture_at = both_ends
!
!Q024 : quadrupole, l= 0.4350,  k1 = -6.832934E-01, &
!x_limit = 1.1524/2.0, y_limit = 1.1524/2.0, &
!aperture_type = elliptical, aperture_at = both_ends
!
!Q025 : quadrupole, l= 0.3236,  k1 = 2.376102E-01, &
!x_limit = 1.1524/2.0, y_limit = 1.1524/2.0, &
!aperture_type = elliptical, aperture_at = both_ends
!
!==================  Kickers ==============================

HT900  : kicker, l = 0.165100, hkick = 0.0, vkick = 0.0

HT901  : kicker, l = 0.466725, hkick = 0.0, vkick = 0.0

HT905  : kicker, l = 0.466725, hkick = 0.0, vkick = 0.0

HT906  : kicker, l = 0.466725, hkick = 0.0, vkick = 0.0

HT000  : kicker, l = 0.165100, hkick = 0.0, vkick = 0.0

VT005  : kicker, l = 0.165100, hkick = 0.0, vkick = 0.0

HT005  : kicker, l = 0.165100, hkick = 0.0, vkick = 0.0

HT011  : kicker, l = 0.165100, hkick = 0.0, vkick = 0.0

VT011  : kicker, l = 0.165100, hkick = 0.0, vkick = 0.0

VT017  : kicker, l = 0.165100, hkick = 0.0, vkick = 0.0

VT018  : kicker, l = 0.165100, hkick = 0.0, vkick = 0.0

HT019  : kicker, l = 0.165100, hkick = 0.0, vkick = 0.0

HT020  : kicker, l = 0.165100, hkick = 0.0, vkick = 0.0

VT023  : kicker, l = 0.466725, hkick = 0.0, vkick = 0.0

HT024  : kicker, l = 0.466725, hkick = 0.0, vkick = 0.0


!==================  Dipols ==============================

!*****rotated C magnet to deliver a small horz kick and large vert bend

!-----------------------

tang = -0.01023631671*(-14.0)*0.0

cang = - 0.0572

ECMAG: sbend, e1 = cang/2, e2 = cang/2, type = Cmag, &
l = cang*2.2/(2*sin(cang/2)), ref_tilt=pi/2-tang,       &
angle = cang*2.2/(2*sin(cang/2))*2*sin(cang/2)/2.2

!-----------------------

V901: sbend, e1 = 0.11341001/2, e2 = 0.11341001/2, type = EDWA, &
l = 0.11341001*3.048/(2*sin(0.11341001/2)), ref_tilt=pi/2,          &
angle = 0.11341001*3.048/(2*sin(0.11341001/2))*2*sin(0.11341001/2)/3.048

!-----------------------

MDCang = -0.0663765

V906 : sbend, e1 = MDCang/2, e2 = MDCang/2, type = MDC, &
l = MDCang*1.524/(2*sin(MDCang/2)), ref_tilt=pi/2, &
angle = MDCang*1.524/(2*sin(MDCang/2))*2*sin(MDCang/2)/1.524

!-----------------------

dang = -0.024877531 + 0.002*0.0

V907 : sbend, e1 = (MDCang+dang)/2, e2 = (MDCang+dang)/2, type = MDC, &
l = (MDCang+dang)*1.524/(2*sin((MDCang+dang)/2)), ref_tilt=pi/2, &
angle = (MDCang+dang)*1.524/(2*sin((MDCang+dang)/2))*2*sin((MDCang+dang)/2)/1.524

!-----------------------

anglv3 = -2*MDCang - dang

V003 : sbend, e1 = anglv3/2, e2 = anglv3/2, type = MDC, &
l = anglv3*1.524/(2*sin(anglv3/2)), ref_tilt=pi/2, &
angle = anglv3*1.524/(2*sin(anglv3/2))*2*sin(anglv3/2)/1.524

!-----------------------

hbangle = - 9.027532679*pi/180.0

H005 : sbend, e1 = hbangle/2, e2 = hbangle/2, type = MDC, &
l = hbangle*1.524/(2*sin(hbangle/2)), &
angle = hbangle*1.524/(2*sin(hbangle/2))*2*sin(hbangle/2)/1.524, &
x_limit = 0.140/2.0, y_limit = 0.058/2.0, &
aperture_type = rectangular, aperture_at = both_ends

H008 : sbend, e1 = hbangle/2, e2 = hbangle/2, type = MDC, &
l = hbangle*1.524/(2*sin(hbangle/2)), &
angle = hbangle*1.524/(2*sin(hbangle/2))*2*sin(hbangle/2)/1.524, &
x_limit = 0.140/2.0, y_limit = 0.058/2.0, &
aperture_type = rectangular, aperture_at = both_ends

H011 : sbend, e1 = hbangle/2, e2 = hbangle/2, type = MDC, &
l = hbangle*1.524/(2*sin(hbangle/2)), &
angle = hbangle*1.524/(2*sin(hbangle/2))*2*sin(hbangle/2)/1.524, &
x_limit = 0.140/2.0, y_limit = 0.058/2.0, &
aperture_type = rectangular, aperture_at = both_ends

!-----------------------

!==================  MONITOR/INSTRUMENT ============

B_SWIC : INSTRUMENT, l = 0.15875 !(MONITOR) 
MIC    : INSTRUMENT, l = 0.15875 !(INSTRUMENT)

!==================  WEDGE =========================

! M5 wedge
in2m = 0.0254
wedge_length = (3.15-2.37)*in2m
t0 = 2*2.56*in2m
wedge_height=1.91*in2m
delta_x = -0.010
! negative slope, x_offset must include the wedge length. x1_edge = 0, x2_edge = wedge_length 
wedge : foil, material_type = "B4C", density =  (2.34e3, 2.267e3), scatter_method = lynch_dahl, x1_edge = 0, x2_edge = wedge_length, dthickness_dx = -t0/wedge_length, thickness = t0, x_offset = delta_x - wedge_length, y1_edge=-wedge_height/2, y2_edge=wedge_height/2
! Add the rectangular section of the wedge
! Place them in sequence, so not use z_offset since it causes scattering through a "gap" between the two foils. 
box_length = 2.37*in2m
box: foil, material_type = "B4C", density =  (2.34e3, 2.267e3), scatter_method = lynch_dahl, x1_edge = -box_length, x2_edge = 0, thickness = t0, x_offset = delta_x - wedge_length, y1_edge=-wedge_height/2, y2_edge=wedge_height/2 ! , z_offset = -t0

!==================  Drift =========================

DCMAGCOIL : drift, l = 0.128725000000    
BEL : drift, l = 0.127000000000    
DNDA_COIL : drift, l = 0.698500000000E-01
CDRF_10 : drift, l = 0.794254000000E-01
DQCOIL : drift, l = 0.101600000000    
DQDS206 : drift, l = 0.828040000000    

DFLAN : drift, l = 0.101600000000    
DFLAN_before_wedge : drift, l = 0.058562
DFLAN_after_wedge: drift, l = 0.043038
CDRF_13 : drift, l = 0.421912000000E-01
DCEDWA : drift, l = 0.165100000000    
DFLAN1 : drift, l = 0.101600000000    
DNDB_COIL : drift, l = 0.587375000000E-01
CDRF_14 : drift, l = 0.651266130000E-01
CDRF_17 : drift, l = 0.965313500000    
CDRF_18 : drift, l = 0.715113500000    
CDRF_19_2 : drift, l =  1.43601875000    
CDRF_20 : drift, l = 0.715488000000    
DCMDC : drift, l = 0.159893000000    
CDRF_21 : drift, l = 0.508382000000    
CDRF_22 : drift, l =  1.01702500000    
CDRF_23 : drift, l = 0.278033500000    
CDRF_23A : drift, l = 0.111507000000    
GVDRF_1 : drift, l = 0.964143500000    
GVDRF_2B : drift, l =  2.00000000000    
GVDRF_3 : drift, l = 0.936440000000    
GVDRF_4 : drift, l = 0.834840000000    
GVDRF_5 : drift, l = 0.978100000000E-01
GVHDRF_1 : drift, l = -0.481781800000E-02
GVHDRF_2 : drift, l = 0.930612183000    
GVHDRF_3 : drift, l = 0.592398183000    
GVHDRF_4 : drift, l = -0.548617861000    
GVHDRF_5 : drift, l = 0.312527100000    
DRGB1 : drift, l = 0.797570000000E-01
DRGB2 : drift, l = 0.343282000000    
GHDRF_1 : drift, l = 0.607950000000    
DRGB4A : drift, l = 0.516510000000    
DRGB3 : drift, l = 0.251842000000    
DRGB4 : drift, l = 0.251842000000    

DRGB5 : drift, l = 0.343282000000    
DRGB6 : drift, l = 0.797570000000E-01
DRFOD1 : drift, l = -0.132712000000    
DRFOD2 : drift, l = 0.540939200000
DRFOD3 : drift, l =  5.14027590000
DRFOD4AAA : drift, l =  5.39775000200    
DRFOD4 : drift, l =  5.55650000200   
DRFOD4AA : drift, l =  5.04850000200   
DRFOD4A : drift, l =  5.25166400200  
DRFOD5 : drift, l = 0.316100000000E-03
DM1 : drift, l = 0.500000000000    
GFODRF_1M : drift, l =  3.62175134900    
GFODRF_2M : drift, l =  4.06238696500 
GFODRF_3M : drift, l =  2.04582298500    
DQ24TOSQA : drift, l = 0.101600000000    
DCTO24 : drift, l = 0.203200000000E-01
DNEW1 : drift, l =  3.22052140000    
DLQCOIL : drift, l = 0.177800000000    
DNEW2 : drift, l = 0.75862334000

DQFFTR : drift, l = 0.423750-0.09773826440832 ! EV 29-May-2020: IBMS1 is here
DQFFTR2_length = 0.09773826440832
DQFFTR2: drift, l = DQFFTR2_length

!=================  Marker ======================

IECMAG  : RCOLLIMATOR, type = "Cmag", y_limit = 0.11/2.0, x_limit = 0.051/2.0
IPW900  :  MARKER
IHT900  :  MARKER
IQ901  :   MARKER
IV901  : RCOLLIMATOR, type = "MDCcol", y_limit = 0.140/2.0, x_limit = 0.058/2.0
IHT901  :  MARKER
IQ902  :   MARKER
IQ903  :   MARKER
IQ904  :   MARKER
IPW904  :  MARKER
IQ905  :   MARKER
IHT905  :  MARKER
IQ906  :   MARKER
MV906  :   MARKER
IV906  : RCOLLIMATOR, type = "MDCcol", y_limit = 0.140/2.0, x_limit = 0.058/2.0
IHT906  :  MARKER
IQ907  :   MARKER
MV907  :   MARKER
IV907  : RCOLLIMATOR, type = "MDCcol", y_limit = 0.140/2.0, x_limit = 0.058/2.0
IPWC000  :  MARKER
IHT000  :  MARKER
IQ001  :   MARKER
IQ002  :   MARKER
IQ003  :   MARKER
MV003  :   MARKER
IV003  : RCOLLIMATOR, type = "MDCcol", y_limit = 0.140/2.0, x_limit = 0.058/2.0
IQ004  :   MARKER
IQ005  :   MARKER
IVT005  :  MARKER
IHT005  :  MARKER
IPWC005  :  MARKER
IH005  :   MARKER
IQ006  :   MARKER
IQ007  :   MARKER
IQ008  :   MARKER
IH008  :   MARKER
IQ009  :   MARKER
IQ010  :   MARKER
IQ011  :   MARKER
IH011  :   MARKER
IPWC011  :  MARKER
IHT011  :  MARKER
IVT011  :  MARKER
IQ012  :   MARKER
IQ013  :   MARKER
IQ014  :   MARKER
IPW014  :  MARKER
IQ015  :   MARKER
IQ016  :   MARKER
IQ017  :   MARKER
IVT017  :  MARKER
IQ018  :   MARKER
IVT018  :  MARKER
IQ019  :   MARKER
IHT019  :  MARKER
IPW019  :  MARKER
IQ020  :   MARKER
IHT020  :  MARKER
IQ021  :   MARKER
IPW021  :  MARKER
IQ022  :   MARKER
IQ023  :   MARKER
IVT023  :  MARKER
IQ024  :   MARKER
IHT024  :  MARKER
IQ025  :   MARKER
IPW025  :  MARKER
IIC025  :  MARKER
MTPT  :    MARKER
infkicker : MARKER

!======== Line - g2full ========================

g2full_2_PWC900 : line = (IECMAG, &
ECMAG, &
IECMAG, &           
DCMAGCOIL, &       
IPW900)
g2full_2 : line = (IECMAG, &          
ECMAG, &
IECMAG, &           
DCMAGCOIL, &       
IPW900, &          
B_SWIC, &          
BEL, &             
DNDA_COIL, &       
IHT900, &          
HT900, &           
DNDA_COIL, &       
CDRF_10, &         
DQCOIL, &          
DQDS206, &         
DQCOIL, &          
DFLAN, &           
DQCOIL, &          
IQ901, &           
Q901, &            
Q901, &            
DQCOIL, &          
DFLAN, &           
CDRF_13, &         
BEL, &             
DCEDWA, &          
IV901, &           
V901, &
IV901, &            
DCEDWA, &          
DFLAN, &           
BEL, &             
DFLAN1, &          
DNDB_COIL, &       
IHT901, &          
HT901, &           
DFLAN1, &          
DNDB_COIL, &       
CDRF_14, &         
DFLAN, &           
DQCOIL, &          
IQ902, &           
Q902, &            
Q902, &            
DQCOIL, &          
DFLAN, &           
CDRF_17, &         
DFLAN, &           
DQCOIL, &          
IQ903, &           
Q903, &            
Q903, &            
DQCOIL, &          
DFLAN, &           
CDRF_18, &         
DFLAN, &           
DQCOIL, &          
IQ904, &           
Q904, &            
Q904, &            
DQCOIL, &          
DFLAN, &           
CDRF_19_2, &       
IPW904, &          
B_SWIC, &          
CDRF_19_2, &       
DFLAN, &           
DQCOIL, &          
IQ905, &           
Q905, &            
Q905, &            
DQCOIL, &          
DFLAN, &           
CDRF_20, &         
DFLAN1, &          
DNDB_COIL, &       
IHT905, &          
HT905, &           
DNDB_COIL, &       
DFLAN1, &          
DFLAN, &           
DQCOIL, &          
IQ906, &           
Q906, &            
Q906, &            
DQCOIL, &          
DFLAN, &           
BEL, &             
MV906, &           
DFLAN, &           
DCMDC, &           
IV906, &           
V906, &
IV906, &             
DCMDC, &           
DFLAN, &           
MV906, &           
BEL, &             
CDRF_21, &         
CDRF_22, &         
DFLAN1, &          
DNDB_COIL, &       
IHT906, &          
HT906, &           
DNDB_COIL, &       
DFLAN1, &          
DFLAN, &           
DQCOIL, &          
IQ907, &           
Q907, &            
Q907, &            
DQCOIL, &          
DFLAN, &           
CDRF_23, &         
BEL, &             
MV907, &           
DFLAN, &           
DCMDC, &           
IV907, &           
V907, &
IV907, &            
DCMDC, &           
DFLAN, &           
MV907, &           
BEL, &             
CDRF_23A, &        
GVDRF_1, &         
GVDRF_1, &         
DFLAN1, &          
IPWC000, &         
B_SWIC, &          
DFLAN1, &          
GVDRF_2B, &        
DFLAN1, &          
DNDA_COIL, &       
IHT000, &          
HT000, &           
DNDA_COIL, &       
DFLAN1, &          
DFLAN, &           
DQCOIL, &          
IQ001, &           
Q001, &            
Q001, &            
DQCOIL, &          
DFLAN, &           
GVDRF_3, &         
DFLAN, &           
DQCOIL, &          
IQ002, &           
Q002, &            
Q002, &            
DQCOIL, &          
DFLAN, &           
GVDRF_4, &         
DFLAN, &           
DQCOIL, &          
IQ003, &           
Q003, &            
Q003, &            
DQCOIL, &          
DFLAN, &           
GVDRF_5, &         
BEL, &             
MV003, &           
DFLAN, &           
DCMDC, &           
IV003, &           
V003, &
IV003, &            
DCMDC, &           
DFLAN, &           
MV003, &           
GVHDRF_1, &        
DFLAN, &           
DQCOIL, &          
IQ004, &           
Q004, &            
Q004, &            
DQCOIL, &          
DFLAN, &           
GVHDRF_2, &        
GVHDRF_3, &        
DFLAN, &           
DQCOIL, &          
IQ005, &           
Q005, &            
Q005, &            
DQCOIL, &          
DFLAN, &           
GVHDRF_4, &        
GVHDRF_5, &        
DFLAN1, &          
DNDA_COIL, &       
IVT005, &          
VT005, &           
DNDA_COIL, &       
DFLAN1, &          
DFLAN1, &          
DNDA_COIL, &       
IHT005, &          
HT005, &           
DNDA_COIL, &       
DFLAN1, &          
IPWC005, &         
B_SWIC, &          
DRGB1, &           
DFLAN, &           
DCMDC, &           
IH005, &           
H005, &            
DCMDC, &           
DFLAN, &           
DRGB2, &           
IQ006, &           
Q006, &            
Q006, &            
GHDRF_1, &         
IQ007, &           
Q007, &            
Q007, &            
DRGB4A, &          
IQ008, &           
Q008, &            
Q008, &            
DRGB3, &           
DFLAN, &           
DCMDC, &           
IH008, &           
H008, &            
DCMDC, &    
! EV 10-Feb-2023: added thewedge       
DFLAN_before_wedge, &      
wedge, &     
box, &
DFLAN_after_wedge, &           
DRGB4, &           
IQ009, &           
Q009, &            
Q009, &            
DRGB4A, &          
IQ010, &           
Q010, &            
Q010, &            
GHDRF_1, &         
IQ011, &           
Q011, &            
Q011, &            
DRGB5, &           
DFLAN, &           
DCMDC, &           
IH011, &           
H011, &            
DCMDC, &           
DFLAN, &           
DRGB6, &           
IPWC011, &         
B_SWIC, &          
DFLAN1, &          
DNDA_COIL, &       
IHT011, &          
HT011, &           
DNDA_COIL, &       
DFLAN1, &          
DNDA_COIL, &       
IVT011, &          
VT011, &           
DNDA_COIL, &       
DFLAN1, &          
DRFOD1, &          
DFLAN, &           
DQCOIL, &          
IQ012, &           
Q012, &            
Q012, &            
DFLAN, &           
DQCOIL, &          
DRFOD2, &          
DFLAN, &           
DQCOIL, &          
IQ013, &           
Q013, &            
Q013, &            
DFLAN, &           
DQCOIL, &          
DRFOD3, &          
DFLAN, &           
DQCOIL, &          
IQ014, &           
Q014, &            
Q014, &            
DFLAN, &           
DQCOIL, &          
DRFOD4AAA, &       
IPW014, &          
B_SWIC, &          
DFLAN, &           
DQCOIL, &          
IQ015, &           
Q015, &            
Q015, &            
DFLAN, &           
DQCOIL, &          
DRFOD4, &          
DFLAN, &           
DQCOIL, &          
IQ016, &           
Q016, &            
Q016, &            
DFLAN, &           
DQCOIL, &          
DRFOD4, &          
DFLAN, &           
DQCOIL, &          
IQ017, &           
Q017, &            
Q017, &            
DFLAN, &           
DQCOIL, &          
DFLAN1, &          
DNDA_COIL, &       
IVT017, &          
VT017, &           
DNDA_COIL, &       
DFLAN1, &          
DRFOD4AA, &        
DFLAN, &           
DQCOIL, &          
IQ018, &           
Q018, &            
Q018, &            
DFLAN, &           
DQCOIL, &          
DRFOD4A, &         
DFLAN1, &          
DNDA_COIL, &       
IVT018, &          
VT018, &           
DNDA_COIL, &       
DFLAN1, &          
DFLAN, &           
DQCOIL, &          
IQ019, &           
Q019, &            
Q019, &            
DFLAN, &           
DQCOIL, &          
DRFOD5, &          
DM1, &             
DFLAN1, &          
DNDA_COIL, &       
IHT019, &          
HT019, &           
DNDA_COIL, &       
DFLAN1, &          
GFODRF_1M, &       
IPW019, &          
B_SWIC, &          
DFLAN, &           
DQCOIL, &          
IQ020, &        
Q020, &        
Q020, &            
DFLAN, &           
DQCOIL, &          
GFODRF_2M, &       
DFLAN1, &          
DNDA_COIL, &       
IHT020, &          
HT020, &           
DNDA_COIL, &       
DFLAN1, &          
GFODRF_3M, &       
DQ24TOSQA, &       
DCTO24, &          
DFLAN, &           
DQCOIL, &          
IQ021, &           
Q021, &            
Q021, &            
DQCOIL, &          
DFLAN, &           
DCTO24, &          
DQ24TOSQA, &       
DNEW1, &           
IPW021, &          
B_SWIC, &          
DFLAN, &           
DLQCOIL, &         
IQ022, &           
Q022, &            
Q022, &            
DLQCOIL, &         
DFLAN, &           
DNEW2, &           
DFLAN, &           
DLQCOIL, &         
IQ023, &           
Q023, &            
Q023, &            
DLQCOIL, &         
DFLAN, &           
DFLAN1, &          
DNDB_COIL, &       
IVT023, &          
VT023, &           
DNDB_COIL, &       
DFLAN1, &          
DFLAN, &           
DLQCOIL, &         
IQ024, &           
Q024, &            
Q024, &            
DLQCOIL, &         
DFLAN, &           
DFLAN1, &          
DNDB_COIL, &       
IHT024, &          
HT024, &           
DNDB_COIL, &       
DFLAN1, &          
DFLAN, &           
DQCOIL, &          
IQ025, &           
Q025, &            
Q025, &
infkicker, &        
DQCOIL, DFLAN, IPW025)
g2full_3 : line = (B_SWIC, IIC025, MIC, DQFFTR) ! Up to IBMS 1
g2full_4 : line = (DQFFTR2, MTPT) ! From IBMS 1 to End of M5 line
q025dtoendofM5 : line = (infkicker, DQCOIL, DFLAN, &
IPW025, B_SWIC, IIC025, MIC, DQFFTR, DQFFTR2, MTPT)
! MTPT: end of M5 line 30 cm from yoke

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


!===  Turn before extraction (from end-of-Q202 to mid-Q301) ======
!======   line - dringext =================================

! EV 22-Dec-2018: I divided the beamline into two parts.
! EV 22-Dec-2018: The first part dringext_1 ends immediately before Q303
! EV 22-Dec-2018: to match the G4Beamline script.
! EV 23-Dec-2018: QA check OK.
dringext_1a : line = (VBPM,&
DR14,&
MQQ,&
HQ203,&
MQ203,&
HQ203,&
MQQ,&
HBPM,&
DR14,&
MQQ,&
HQ204,&
MQ204,&
HQ204,&
MQQ,&
VBPM,&
DR45,&
MQQ,&
HQ205,&
MQ205,&
HQ205,&
MQQ,&
HBPM,&
DR56,&
MQQ,&
HQ206,&
MQ206,&
HQ206)
dringext_1b1 : line = (MQQ,&
VBPM,&
DR67,&
MQQ,&
HQF,&
MQF4,&
MQQ,&
MQQ,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRDS,&
MDD,&
BDB,&
MDD,&
DRB,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRDS,&
MDD,&
BDB,&
MDD,&
DRBB,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRMT,&
SD,&
DRSQ,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRMT,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
MQQ,&
MQQ,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SD,&
DRSQ,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SD,&
DRSQ,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SD,&
DRSQ,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SD,&
DRSQ,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBA,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
MQQ,&
MARC,&
MQQ,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBA,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRSQ,&
SD,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRSQ,&
SD,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRSQ,&
SD,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRSQ,&
SD,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
MQQ,&
MQQ,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRMT,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRSQ,&
SD,&
DRMT,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRDS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRB,&
MDD,&
BDB,&
MDD,&
DRDS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
MQQ,&
MQQ,&
MQF4,&
HQF,&
MQQ,&
QFSIN19,&
DR67,&
VBPM,&
MQQ,&
HQD3,&
MQD3,&
HQD3,&
MQQ,&
DR56,&
DDD_10_3,&
HBPM,&
MQQ,&
HQF3,&
MQF3,&
HQF3,&
MQQ,&
QDSIN19,&
DR45,&
VBPM,&
MQQ,&
HQD2,&
MQD2,&
HQD2,&
MQQ,&
DR14,&
DDD_10_2,&
HBPM,&
MQQ,&
HQF2,&
MQF2,&
HQF2,&
MQQ,&
DR14,&
VBPM,&
MQQ,&
HQD1,&
MQD1,&
HQD1,&
MQQ,&
DR14,&
DDD_10_1,&
OCTZERO,&
HBPM,&
MQQ,&
HQF1,&
MQF1,&
MSTR,&
MQF1,&
HQF1,&
MQQ,&
HBPM,&
QFZERO,&
DR14,&
MQQ,&
HQD1,&
MQD1,&
HQD1,&
MQQ,&
VBPM,&
DR14,&
MQQ,&
HQF2,&
MQF2,&
HQF2,&
MQQ,&
HBPM,&
DR14,&
MQQ,&
HQD2,&
MQD2,&
HQD2,&
MQQ,&
VBPM,&
DR45,&
QFCOS19,&
MQQ,&
HQF3,&
MQF3,&
HQF3,&
MQQ,&
HBPM,&
DR56,&
MQQ,&
HQD3,&
MQD3,&
HQD3,&
MQQ,&
VBPM,&
DR67,&
QDCOS19,&
MQQ,&
HQF,&
MQF4,&
MQQ,&
MQQ,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRDS,&
MDD,&
BDB,&
MDD,&
DRB,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRDS,&
MDD,&
BDB,&
MDD,&
DRBB,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRMT,&
SD,&
DRSQ,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRMT,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
MQQ,&
MQQ,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SD,&
DRSQ,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SD,&
DRSQ,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SD,&
DRSQ,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SD,&
DRSQ,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBA,&
SD,&
DRMS,&
VBPM)
dringext_1b2pt1 : line = (MQQ,&
HQD,&
MQD,&
MQQ,&
MARC,&
MQQ,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBA,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRSQ,&
SD,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRSQ,&
SD,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRSQ,&
SD,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRSQ,&
SD,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
MQQ,&
MQQ,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRMT,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRSQ,&
SD,&
DRMT,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRDS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRB,&
MDD,&
BDB,&
MDD,&
DRDS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
MQQ,&
MQQ,&
MQF4,&
HQF,&
MQQ,&
QDCOS19,&
DR67,&
VBPM,&
MQQ,&
HQD3,&
MQD3,&
HQD3,&
MQQ,&
DR56,&
HBPM,&
MQQ,&
HQF3,&
MQF3,&
HQF3,&
MQQ,&
QFCOS19,&
DR45,&
VBPM,&
MQQ,&
HQD2,&
MQD2,&
HQD2,&
MQQ,&
DR14,&
HBPM,&
MQQ,&
HQF2,&
MQF2,&
HQF2,&
MQQ,&
DR14,&
VBPM,&
MQQ,&
HQD1,&
MQD1,&
HQD1,&
MQQ,&
DR14,&
OCTZERO,&
HBPM,&
MQQ,&
HQF1,&
MQF1,&
MSTR,&
MQF1,&
HQF1,&
MQQ,&
HBPM,&
QFZERO,&
DDD_40_1,&
DR14,&
MQQ,&
HQD1,&
MQD1,&
HQD1,&
MQQ,&
VBPM,&
DR14pt1)
!DR14,&
! EVV 29Dec2022: abort kicker starts here
dringext_1b2pt2 : line = (DR14pt2,
MQQ,&
HQF2,&
MQF2,&
HQF2,&
MQQ,&
HBPM,&
DDD_40_2,&
DR14,&
MQQ,&
HQD2,&
MQD2,&
HQD2,&
MQQ,&
VBPM,&
DR45,&
QFSIN19,&
MQQ,&
HQF3,&
MQF3,&
HQF3,&
MQQ,&
HBPM,&
DDD_40_3,&
DR56,&
MQQ,&
HQD3,&
MQD3,&
HQD3,&
MQQ,&
VBPM,&
DR67,&
QDSIN19,&
MQQ,&
HQF,&
MQF4,&
MQQ,&
MQQ,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRDS,&
MDD,&
BDB,&
MDD,&
DRB,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRDS,&
MDD,&
BDB,&
MDD,&
DRBB,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRMT,&
SD,&
DRSQ,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRMT,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
MQQ,&
MQQ,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SD,&
DRSQ,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SD,&
DRSQ,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SD,&
DRSQ,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SD,&
DRSQ,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBB,&
SF,&
DRSQ,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
HBPM,&
DRMS,&
SF,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBA,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
MQQ,&
MARC,&
MQQ,&
MQD,&
HQD,&
MQQ,&
VBPM,&
DRMS,&
SD,&
DRBA,&
MDD,&
BDB,&
MDD,&
DRBA,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRSQ,&
SD,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRSQ,&
SD,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRSQ,&
SD,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRSQ,&
SD,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRBA,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
MQQ,&
MQQ,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRMT,&
SD,&
DRMS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRSQ,&
SD,&
DRMT,&
SF,&
DRMS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
HQF,&
MQQ,&
DRSQ,&
SF,&
DRBB,&
MDD,&
BDB,&
MDD,&
DRDS,&
VBPM,&
MQQ,&
HQD,&
MQD,&
HQD,&
MQQ,&
DRB,&
MDD,&
BDB,&
MDD,&
DRDS,&
HBPM,&
MQQ,&
HQF,&
MQF,&
MQQ,&
MQQ,&
MQF4,&
HQF,&
MQQ,&
DR67,&
VBPM,&
MQQ)
dringext_1c : line = (HQ306,&
MQ306,&
HQ306,&
MQQ,&
DR56,&
HBPM,&
MQQ,&
HQ305,&
MQ305,&
HQ305,&
MQQ,&
DR45,&
VBPM,&
MQQ,&
HQ304,&
MQ304,&
HQ304,&
MQQ,&
DR14C,&
HBPM)
! EV 22-Dec-2018: Continuing the DR beamline from right before Q303 to mid-Q301.
! EV 23-Dec-2018: QA check OK.
dringext_2 : line = (MQQ,&
HQ303C,&
MQ303,&
HQ303C,&
MQQ,&
DR14C,&
VBPM,&
MQQ,&
HQ302C,&
MQ302,&
HQ302C,&
MQQ,&
DR14,&
OCTZERO,&
HBPM,&
MQQ,&
HQ301C,&
MQF1,&
MSTR,&
MQ301)
! EV 22-Dec-2018: Continuing the DR beamline from mid-Q301 to right after Q202.
! EV 23-Dec-2018: QA check OK.
dringext_3 : line = (HQ301C,&
MQQ,&
DR301A,&
MSS,&
VKICKDRIFT,&
MSS,&
DRSIX,&
MSS,&
VKICKDRIFT,&
MSS,&
DR301B,&
MQQ,&
HQ202,&
MQ202,&
HQ202,&
MQQ)

!==============================================================================
! EV 15-Mar-2019: Injection line elements added
!==============================================================================

!===[ Backleg_start ]===!

backhole_x_ap = 0.12
backhole_y_ap = 0.12
backleg_start: marker, x_limit= backhole_x_ap, y_limit= backhole_y_ap

!===[ Fringe ]===!

fringe_field_scale= -1.0 
call, file=backleg/ring_inject_bfield3d_wuzheng_extended.bmad !fringe
fringe[field_overlaps] = {cryo_us, inflector}
fringe[x_limit] = 0.1

!===[ Mark_cryo_us ]===!

MARK_CRYO_US:      marker, x_limit = 0.009, y_limit = 0.028, offset_moves_aperture=.true.!, tracking_method=custom ! upstream inflector cryo window

!===[ Cryo_us ]===!

cryo_us:  pipe, l=0.119886, tracking_method = runge_kutta, mat6_calc_method = tracking

!===[ Mark_inflector_us ]===!

MARK_INFLECTOR_US: marker, x_limit = 0.009, y_limit = 0.028, offset_moves_aperture=.true.!, tracking_method = custom ! upstream  inflector end

!===[ Inflector ]===!

inf_field_scale= -1.0      !1.012747
!inf_field_scale = -0.9000000000000221
call, file=backleg/inf_field_alone.bmad  ! inflector
inflector[aperture_at] = continuous
inflector[aperture_type] = wall3d
inflector[wall] = { superimpose = .true., thickness = 0.00001,        &
          section = { type = wall_start, s = 0.0,      v(1) = {0.009,-0.016}, v(2) = {0.009, 0.016}, &
                      v(3) = {0.002,0.028}, v(4) = {-0.009,0.028}, v(5) = {-0.009,-0.028}, v(6) = {0.002,-0.028} }, &
          section = { type = wall_end, s = 1.7,    v(1) = {0.009,-0.016}, v(2) = {0.009, 0.016}, &
                      v(3) = {0.002,0.028}, v(4) = {-0.009,0.028}, v(5) = {-0.009,-0.028}, v(6) = {0.002,-0.028} } }
inflector[offset_moves_aperture]:= .true.

!===[ Mark_inflector_ds ]===!

MARK_INFLECTOR_DS: marker, x_limit = 0.009, y_limit = 0.028, offset_moves_aperture=.true.!, tracking_method = custom ! downstream inflector end

!*********************************************
! IBMS LATTICE ELEMENTS
!*********************************************

! David Sagan: The routine offset_particle will transform from lab coords to element body coords and back. To see an example of its use see bmad/low_level/track_a_thick_multipole.f90

! IBMS1 (Brynn MacCoy, UW Elog 614): 4397.0 mm upstream of injection point (along tangent line / nominal beamline)
!                                    45.0 mm radially in from tangent line / Centered horizontally on nominal beamline (0 mm)
!                                    Centered vertically on ring plane
IBMS1:  marker, superimpose, ref = mark_inflector_ds, offset = -4.397, ref_origin = beginning, tracking_method = custom, & 
	x_offset = m5_to_inj_offset-DQFFTR2_length*sin(m5_to_inj_pitch)-0.045*cos(m5_to_inj_pitch), &
        z_offset = DQFFTR2_length*(1-cos(m5_to_inj_pitch))+0.045*sin(m5_to_inj_pitch), x_pitch = m5_to_inj_pitch
! IBMS2 (Brynn MacCoy, UW Elog 614): Tangent line coords:
!                                    1950.5 mm upstream of injection point (along tangent line / nominal beamline)
!                                    10.9 mm radially out from tangent line / 2.6 mm radially out from nominal beamline
!                                    0.9 mm above ring plane 
IBMS2:  marker, superimpose, ref = mark_inflector_ds, offset = -1.950, ref_origin = beginning, tracking_method = custom

!===[ Injection_line ]===!

injection_line: line=(backleg_start, fringe, mark_cryo_us, cryo_us, mark_inflector_us, inflector, mark_inflector_ds)

!==============================================================================

targ : drift, l = 0.0000001

!==============================================================================

lat_line: line = (lat_line_1, lat_line_2)
dringext_1b2: line = (dringext_1b2pt1, dringext_1b2pt2)
dringext_1b: line = (dringext_1b1, dringext_1b2)
dringext_1: line = (dringext_1a, dringext_1b, dringext_1c)
dringext: line = (dringext_1, dringext_2)
g2full: line = (nextract20ext, g2full_2, g2full_3, g2full_4)
g2PWC900: line = (nextract20ext, g2full_2_PWC900)

g2_to_PWC025 : line = (nextract20ext, g2full_2)

m2m3_dr: line = (lat_line, g2full)
!m2m3_dr: line = (lat_line)

drt1: line = (lat_line_2, dringext_1)
drtn: line = (dringext_2, dringext_3, dringext_1)

drt2: line = (drt1, drtn)
drt3: line = (drt2, drtn)
drt4: line = (drt3, drtn)

drt3extract: line = (drt3, dringext_2, dringext_3, g2full)
drt4extract: line = (drt4, dringext_2, dringext_3, g2full)
drt4_to_PWC025 : line = (drt4, dringext_2, dringext_3, g2_to_PWC025)
drt4extpt: line = (drt4, dringext_2, dringext_3, nextract20ext)

drt4toabortkicker : line = (drt3, dringext_2, dringext_3, dringext_1a, dringext_1b1, dringext_1b2pt1)

drt05: line = (lat_line_2, dringext_1a)
drt065: line = (lat_line_2, dringext_1a, dringext_1b1)
drt075: line = (lat_line_2, dringext_1a, dringext_1b)

!==============================================================================
! EV 15-Mar-2019: added injection line code
!m5_to_inj: patch, x_offset= 4.3477e-02, x_pitch= -2.0681e-02
!m5_to_inj: patch, x_offset=0, x_pitch=-2.0e-02
!m5_to_inj: patch, x_offset= 3.7e-02, x_pitch= -1.6e-02
!m5_to_inj: patch, x_offset=0.0403523, x_pitch=-0.0172 ! Optimized for 1e10 PoT
!m5_to_inj: patch, x_offset=0.0443997, x_pitch=-0.0184 ! Reoptimized for 1e12 PoT
!m5_to_inj : patch, x_offset=0.05169794460812111, x_pitch=-0.017795372035644786 ! For optimization
!m5_to_inj: patch, x_offset=0.042504644618375796, x_pitch=-0.017369902520279656 ! 3e12 PoT, randomized 1% sampling, LM
!m5_to_inj: patch, x_offset=0.045922761721851946, x_pitch=-0.017961380052944446 ! 3e12 PoT, randomized 1% sampling, HM
m5_to_inj: patch, x_offset=m5_to_inj_offset, x_pitch=m5_to_inj_pitch

inj_to_ring: patch, x_offset=-0.077
m5_patch_to_inj_to_ring: line = (m5_to_inj, injection_line, inj_to_ring)
m5_patch_to_inj: line = (m5_to_inj, injection_line)
IBMS1_to_inj_to_ring: line = (g2full_4, m5_patch_to_inj_to_ring)

drt3extfull: line = (drt3, dringext_2, dringext_3, g2full, m5_patch_to_inj_to_ring)
drt4extfull: line = (drt4, dringext_2, dringext_3, g2full, m5_patch_to_inj_to_ring)
drt4extPWC900: line = (drt4, dringext_2, dringext_3, g2PWC900)

q025dtoring: line = (q025dtoendofM5, m5_patch_to_inj_to_ring)

! TODO: Use patch element and HT020, HT024 kickers for optimization.

!use, m2m3_dr
!use, m5_patch_to_inj_to_ring
!use, IBMS1_to_inj_to_ring
!use, drt4extract
!use, eofM3_to_IBMS1
use, drt4_to_PWC025
!use, drt4extfull
!use, drt4toabortkicker
!use, drt4extPWC900
!use, q025dtoring

expand_lattice

! Tracking method bmad_standard was set for all elements in the original m2m3dr_track.
! However, the injection channel uses custom
! drt4extract>>*[tracking_method] = bmad_standard
! q025toring>>*[tracking_method] = bmad_standard
! *[tracking_method] = bmad_standard


!IBMS1[x_offset]=m5_to_inj[x_offset]-DQFFTR2[l]*sin(m5_to_inj[x_pitch])
!IBMS1[z_offset]=DQFFTR2[l]*(1-cos(m5_to_inj[x_pitch]))
!IBMS1[x_pitch]=m5_to_inj[x_pitch]
!IBMS*[tracking_method] = custom

*[spin_tracking_method] = tracking   ! tracking


!expand_lattice
!call, filename='offset/All250t5/quad_offset_data_250t5_v20.txt'

!==============================================================================

!  2.4589858845E+03  1.8607019997E+01  6.5466935197E+01 -1.8817085198E-01  2.7743304464E+00  3.9687339753E+00 -3.9131940701E-03

!  4.3788505552E+02  1.8448754335E+01  6.4933760453E+01 -1.8801772611E-01  2.7797320752E+00  3.9632671914E+00 -3.9131796749E-03
