
! *** OPTICS=LCLS2sc26FEB16 ***

! LCLS2sc bunch compressor chicane #2

! ==============================================================================
! Modification History
! ------------------------------------------------------------------------------
! 23-FEB-2016, M. Woodley
!  * push extra drift from L2 d/s PSC into D2C00 (DPSC2d[L]+D2C00[L]=constant)
!  * per F. Carillo: move XC2C00 u/s 11 cm, BZ21B d/s 18 cm, XCC210 u/s 14 cm
! ------------------------------------------------------------------------------
! 01-OCT-2015, M. Woodley
!  * fix negative D2C00a drift length error by shortening DPSC2D drift; set
!    D2C00a length to zero
!  * undefer CEBC2
!  * change TYPE of OTRs and YAGs per Henrik's PRD
! ------------------------------------------------------------------------------
! 19-JUN-2015, M. Woodley
!  * device locations per F. Carrillo
!  * undefer BPM21 and OTR21B
!  * defer collimators CYC21, CXC21, CYC23, and CXC23
!  * undefer WSC202, WSC204, WSC206, and WSC208
!  * collimator gaps per P. Emma
! ------------------------------------------------------------------------------
! 20-MAR-2015, M. Woodley
!  * device locations per F. Carillo
!  * set WS21 deferment to level 3; set OTR21B deferment to level 0
!  * set collimator lengths (tungsten) and gaps per LCLSII-2.4-PR-0095-R0
! ------------------------------------------------------------------------------
! 12-DEC-2014, M. Woodley
!  * change RFB21 (defer=2) to BPM21 (defer=0)
! ------------------------------------------------------------------------------
! 28-OCT-2014, M. Woodley
!  * move COL2 collimators 7 inches closer to their associated quadrupoles
! ------------------------------------------------------------------------------
! 15-OCT-2014, M. Woodley
!  * increase central drift of BC1 chicane from 1.0926 m to 1.75 m; add OTR21B
!  * remove 0.6574 m (1.75 m - 1.0926 m) from COL2 to keep L1-L2 separation
!    constant
!  * add 6 stripline BPMs to COL2 ... omitted when we switched to 45 degree
!    FODO cells
!  * adjust deferment/deprecation levels
! ------------------------------------------------------------------------------
! 07-AUG-2014, M. Woodley
!  * diagnostics complement per "Electron Beam Diagnostics Systems" PRD
!    (LCLSII-2.7-PR-0170)
!  * change bending direction in BC2 chicane ... toward the aisle
!  * OTR in BC2 chicane replaced with wire scanner; BPM replaced with RF BPM
!  * COL2 collimation system now consists of four 45 degree FODO cells with 3
!    pairs of collimators separated by 45 degrees (22 m betas at collimators);
!    FODO cell length is 12 m
!  * TCAV(Y) added d/s of BC2
!  * in-line emittance measurement system incorporated into COL2
!  * decorate device TYPE attributes to indicate non-baseline status
! 17-APR-2014, M. Woodley
!  * add "CNT" MARKERs after dispersive areas (ELEGANT CENTERing)
! ------------------------------------------------------------------------------
! 28-MAR-2014, M. Woodley
!  * remove elements associated with now-defunct DIAG2 diagnostic line
!  * element names changed to conform to nomenclature PRD
! ------------------------------------------------------------------------------
! 14-JAN-2014, M. Woodley
!  * change BC2 dipole names from "BX2*" to "BXC2*"
! ------------------------------------------------------------------------------

! ==============================================================================
! LCAV
! ------------------------------------------------------------------------------

! X-band transverse deflecting cavity

  TCYC2h : LCAV, TYPE="@2,TRANS_YDEF", FREQ=11424, L=1.0/2 !Y-deflector (split)

! ==============================================================================
! SBEN
! ------------------------------------------------------------------------------

! BC2 chicane
! - approximate on-axis effective length per R. Carr (01-AUG-05 PE)
! - use series approximation for sinc(x)=sin(x)/x to allow BXh=0

