!CLS Lattice with insertion devices for use with elegant
!Ward Wurtz (ward.wurtz@lightsource.ca)

D1: Drift, L=2.25
D1b:Drift, L=0.357
D2:Drift, L=0.534
D3:Drift, L=0.312
D4:Drift, L=0.407
D5:Drift, L=0.3125
D6:Drift, L=0.1695
D7:Drift, L=0.3975
D8:Drift, L=0.322

!Initial K values for quadrupoles
% 0.19675504817032E+01 sto QKA
% 0.14174085779859E+01 sto QKB
% 0.20454705915551E+01 sto QKC

!Initial K values for sextupoles
% -2.852808321409649e+001 sto SKD
%  4.465419145476293e+001 sto SKF

!'K' makes these sympletic for tracking
QA:KQuadrupole, L=0.18, K1=QKA
QB:KQuadrupole, L=0.18, K1=QKB
QC:KQuadrupole, L=0.26, K1=QKC
SD:KSextupole, L=0.192, K2=SKD
SF:KSextupole, L=0.192, K2=SKF

!Quadrupoles using initial values
QA41:KQuadrupole, L=0.18, K1=QKA
QB41:KQuadrupole, L=0.18, K1=QKB
QC41:KQuadrupole, L=0.26, K1=QKC
QC42:KQuadrupole, L=0.26, K1=QKC
QB42:KQuadrupole, L=0.18, K1=QKB
QA42:KQuadrupole, L=0.18, K1=QKA

QA51:KQuadrupole, L=0.18, K1=QKA
QB51:KQuadrupole, L=0.18, K1=QKB
QC51:KQuadrupole, L=0.26, K1=QKC
QC52:KQuadrupole, L=0.26, K1=QKC
QB52:KQuadrupole, L=0.18, K1=QKB
QA52:KQuadrupole, L=0.18, K1=QKA

!TWISS CORRECTION SOLUTION COMPUTED BY DIMAD
!QA41: KQUAD,L=0.18,K1=0.20335562554245E+01
!QB41: KQUAD,L=0.18,K1=0.13001734942086E+01
!QC41: KQUAD,L=0.26,K1=QKC
!QC42: KQUAD,L=0.26,K1=0.20459314819491E+01
!QB42: KQUAD,L=0.18,K1=0.15712472303806E+01
!QA42: KQUAD,L=0.18,K1=0.18839122868023E+01

!QA51: KQUAD,L=0.18,K1=0.18168283397009E+01
!QB51: KQUAD,L=0.18,K1=0.16562848609754E+01
!QC51: KQUAD,L=0.26,K1=0.20459314819491E+01
!QC52: KQUAD,L=0.26,K1=QKC
!QB52: KQUAD,L=0.18,K1=0.13001734942086E+01
!QA52: KQUAD,L=0.18,K1=0.20335562554245E+01

!Bending magnet (sympletic)
!integration_order=4 and n_kicks=8 are set to improve accuracy in tracking;
!an on-axis particle will deviate < 10 um from the axis (with Synch Rad and RF off)
!Synchrotron radiation taken into account with separate element
DIPOLE:CSBend,L=1.87,ANGLE=0.2617994,E1=0.105,E2=0.105,K1=-.3972, &
 HGAP=.025,FINT=0.5, K2=-0.2,&
 integration_order = 4, n_kicks = 8, SYNCH_RAD=0

!BMIT Superconducting Wiggler (NIMA 603 (2009) 7)
!wiggler 983.80 mm from straight centre
!BMIT element is 1.0 m long and symetric
!DB3 + DB4 = 0.25
DB1:DRIFT, L=0.25
DB2:DRIFT, L=0.188
DB3:DRIFT, L=0.2338 
DB4:DRIFT, L=0.0162
BMITCWIG:CWIGGLER,L=0.624,periods=13,bmax=4.2,sinusoidal=1,synch_rad=0,isr=0, &
   integration_order=4, steps_per_period=8
BMIT:LINE=(DB2,BMITCWIG,DB2)

!An alternate model of the BMIT wiggler based on vertical focusing only
!This is the simple model I used in DIMAD
!Uses thin lens to focus at beginning and end of drifts
!1.0 m symmetric
DBF1:DRIFT, L=0.624
BMITMAT:EMATRIX, r11=1, r22=1, r33=1, r44=1, r55=1, r66=1, &
 r43=-0.028
BMITFOCUS:LINE=(DB2, BMITMAT, DBF1, BMITMAT, DB2)

!Different options for the straight contents
!BMITSTRAIGHT:LINE=(D1,DB3,BMIT,DB4,4*DB1)
BMITSTRAIGHT:LINE=(D1,DB3,BMITFOCUS,DB4,4*DB1)
!BMITSTRAIGHT:LINE=(D1,D1)


!Specific ring cells
CELL4:LINE=(D1b,QA41, &
 D2,QB41,D3,DIPOLE,D4,SD,D5,QC41,D6, &
 SF,D6,QC42,D7,SD,D8,DIPOLE,D3,QB42,D2,QA42,D1b)
CELL5:LINE=(D1b,QA51, &
 D2,QB51,D3,DIPOLE,D4,SD,D5,QC51,D6, &
 SF,D6,QC52,D7,SD,D8,DIPOLE,D3,QB52,D2,QA52,D1b)

!Two cells used for optimisation around a single ID
CELLBMIT:Line=(D1, CELL4, BMITSTRAIGHT, CELL5, D1)

!EOF
