
! *** OPTICS=LCLS2sc31MAR14 ***

! LCLS2sc bunch compressor chicane #2

! ==============================================================================
! Modification History
! ------------------------------------------------------------------------------
! 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*"
! ------------------------------------------------------------------------------

! ==============================================================================
! 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

! Brho2 : beam rigidity at chicane (kG-m)
! 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)

  Brho2    := Cb*E2
  GB2      := 0.03335
  ZB2      := 0.549
  BB2      := -5.008300573649 !R56=0.0545
  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

! BCX21 gets an offset of ~2.3 mm (theta*L/8) towards the wall
! BCX22 gets an offset of ~2.3 mm (theta*L/8) towards the aisle
! BCX23 gets an offset of ~2.3 mm (theta*L/8) towards the aisle
! BCX24 gets an offset of ~2.3 mm (theta*L/8) towards the wall

  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.433727514468

  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

! COL2 collimation section

  KQColl2 := 1.095263445617

  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

  KQC301 := -0.752122278908
  KQC302 :=  0.992199715907
  KQC303 := -KQColl2
  KQC304 :=  KQColl2
  KQC305 := -KQColl2
  KQC306 :=  0.90603979853
  KQC307 := -0.804901612226

  QC301 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC301
  QC302 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC302
  QC303 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC303
  QC304 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC304
  QC305 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC305
  QC306 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC306
  QC307 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC307

! ==============================================================================
! DRIF
! ------------------------------------------------------------------------------

! L2 to BC2 chicane

  D2C00 : DRIF, L=0.25
  D2C01 : DRIF, L=0.25

! BC2 chicane

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

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

  ZDC2oa := 2.0          !BXC21 exit to CQ21B center
  ZDC2ob := ZDC2o-ZDC2oa !CQ21B center to BCX22 entrance
  ZDC2od := 2.0          !CQ22B center to BCX24 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.379825, TYPE="CSR"
  DC2ib : DRIF, L=0.16446, TYPE="CSR"
  DC2ic : DRIF, L=0.182606, TYPE="CSR"
  DC2id : DRIF, L=0.365709, TYPE="CSR"
  DC2oc : DRIF, L=ZDC2oc/COS(AB2)-LQc/2, TYPE="CSR"
  DC2od : DRIF, L=ZDC2od/COS(AB2)-LQc/2, TYPE="CSR"

! COL2 collimation section

  DColl2  : DRIF, L=11.8837
  DColl2a : DRIF, L=0.2
  DColl2c : DRIF, L=0.5
  DColl2b : DRIF, L=DColl2[L]-DColl2a[L]-DColl2c[L]

  DC300 : DRIF, L=0.25
  DC301 : DRIF, L=13.760047130272
  DC302 : DRIF, L=16.326268947313
  DC306 : DRIF, L=Dcoll2[L]
  DC307 : DRIF, L=0.25

  DC301a : DRIF, L=0.2
  DC301b : DRIF, L=DC301[L]-DC301a[L]
  DC302a : DRIF, L=0.2
  DC302b : DRIF, L=DC302[L]-DC302a[L]
  DC306a : DRIF, L=0.2
  DC306c : DRIF, L=0.2
  DC306b : DRIF, L=DC306[L]-DC306a[L]-DC306c[L]

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

  BPM2C01 : MONI, TYPE="10_um_res_R45"
  BPMS21B : MONI, TYPE="40_um_res"
  BPMC301 : MONI, TYPE="10_um_res_R45"
  BPMC302 : MONI, TYPE="10_um_res_R45"
  BPMC303 : MONI, TYPE="10_um_res_R45"
  BPMC304 : MONI, TYPE="10_um_res_R45"
  BPMC305 : MONI, TYPE="10_um_res_R45"
  BPMC306 : MONI, TYPE="10_um_res_R45"
  BPMC307 : MONI, TYPE="10_um_res_R45"

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

  XCC302 : HKIC, TYPE="class-4"
  XCC304 : HKIC, TYPE="class-4"
  XCC306 : HKIC, TYPE="class-4"

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

  YCC301 : VKIC, TYPE="class-4"
  YCC303 : VKIC, TYPE="class-4"
  YCC305 : VKIC, TYPE="class-4"
  YCC307 : VKIC, TYPE="class-4"

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

! collimators

  CEBC2 : RCOL, L=0 !movable BC2 X jaw energy collimator
  CY21  : RCOL, L=0 !Y betatron collimator
  CX21  : RCOL, L=0 !X betatron collimator
  CY22  : RCOL, L=0 !Y betatron collimator
  CX22  : RCOL, L=0 !X betatron collimator

! instruments

  OTR21B : PROF, TYPE="OTR" !BC2 energy spread

! markers

  BC2cBEG : MARK
  BC2cEND : MARK

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

  BC2i : LINE=(&
    D2C00,&
    Q2C01,BPM2C01,Q2C01,D2C01)

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

 !BC2c : LINE=(BC2cBEG,&
 !  BCX21A,BCX21B,DC2o,&
 !  BCX22A,BCX22B,DC2ia,BPMS21B,DC2ib,CEBC2,DC2ic,OTR21B,DC2id,&
 !  BCX23A,BCX23B,DC2o,&
 !  BCX24A,BCX24B,BC2cEND)

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

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

  COL2 : LINE=(BEGCOL2,DC300,&
    QC301,BPMC301,QC301,DC301a,YCC301,DC301b,&
    QC302,BPMC302,QC302,DC302a,XCC302,DC302b,CY21,DColl2c,&
    QC303,BPMC303,QC303,DColl2a,YCC303,DColl2b,CX21,DColl2c,&
    QC304,BPMC304,QC304,DColl2a,XCC304,DColl2b,CY22,DColl2c,&
    QC305,BPMC305,QC305,DColl2a,YCC305,DColl2b,CX22,DColl2c,&
    QC306,BPMC306,QC306,DC306a,XCC306,DC306b,YCC307,DC306c,&
    QC307,BPMC307,QC307,DC307,ENDCOL2)

  C2fodo : LINE=(&
    QFColl2,DColl2a,DColl2b,CY21,DColl2c,QDColl2,&
    QDColl2,DColl2a,DColl2b,CX21,DColl2c,QFColl2)

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

  RETURN