! GB2   : 1D19.7 gap height (m)
! ZB2   : 1D19.7 "Z" length (m)
! BB2   : chicane bend field (kG) for R56= 0.06 m @ 1.6 GeV
! AB2   : chicane bend angle (rad)
! LB2   : chicane bend path length (m)
! AB2S  : "short" half chicane bend angle (rad)
! LB2S  : "short" half chicane bend path length (m)
! AB2L  : "long" half chicane bend angle (rad)
! LB2L  : "long" half chicane bend path length (m)

  GB2      := 0.03335
  ZB2      := 0.549
  BB2      := 4.129159880128 !R56=0.037
  ARG2     := ZB2*BB2/Brho2
  AB2      := ASIN(ARG2)
  AB2_2    := AB2*AB2
  AB2_4    := AB2_2*AB2_2
  AB2_6    := AB2_4*AB2_2
  SINCAB2  := 1-AB2_2/6+AB2_4/120-AB2_6/5040 !~sinc(AB2)=sin(AB2)/AB2
  LB2      := ZB2/SINCAB2
  AB2S     := ASIN(ARG2/2)
  AB2S_2   := AB2S*AB2S
  AB2S_4   := AB2S_2*AB2S_2
  AB2S_6   := AB2S_4*AB2S_2
  SINCAB2S := 1-AB2S_2/6+AB2S_4/120-AB2S_6/5040 !~sinc(AB2S)=sin(AB2S)/AB2S
  LB2S     := ZB2/(2*SINCAB2S)
  AB2L     := AB2-AB2S
  LB2L     := LB2-LB2S

  BCX21A : SBEN, TYPE="1D19.7", L=LB2S, ANGLE=+AB2S, HGAP=GB2/2, &
                 E1=0, FINT=0.633, FINTX=0
  BCX21B : SBEN, TYPE="1D19.7", L=LB2L, ANGLE=+AB2L, HGAP=GB2/2, &
                 FINT=0, E2=+AB2, FINTX=0.633
  BCX22A : SBEN, TYPE="1D19.7", L=LB2L, ANGLE=-AB2L, HGAP=GB2/2, &
                 E1=-AB2, FINT=0.633, FINTX=0
  BCX22B : SBEN, TYPE="1D19.7", L=LB2S, ANGLE=-AB2S, HGAP=GB2/2, &
                 FINT=0, E2=0, FINTX=0.633
  BCX23A : SBEN, TYPE="1D19.7", L=LB2S, ANGLE=-AB2S, HGAP=GB2/2, &
                 E1=0, FINT=0.633, FINTX=0
  BCX23B : SBEN, TYPE="1D19.7", L=LB2L, ANGLE=-AB2L, HGAP=GB2/2, &
                 FINT=0, E2=-AB2, FINTX=0.633
  BCX24A : SBEN, TYPE="1D19.7", L=LB2L, ANGLE=+AB2L, HGAP=GB2/2, &
                 E1=+AB2, FINT=0.633, FINTX=0
  BCX24B : SBEN, TYPE="1D19.7", L=LB2S, ANGLE=+AB2S, HGAP=GB2/2, &
                 FINT=0, E2=0, FINTX=0.633

! ==============================================================================
! QUAD
! ------------------------------------------------------------------------------

! L2 to BC2 chicane

  KQ2C01 := 0.446526066236

  Q2C01 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQ2C01

! BC2 chicane

  KCQ21 := 0
  KCQ22 := 0

  CQ21B : QUAD, TYPE="2.362Q3.5", L=LQc/2, APER=rQc, K1=KCQ21
  CQ22B : QUAD, TYPE="2.362Q3.5", L=LQc/2, APER=rQc, K1=KCQ22

! collimation FODO

  KQColl2   := 1.188274110968  !45 degree FODO
! BminColl2 := 10.488222785551
! BmaxColl2 := 23.437946721496

  QFColl2 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1= KQColl2
  QDColl2 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=-KQColl2

