
! *** OPTICS=AD_ACCEL-01APR20 ***

! LCLS-style quadrupole (shorter effective length)

  LQut :=  0.078 !LCLS undulator quadrupole effective length [m]

  IntgHX13 :=  29.673579533188
  IntgHX14 := -31.079320404825
  IntgHX15 :=  28.660549048536
  IntgHX16 := -28.846589136205
  IntgHX17 :=  29.438380624827
  IntgHX18 := -27.936601652186
  IntgHX19 :=  28.461216069912
  IntgHX20 := -30.111620004728
  IntgHX22 := -29.632718941697
  IntgHX23 :=  30.92878037616

  kQHXh13 := IntgHX13/LQut/Brhou
  kQHXh14 := IntgHX14/LQut/Brhou
  kQHXh15 := IntgHX15/LQut/Brhou
  kQHXh16 := IntgHX16/LQut/Brhou
  kQHXh17 := IntgHX17/LQut/Brhou
  kQHXh18 := IntgHX18/LQut/Brhou
  kQHXh19 := IntgHX19/LQut/Brhou
  kQHXh20 := IntgHX20/LQut/Brhou
  kQHXh22 := IntgHX22/LQut/Brhou
  kQHXh23 := IntgHX23/LQut/Brhou

  QHXh13 : QUAD, TYPE="QUND", L=LQut/2, K1=kQHXh13 !QU01
  QHXh14 : QUAD, TYPE="QUND", L=LQut/2, K1=kQHXh14 !QU02
  QHXh15 : QUAD, TYPE="QUND", L=LQut/2, K1=kQHXh15 !QU03
  QHXh16 : QUAD, TYPE="QUND", L=LQut/2, K1=kQHXh16 !QU04
  QHXh17 : QUAD, TYPE="QUND", L=LQut/2, K1=kQHXh17 !QU05
  QHXh18 : QUAD, TYPE="QUND", L=LQut/2, K1=kQHXh18 !QU06
  QHXh19 : QUAD, TYPE="QUND", L=LQut/2, K1=kQHXh19 !QU07
  QHXh20 : QUAD, TYPE="QUND", L=LQut/2, K1=kQHXh20 !QU08
  QHXh22 : QUAD, TYPE="QUND", L=LQut/2, K1=kQHXh22 !QU10
  QHXh23 : QUAD, TYPE="QUND", L=LQut/2, K1=kQHXh23 !QU11

  LRFBut := 0 !undulator RF-BPM only implemented as zero length monitor

  RFBHX13 : MONI, L=LRFBut, TYPE="01_um_res" !RFBU01
  RFBHX14 : MONI, L=LRFBut, TYPE="01_um_res" !RFBU02
  RFBHX15 : MONI, L=LRFBut, TYPE="01_um_res" !RFBU03
  RFBHX16 : MONI, L=LRFBut, TYPE="01_um_res" !RFBU04
  RFBHX17 : MONI, L=LRFBut, TYPE="01_um_res" !RFBU05
  RFBHX18 : MONI, L=LRFBut, TYPE="01_um_res" !RFBU06
  RFBHX19 : MONI, L=LRFBut, TYPE="01_um_res" !RFBU07
  RFBHX20 : MONI, L=LRFBut, TYPE="01_um_res" !RFBU08
  RFBHX22 : MONI, L=LRFBut, TYPE="01_um_res" !RFBU10
  RFBHX23 : MONI, L=LRFBut, TYPE="01_um_res" !RFBU11

