
! *** OPTICS=LCLS2sc31MAR14 ***

! LCLS2sc linac extension: end of L3 to start of bypass dogleg

! ==============================================================================
! Modification History
! ------------------------------------------------------------------------------
! 28-MAR-2014, M. Woodley
!  * element names changed to conform to nomenclature PRD
! ------------------------------------------------------------------------------

  LXfodo := 38.0 !FODO cell length (m)

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

  KQXfodo := 0.690497696411 !38 m long 90 degree cells

  QFXfodo : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1= KQXfodo
  QDXfodo : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=-KQXfodo

  KQX01 :=  0.57800501572  ! KQXfodo
  KQX02 := -0.589858031147 !-KQXfodo
  KQX03 :=  KQXfodo
  KQX04 := -KQXfodo
  KQX05 :=  KQXfodo
  KQX06 := -KQXfodo
  KQX07 :=  KQXfodo
  KQX08 := -KQXfodo
  KQX09 :=  KQXfodo
  KQX10 := -KQXfodo
  KQX11 :=  0.176805936667
  KQX12 := -0.20696602804
  KQX13 :=  0.390255648502
  KQX14 := -0.345887942154

  QX01 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQX01
  QX02 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQX02
  QX03 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQX03
  QX04 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQX04
  QX05 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQX05
  QX06 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQX06
  QX07 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQX07
  QX08 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQX08
  QX09 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQX09
  QX10 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQX10
  QX11 : QUAD, TYPE="1.26Q12",   L=LQA/2, APER=rQA, K1=KQX11
  QX12 : QUAD, TYPE="1.26Q12",   L=LQA/2, APER=rQA, K1=KQX12
  QX13 : QUAD, TYPE="1.26Q12",   L=LQA/2, APER=rQA, K1=KQX13
  QX14 : QUAD, TYPE="1.26Q12",   L=LQA/2, APER=rQA, K1=KQX14

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

  LDXfodo := (LXfodo/2)-(QFXfodo[L]+QDXfodo[L]) !17.392

  DXfodo : DRIF, L=LDXfodo

  DX00  : DRIF, L= 9.8
  DX01  : DRIF, L=15.6
  DX02  : DRIF, L=LDXfodo
  DX03  : DRIF, L=LDXfodo
  DX04  : DRIF, L=LDXfodo
  DX05  : DRIF, L=LDXfodo
  DX06  : DRIF, L=LDXfodo
  DX07  : DRIF, L=LDXfodo
  DX08  : DRIF, L=LDXfodo
  DX09  : DRIF, L=LDXfodo
  DX10  : DRIF, L=21.2
  DX11  : DRIF, L=16.7
  DX12  : DRIF, L=11.0
  DX13  : DRIF, L= 6.083531
  DX14  : DRIF, L=12.54

  DX01a : DRIF, L=0.2
  DX01b : DRIF, L=DX01[L]-DX01a[L]
  DX02a : DRIF, L=0.2
  DX02b : DRIF, L=DX02[L]-DX02a[L]
  DX03a : DRIF, L=0.2
  DX03b : DRIF, L=DX03[L]-DX03a[L]
  DX04a : DRIF, L=0.2
  DX04b : DRIF, L=DX04[L]-DX04a[L]
  DX05a : DRIF, L=0.2
  DX05b : DRIF, L=DX05[L]-DX05a[L]
  DX06a : DRIF, L=0.2
  DX06b : DRIF, L=DX06[L]-DX06a[L]
  DX07a : DRIF, L=0.2
  DX07b : DRIF, L=DX07[L]-DX07a[L]
  DX08a : DRIF, L=0.2
  DX08b : DRIF, L=DX08[L]-DX08a[L]
  DX09a : DRIF, L=0.2
  DX09b : DRIF, L=DX09[L]-DX09a[L]
  DX10a : DRIF, L=0.2
  DX10b : DRIF, L=DX10[L]-DX10a[L]
  DX11a : DRIF, L=0.2
  DX11b : DRIF, L=DX11[L]-DX11a[L]
  DX12a : DRIF, L=0.2
  DX12b : DRIF, L=DX12[L]-DX12a[L]
  DX13a : DRIF, L=0.2
  DX13c : DRIF, L=0.2
  DX13b : DRIF, L=DX13[L]-DX13a[L]-DX13c[L]
  DX14a : DRIF, L=0.2
  DX14b : DRIF, L=DX14[L]-DX14a[L]

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

  BPMX01 : MONI, TYPE="10_um_res_R45"
  BPMX02 : MONI, TYPE="10_um_res_R45"
  BPMX03 : MONI, TYPE="10_um_res_R45"
  BPMX04 : MONI, TYPE="10_um_res_R45"
  BPMX05 : MONI, TYPE="10_um_res_R45"
  BPMX06 : MONI, TYPE="10_um_res_R45"
  BPMX07 : MONI, TYPE="10_um_res_R45"
  BPMX08 : MONI, TYPE="10_um_res_R45"
  BPMX09 : MONI, TYPE="10_um_res_R45"
  BPMX10 : MONI, TYPE="10_um_res_R45"
  BPMX11 : MONI, TYPE="10_um_res_R45"
  BPMX12 : MONI, TYPE="10_um_res_R45"
  BPMX13 : MONI, TYPE="10_um_res_R45"
  BPMX14 : MONI, TYPE="10_um_res_R45"

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

  XCX01 : HKIC, TYPE="class-4"
  XCX03 : HKIC, TYPE="class-4"
  XCX05 : HKIC, TYPE="class-4"
  XCX07 : HKIC, TYPE="class-4"
  XCX09 : HKIC, TYPE="class-4"
  XCX11 : HKIC, TYPE="class-4"
  XCX13 : HKIC, TYPE="class-4"

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

  YCX02 : VKIC, TYPE="class-4"
  YCX04 : VKIC, TYPE="class-4"
  YCX06 : VKIC, TYPE="class-4"
  YCX08 : VKIC, TYPE="class-4"
  YCX10 : VKIC, TYPE="class-4"
  YCX12 : VKIC, TYPE="class-4"
  YCX14 : VKIC, TYPE="class-4"

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

  IMDL2IB : IMON !dogleg MPS input toroid (comparator with IMDL2OB)

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

  Xfodo : LINE=(QFXfodo,DXfodo,QDXfodo,QDXfodo,DXfodo,QFXfodo)

  EXT : LINE=(&
    BEGEXT,&
    DX00,&
    QX01,BPMX01,QX01,DX01a,XCX01,DX01b,&
    QX02,BPMX02,QX02,DX02a,YCX02,DX02b,&
    QX03,BPMX03,QX03,DX03a,XCX03,DX03b,&
    QX04,BPMX04,QX04,DX04a,YCX04,DX04b,&
    QX05,BPMX05,QX05,DX05a,XCX05,DX05b,&
    QX06,BPMX06,QX06,DX06a,YCX06,DX06b,&
    QX07,BPMX07,QX07,DX07a,XCX07,DX07b,&
    QX08,BPMX08,QX08,DX08a,YCX08,DX08b,&
    QX09,BPMX09,QX09,DX09a,XCX09,DX09b,&
    QX10,BPMX10,QX10,DX10a,YCX10,DX10b,&
    QX11,BPMX11,QX11,DX11a,XCX11,DX11b,&
    QX12,BPMX12,QX12,DX12a,YCX12,DX12b,&
    QX13,BPMX13,QX13,DX13a,XCX13,DX13b,YCX14,DX13c,&
    QX14,BPMX14,QX14,DX14a,IMDL2IB,DX14b,&
    ENDEXT,&
    SEQ03END)

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

  RETURN
