! Threader example OPTION, -ECHO, -WARN, INFO; en:=2; beam,energy:=en,ex=1.e-6,ey=1.e-3,sigt=1e-3,sige=1e-3; // element definitions mb:rbend, l=14.2, angle:=bang;!,tilt=pi/2; mq:quadrupole, l:=3.1,apertype=ellipse,aperture={1,2}; qft:mq, l:=0.31, k1:=kqf;!,tilt=-pi/4; qf.1:mq, l:=3.1, k1:=kqf; qf.2:mq, l:=3.1, k1:=kqf; qf.3:mq, l:=3.1, k1:=kqf; qf.4:mq, l:=3.1, k1:=kqf; qf.5:mq, l:=3.1, k1:=kqf; qd.1:mq, l:=3.1, k1:=kqd; qd.2:mq, l:=3.1, k1:=kqd; qd.3:mq, l:=3.1, k1:=kqd; qd.4:mq, l:=3.1, k1:=kqd; qd.5:mq, l:=3.1, k1:=kqd; bph:hmonitor, l:=l.bpm; bpv:vmonitor, l:=l.bpm; cbh:hkicker; cbv:vkicker; cbh.1:cbh, kick:=acbh1; cbh.2:cbh, kick:=acbh2; cbh.3:cbh, kick:=acbh3; cbh.4:cbh, kick:=acbh4; cbh.5:cbh, kick:=acbh5; cbv.1:cbv, kick:=acbv1; cbv.2:cbv, kick:=acbv2; cbv.3:cbv, kick:=acbv3; cbv.4:cbv, kick:=acbv4; cbv.5:cbv, kick:=acbv5; mscbh:sextupole, l:=1.1, k2:=ksf; !mscbh:multipole, knl:={0,0,0,ksf},tilt=-pi/8; mscbv:sextupole, l:=1.1, k2:=ksd; !mscbv:octupole, l:=1.1, k3:=ksd,tilt=-pi/8; // sequence declaration fivecell:sequence, refer=centre, l=534.6; qf.1:qf.1, at=1.550000e+00; qft:qft, at=3.815000e+00; ! mscbh:mscbh, at=3.815000e+00; cbh.1:cbh.1, at=4.365000e+00; cbh,at=4.365000e+00; mb:mb, at=1.262000e+01; mb:mb, at=2.828000e+01; mb:mb, at=4.394000e+01; ! bpv:bpv, at=5.246000e+01; qd.1:qd.1, at=5.501000e+01; mscbv:mscbv, at=5.727500e+01; cbv.1:cbv.1, at=5.782500e+01; cbv,at=5.782500e+01; mb:mb, at=6.608000e+01; mb:mb, at=8.174000e+01; mb:mb, at=9.740000e+01; bph:bph, at=1.059200e+02; qf.2:qf.2, at=1.084700e+02; mscbh:mscbh, at=1.107350e+02; cbh.2:cbh.2, at=1.112850e+02; mb:mb, at=1.195400e+02; mb:mb, at=1.352000e+02; mb:mb, at=1.508600e+02; bpv:bpv, at=1.593800e+02; qd.2:qd.2, at=1.619300e+02; mscbv:mscbv, at=1.641950e+02; cbv.2:cbv.2, at=1.647450e+02; mb:mb, at=1.730000e+02; mb:mb, at=1.886600e+02; mb:mb, at=2.043200e+02; bph:bph, at=2.128400e+02; qf.3:qf.3, at=2.153900e+02; mscbh:mscbh, at=2.176550e+02; cbh.3:cbh.3, at=2.182050e+02; mb:mb, at=2.264600e+02; mb:mb, at=2.421200e+02; mb:mb, at=2.577800e+02; bpv:bpv, at=2.663000e+02; qd.3:qd.3, at=2.688500e+02; mscbv:mscbv, at=2.711150e+02; cbv.3:cbv.3, at=2.716650e+02; mb:mb, at=2.799200e+02; mb:mb, at=2.955800e+02; mb:mb, at=3.112400e+02; bph:bph, at=3.197600e+02; qf.4:qf.4, at=3.223100e+02; mscbh:mscbh, at=3.245750e+02; cbh.4:cbh.4, at=3.251250e+02; mb:mb, at=3.333800e+02; mb:mb, at=3.490400e+02; mb:mb, at=3.647000e+02; bpv:bpv, at=3.732200e+02; qd.4:qd.4, at=3.757700e+02; mscbv:mscbv, at=3.780350e+02; cbv.4:cbv.4, at=3.785850e+02; mb:mb, at=3.868400e+02; mb:mb, at=4.025000e+02; mb:mb, at=4.181600e+02; bph:bph, at=4.266800e+02; qf.5:qf.5, at=4.292300e+02; mscbh:mscbh, at=4.314950e+02; cbh.5:cbh.5, at=4.320450e+02; mb:mb, at=4.403000e+02; mb:mb, at=4.559600e+02; mb:mb, at=4.716200e+02; bpv:bpv, at=4.801400e+02; qd.5:qd.5, at=4.826900e+02; mscbv:mscbv, at=4.849550e+02; cbv.5:cbv.5, at=4.855050e+02; mb:mb, at=4.937600e+02; mb:mb, at=5.094200e+02; mb:mb, at=5.250800e+02; bph:bph, at=5.336000e+02; end:marker, at=5.346000e+02; endsequence; OPTION, ECHO, WARN, INFO; // forces and other constants l.bpm:=.3; bang:=.509998807401e-2; kqf:=.872651312e-2; kqd:=-.872777242e-2; ksf:=.0198492943; ksd:=-.039621283; acbv1:=1.e-3*gauss(1.); acbh1:=1.e-3*gauss(1.); acbv2:=1.e-3; acbh2:=1.e-3; !select,flag=save,class=variable,pattern="bh.*"; !select,flag=save,clear; !save,beam,file=save; ! action !threader,vector=4e-3,4e-3; use, period=fivecell; select, flag=twiss, range=#s, column=name,x, px, y, py; select, flag=twiss, range=#e, column=name,x, px, y, py; !coguess,x=1.e-3; !twiss;!,keeporbit; acbv1:=1.e-3; acbh1:=1.e-3; acbv2:=1.e-3; acbh2:=1.e-3; coguess,x=0; twiss, file = twiss.1;!,keeporbit; !acbv1:=1.e-4; !acbh1:=1.e-4; !acbv2:=1.e-4; !acbh2:=1.e-4; option,threader; twiss, file = twiss.2;