! unused Beam Finder Wires

  BFW01 : MARK
  BFW02 : MARK
  BFW03 : MARK
  BFW04 : MARK
  BFW05 : MARK
  BFW06 : MARK
  BFW07 : MARK
  BFW08 : MARK
  BFW10 : MARK
  BFW11 : MARK

  DUSEGH : DRIF, L=1.665
  DTt    : DRIF, L=0.035
  DBWMt  : DRIF, L=0.035133
  DB4t   : DRIF, L=0.058577
  DB1    : DRIF, L=0.06889
  DB3    : DRIF, L=0.09111
  DBRSt  : DRIF, L=0.13829
  DBRL   : DRIF, L=0.56629

  USTBK01 : LINE=(DTt,DUSEGH,DUSEGH,DTt)
  USTBK02 : LINE=(DTt,DUSEGH,DUSEGH,DTt)
  USTBK03 : LINE=(DTt,DUSEGH,DUSEGH,DTt)
  USTBK04 : LINE=(DTt,DUSEGH,DUSEGH,DTt)
  USTBK05 : LINE=(DTt,DUSEGH,DUSEGH,DTt)
  USTBK06 : LINE=(DTt,DUSEGH,DUSEGH,DTt)
  USTBK07 : LINE=(DTt,DUSEGH,DUSEGH,DTt)
  USTBK08 : LINE=(DTt,DUSEGH,DUSEGH,DTt)
  USTBK10 : LINE=(DTt,DUSEGH,DUSEGH,DTt)
  USTBK11 : LINE=(DTt,DUSEGH,DUSEGH,DTt)

  QHXh13_full : LINE=(QHXh13,XCHX13,MUQH,YCHX13,QHXh13)
  QHXh14_full : LINE=(QHXh14,XCHX14,MUQH,YCHX14,QHXh14)
  QHXh15_full : LINE=(QHXh15,XCHX15,MUQH,YCHX15,QHXh15)
  QHXh16_full : LINE=(QHXh16,XCHX16,MUQH,YCHX16,QHXh16)
  QHXh17_full : LINE=(QHXh17,XCHX17,MUQH,YCHX17,QHXh17)
  QHXh18_full : LINE=(QHXh18,XCHX18,MUQH,YCHX18,QHXh18)
  QHXh19_full : LINE=(QHXh19,XCHX19,MUQH,YCHX19,QHXh19)
  QHXh20_full : LINE=(QHXh20,XCHX20,MUQH,YCHX20,QHXh20)
  QHXh22_full : LINE=(QHXh22,XCHX22,MUQH,YCHX22,QHXh22)
  QHXh23_full : LINE=(QHXh23,XCHX23,MUQH,YCHX23,QHXh23)

  GIRD01 : LINE=(BFW01,DBWMt,DB4t,USTBK01,DB1,QHXh13_full,DB3,RFBHX13) !cell 13: LCLS-style, no undulator
  GIRD02 : LINE=(BFW02,DBWMt,DB4t,USTBK02,DB1,QHXh14_full,DB3,RFBHX14) !cell 14: LCLS-style, no undulator
  GIRD03 : LINE=(BFW03,DBWMt,DB4t,USTBK03,DB1,QHXh15_full,DB3,RFBHX15) !cell 15: LCLS-style, no undulator
  GIRD04 : LINE=(BFW04,DBWMt,DB4t,USTBK04,DB1,QHXh16_full,DB3,RFBHX16) !cell 16: LCLS-style, no undulator
  GIRD05 : LINE=(BFW05,DBWMt,DB4t,USTBK05,DB1,QHXh17_full,DB3,RFBHX17) !cell 17: LCLS-style, no undulator
  GIRD06 : LINE=(BFW06,DBWMt,DB4t,USTBK06,DB1,QHXh18_full,DB3,RFBHX18) !cell 18: LCLS-style, no undulator
  GIRD07 : LINE=(BFW07,DBWMt,DB4t,USTBK07,DB1,QHXh19_full,DB3,RFBHX19) !cell 19: LCLS-style, no undulator
  GIRD08 : LINE=(BFW08,DBWMt,DB4t,USTBK08,DB1,QHXh20_full,DB3,RFBHX20) !cell 20: LCLS-style, no undulator
  GIRD10 : LINE=(BFW10,DBWMt,DB4t,USTBK10,DB1,QHXh22_full,DB3,RFBHX22) !cell 22: LCLS-style, no undulator
  GIRD11 : LINE=(BFW11,DBWMt,DB4t,USTBK11,DB1,QHXh23_full,DB3,RFBHX23) !cell 23: LCLS-style, no undulator

  ZbsyG01 := 515.2655814 !start of LCLS GIRD01
  ZbsyG08 := 546.9432914 !end of LCLS GIRD08
  ZbsyG10 := 551.3795814 !start of LCLS GIRD10
  ZbsyG11 := 558.9812914 !end of LCLS GIRD11

  ZbsyC13 := 515.0949847 !start of LCLS-II cell 13
  ZbsyC20 := 547.1963181 !end of LCLS-II cell 20
  ZbsyC22 := 551.2089847 !start of LCLS-II cell 22
  ZbsyC23 := 559.2343181 !end of LCLS-II cell 23

  DGIRD01u : DRIF, L=ZbsyG01-ZbsyC13
  DGIRD08d : DRIF, L=ZbsyC20-ZbsyG08
  DGIRD10u : DRIF, L=ZbsyG10-ZbsyC22-0.1E-06
  DGIRD11d : DRIF, L=ZbsyC23-ZbsyG11

! replaces HXR cells 13-20

  UNDCLa : LINE=(DGIRD01u,&
    GIRD01,DBRSt,GIRD02,DBRSt,GIRD03,DBRL,&
    GIRD04,DBRSt,GIRD05,DBRSt,GIRD06,DBRL,&
    GIRD07,DBRSt,GIRD08,&
    DGIRD08d)

! replaces HXR cells 22-23

  UNDCLb : LINE=(DGIRD10u,&
    GIRD10,DBRSt,GIRD11,&
    DGIRD11d)