! COL2 collimation section

  KQC201 := -0.777366777132
  KQC202 :=  1.0645708114
  KQC203 := -1.269376038838 !-KQColl2
  KQC204 :=  KQColl2
  KQC205 := -KQColl2
  KQC206 :=  KQColl2
  KQC207 := -KQColl2
  KQC208 :=  KQColl2
  KQC209 := -1.586346766871
  KQC210 :=  1.112870178695

  QC201 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC201
  QC202 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC202
  QC203 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC203
  QC204 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC204
  QC205 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC205
  QC206 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC206
  QC207 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC207
  QC208 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC208
  QC209 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC209
  QC210 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC210

! ==============================================================================
! DRIF
! ------------------------------------------------------------------------------
 
! L2 to BC2 chicane

  D2C00 : DRIF, L=1.150310011609
  D2C01 : DRIF, L=0.5

  D2C00b : DRIF, L=0.4
  D2C00c : DRIF, L=0.26
  D2C00a : DRIF, L=D2C00[L]-D2C00b[L]-D2C00c[L]
  D2C01a : DRIF, L=0.133
  D2C01b : DRIF, L=D2C01[L]-D2C01a[L]

! BC2 chicane

  ZDC2o := 10.4092-ZB2 !BXC21 exit to BCX22 entrance
  ZDC2i := 2.299-ZB2   !BXC22 exit to BCX23 entrance

  DC2o : DRIF, L=ZDC2o/COS(AB2), TYPE="CSR"
  DC2i : DRIF, L=ZDC2i, TYPE="CSR"

  ZDC2oa := 2.009462     !BXC21 exit to CQ21B center
  ZDC2ob := ZDC2o-ZDC2oa !CQ21B center to BCX22 entrance
  ZDC2od := 2.009462     !CQ22B center to BXC24 entrance
  ZDC2oc := ZDC2o-ZDC2od !BXC23 exit to CQ22B center

  DC2oa : DRIF, L=ZDC2oa/COS(AB2)-LQc/2, TYPE="CSR"
  DC2ob : DRIF, L=ZDC2ob/COS(AB2)-LQc/2, TYPE="CSR"
  DC2ia : DRIF, L=0.3795, TYPE="CSR"       !0.35
  DC2ib : DRIF, L=0.165-Ljaw/2, TYPE="CSR" !0.35
  DC2ic : DRIF, L=0.183-Ljaw/2, TYPE="CSR" !0.35
  DC2id : DRIF, L=0.598, TYPE="CSR"        !0.35
  DC2ie : DRIF, L=0.4245, TYPE="CSR"       !0.35
  DC2oc : DRIF, L=ZDC2oc/COS(AB2)-LQc/2, TYPE="CSR"
  DC2od : DRIF, L=ZDC2od/COS(AB2)-LQc/2, TYPE="CSR"

! collimation FODO

  DColl2  : DRIF, L=5.892
  DColl2a : DRIF, L=0.2
  DColl2c : DRIF, L=0.3
  DColl2e : DRIF, L=0.7-Ljaw/2-LQx/2 !0.325
  DColl2b : DRIF, L=DColl2[L]/2-DColl2a[L]-DColl2c[L]
  DColl2d : DRIF, L=DColl2[L]/2-Ljaw-DColl2e[L]
  DColl2f : DRIF, L=DColl2[L]-DColl2a[L]-Ljaw-DColl2e[L]
  DColl2g : DRIF, L=DColl2[L]/2
  DColl2i : DRIF, L=0.33965
  DColl2h : DRIF, L=DColl2[L]-DColl2a[L]-DColl2i[L]

! COL2 collimation section

  DC200 : DRIF, L=1.104348-LQx/2
  DC201 : DRIF, L=11.586536838792
  DC202 : DRIF, L=17.875112799791

  DC200a : DRIF, L=0.764348
  DC200b : DRIF, L=DC200[L]-DC200a[L]
  DC201a : DRIF, L=0.304-LQx/2
  DC201b : DRIF, L=0.3
  DC201c : DRIF, L=0.4
  DC201d : DRIF, L=3.0
  DC201e : DRIF, L=DC201[L]-DC201a[L]-DC201b[L]-DC201c[L]-DC201d[L]-2*TCYC2h[L]
  DC202a : DRIF, L=DColl2a[L]
  DC202c : DRIF, L=DColl2c[L]
  DC202d : DRIF, L=DColl2d[L]
  DC202e : DRIF, L=DColl2e[L]
  DC202b : DRIF, L=DC202[L]-DC202a[L]-DC202c[L]-DC202d[L]-Ljaw-DC202e[L]

! ==============================================================================
! BPMs
! ------------------------------------------------------------------------------

  BPM2C01 : MONI, TYPE="Stripline-1"
  BPMC201 : MONI, TYPE="Stripline-1"
  BPMC202 : MONI, TYPE="Stripline-1"
  BPMC203 : MONI, TYPE="Stripline-1"
  BPMC204 : MONI, TYPE="Stripline-1"
  BPMC205 : MONI, TYPE="Stripline-1"
  BPMC206 : MONI, TYPE="Stripline-1"
  BPMC207 : MONI, TYPE="Stripline-1"
  BPMC208 : MONI, TYPE="Stripline-1"
  BPMC209 : MONI, TYPE="Stripline-1"
  BPMC210 : MONI, TYPE="Stripline-1"

  RFB2C01 : MONI, TYPE="@2,CavityS-1"
  BPM21   : MONI, TYPE="Stripline-8"  !RFB21 : MONI, TYPE="@2,CavityL-1"
  RFBC202 : MONI, TYPE="@2,CavityS-1"
  RFBC204 : MONI, TYPE="@2,CavityS-1"
  RFBC206 : MONI, TYPE="@2,CavityS-1"
  RFBC208 : MONI, TYPE="@2,CavityS-1"

! ==============================================================================
! XCORs
! ------------------------------------------------------------------------------

  XC2C00 : HKIC, TYPE="class-4"
  XCC201 : HKIC, TYPE="class-4"
  XCC202 : HKIC, TYPE="class-4"
  XCC204 : HKIC, TYPE="@3,class-4"
  XCC206 : HKIC, TYPE="class-4"
  XCC208 : HKIC, TYPE="@3,class-4"
  XCC210 : HKIC, TYPE="class-4"

! ==============================================================================
! YCORs
! ------------------------------------------------------------------------------

  YC2C00 : VKIC, TYPE="class-4"
  YCC201 : VKIC, TYPE="class-4"
  YCC203 : VKIC, TYPE="class-4"
  YCC205 : VKIC, TYPE="class-4"
  YCC207 : VKIC, TYPE="@3,class-4"
  YCC209 : VKIC, TYPE="class-4"

! ==============================================================================
! marker points, etc.
! ------------------------------------------------------------------------------

! collimators
! (betatron X/Y half-gaps are 29/19 sigma for 1 um normalized emittance)

  CEBC2 : RCOL, L=Ljaw, XSIZE=13.3e-3, TYPE="HCOLL"    !X momentum collimator
  CYC21 : RCOL, L=Ljaw, YSIZE=1.3e-3,  TYPE="@4,VCOLL" !Y betatron collimator
  CXC21 : RCOL, L=Ljaw, XSIZE=1.3e-3,  TYPE="@4,HCOLL" !X betatron collimator
  CYC22 : RCOL, L=Ljaw, YSIZE=1.3e-3,  TYPE="@4,VCOLL" !Y betatron collimator
  CXC22 : RCOL, L=Ljaw, XSIZE=1.3e-3,  TYPE="@4,HCOLL" !X betatron collimator
  CYC23 : RCOL, L=Ljaw, YSIZE=1.3e-3,  TYPE="@4,VCOLL" !Y betatron collimator
  CXC23 : RCOL, L=Ljaw, XSIZE=1.3e-3,  TYPE="@4,HCOLL" !X betatron collimator

! instruments

  OTR21B : PROF, TYPE="OTR BC"  !BC2 energy spread
  WS21   : WIRE, TYPE="@3,fast" !BC2 energy spread
  BZ21B  : BLMO, TYPE="CSR"     !CSR-based relative bunch length monitor
  IM21B  : IMON, TYPE="ICT"     !Beam Current Monitor
  WSC202 : WIRE, TYPE="fast"    !post-BC2 emittance
  WSC204 : WIRE, TYPE="fast"    !post-BC2 emittance
  WSC206 : WIRE, TYPE="fast"    !post-BC2 emittance
  WSC208 : WIRE, TYPE="fast"    !post-BC2 emittance

! markers

  BC2cBEG : MARK
  CNTBC2  : MARK, TYPE="CENTER"
  BC2cEND : MARK

! ==============================================================================
! BEAMLINE
! ------------------------------------------------------------------------------

  TCYC2 : LINE=(TCYC2h,TCYC2h)

  BC2i0 : LINE=(D2C00,Q2C01,Q2C01,D2C01)

  BC2i : LINE=(&
    D2C00a,XC2C00,D2C00b,YC2C00,D2C00c,&
    Q2C01,BPM2C01,Q2C01,D2C01a,RFB2C01,D2C01b)

  BC2c0 : LINE=(BC2cBEG,&
    BCX21A,BCX21B,DC2o,&
    BCX22A,BCX22B,DC2i,&
    BCX23A,BCX23B,DC2o,&
    BCX24A,BCX24B,BC2cEND)

  BC2c : LINE=(BC2cBEG,&
    BCX21A,BCX21B,DC2oa,CQ21B,CQ21B,DC2ob,&
    BCX22A,BCX22B,DC2ia,BPM21,DC2ib,CEBC2,DC2ic,OTR21B,DC2id,WS21,DC2ie,&
    BCX23A,BCX23B,DC2oc,CQ22B,CQ22B,DC2od,&
    BCX24A,BCX24B,CNTBC2,BC2cEND)

  BC2 : LINE=(BEGBC2B,BC2i,BC2c,ENDBC2B)

  COMMENT
    COL2 : LINE=(BEGCOL2,&
      DC200,&
      QC201,QC201,DC201,&
      QC202,QC202,DC202,&
      QC203,QC203,DColl2,&
      QC204,QC204,DColl2,&
      QC205,QC205,DColl2,&
      QC206,QC206,DColl2,&
      QC207,QC207,DColl2,&
      QC208,QC208,DColl2,&
      QC209,QC209,DColl2,&
      QC210,QC210,&
      ENDCOL2)
  ENDCOMMENT

 !COMMENT
    COL2 : LINE=(&
      BEGCOL2,&
      DC200a,BZ21B,DC200b,&
      QC201,BPMC201,QC201,DC201a,XCC201,DC201b,&
        YCC201,DC201c,IM21B,DC201d,TCYC2,DC201e,&
      QC202,BPMC202,QC202,DC202a,XCC202,DC202b,RFBC202,DC202c,WSC202,&
        DC202d,CYC21,DC202e,&
      QC203,BPMC203,QC203,DColl2a,YCC203,DColl2f,CXC21,DColl2e,&
      QC204,BPMC204,QC204,DColl2a,XCC204,DColl2b,RFBC204,DColl2c,WSC204,&
        DColl2d,CYC22,DColl2e,&
      QC205,BPMC205,QC205,DColl2a,YCC205,DColl2f,CXC22,DColl2e,&
      QC206,BPMC206,QC206,DColl2a,XCC206,DColl2b,RFBC206,DColl2c,WSC206,&
        DColl2d,CYC23,DColl2e,&
      QC207,BPMC207,QC207,DColl2a,YCC207,DColl2f,CXC23,DColl2e,&
      QC208,BPMC208,QC208,DColl2a,XCC208,DColl2b,RFBC208,DColl2c,WSC208,&
        DColl2g,&
      QC209,BPMC209,QC209,DColl2a,YCC209,DColl2h,XCC210,DColl2i,&
      QC210,BPMC210,QC210,&
      ENDCOL2)
 !ENDCOMMENT

  C2fodo : LINE=(QFColl2,DColl2,QDColl2,QDColl2,DColl2,QFColl2)

! ------------------------------------------------------------------------------

  RETURN
