
! *** OPTICS=LCLS2sc07AUG14 ***

! LCLS2sc LTU and dump

! ==============================================================================
! Modification History
! ------------------------------------------------------------------------------
! 07-AUG-2014, M. Woodley
!  * change bend type of BX31B, BX32B to 1.26D103.3T (per J. Amann) ... did
!    not change length (yet)
!  * decorate device TYPE attributes to indicate non-baseline status
! 31-JUL-2014, Y. Nosochkov
!  * replace BPMDL1 with RFBDL1 in HXR
!  * remove IM31, IM31b, IMBCS1, IMBCS1b, IM36, IM36b, IMBCS2, IMUNDI, IMUNDIb,
!    RFB07, RFB07b, RFB08, RFB08b, IMDUMP, IMDUMPb, IMBCS4, IMBCS4b
! 23-JUL-2014, Y. Nosochkov
!  * move TDUNDb 2.8 m downstream (per J. Stieber)
! 15-JUL-2014, Y. Nosochkov
!  * move SXR quad QUM1b 2.0 m downstream (per J. Stieber)
! 14-JUL-2014, Y. Nosochkov
!  * move SXR quad QDL19 2.5 m downstream (per J. Stieber) -- this requires
!    moving along (2.5 m d/s) the quads QDL11 to QDL18 (to maintain dispersion
!    cancellation without moving the bends)
! 17-JUN-2014, Y. Nosochkov
!  * remove OTR33 in HXR (per J. Frisch)
!  * replace all stripline BPMs downstream of the undulators with RFBPMs
!    (per J. Frisch)
!  * move OTR33B to dispersive location near QDL18 and rename it to OTRDL18
! 12-MAY-2014, Y. Nosochkov
!  * add beam abort horizontal kicker BXKIK, SPOILER and in-line dump TDKIK
!    in the beginning of LCLS1 BSY, upstream of the LCLS2 HXR merge bend BXSP1h
! 02-MAY-2014, M. Woodley
!  * move definition of DRFB drift to common.xsif
!  * add "CNT" MARKERs after dispersive areas (ELEGANT CENTERing)
!  * remove RWWAKEal* MARKER points per P. Emma
!  * change names of wiggler segments (WIG11s/WIG12s -> WIG1SA/WIG1SB, etc.)
! 01-MAY-2014, Y. Nosochkov
!  * change YCUM3 -> XCUM3, XCUM4 -> YCUM4, YCUM3B -> XCUM3B, XCUM4B -> YCUM4B
!  * replace BPMBSY39, BPMBSY88 with cavity BPMs RFBBSY39, RFBBSY88
! 29-APR-2014, Y. Nosochkov
!  * add sync. light vertical wiggler EWIGh in LTUH
!  * add sync. light vertical wiggler EWIGs in LTUS (per J. Frisch)
! 23-APR-2014, Y. Nosochkov
!  * replace stripline BPMs BPMEM4B, BPME32B, BPME34B, BPME36B, BPMEM4,
!    BPME32, BPME34, BPME36, BPMDDB, BPMDD with cavity BPMs RFBEM4B, RFBE32B,
!    RFBE34B, RFBE36B, RFBEM4, RFBE32, RFBE34, RFBE36, RFBDDB, RFBDD
!    (per J. Frisch)
! 22-APR-2014, Y. Nosochkov
!  * add missing existing DM60 BTM monitor in the HXR BSY
!  * adjust length of PCPM1L,PCPM2L,PCPM1Lb,PCPM2Lb
!  * change magnet type of QDMP1, QDMP2 to 3.94Q17
!  * change magnet type of QDMP1b, QDMP2b to 3.25Q20
! 17-APR-2014, Y. Nosochkov
!  * change D2 definition from MARK to INST
! 15-APR-2014, Y. Nosochkov
!  * update collimator jaw aperture per LCLSII-2.4-PR-0095
! 08-APR-2014, Y. Nosochkov
!  * remove HXR betatron collimators CX31, CY32, CX35, CY36
!  * remove SXR betatron collimators CX31b, CY32b, CX35b, CY36b
!  * add HXR betatron collimators CXQ6, CYBX32, CXQT22, CYBX36
!  * add SXR betatron collimator CYBDL, CYDL16
!  * rename YCQT22 to YCQT21 and move it upstream of QT21
! 07-APR-2014, M. Woodley
!  * reorder some drift length parameter definitions and drift length
!    definitions to avoid using parameters/attributes before they are defined
! ------------------------------------------------------------------------------
! 31-MAR-2014, M. Woodley
!  * element names changed to conform to nomenclature PRD
! 26-MAR-2014, Y. Nosochkov
!  * remove PCTDKIK1,2,3,4 from HXR LTU
!  * update beta match to undulator
! 25-MAR-2014, Y. Nosochkov
!  * remove BYKIK, TDKIK and SPOILER from HXR LTU
!  * add missing ST60, ST61 stoppers in the BSY
! 21-MAR-2014, Y. Nosochkov
!  * rematch to updated undulator cells
! 07-MAR-2014, Y. Nosochkov
!  * increase main dump length (from DUMPFACE to BTMDUMP) to 1.5 m (to be
!    confirmed), remove markers EOL, EOLB
! 06-MAR-2014, Y. Nosochkov
!  * add a 0.6 mrad soft bend in front of the dump bends
!  * roll the HXR/SXR dumplines starting from the soft bend by 10 deg
!    to reduce the beam-to-beam x-separation at the dumps to ~1.88 m
!    and the vertical descent (relative to undulator) to ~1.76 m
!  * adjust Z-positions of the dump face and QDMP quads (per Mario and Maceo)
! ------------------------------------------------------------------------------
! 28-FEB-2014, Y. Nosochkov
!  * rematch to the updated undulator
! 26-FEB-2014, Y. Nosochkov
!  * rematch to the updated spreader
! 17-JAN-2014, Y. Nosochkov
!  * rematch to the updated spreader
! 18-DEC-2013, Y. Nosochkov
!  * update match to the spreader
! 16-DEC-2013, Y. Nosochkov
!  * update match to the 3-way spreader with low R56
! 03-DEC-2013, Y. Nosochkov
!  * update match to the spreader
! 25-NOV-2013, Y. Nosochkov
!  * remove QBSY1, QBSY2 and adjust locations of Q50Q1,Q50Q2,Q50Q3,Q5,Q6 to
!    maintain FODO optics while avoiding interference with divergent and
!    biconcave chambers
! 21-NOV-2013, Y. Nosochkov
!  * update QDBL1,2 strengths for the 3-way spreader system
! 26-OCT-2013, Y. Nosochkov
!  * update quadrupole type 1.26Q12 in SXR
!  * move QDBL1, QDBL2 0.5 m downstream
! 25-OCT-2013, Y. Nosochkov
!  * add BPMs, correctors to FODO BSY in HXR
!  * add place holder for pulse magnets to FODO BSY (per R. Iverson)
! 22-OCT-2013, Y. Nosochkov
!  * move TDUNDb 4.844538 m upstream
! 18-OCT-2013, Y. Nosochkov
!  * change quadrupole type of QBSY1, QBSY2 to 1.26Q12
! 17-OCT-2013, Y. Nosochkov
!  * change quadrupole type of QVB1B, QVB2B, QVB3B, QVM3B, QVM4B to 1.26Q12
!  * change bend type of BX31B, BX32B to 1.26D102.0T (per C. Spencer)
! 17-OCT-2013, M. Woodley
!  * from Yuri's LTU.xsif ... this file now defines MUWALL to SXXSTART, plus
!    the SXR dump line
! ------------------------------------------------------------------------------

  LQZ := 0.316 !old "1.26Q16" effective length

! ------------------------------------------------------------------------------
! SXR dogleg
! ------------------------------------------------------------------------------

  KQDBL1 := -0.529701385232
  KQDBL2 :=  0.512648112778

  QDBL1 : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQDBL1, APER=rQA
  QDBL2 : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQDBL2, APER=rQA

  KQDLb  :=  0.349560152402
  KQDL20 := -0.167719499227
  KQDL21 := -0.648965754913
  KQDL22 :=  0.745310845241

  QDL11 : QUAD, TYPE="1.26Q12", L=LQA/2, K1= KQDLb , APER=rQA
  QDL12 : QUAD, TYPE="1.26Q12", L=LQA/2, K1=-KQDLb , APER=rQA
  QDL13 : QUAD, TYPE="1.26Q12", L=LQA/2, K1= KQDLb , APER=rQA
  QDL14 : QUAD, TYPE="1.26Q12", L=LQA/2, K1=-KQDLb , APER=rQA
  QDL15 : QUAD, TYPE="1.26Q12", L=LQA/2, K1= KQDLb , APER=rQA
  QDL16 : QUAD, TYPE="1.26Q12", L=LQA/2, K1=-KQDLb , APER=rQA
  QDL17 : QUAD, TYPE="1.26Q12", L=LQA/2, K1= KQDLb , APER=rQA
  QDL18 : QUAD, TYPE="1.26Q12", L=LQA/2, K1=-KQDLb , APER=rQA
  QDL19 : QUAD, TYPE="1.26Q12", L=LQA/2, K1= KQDLb , APER=rQA
  QDL20 : QUAD, TYPE="1.26Q12", L=LQA/2, K1= KQDL20, APER=rQA
  QDL21 : QUAD, TYPE="1.26Q12", L=LQA/2, K1= KQDL21, APER=rQA
  QDL22 : QUAD, TYPE="1.26Q12", L=LQA/2, K1= KQDL22, APER=rQA

  LB3b    := 2.623      !1.26D102.0T effective length (m)
  GB3b    := 0.032      !1.26D102.0T gap height (m)
  AB3Pb   := 0.01863333076
  AB3Mb   := -AB3Pb
  LeffB3b := LB3b*AB3Pb/(2*SIN(AB3Pb/2)) !full bend eff. path length (m)

  BX31BA  : SBEN, TYPE="1.26D103.3T", L=LeffB3b/2, ANGLE=AB3Mb/2, HGAP=GB3b/2,&
                  E1=AB3Mb/2, E2=0, FINT=0.5, FINTX=0.0
  BX31BB  : SBEN, TYPE="1.26D103.3T", L=LeffB3b/2, ANGLE=AB3Mb/2, HGAP=GB3b/2,&
                  E1=0, E2=AB3Mb/2, FINT=0.0, FINTX=0.5
  BX32BA  : SBEN, TYPE="1.26D103.3T", L=LeffB3b/2, ANGLE=AB3Pb/2, HGAP=GB3b/2,&
                  E1=AB3Pb/2, E2=0, FINT=0.5, FINTX=0.0
  BX32BB  : SBEN, TYPE="1.26D103.3T", L=LeffB3b/2, ANGLE=AB3Pb/2, HGAP=GB3b/2,&
                  E1=0, E2=AB3Pb/2, FINT=0.0, FINTX=0.5

  LDBLDL := 3.0 ! length of LTU doublet including drifts

  WALL    : DRIF, L=16.764
  DDBLDLb : DRIF, L=0.5
  DDBLDLc : DRIF, L=0.4
  DDBLDLa : DRIF, L=0.5*(LDBLDL-2*LQA-DDBLDLb[L]-2*DDBLDLc[L]-Lcoll)

  LDLCEL := 25.5
  LDL6b  := 0.4
  LDL0b  := LDLCEL/2-LQA-LDL6b
  LDL1b  := 0.5+(LQZ-LQA)/2 +2.5
  LDL2b  := LDL0b+LDL6b-LDL1b-LB3b+(LeffB3b-LB3b)*3
  LDL4b  := 2.0-LDL6b+(LQZ-LQA)
  LDL3b  := LDL0b-LQA-LDL4b-2*LDL6b+1.0
  LDL5b  := 0.5+(LQZ-LQA)/2
  LDL7b  := 0.5
  LDL8b  := LDL0b-LDL7b-Lcoll
  LDL8c  := 1.0
  LDL8d  := LDL8b-LDL8c-ZWIG
  LDL9b  := LDL0b-LDL6b
  LDL10b := 0.8
  LDL11b := LDL0b-LDL10b-Lcoll
  LDL13b := 0.4
  LDL12b := LDL0b-LDL13b
  LDL14b := 0.5+(LQZ-LQA)/2
  LDL20b := LDL0b-0.5-1.0-(LQZ-LQA)/2 +2.5

  DDL0b  : DRIFT, L=LDL0b
  DDL1b  : DRIFT, L=LDL1b
  DDL2b  : DRIFT, L=LDL2b
  DDL3b  : DRIFT, L=LDL3b
  DDL4b  : DRIFT, L=LDL4b
  DDL5b  : DRIFT, L=LDL5b
  DDL6b  : DRIFT, L=LDL6b
  DDL7b  : DRIFT, L=LDL7b
  DDL8b  : DRIFT, L=LDL8b
  DDL8c  : DRIFT, L=LDL8c
  DDL8d  : DRIFT, L=LDL8d
  DDL9b  : DRIFT, L=LDL9b
  DDL10b : DRIFT, L=LDL10b
  DDL11b : DRIFT, L=LDL11b
  DDL12b : DRIFT, L=LDL12b
  DDL13b : DRIFT, L=LDL13b
  DDL14b : DRIFT, L=LDL14b
  DDL20b : DRIFT, L=LDL20b

  BPMDBL1 : MONI, TYPE="05_um_res"
  BPMDBL2 : MONI, TYPE="05_um_res"
  BPMDL11 : MONI, TYPE="05_um_res"
  BPMDL12 : MONI, TYPE="05_um_res"
  BPMDL13 : MONI, TYPE="05_um_res"
  BPMDL14 : MONI, TYPE="05_um_res"
  BPMDL15 : MONI, TYPE="05_um_res"
  BPMDL16 : MONI, TYPE="05_um_res"
  BPMDL17 : MONI, TYPE="05_um_res"
  BPMDL18 : MONI, TYPE="05_um_res"
  BPMDL19 : MONI, TYPE="05_um_res"
  BPMDL20 : MONI, TYPE="05_um_res"
  BPMDL21 : MONI, TYPE="05_um_res"
  BPMDL22 : MONI, TYPE="05_um_res"

  XCDBL2 : HKIC,TYPE="class-4"
  XCDL11 : HKIC,TYPE="class-4"
  XCDL13 : HKIC,TYPE="class-4"
  XCDL15 : HKIC,TYPE="class-4"
  XCDL17 : HKIC,TYPE="class-4"
  XCDL19 : HKIC,TYPE="class-4"
  XCDL22 : HKIC,TYPE="class-4"

  YCDBL1 : VKIC,TYPE="class-4"
  YCDL12 : VKIC,TYPE="class-4"
  YCDL14 : VKIC,TYPE="class-4"
  YCDL16 : VKIC,TYPE="class-4"
  YCDL18 : VKIC,TYPE="class-4"
  YCDL20 : VKIC,TYPE="class-4"
  YCDL21 : VKIC,TYPE="class-4"

  CEDL14 : RCOL, L=Lcoll, XSIZE=3.1E-3, YSIZE=20E-3
  CEDL18 : RCOL, L=Lcoll, XSIZE=3.1E-3, YSIZE=20E-3

  CYBDL  : RCOL, L=Lcoll, YSIZE=3.3E-3, XSIZE=20E-3
  CYDL16 : RCOL, L=Lcoll, YSIZE=2.8E-3, XSIZE=20E-3

  OTRDL18 : PROF, TYPE="@3,OTR"

  DBMARK34b : MARK !entrance of BX31
  CNTLT1S   : MARK, TYPE="CENTER"

! wiggler for sync. light energy diagnostic (described in SLAC-PUB-3945)
! based on FACET optics model (M. Woodley)
! (series approximation for sinc(x)=sin(x)/x to enable setting with x=0)

  GWIG  := 0.02032       !gap height
  ZWHP  := 0.244         !half-pole Z length
  ZDWG  := 0.126525      !pole-to-pole Z spacing
  ZWIG  := 4*ZWHP+2*ZDWG !total wiggler Z length

  BWGs  := 1.E-12                  !wiggler bend field (kG)
  AWGs  := ASIN(BWGs*ZWHP/(Ef*Cb)) !bend angle per half-pole
  AWGs2 := AWGs*AWGs
  AWGs4 := AWGs2*AWGs2
  AWGs6 := AWGs4*AWGs2
  SINCs := 1-AWGs2/6+AWGs4/120-AWGs6/5040
  LWGs  := ZWHP/SINCs              !half-pole path length

  AWG1s  := ASIN(SIN(AWGs)/2) !"short half" half-pole bend angle
  AWG1s2 := AWG1s*AWG1s
  AWG1s4 := AWG1s2*AWG1s2
  AWG1s6 := AWG1s4*AWG1s2
  SINC1s := 1-AWG1s2/6+AWG1s4/120-AWG1s6/5040
  LWG1s  := (ZWHP/2)/SINC1s   !"short half" half-pole path length

  AWG2s  := AWGs-AWG1s        !"long half" half-pole bend angle
  LWG2s  := LWGs-LWG1s        !"long half" half-pole path length

  WIG1SA : SBEN, TYPE="@3,SLC wiggler", L=LWG1s , HGAP=GWIG/2, ANGLE=AWG1s, &
                 E1=0    , E2=0       , FINT=0.5, FINTX=0    , TILT
  WIG1SB : SBEN, TYPE="@3,SLC wiggler", L=LWG2s , HGAP=GWIG/2, ANGLE=AWG2s, &
                 E1=0    , E2=AWGs    , FINT=0  , FINTX=0.5  , TILT
  WIG2SA : SBEN, TYPE="@3,SLC wiggler", L=LWGs  , HGAP=GWIG/2, ANGLE=-AWGs, &
                 E1=-AWGs, E2=0       , FINT=0.5, FINTX=0    , TILT
  WIG2SB : SBEN, TYPE="@3,SLC wiggler", L=LWGs  , HGAP=GWIG/2, ANGLE=-AWGs, &
                 E1=0    , E2=-AWGs   , FINT=0  , FINTX=0.5  , TILT
  WIG3SA : SBEN, TYPE="@3,SLC wiggler", L=LWG2s , HGAP=GWIG/2, ANGLE=AWG2s, &
                 E1=AWGs , E2=0       , FINT=0.5, FINTX=0    , TILT
  WIG3SB : SBEN, TYPE="@3,SLC wiggler", L=LWG1s , HGAP=GWIG/2, ANGLE=AWG1s, &
                 E1=0    , E2=0       , FINT=0  , FINTX=0.5  , TILT

  LDWGs := ZDWG/COS(AWGs)

  DWGs   : DRIF, L=LDWGs

  YCWIGs : VKIC, TYPE="wiggler trim"

  CNTWIGS : MARK, TYPE="CENTER" !ELEGANT will correct the orbit here for CSR-steering

  EWIGs : LINE=(WIG1SA,WIG1SB,DWGs,WIG2SA,YCWIGs,WIG2SB,DWGs,WIG3SA,WIG3SB,&
                CNTWIGS)

  DBLDL21 : LINE=(BEGLTUS,DDBLDLb,&
                  QDBL1,BPMDBL1,QDBL1,DDBLDLc,YCDBL1,DDBLDLa,CYBDL,&
                                      DDBLDLa,XCDBL2,DDBLDLc,&
                  QDBL2,BPMDBL2,QDBL2)

  DL2sc : LINE=(DBMARK34b                         ,DDL20b,XCDL11,DDL6b,&
                QDL11,BPMDL11,QDL11               ,DDL2b ,&
                BX31BA,BX31BB                     ,DDL1b ,&
                QDL12,BPMDL12,QDL12               ,DDL6b ,YCDL12,&
                                                   DDL9b ,XCDL13,DDL6b,&
                QDL13,BPMDL13,QDL13               ,DDL0b ,YCDL14,DDL6b,&
                QDL14,BPMDL14,QDL14,DDL7b ,CEDL14 ,DDL8c ,EWIGs ,DDL8d,&
                                                          XCDL15,DDL6b,&
                QDL15,BPMDL15,QDL15               ,DDL0b ,YCDL16,DDL6b,&
                QDL16,BPMDL16,QDL16,DDL10b,CYDL16 ,DDL11b,XCDL17,DDL6b,&
                QDL17,BPMDL17,QDL17,DDL12b,OTRDL18,DDL13b,YCDL18,DDL6b,&
                QDL18,BPMDL18,QDL18,DDL7b ,CEDL18 ,DDL8b ,XCDL19,DDL6b,&
                QDL19,BPMDL19,QDL19               ,DDL2b ,&
                BX32BA,BX32BB,CNTLT1S             ,DDL14b,&
                QDL20,BPMDL20,QDL20               ,DDL6b ,YCDL20,&
                                                   DDL3b ,YCDL21,DDL6b,&
                QDL21,BPMDL21,QDL21               ,DDL4b ,XCDL22,DDL6b,&
                QDL22,BPMDL22,QDL22               ,DDL5b )

! ------------------------------------------------------------------------------
! SXR VBEND
! ------------------------------------------------------------------------------

  KQVBb  := -0.85237056512
  KQVM3B :=  0.932324457545
  KQVM4B := -1.159184116876

  QVB1B : QUAD, TYPE="1.26Q12", L=LQA/2, K1= KQVBb , APER=rQA
  QVB2B : QUAD, TYPE="1.26Q12", L=LQA/2, K1=-KQVBb , APER=rQA
  QVB3B : QUAD, TYPE="1.26Q12", L=LQA/2, K1= KQVBb , APER=rQA
  QVM3B : QUAD, TYPE="1.26Q12", L=LQA/2, K1= KQVM3b, APER=rQA
  QVM4B : QUAD, TYPE="1.26Q12", L=LQA/2, K1= KQVM4b, APER=rQA

  S100_PITCH  := -4.760000E-3
  S100_HEIGHT := 77.643680
  Z_S100_UNDH := 583.000000
  R_Earth     := 6.372508025E6

  LVB := 1.025      !3D39 vertical bend effective length (m)
  GVB := 0.034925   !gap width (m)
  AVB := (S100_PITCH+ASIN(Z_S100_UNDH/(R_Earth+S100_HEIGHT)))/2 !bend up twice this angle so e- is level in cnt. of und.

  BY1BA : SBEN, TYPE="3D39", L=LVB/2, ANGLE=AVB/2, HGAP=GVB/2, &
                E1=AVB/2, FINT=0.5, FINTX=0, TILT
  BY1BB : SBEN, TYPE="3D39", L=LVB/2, ANGLE=AVB/2, HGAP=GVB/2, &
                E2=AVB/2, FINT=0, FINTX=0.5, TILT
  BY2BA : SBEN, TYPE="3D39", L=LVB/2, ANGLE=AVB/2, HGAP=GVB/2, &
                E1=AVB/2, FINT=0.5, FINTX=0, TILT
  BY2BB : SBEN, TYPE="3D39", L=LVB/2, ANGLE=AVB/2, HGAP=GVB/2, &
                E2=AVB/2, FINT=0, FINTX=0.5, TILT

  DDVB := 4.114868387288 ! adjust Y at dump

  DVB1b      : DRIF, L=8.0-2*0.3125    -DDVB*0.5+0.07246+(LQZ-LQA)/2, TYPE="CSR"
  DVB2b      : DRIF, L=4.0             -DDVB*0.5+0.07246*2+(LQZ-LQA), TYPE="CSR"
  DVB2m80cmb : DRIF, L=4.0-0.4-0.4     -DDVB*0.5+0.07246*2+(LQZ-LQA), TYPE="CSR"
  DVB1m40cmb : DRIF, L=8.0-0.4-2*0.3125-DDVB*0.5+0.07246+(LQZ-LQA)/2, TYPE="CSR"
  D40cmC     : DRIF, L=0.40, TYPE="CSR"
  DYCVM1     : DRIF, L=0.40
  DQVM1      : DRIF, L=0.34
  DQVM2      : DRIF, L=0.5
  DRQVM1     : DRIF, L=LQF/2
  DRQVM2     : DRIF, L=LQF/2
  DXCVM2     : DRIF, L=0.25
  DVB25cm    : DRIF, L=0.5-0.25
  DVB25cmcb  : DRIF, L=0.5-0.25 +1.0          +0.07246+(LQZ-LQA)/2
  D25cm      : DRIF, L=0.25
  DVBem25cmb : DRIF, L=0.5-0.25 +1.0          +0.07246*2+(LQZ-LQA), TYPE="CSR"
  DVBem15cmb : DRIF, L=0.150+0.00381+0.018803 +0.07246+(LQZ-LQA)/2, TYPE="CSR"
  D10cmb     : DRIF, L=0.1064869
  D25cma     : DRIF, L=0.25-0.00381-0.018803-0.0064869, TYPE="CSR"

  BPMVB1B : MONI, TYPE="05_um_res"
  BPMVB2B : MONI, TYPE="05_um_res"
  BPMVB3B : MONI, TYPE="05_um_res"
  BPMVM3B : MONI, TYPE="05_um_res"
  BPMVM4B : MONI, TYPE="05_um_res"

  XCVM3B : HKIC,TYPE="type-4"

  YCVB1B : VKIC,TYPE="class-4"
  YCVB3B : VKIC,TYPE="class-4"
  YCVM4B : VKIC,TYPE="class-5"

  VBINb   : MARK !start of vert. bend system
  VBOUTb  : MARK !end of vert. bend system
  CNTLT2S : MARK, TYPE="CENTER" !ELEGANT will correct the orbit here for CSR-steering

  VBENDb : LINE=(VBinb,&
                 BY1BA,BY1BB,DVB1b,&
                 QVB1B,BPMVB1B,QVB1B,D40cmC,YCVB1B,DVB2m80cmb,D40cmC,&
                 QVB2B,BPMVB2B,QVB2B,DVB2b, &
                 QVB3B,BPMVB3B,QVB3B,D40cmC,YCVB3B,DVB1m40cmb,&
                 BY2BA,BY2BB,CNTLT2S,VBoutb)

  VBSYSb : LINE=(DYCVM1,DQVM1,DRQVM1,DRQVM1,DQVM2,DRQVM2,DRQVM2,&
                 DXCVM2,DVB25cm,&
                 VBENDb,DVB25cmcb,XCVM3B,D25cm,&
                 QVM3B,BPMVM3B,QVM3B,DVBem25cmb,YCVM4B,D25cm,&
                 QVM4B,BPMVM4B,QVM4B,DVBem15cmb,D10cmb,D25cma)

! ------------------------------------------------------------------------------
! SXR emittance diagnostic
! ------------------------------------------------------------------------------

  KQEM1B :=  0.673979519794
  KQEM2B := -0.610781794253
  KQEM3B :=  0.437617448248
  KQEM4B := -0.30294476543

  QEM1B  : QUAD, TYPE="1.26Q12"  , L=LQA/2, K1=KQEM1b, APER=rQA
  QEM2B  : QUAD, TYPE="1.26Q12"  , L=LQA/2, K1=KQEM2b, APER=rQA
  QEM3B  : QUAD, TYPE="1.26Q12"  , L=LQA/2, K1=KQEM3b, APER=rQA
  QEM4B  : QUAD, TYPE="1.26Q12"  , L=LQA/2, K1=KQEM4b, APER=rQA
  QEM3VB : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=0     , APER=rQx

  KQED2b := 0.402753197988 !ED2 FODO quad strength

  QE31B : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=+KQED2b, APER=rQx
  QE32B : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=-KQED2b, APER=rQx
  QE33B : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=+KQED2b, APER=rQx
  QE34B : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=-KQED2b, APER=rQx
  QE35B : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=+KQED2b, APER=rQx
  QE36B : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=-KQED2b, APER=rQx

  dz_adjust := 47.825
  dLQA2     := (0.46092-LQZ)/2 !used to adjust LQZ adjacent drifts (m)

  D25cmb      : DRIF, L=0.25+0.0127
  D25cmc      : DRIF, L=0.25-0.0127
  DMM1m90cmSA : DRIF, L=2.0-0.25-0.25-0.4+0.10046+DDVB*2 -1.0-1.0+(LQZ-LQA)/2
  DEM1A       : DRIF, L=0.40+dLQA2-0.10046
  DEM1BSA     : DRIF, L=4.00+dLQA2*2+(LQZ-LQA)
  DEM2B       : DRIF, L=0.40+dLQA2+0.02954
  DMM3m80cmSA : DRIF, L=10.0-0.4-0.4+2.0+0.07092+(LQZ-LQA)
  DEM3A       : DRIF, L=0.40+dLQA2-0.10046
  DEM3BSA     : DRIF, L=0.30+dLQA2+0.402839+(LQZ-LQA)/2
  DMM4m90cmb  : DRIF, L=3.6-0.30-LQx-(0.402839)-0.02954+(LQZ-LQA)/2
  DEM4A       : DRIF, L=0.40+dLQA2-0.402839+(0.402839)+0.02954
  DMM5b       : DRIF, L=2.0+dLQA2+(LQZ-LQA)/2-DRFB[L]
  D40cm       : DRIF, L=0.40
  DE3m80cma   : DRIF, L=4.6-0.4-0.4+dz_adjust/12+0.15046
  DQEA        : DRIF, L=0.40+(LQF-LQx)/2-0.15046
  DQEBx       : DRIF, L=0.32+(LQF-LQx)/2+0.33655-0.0768665+0.04
  DQEBx2      : DRIF, L=4.6-0.4-0.4+dz_adjust/12-0.33655+0.0768665-0.04
  DE3a        : DRIF, L=4.6+dz_adjust/12+0.14046
  DQEAa       : DRIF, L=0.40+(LQF-LQx)/2-0.14046
  DQEBy       : DRIF, L=0.32+(LQF-LQx)/2+0.33655-0.0768665+0.04
  DQEBy1      : DRIF, L=DQEBy[L]-DRFB[L]
  DQEBy2      : DRIF, L=4.6-0.4+dz_adjust/12-0.33655+0.0768665-0.04
  DE3m80cmb   : DRIF, L=4.6-0.4-0.4+dz_adjust/12+0.12046
  DQEAb       : DRIF, L=0.40+(LQF-LQx)/2-0.12046
  DQEC        : DRIF, L=4.6+dz_adjust/12+(LQF-LQx)/2
  DQEC1       : DRIF, L=DQEC[L]-DRFB[L]
  DE3m40cm    : DRIF, L=4.6-0.4+dz_adjust/12+0.15046
  DE3m80cm    : DRIF, L=4.6-0.4-0.4+dz_adjust/12-0.02954
  DQEAc       : DRIF, L=0.40+(LQF-LQx)/2+0.02954
  DE3         : DRIF, L=4.6+dz_adjust/12+0.15046

  BPMEM1B : MONI, TYPE="05_um_res"
  BPMEM2B : MONI, TYPE="05_um_res"
  BPMEM3B : MONI, TYPE="05_um_res"
  RFBEM4B : MONI, TYPE="01_um_res"
  BPME31B : MONI, TYPE="05_um_res"
  RFBE32B : MONI, TYPE="01_um_res"
  BPME33B : MONI, TYPE="05_um_res"
  RFBE34B : MONI, TYPE="01_um_res"
  BPME35B : MONI, TYPE="05_um_res"
  RFBE36B : MONI, TYPE="01_um_res"

  XCEM2B : HKIC,TYPE="class-4"
  XCEM4B : HKIC,TYPE="class-4"
  XCE31B : HKIC,TYPE="class-4"
  XCE33B : HKIC,TYPE="class-4"
  XCE35B : HKIC,TYPE="class-4"

  YCEM1B : VKIC,TYPE="class-4"
  YCEM3B : VKIC,TYPE="class-4"
  YCE32B : VKIC,TYPE="class-4"
  YCE34B : VKIC,TYPE="class-4"
  YCE36B : VKIC,TYPE="class-4"

  WS31B : WIRE !LTU emittance
  WS32B : WIRE !LTU emittance
  WS33B : WIRE !LTU emittance
  WS34B : WIRE !LTU emittance

  DCX31B : DRIF,L=Lcoll
  DCY32B : DRIF,L=Lcoll
  DCX35B : DRIF,L=Lcoll
  DCY36B : DRIF,L=Lcoll

  DBMARK36b : MARK !center of WS31B

  EDMCHb : LINE=(D25cmb,D25cmc,DMM1m90cmSA,YCEM1B,DEM1A,&
                 QEM1B,BPMEM1B,QEM1B,DEM1BSA,&
                 QEM2B,BPMEM2B,QEM2B,DEM2B,XCEM2B,DMM3m80cmSA,YCEM3B,DEM3A,&
                 QEM3B,BPMEM3B,QEM3B,DEM3BSA,&
                 QEM3VB,QEM3VB,DMM4m90cmb,XCEM4B,DEM4A,&
                 QEM4B,QEM4B,DRFB,RFBEM4B,DMM5b)

  EDSYSb : LINE=(DBMARK36b,WS31B,D40cm,DE3m80cma,XCE31B,DQEA,&
                 QE31B,BPME31B,QE31B,DQEBx,DCX31B,DQEBx2,DE3a,YCE32B,DQEAa,&
                 QE32B,QE32B,DRFB,RFBE32B,DQEBy1,DCY32B,DQEBy2,WS32B,D40cm,&
                   DE3m80cmb,XCE33B,DQEAb, &
                 QE33B,BPME33B,QE33B,DQEC,DE3m40cm,YCE34B,DQEA,&
                 QE34B,QE34B,DRFB,RFBE34B,DQEC1,WS33B,D40cm,DE3m80cm,XCE35B,&
                   DQEAc,&
                 QE35B,BPME35B,QE35B,DQEBx,DCX35B,DQEBx2,DE3,YCE36B,DQEA,&
                 QE36B,QE36B,DRFB,RFBE36B,DQEBy1,DCY36B,DQEBy2,WS34B,D40cm)

  ECELLb : LINE=(QE31B,DQEC,DQEC,QE32B,QE32B,DQEC,DQEC,QE31B)

! ------------------------------------------------------------------------------
! SXR undulator match
! ------------------------------------------------------------------------------

  KQUM1B :=  0.134903673162
  KQUM2B := -0.05
  KQUM3B :=  0.12985233839
  KQUM4B := -0.209037668045

  QUM1B : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQUM1b, APER=rQA
  QUM2B : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQUM2b, APER=rQA
  QUM3B : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQUM3b, APER=rQA
  QUM4B : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQUM4b, APER=rQA

  DU1m80cm    : DRIF, L=4.550 -1.0
  DCX37       : DRIFT,L=Lcoll
  DCY38       : DRIFT,L=Lcoll
  D32cmcb     : DRIF, L=0.32-0.0254+0.00586+(LQZ-LQA)/2 +2.0
  DUM1ASA     : DRIF, L=0.40+dLQA2+0.0254-0.00586
  DUM1BSA     : DRIF, L=0.40+dLQA2
  D32cm       : DRIF, L=0.32
  DU2m120cmSA : DRIF, L=4.730+(LQZ-LQA)-2.8321163/3 -2.0
  D32cma      : DRIF, L=0.32+0.0253999+0.0750601
  DUM2ASA     : DRIF, L=0.40+dLQA2-0.0253999-0.0750601
  DUM2BSA     : DRIF, L=0.40+dLQA2
  DU3m80cmSA  : DRIF, L= 8.0-0.4-0.4-0.125+0.21546+(LQZ-LQA)-2.8321163/3
  DUM3ASA     : DRIF, L=0.40+dLQA2+0.125-0.21546
  DUM3BSA     : DRIF, L=0.40+dLQA2
  D40cmab     : DRIF, L=0.40+1.407939+(LQZ-LQA)-2.8321163/3
  DU4m120cm   : DRIF, L=2.800-1.407939-0.0254-0.00414
  DUM4ASA     : DRIF, L=0.40+dLQA2+0.0254+0.00414
  DDUM4BSA    := 0.577739567261 ! adjust Z at exit of undulator
  DUM4BSA     : DRIF, L=0.40+dLQA2+0.127+(LQZ-LQA)/2+DDUM4BSA
  DU5m80cm    : DRIF, L=0.5
  DVV35b      : DRIF, L=1.780-0.254-1.087896+0.003189+4.4-4.1328838-0.113509
  DTDUND1b    : DRIF, L=1.0 !0.5+0.127+1.087896-0.003189
  DTDUND2b    : DRIF, L=0.37935
  DMUON1b     : DRIF, L=0.154859
  DMUON2b     : DRIF, L=1.406800 +2.8
  DMUON3b     : DRIF, L=0.310592 +4.4-2.8

  BPMUM1B : MONI, TYPE="05_um_res"
  BPMUM2B : MONI, TYPE="05_um_res"
  BPMUM3B : MONI, TYPE="05_um_res"
  BPMUM4B : MONI, TYPE="05_um_res"

  XCUM1B : HKIC,TYPE="class-4f" !fast-feedback (loop-5)
  XCUM3B : HKIC,TYPE="class-4f" !fast-feedback (loop-5)

  YCUM2B : VKIC,TYPE="class-4f" !fast-feedback (loop-5)
  YCUM4B : VKIC,TYPE="class-4f" !fast-feedback (loop-5)

  TDUNDB : INST !LTU insertable block at und. extension entrance (w/ screen)

  PCMUONB : ECOL,L=1.1684,XSIZE=8.64E-03/2,YSIZE=4.32E-03/2 !muon scattering collimator after pre-undulator tune-up dump (ID from Rago: 7/18/08)

  EOBLMb  : MARK !future electro-optic bunch length monitor?
  VV999b  : MARK !vacuum valve just upbeam of undulator
  PFILT1b : MARK
  MM1b    : MARK
  MM2b    : MARK
  MM3b    : MARK
  MUWALL  : MARK
  BSYENDb : MARK !FFTB side of muon plug wall

  DBMARK37b : MARK !end of undulator match

  UNMCHb : LINE=(DU1m80cm,DCX37,D32cmcb,XCUM1B,DUM1ASA,&
                 QUM1B,BPMUM1B,QUM1B,DUM1BSA,D32cm,DU2m120cmSA,DCY38,D32cma,&
                   YCUM2B,DUM2ASA,&
                 QUM2B,BPMUM2B,QUM2B,DUM2BSA,DU3m80cmSA,XCUM3B,DUM3ASA,&
                 QUM3B,BPMUM3B,QUM3B,DUM3BSA,D40cmab,EOBLMb,DU4m120cm, &
                   YCUM4B,DUM4ASA,&
                 QUM4B,BPMUM4B,QUM4B,DUM4BSA,DU5m80cm,D40cm,&
                   DMUON2b,DVV35b,DTDUND1b,TDUNDB,DTDUND2b,&
                   PCMUONB,DMUON1b,VV999b,DMUON3b,MM3b,PFILT1b,&
                   DBMARK37b)

  LTUsc : LINE=(MM1b,DL2sc,VBSYSb,MM2b,EDMCHb,EDSYSb,UNMCHb)

  BSYLTUsc : LINE=(MUWALL,WALL,BSYENDb,ENDSPS,SEQ06END,SEQ07BEG,&
                   DBLDL21,LTUsc,ENDLTUS,SEQ07END)

! ------------------------------------------------------------------------------
! SXR dumpline
! ------------------------------------------------------------------------------

  KQDMPB := -0.121513062007

  QDmp1B : QUAD, TYPE="3.25Q20", L=LQD/2, K1=KQDmpb, APER=rQD
  QDmp2B : QUAD, TYPE="3.25Q20", L=LQD/2, K1=KQDmpb, APER=rQD

  LBYDS    := 0.5   !effective straight length of dump soft bend 1.26D18.43
  GBYDS    := 0.032 !full gap of dump soft bend
  ABYDS    := 6.E-4
  LeffBYDS := LBYDS*ABYDS/(2*SIN(ABYDS/2)) !bend path length (m)

  BYDSSA : SBEN, TYPE="1.26D18.43", L=LeffBYDS/2, ANGLE=ABYDS/2, &
                 HGAP=GBYDS/2, E1=ABYDS/2, E2=0, FINT=0.5, FINTX=0.0, TILT
  BYDSSB : SBEN, TYPE="1.26D18.43", L=LeffBYDS/2, ANGLE=ABYDS/2, &
                 HGAP=GBYDS/2, E1=0, E2=ABYDS/2, FINT=0.0, FINTX=0.5, TILT

  LBdm    := 1.452 !effective vertical bend length of main dump bends - from J. Tanabe (m)
  GBdm    := 0.043 !full gap (m) - this is a full gap 'width' for these vert. dipoles
  ABdm0   := 0.022400849337 !angle per bend (rad)
  LeffBdm := LBdm*ABdm0/(2*SIN(ABdm0/2)) !bend path length (m)

  BYD1BA : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, &
                 E1=ABdm0/2, E2=0, FINT=0.57, FINTX=0.00, TILT
  BYD1BB : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, &
                 E1=0, E2=ABdm0/2, FINT=0.00, FINTX=0.57, TILT
  BYD2BA : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, &
                 E1=ABdm0/2, E2=0, FINT=0.57, FINTX=0.00, TILT
  BYD2BB : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, &
                 E1=0, E2=ABdm0/2, FINT=0.00, FINTX=0.57, TILT
  BYD3BA : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, &
                 E1=ABdm0/2, E2=0, FINT=0.57, FINTX=0.00, TILT
  BYD3BB : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, &
                 E1=0, E2=ABdm0/2 , FINT=0.00, FINTX=0.57, TILT

  LDS   := 0.300-0.026027*2
  LDSC  := 0.499225-0.026027+0.1124278-0.008032
  LDS1  := 0.3
  Ddmpv := -0.73352263654
  LPCPM : = 0.076

  DS     : DRIFT, L=LDS
  DSc    : DRIFT, L=LDSC
  DS1    : DRIFT, L=LDS1
  DD1aSA : DRIFT, L=2.6512616
  dDD1b  := 0.110945854629 !set Z at QDMP quads
  DD1bSA : DRIFT, L=6.8896877-LQD/2-Ddmpv+0.017094407653 +dDD1b
  DD1f   : DRIFT, L=0.266645-0.017094407653
  DD1cSA : DRIFT, L=0.4+0.2920945-0.266645-2*0.0381452-6.17967418595E-6
  DD1dSA : DRIFT, L=0.25-0.0079372
  DD1eSA : DRIFT, L=0.25
  DD1g   : DRIFT, L=0.0079372
  DD2a   : DRIFT, L=0.4+0.0634916+0.0115084
  DD2bSA : DRIFT, L=8.425460-LQD/2+Ddmpv-0.15-0.0634916-0.049684-0.0115084
  DD3aSA : DRIFT, L=0.3+0.049684+0.001583
  DD3bSA : DRIFT, L=0.3-0.001583-0.1447026
  DWSDUMPa : DRIFT, L=0.44156 !0.5-0.058217-0.000222-0.000001
  dDWSDUMP := 0.248126584706 !set Z at DUMPFACEB
  DWSDUMPb : DRIFT, L=2.038949 +dDWSDUMP
  DD3d   : DRIFT, L=1.5 !0.2441932
  DD3e   : DRIFT, L=0.0 !0.2857474-0.2441932

  RFBQDB : MONI, TYPE="01_um_res"
  RFBDDB : MONI, TYPE="@1,01_um_res"

  XCDDB : HKIC,TYPE="class-5"

  YCDDB : VKIC,TYPE="class-5"

  OTRDMPB : PROF, TYPE="@1,OTR" !Dump screen

  WSDUMPB : WIRE

  PCPM1LB : ECOL, L=LPCPM/cos(3*ABdm0+ABYDS),XSIZE=0.025,YSIZE=0.025
  PCPM2LB : ECOL, L=LPCPM/cos(3*ABdm0+ABYDS),XSIZE=0.025,YSIZE=0.025

  BTM1LB    : INST !Burn-Through-Monitor behind PCPM1LB
  BTM2LB    : INST !Burn-Through-Monitor behind PCPM2LB
  DUMPFACEB : INST !entrance face of main e- dump
  BTMDUMPB  : INST !Burn-Through-Monitor of main e- dump

  MQDMPB    : MARK
  DMPendb   : MARK
  DBMARK38b : MARK !end of final undulator dump

  ARODMP1S := -0.174519725798
  ARODMP2S :=  0.174913506741

  RODMP1S : SROT, ANGLE=ARODMP1S
  RODMP2S : SROT, ANGLE=ARODMP2S

  DUMPLINEb : LINE=(SEQ10BEG,RODMP1S,&
    BYDSSA,BYDSSb,DS1,BYD1BA,BYD1BB,DS,BYD2BA,BYD2BB,DS,BYD3BA,BYD3BB,&
    DSc,PCPM1LB,BTM1LB,DD1aSA,DD1bSA,YCDDB,DD1f,PCPM2LB,BTM2LB,DD1cSA,&
    QDmp1B,QDmp1B,DD1dSA,RFBQDB,DD1g,MQDMPB,DD1eSA,&
    QDmp2B,QDmp2B,DD2a,XCDDB,DD2bSA,DD3aSA,RFBDDB,DD3bSA,OTRDMPB,&
    DWSDUMPa,WSDUMPB,DWSDUMPb,RODMP2S,DUMPFACEB,DD3d,DMPendb,BTMDUMPB,&
    DBMARK38b,ENDDMPS,SEQ10END)

! ==============================================================================
! LCLS HXR LTU and dump
! ==============================================================================

! ------------------------------------------------------------------------------
! HXR BSY
! ------------------------------------------------------------------------------

  KQ50Q3  := -0.134350955516
  KQ5     :=  0.082619342005
  KQ6     := -0.124643842723
  KQA0    :=  0.112991286968

  Q50Q3 : QUAD, TYPE="50Q3"      , L=0.143254, K1=KQ50Q3, APER=0.010325
  Q5    : QUAD, TYPE="0.91Q17.72", L=LQF/2   , K1=KQ5,    APER=rQF
  Q6    : QUAD, TYPE="0.91Q17.72", L=LQF/2   , K1=KQ6,    APER=rQF
  QA0   : QUAD, TYPE="0.91Q17.72", L=LQF/2   , K1=KQA0,   APER=rQF

  DBSY42  : DRIF, L=0.615959
  DBSY43  : DRIF, L=2.850589
  DBSY44  : DRIF, L=0.15875
  D2L     : DRIF, L=0.6096
  DM3     : DRIF, L=0.1524
  DST60L  : DRIF, L=0.6096
  DM4a    : DRIF, L=0.8816-DST60L[L]
  DM4b    : DRIF, L=8.622041-DM4a[L]
  DXCA0   : DRIF, L=0.31
  DYCA0   : DRIF, L=0.356220-0.076799
  DST61L  : DRIF, L=0.6096
  DM5     : DRIF, L=0.561379
  DM6     : DRIF, L=0.567588
  DMONI   : DRIF, L=0.009525

  DBSY52c : DRIF, L=0.5
  DBSY53a : DRIF, L=0.2-0.1
  DBSY53b : DRIF, L=0.5+0.1
  DBSY53c : DRIF, L=38.916540-DBSY53a[L]-DBSY53b[L]
  DBSY54a : DRIF, L=0.5
  DBSY54c : DRIF, L=0.5
  DBSY54b : DRIF, L=29.260056-DBSY54a[L]-DBSY54c[L]-DBSY42[L]-DBSY43[L] &
                   -DBSY44[L]
  DBSY55a : DRIF, L=0.5
  DBSY55c : DRIF, L=7.1
  DBSY55b : DRIF, L=11.281590-DBSY55c[L]-Lcoll-DRFB[L]

  RFBBSY39 : MONI, TYPE="01_um_res"
  BPMBSY85 : MONI, TYPE="10_um_res"
  RFBBSY88 : MONI, TYPE="01_um_res"
  BPMBSY92 : MONI, TYPE="10_um_res"

  XCBSY26 : HKIC
  XCA0    : HKIC

  YCBSY35 : VKIC
  YCBSY62 : VKIC
  YCA0    : VKIC

  BSYend  : MARK !FFTB side of muon plug wall: Z=3224.022426 (Z'=176.020508 m, X'=0.0 m, Y'=-0.821761 m)
  D10J    : MARK !D10
  D19A    : MARK !D10
  D10H    : MARK !D10
  FLNG    : MARK !D10

  D2      : INST !stopper
  ST60    : INST !backup stopper
  ST61    : INST !backup stopper
  DM60    : INST !"disaster" burn-through-monitor behind ST60

  CXQ6    : RCOL, L=Lcoll, XSIZE=4.3E-3, YSIZE=20E-3

  SPhBSY : LINE=(DBSY52c,&
    Q50Q3,Q50Q3,DBSY53a,RFBBSY39,DBSY53b,YCBSY35,DBSY53c,&
    Q5,BPMBSY85,Q5,DBSY54a,XCBSY26,DBSY54b,&
      D10J,DBSY42,D19A,DBSY43,D10H,DBSY44,FLNG,DBSY54c,&
    Q6,Q6,DRFB,RFBBSY88,DBSY55a,YCBSY62,DBSY55b,CXQ6,DBSY55c,D2L,D2,D2L,&
      DM3,DST60L,ST60,DST60L,DM4a,DM60,DM4b,XCA0,DXCA0,YCA0,DYCA0,&
      DST61L,ST61,DST61L,DM5,&
    QA0,BPMBSY92,QA0,DM6,DMONI,DMONI,WALL,BSYend,ENDSPH,SEQ11END,SEQ12BEG)

! ------------------------------------------------------------------------------
! LCLS1H BSY
! ------------------------------------------------------------------------------

  KQ30801 :=  0.387375783858
  KQ50Q1  := -0.207065282623
  KQ50Q2  :=  0.125729323434

  Q50Q1 : QUAD, TYPE="50Q1", L=0.093671, K1=KQ50Q1, APER=0.010325
  Q50Q2 : QUAD, TYPE="50Q2", L=0.162151, K1=KQ50Q2, APER=0.010325

  LKIK   := 1.0601 ! kicker coil length per magnet (m) [41.737 in from SA-380-330-02, rev. 0]
  ABXKIK := 0.75E-3 *1E-10 !full angle =0.75E-3 when BXKIK1,2 are turned on

  BXKIK1A : SBEN, TYPE="XPULSED", L=LKIK/2, ANGLE=ABXKIK/4, HGAP=25.4E-3, &
                  E1=ABXKIK/4, E2=0, FINT=0.5, FINTX=0
  BXKIK1B : SBEN, TYPE="XPULSED", L=LKIK/2, ANGLE=ABXKIK/4, HGAP=25.4E-3, &
                  E1=0, E2=ABXKIK/4, FINT=0  , FINTX=0.5
  BXKIK2A : SBEN, TYPE="XPULSED", L=LKIK/2, ANGLE=ABXKIK/4, HGAP=25.4E-3, &
                  E1=ABXKIK/4, E2=0, FINT=0.5, FINTX=0
  BXKIK2B : SBEN, TYPE="XPULSED", L=LKIK/2, ANGLE=ABXKIK/4, HGAP=25.4E-3, &
                  E1=0, E2=ABXKIK/4, FINT=0  , FINTX=0.5

  DBXK   : DRIF, L=0.079176
  DAQ17a : DRIF, L=3.9709-LKIK-DBXK[L]

  DAQ17 : LINE=(DAQ17a,BXKIK1A,BXKIK1B,DBXK) !redefine DAQ17

  SPOILER : INST           !TDKIK dump spoiler
  TDKIK   : INST, L=0.6096 !horizontal off-axis in-line dump

  DBSY00  : DRIF, L=0.322128+0.140208+1.605264
  DBSY02a : DRIF, L=DBSY00[L]-LKIK-DBXK[L]
  DBSY02b : DRIF, L=0.0184
  DBSY01  : DRIF, L=0.140208
  DBSY50  : DRIF, L=7.035849-DBSY00[L]-DBSY02b[L]
  DBSY51a : DRIF, L=0.5
  DBSY51b : DRIF, L=1.11-DBSY01[L]-DBSY51a[L]
  DBSY51c : DRIF, L=8.04
  DBSY51e : DRIF, L=0.5
  DBSY51d : DRIF, L=29.0-DBSY01[L]-DBSY51a[L]-DBSY51b[L]-DBSY51c[L] &
                        -DBSY51e[L]-TDKIK[L]
  DBSY52a : DRIF, L=0.2
  DBSY52b : DRIF, L=29.0-LBSP-DBSY52a[L]-DBSY52c[L]
  DBXSP1h : DRIF, L=LBSP/2

  BPMBSY1  : MONI, TYPE="10_um_res"
  BPMBSY29 : MONI, TYPE="10_um_res"

  XCBSY09 : HKIC

  YCBSY10 : VKIC

  BSYbeg   : MARK
  FFTBORGN : MARK
  S100     : MARK !station 100
  ZLIN15   : MARK !station-100 (or "S100"): Z=3048.0 (Z'=X'=Y'=0.0 m)

  BSY : LINE=(BSYbeg,DBXK,BXKIK2A,BXKIK2B,DBSY02a,FFTBORGN,DBSY02b,&
    S100,ZLIN15,DBSY50,&
    Q50Q1,Q50Q1,DBSY01,BPMBSY1,DBSY51a,YCBSY10,DBSY51b,SPOILER,DBSY51c,TDKIK,&
    DBSY51d,XCBSY09,DBSY51e,&
    Q50Q2,Q50Q2,DBSY52a,BPMBSY29,DBSY52b,DBXSP1h,DBXSP1h,&
    SPhBSY)

! ------------------------------------------------------------------------------
! HXR VBEND
! ------------------------------------------------------------------------------

  KQVM1 := -0.421822214065
  KQVM2 :=  0.306532959155
  KQVM3 :=  0.706429626355
  KQVM4 := -0.673307045553

  QVM1 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1= KQVM1, APER=rQF
  QVM2 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1= KQVM2, APER=rQF
  QVM3 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1= KQVM3, APER=rQF
  QVM4 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1= KQVM4, APER=rQF

  KQVB := -0.42223036711

  QVB1 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1= KQVB,  APER=rQF
  QVB2 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=-KQVB,  APER=rQF
  QVB3 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1= KQVB,  APER=rQF

  BY1A : SBEN, TYPE="3D39", L=LVB/2, ANGLE=AVB/2, HGAP=GVB/2, &
               E1=AVB/2, FINT=0.5, FINTX=0, TILT
  BY1B : SBEN, TYPE="3D39", L=LVB/2, ANGLE=AVB/2, HGAP=GVB/2, &
               FINT=0, E2=AVB/2, FINTX=0.5, TILT
  BY2A : SBEN, TYPE="3D39", L=LVB/2, ANGLE=AVB/2, HGAP=GVB/2, &
               E1=AVB/2, FINT=0.5, FINTX=0, TILT
  BY2B : SBEN, TYPE="3D39", L=LVB/2, ANGLE=AVB/2, HGAP=GVB/2, &
               FINT=0, E2=AVB/2, FINTX=0.5, TILT

  DVB1      : DRIF, L=8.0-2*0.3125, TYPE="CSR"
  DVB2m80cm : DRIF, L=4.0-0.4-0.4, TYPE="CSR"
  DVB2      : DRIF, L=4.0, TYPE="CSR"
  DVB1m40cm : DRIF, L=8.0-0.4-2*0.3125, TYPE="CSR"
  DVB25cmc  : DRIF, L=0.5-0.25
  DVBem25cm : DRIF, L=0.5-0.25 , TYPE="CSR"
  DVBem15cm : DRIF, L=0.150+0.00381+0.018803, TYPE="CSR"

  BPMVM1 : MONI, TYPE="05_um_res"
  BPMVM2 : MONI, TYPE="05_um_res"
  BPMVM3 : MONI, TYPE="05_um_res"
  BPMVM4 : MONI, TYPE="05_um_res"
  BPMVB1 : MONI, TYPE="05_um_res"
  BPMVB2 : MONI, TYPE="05_um_res"
  BPMVB3 : MONI, TYPE="05_um_res"

  XCVM2 : HKIC,TYPE="type-4"
  XCVM3 : HKIC,TYPE="type-4"

  YCVM1 : VKIC,TYPE="class-5c" !calibrated to <1%
  YCVB1 : VKIC,TYPE="class-4"
  YCVB3 : VKIC,TYPE="class-4"
  YCVM4 : VKIC,TYPE="class-5"

  VBIN    : MARK !start of vert. bend system: Z=3226.684266 (Z'=178.682319 m, X'=0.0 m, Y'=-0.834188 m)
  VBOUT   : MARK !end of vert. bend system: Z=3252.866954 (Z'=204.865007 m, X'= 0.0 m, Y'=-0.895305 m)
  CNTLT1H : MARK, TYPE="CENTER" !ELEGANT will correct the orbit here for CSR-steering

  VBEND : LINE=(VBin,&
                BY1A,BY1B,DVB1,&
                QVB1,BPMVB1,QVB1,D40cmC,YCVB1,DVB2m80cm,D40cmC,&
                QVB2,BPMVB2,QVB2,DVB2, &
                QVB3,BPMVB3,QVB3,D40cmC,YCVB3,DVB1m40cm,&
                BY2A,BY2B,CNTLT1H,VBout)

  VBSYS : LINE=(BEGLTUH,DYCVM1,YCVM1,DQVM1,&
                QVM1,BPMVM1,QVM1,DQVM2,&
                QVM2,BPMVM2,QVM2,DXCVM2,XCVM2,DVB25cm,&
                VBEND,DVB25cmc,XCVM3,D25cm,&
                QVM3,BPMVM3,QVM3,DVBem25cm,YCVM4,D25cm,&
                QVM4,BPMVM4,QVM4,DVBem15cm,D10cmb,D25cma)

! ------------------------------------------------------------------------------
! HXR dogleg
! ------------------------------------------------------------------------------

  KQDL :=  0.437183970154

  QDL31 : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQDL, APER=rQA
  QDL32 : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQDL, APER=rQA
  QDL33 : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQDL, APER=rQA
  QDL34 : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQDL, APER=rQA

  KCQ31 := 0
  KCQ32 := 0

  CQ31 : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=KCQ31, APER=rQx
  CQ32 : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=KCQ32, APER=rQx

  KQT1 :=-0.420937827343
  KQT2 := 0.839614778043

  QT11 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF
  QT12 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT2, APER=rQF
  QT13 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF
  QT21 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF
  QT22 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT2, APER=rQF
  QT23 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF
  QT31 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF
  QT32 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT2, APER=rQF
  QT33 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF
  QT41 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF
  QT42 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT2, APER=rQF
  QT43 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF

  LB3    := 2.623                    !4D102.36T effective length (m)
  GB3    := 0.023                    !4D102.36T gap height (m)
  AB3P   := 0.5*RADDEG*(+1)
  AB3M   := 0.5*RADDEG*(-1)
  LeffB3 := LB3*AB3P/(2*SIN(AB3P/2)) !full bend eff. path length (m)

  BX31A : SBEN, TYPE="4D102.36T"    , L=LeffB3/2 , ANGLE=AB3P/2, HGAP=GB3/2, &
                E1=AB3P/2, E2=0     , FINT=0.5, FINTX=0.0
  BX31B : SBEN, TYPE="4D102.36T"    , L=LeffB3/2 , ANGLE=AB3P/2, HGAP=GB3/2, &
                E1=0     , E2=AB3P/2, FINT=0.0, FINTX=0.5
  BX32A : SBEN, TYPE="4D102.36T"    , L=LeffB3/2 , ANGLE=AB3P/2, HGAP=GB3/2, &
                E1=AB3P/2, E2=0     , FINT=0.5, FINTX=0.0
  BX32B : SBEN, TYPE="4D102.36T"    , L=LeffB3/2 , ANGLE=AB3P/2, HGAP=GB3/2, &
                E1=0     , E2=AB3P/2, FINT=0.0, FINTX=0.5

  BX35A  : SBEN, TYPE="4D102.36T"   , L=LeffB3/2 , ANGLE=AB3M/2, HGAP=GB3/2, &
                 E1=AB3M/2, E2=0    , FINT=0.5, FINTX=0.0
  BX35B  : SBEN, TYPE="4D102.36T"   , L=LeffB3/2 , ANGLE=AB3M/2, HGAP=GB3/2, &
                 E1=0    , E2=AB3M/2, FINT=0.0, FINTX=0.5
  BX36A  : SBEN, TYPE="4D102.36T"   , L=LeffB3/2 , ANGLE=AB3M/2, HGAP=GB3/2, &
                 E1=AB3M/2, E2=0    , FINT=0.5, FINTX=0.0
  BX36B  : SBEN, TYPE="4D102.36T"   , L=LeffB3/2 , ANGLE=AB3M/2, HGAP=GB3/2, &
                 E1=0    , E2=AB3M/2, FINT=0.0, FINTX=0.5

! single beam dumper vertical kicker (removed)

  DBYKIK1 : DRIF, L=LKIK
  DBYKIK2 : DRIF, L=LKIK

  LPCTDKIK := 0.8128 !length of each of 4 muon protection collimator after TDKIK (0.875" ID w/pipe)
  LSPONT   := 1.5 !length of possible spontaneous undulator (<=5 m now that TDKIK is also there)

  DCB32    : DRIF, L=0.8
  DDL10w   : DRIF, L=10.65494465, TYPE="CSR"
  DWSDL31a : DRIF, L=0.096237
  DWSDL31b : DRIF, L=0.3
  DDL10x   : DRIF, L=0.6, TYPE="CSR"
  D32cmb   : DRIF, L=0.6
  D31A     : DRIF, L=0.6
  D31B     : DRIF, L=0.3
  DDL10em80cm : DRIF, L=10.5221285-0.1, TYPE="CSR"
  DX33A    : DRIF, L=LB3/2 !optional bend for branch point
  DX33B    : DRIF, L=LB3/2
  DX34A    : DRIF, L=LB3/2
  DX34B    : DRIF, L=LB3/2
  DX37A    : DRIF, L=LB3/2 !optional bend for branch point
  DX37B    : DRIF, L=LB3/2
  DX38A    : DRIF, L=LB3/2
  DX38B    : DRIF, L=LB3/2
  DDL1a    : DRIF, L=5.820626-LKIK/2
  DDL1d    : DRIF, L=0.609226-LKIK/2
  DDL1e    : DRIF, L=5.421642-LKIK/2
  D32A     : DRIF, L=0.47046
  D32B     : DRIF, L=0.47046
  D33A     : DRIF, L=0.39
  D33B     : DRIF, L=0.32
  D34A     : DRIF, L=0.56
  D34B     : DRIF, L=0.32
  DSPLR    : DRIF, L=0.43036
  DDL1cm40cm : DRIF, L=6.03036-0.43036-0.6096/2
  D30cma   : DRIF, L=0.257426
  DPC1     : DRIF, L=0.266697
  DPC2     : DRIF, L=0.266697
  DPC3     : DRIF, L=0.266697
  DPC4     : DRIF, L=0.266697+0.339613-0.8128/2
  DSPONTUA : DRIF, L=LSPONT/2
  DSPONTUB : DRIF, L=LSPONT/2
  DDL1dm30cm : DRIF, L=0.379160-0.262228 !allow possible new spontaneous undulator here
  DCQ31a   : DRIF, L=6.037182, TYPE="CSR"
  DCQ31b   : DRIF, L=5.811658, TYPE="CSR"
  D29cma   : DRIF, L=0.29+0.023878+0.1000244+0.1704396
  D32cmd   : DRIF, L=0.32-0.056221+0.4000244+0.2404381
  DCQ32a   : DRIF, L=5.4817585, TYPE="CSR"
  DCB36    : DRIF, L=2.7
  DCQ32b   : DRIF, L=6.0371785-DCB36[L]-Lcoll, TYPE="CSR"
  D30cm    : DRIF, L=0.30
  DDL10m70cm : DRIF, L=12.86072-0.4-0.3-0.09+0.00046
  DDL10um25cm : DRIF, L=0.5-0.25-0.2399776+0.2404376
  DDL10v   : DRIF, L=12.86072-0.5
  DDL20e   : DRIF, L=0.5, TYPE="CSR"
  DDL30em40cm : DRIF, L=1.0-0.4-0.090013, TYPE="CSR"
  D40cmb   : DRIF, L=0.40+0.090013
  D46cm    : DRIF, L=(1.0-Lcoll)/2
  DDL20    : DRIF, L=0.5
  DDL30em40cma : DRIF, L=1.0-0.4-0.090013+0.000473, TYPE="CSR"
  D40cmd   : DRIF, L=0.40+0.090013-0.000473
  D40cme   : DRIF, L=0.40+0.090013+0.010447
  DDL30em40cmb : DRIF, L=1.0-0.4-0.090013-0.010447, TYPE="CSR"
  DDL30em40cmc : DRIF, L=1.0-0.4-0.090013+0.065013, TYPE="CSR"
  D40cmf   : DRIF, L=0.40+0.090013-0.065013

  RFBDL1 : MONI, TYPE="01_um_res"
  BPMDL2 : MONI, TYPE="05_um_res"
  BPMDL3 : MONI, TYPE="05_um_res"
  BPMDL4 : MONI, TYPE="05_um_res"
  BPMT12 : MONI, TYPE="05_um_res"
  BPMT22 : MONI, TYPE="05_um_res"
  BPMT32 : MONI, TYPE="05_um_res"
  BPMT42 : MONI, TYPE="05_um_res"

  XCDL1  : HKIC,TYPE="class-4"
  XCDL2  : HKIC,TYPE="class-4"
  XCDL3  : HKIC,TYPE="class-4"
  XCQT12 : HKIC,TYPE="class-5"
  XCQT22 : HKIC,TYPE="class-5"
  XCQT42 : HKIC,TYPE="class-5"

  YCDL1  : VKIC,TYPE="class-4"
  YCDL2  : VKIC,TYPE="class-4"
  YCDL3  : VKIC,TYPE="class-4"
  YCDL4  : VKIC,TYPE="class-4"
  YCQT12 : VKIC,TYPE="class-5"
  YCQT21 : VKIC,TYPE="class-5"

  XCQT32 : HKIC,TYPE="class-5f" !fast-feedback (loop-4)
  XCDL4  : HKIC,TYPE="class-4f" !fast-feedback (loop-4)

  YCQT32 : VKIC,TYPE="class-5f" !fast-feedback (loop-4)
  YCQT42 : VKIC,TYPE="class-5f" !fast-feedback (loop-4)

  DSPOILER : MARK
  DTDKIK   : DRIF, L=0.6096

  WSDL31 : WIRE

  OTR30 : PROF, TYPE="OTR" !LTU slice energy spread (90 deg from TCAV3)

  CEDL1    : RCOL, L=Lcoll, XSIZE=2.3E-3, YSIZE=20E-3
  CEDL3    : RCOL, L=Lcoll, XSIZE=2.3E-3, YSIZE=20E-3

  CYBX32   : RCOL, L=Lcoll, YSIZE=3.8E-3, XSIZE=20E-3
  CXQT22   : RCOL, L=Lcoll, XSIZE=6.2E-3, YSIZE=20E-3
  CYBX36   : RCOL, L=Lcoll, YSIZE=3.5E-3, XSIZE=20E-3

 !PCTDKIK1 : ECOL,L=LPCTDKIK,XSIZE=11.1125E-3,YSIZE=11.1125E-3 !muon collimator after SBD TDKIK in-line dump
 !PCTDKIK2 : ECOL,L=LPCTDKIK,XSIZE=11.1125E-3,YSIZE=11.1125E-3 !muon collimator after SBD TDKIK in-line dump
 !PCTDKIK3 : ECOL,L=LPCTDKIK,XSIZE=11.1125E-3,YSIZE=11.1125E-3 !muon collimator after SBD TDKIK in-line dump
 !PCTDKIK4 : ECOL,L=LPCTDKIK,XSIZE=11.1125E-3,YSIZE=11.1125E-3 !muon collimator after SBD TDKIK in-line dump

  DPCTDKIK : DRIF,L=LPCTDKIK

  DL23BEG : MARKER
  CNTWIGH : MARK, TYPE="CENTER" !ELEGANT will correct the orbit here for CSR-steering
  CNTLT2H : MARK, TYPE="CENTER" !ELEGANT will correct the orbit here for CSR-steering
  CNTLT3H : MARK, TYPE="CENTER" !ELEGANT will correct the orbit here for CSR-steering
  SS1     : MARK
  SS3     : MARK

  DBMARK34 : MARK !entrance of BX31

! wiggler for sync. light energy diagnostic (described in SLAC-PUB-3945)
! based on FACET optics model (M. Woodley)
! (series approximation for sinc(x)=sin(x)/x to enable setting with x=0)

  BWGh  := 1.E-12                  !wiggler bend field (kG)
  AWGh  := ASIN(BWGh*ZWHP/(Ef*Cb)) !bend angle per half-pole
  AWGh2 := AWGh*AWGh
  AWGh4 := AWGh2*AWGh2
  AWGh6 := AWGh4*AWGh2
  SINCh := 1-AWGh2/6+AWGh4/120-AWGh6/5040
  LWGh  := ZWHP/SINCh              !half-pole path length

  AWG1h  := ASIN(SIN(AWGh)/2) !"short half" half-pole bend angle
  AWG1h2 := AWG1h*AWG1h
  AWG1h4 := AWG1h2*AWG1h2
  AWG1h6 := AWG1h4*AWG1h2
  SINC1h := 1-AWG1h2/6+AWG1h4/120-AWG1h6/5040
  LWG1h  := (ZWHP/2)/SINC1h   !"short half" half-pole path length

  AWG2h  := AWGh-AWG1h        !"long half" half-pole bend angle
  LWG2h  := LWGh-LWG1h        !"long half" half-pole path length

  WIG1HA : SBEN, TYPE="@3,SLC wiggler", L=LWG1h , HGAP=GWIG/2, ANGLE=AWG1h, &
                 E1=0    , E2=0       , FINT=0.5, FINTX=0    , TILT
  WIG1HB : SBEN, TYPE="@3,SLC wiggler", L=LWG2h , HGAP=GWIG/2, ANGLE=AWG2h, &
                 E1=0    , E2=AWGh    , FINT=0  , FINTX=0.5  , TILT
  WIG2HA : SBEN, TYPE="@3,SLC wiggler", L=LWGh  , HGAP=GWIG/2, ANGLE=-AWGh, &
                 E1=-AWGh, E2=0       , FINT=0.5, FINTX=0    , TILT
  WIG2HB : SBEN, TYPE="@3,SLC wiggler", L=LWGh  , HGAP=GWIG/2, ANGLE=-AWGh, &
                 E1=0    , E2=-AWGh   , FINT=0  , FINTX=0.5  , TILT
  WIG3HA : SBEN, TYPE="@3,SLC wiggler", L=LWG2h , HGAP=GWIG/2, ANGLE=AWG2h, &
                 E1=AWGh , E2=0       , FINT=0.5, FINTX=0    , TILT
  WIG3HB : SBEN, TYPE="@3,SLC wiggler", L=LWG1h , HGAP=GWIG/2, ANGLE=AWG1h, &
                 E1=0    , E2=0       , FINT=0  , FINTX=0.5  , TILT

  LDWGh := ZDWG/COS(AWGh)

  DWGh : DRIF, L=LDWGh

  YCWIGh : VKIC, TYPE="wiggler trim"

  EWIGh : LINE=(WIG1HA,WIG1HB,DWGh,WIG2HA,YCWIGh,WIG2HB,DWGh,WIG3HA,WIG3HB,&
                CNTWIGH)

  DL21 : LINE=(DBMARK34,&
               BX31A,BX31B,DDL10w,DWSDL31a,WSDL31,DWSDL31b,YCDL1,DDL10x,&
                 XCDL1,D32cmb,CEDL1,D31A,&
               QDL31,QDL31,DRFB,RFBDL1,D31B,EWIGh,DDL10em80cm,&
                 CYBX32,DCB32,&
               BX32A,BX32B,CNTLT2H)

  DL22 : LINE=(DX33A,DX33B,DDL1a,&
               DBYKIK1,DDL1d,DDL1d,DBYKIK2,DDL1e,XCDL2,D32A,&
               QDL32,BPMDL2,QDL32,D32B,YCDL2,DSPLR,DSPOILER,DDL1cm40cm,&
               DTDKIK,D30cma,&
               DPCTDKIK,DPC1,DPCTDKIK,DPC2,DPCTDKIK,DPC3,DPCTDKIK,DPC4,&
               DSPONTUA,DSPONTUB,DDL1dm30cm,DX34A,DX34B)

  DL23 : LINE=(DL23BEG,&
               BX35A,BX35B,DCQ31a,CQ31,CQ31,DCQ31b,OTR30,D29cma,XCDL3,D33A,&
               QDL33,BPMDL3,QDL33,D33B,YCDL3,D32cmd,CEDL3,DCQ32a, &
               CQ32,CQ32,DCQ32b,CYBX36,DCB36,&
               BX36A,BX36B,CNTLT3H)

  DL24 : LINE=(DX37A,DX37B,D30cm,DDL10m70cm,XCDL4,D34A,&
               QDL34,BPMDL4,QDL34,D34B,YCDL4,DDL10um25cm,DDL10v,DX38A,DX38B)

  TRIP1 : LINE=(DDL20e,&
                QT11,QT11,DDL30em40cm,XCQT12,D40cmb,&
                QT12,BPMT12,QT12,D40cmb,YCQT12,DDL30em40cm,&
                QT13,QT13,DDL20e)

  TRIP2 : LINE=(YCQT21,DDL20,&
                QT21,QT21,DDL30em40cm,XCQT22,D40cmb,&
                QT22,BPMT22,QT22,D46cm,CXQT22,D46cm,&
                QT23,QT23,DDL20)

  TRIP3 : LINE=(DDL20e,&
                QT31,QT31,DDL30em40cma,XCQT32,D40cmd,&
                QT32,BPMT32,QT32,D40cme,YCQT32,DDL30em40cmb,&
                QT33,QT33,DDL20e)

  TRIP4 : LINE=(DDL20,&
                QT41,QT41,DDL30em40cmc,XCQT42,D40cmf,&
                QT42,BPMT42,QT42,D40cmb,YCQT42,DDL30em40cm,&
                QT43,QT43,DDL20)

  DOGLG2A : LINE=(DL21,TRIP1,SS1,DL22,TRIP2)

  DOGLG2B : LINE=(DL23,TRIP3,SS3,DL24,TRIP4)

! ------------------------------------------------------------------------------
! HXR emittance diagnostic
! ------------------------------------------------------------------------------

  KQEM1 := -0.390056562045
  KQEM2 :=  0.431933955306
  KQEM3 := -0.593545072757
  KQEM4 :=  0.420209358696

  QEM1  : QUAD, TYPE="1.26Q12"  , L=LQA/2, K1=KQEM1, APER=rQA
  QEM2  : QUAD, TYPE="1.26Q12"  , L=LQA/2, K1=KQEM2, APER=rQA
  QEM3  : QUAD, TYPE="1.26Q12"  , L=LQA/2, K1=KQEM3, APER=rQA
  QEM3V : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=0    , APER=rQx
  QEM4  : QUAD, TYPE="1.26Q12"  , L=LQA/2, K1=KQEM4, APER=rQA

  KQED2 := 0.402753198232

  QE31 : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=+KQED2, APER=rQx
  QE32 : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=-KQED2, APER=rQx
  QE33 : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=+KQED2, APER=rQx
  QE34 : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=-KQED2, APER=rQx
  QE35 : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=+KQED2, APER=rQx
  QE36 : QUAD, TYPE="1.259Q3.5", L=LQx/2, K1=-KQED2, APER=rQx

  DMM1m90cm : DRIF, L=1.19846
  DEM1B     : DRIF, L=4.14092
  DMM3m80cm : DRIF, L=11.26692
  DEM3B     : DRIF, L=0.773299
  DMM4m90cm : DRIF, L=2.757621
  DMM5      : DRIF, L=2.07046-DRFB[L]

  BPMEM1 : MONI, TYPE="05_um_res"
  BPMEM2 : MONI, TYPE="05_um_res"
  BPMEM3 : MONI, TYPE="05_um_res"
  RFBEM4 : MONI, TYPE="01_um_res"
  BPME31 : MONI, TYPE="05_um_res"
  RFBE32 : MONI, TYPE="01_um_res"
  BPME33 : MONI, TYPE="05_um_res"
  RFBE34 : MONI, TYPE="01_um_res"
  BPME35 : MONI, TYPE="05_um_res"
  RFBE36 : MONI, TYPE="01_um_res"

  XCEM2 : HKIC,TYPE="class-4"
  XCEM4 : HKIC,TYPE="class-4"
  XCE31 : HKIC,TYPE="class-4"
  XCE33 : HKIC,TYPE="class-4"
  XCE35 : HKIC,TYPE="class-4"

  YCEM1 : VKIC,TYPE="class-4"
  YCEM3 : VKIC,TYPE="class-4"
  YCE32 : VKIC,TYPE="class-4"
  YCE34 : VKIC,TYPE="class-4"
  YCE36 : VKIC,TYPE="class-4"

  WS31 : WIRE !LTU emittance
  WS32 : WIRE !LTU emittance
  WS33 : WIRE !LTU emittance
  WS34 : WIRE !LTU emittance

  DCX31 : DRIF,L=Lcoll
  DCY32 : DRIF,L=Lcoll
  DCX35 : DRIF,L=Lcoll
  DCY36 : DRIF,L=Lcoll

  DBMARK36 : MARK !center of WS31

  EDMCH : LINE=(D25cmb,D25cmc,DMM1m90cm,YCEM1,DEM1A,&
                QEM1,BPMEM1,QEM1,DEM1B,QEM2,BPMEM2,&
                QEM2,DEM2B,XCEM2,DMM3m80cm,YCEM3,DEM3A,&
                QEM3,BPMEM3,QEM3,DEM3B,&
                QEM3V,QEM3V,DMM4m90cm,XCEM4,DEM4A,&
                QEM4,QEM4,DRFB,RFBEM4,DMM5)

  EDSYS : LINE=(DBMARK36,WS31,D40cm,DE3m80cma,XCE31,DQEA,&
                QE31,BPME31,QE31,DQEBx,DCX31,DQEBx2,DE3a,YCE32,DQEAa,&
                QE32,QE32,DRFB,RFBE32,DQEBy1,DCY32,DQEBy2,WS32,D40cm,&
                  DE3m80cmb,XCE33,DQEAb, &
                QE33,BPME33,QE33,DQEC,DE3m40cm,YCE34,DQEA,&
                QE34,QE34,DRFB,RFBE34,DQEC1,WS33,D40cm,DE3m80cm,XCE35,DQEAc,&
                QE35,BPME35,QE35,DQEBx,DCX35,DQEBx2,DE3,YCE36,DQEA,&
                QE36,QE36,DRFB,RFBE36,DQEBy1,DCY36,DQEBy2,WS34,D40cm)

! ------------------------------------------------------------------------------
! HXR undulator match
! ------------------------------------------------------------------------------

  KQUM1 :=  0.221747732919
  KQUM2 := -0.20094334026
  KQUM3 :=  0.337494546466
  KQUM4 := -0.30445301421

  QUM1 : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQUM1, APER=rQA
  QUM2 : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQUM2, APER=rQA
  QUM3 : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQUM3, APER=rQA
  QUM4 : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQUM4, APER=rQA

  DUM1A     : DRIF, L=0.49
  DUM1B     : DRIF, L=0.47046
  DU2m120cm : DRIF, L=4.730 -2.8141/3
  DUM2A     : DRIF, L=0.37
  DUM2B     : DRIF, L=0.47046
  DU3m80cm  : DRIF, L=8.0-0.4-0.4-0.125+0.21546 -2.8141/3
  DUM3A     : DRIF, L=0.38
  DUM3B     : DRIF, L=0.47046
  DUM4A     : DRIF, L=0.5
  DUM4B     : DRIF, L=0.59746
  DMUON1    : DRIF, L=0.154859
  DMUON2    : DRIF, L=1.406800
  DMUON3    : DRIF, L=0.310592
  DVV35     : DRIF, L=1.780-0.254-1.087896+0.003189 !drift after pre-undulator vacuum valve
  DTDUND1   : DRIF, L=0.5+0.127+1.087896-0.003189 !drift before pre-undulator tune-up dump
  DTDUND2   : DRIF, L=0.37935 !drift after pre-undulator tune-up dump
  D32cmc    : DRIF, L=0.32-0.0254+0.00586
  D40cma    : DRIF, L=0.40+1.407939 -2.8141/3

  BPMUM1 : MONI, TYPE="05_um_res"
  BPMUM2 : MONI, TYPE="05_um_res"
  BPMUM3 : MONI, TYPE="05_um_res"
  BPMUM4 : MONI, TYPE="05_um_res"

  XCUM1 : HKIC,TYPE="class-4f" !fast-feedback (loop-5)
  XCUM3 : HKIC,TYPE="class-4f" !fast-feedback (loop-5)

  YCUM2 : VKIC,TYPE="class-4f" !fast-feedback (loop-5)
  YCUM4 : VKIC,TYPE="class-4f" !fast-feedback (loop-5)

  PCMUON : ECOL,L=1.1684,XSIZE=8.64E-03/2,YSIZE=4.32E-03/2 !muon scattering collimator after pre-undulator tune-up dump (ID from Rago: 7/18/08)

  TDUND : INST !LTU insertable block at und. extension entrance (w/ screen)

  MM1    : MARK
  MM2    : MARK
  MM3    : MARK
  EOBLM  : MARK !future electro-optic bunch length monitor?
  VV999  : MARK !new vacuum valve just upbeam of undulator
  PFILT1 : MARK

  DBMARK37 : MARK !end of undulator match

  UNMCH : LINE=(DU1m80cm,DCX37,D32cmc,XCUM1,DUM1A,&
                QUM1,BPMUM1,QUM1,DUM1B,D32cm,DU2m120cm,DCY38,D32cma,&
                  YCUM2,DUM2A,&
                QUM2,BPMUM2,QUM2,DUM2B,DU3m80cm,XCUM3,DUM3A, &
                QUM3,BPMUM3,QUM3,DUM3B,D40cma,EOBLM,DU4m120cm,YCUM4,DUM4A,&
                QUM4,BPMUM4,QUM4,DUM4B,DU5m80cm,D40cm, &
                DMUON2,DVV35,DTDUND1,TDUND,DTDUND2,&
                PCMUON,DMUON1,VV999,DMUON3,MM3,PFILT1,DBMARK37)

  LTU : LINE=(VBSYS,MM1,DOGLG2A,DOGLG2B,MM2,EDMCH,EDSYS,UNMCH,&
              ENDLTUH,SEQ12END)

! ------------------------------------------------------------------------------
! HXR dumpline
! ------------------------------------------------------------------------------

  KQDMP := -0.155138541732

  QDmp1 : QUAD,TYPE="3.94Q17",L=LQP/2,K1=KQDmp,APER=rQP
  QDmp2 : QUAD,TYPE="3.94Q17",L=LQP/2,K1=KQDmp,APER=rQP

  BYDSHA : SBEN, TYPE="1.26D18.43", L=LeffBYDS/2, ANGLE=ABYDS/2, &
                 HGAP=GBYDS/2, E1=ABYDS/2, E2=0, FINT=0.5, FINTX=0.0, TILT
  BYDSHB : SBEN, TYPE="1.26D18.43", L=LeffBYDS/2, ANGLE=ABYDS/2, &
                 HGAP=GBYDS/2, E1=0, E2=ABYDS/2, FINT=0.0, FINTX=0.5, TILT

  BYD1A  : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, &
                 E1=ABdm0/2, E2=0, FINT=0.57, FINTX=0.00, TILT
  BYD1B  : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, &
                 E1=0, E2=ABdm0/2, FINT=0.00, FINTX=0.57, TILT
  BYD2A  : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, &
                 E1=ABdm0/2, E2=0, FINT=0.57, FINTX=0.00, TILT
  BYD2B  : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, &
                 E1=0, E2=ABdm0/2, FINT=0.00, FINTX=0.57, TILT
  BYD3A  : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, &
                 E1=ABdm0/2, E2=0, FINT=0.57, FINTX=0.00, TILT
  BYD3B  : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, &
                 E1=0, E2=ABdm0/2 , FINT=0.00, FINTX=0.57, TILT

  DD1a   : DRIFT, L=2.6512616
  DD1b   : DRIFT, L=6.8896877-LQD/2-Ddmpv+0.017094407653 +dDD1b
  DD1c   : DRIFT, L=0.4+0.2920945-0.266645-2*0.0381452-6.17967418595E-6+0.06
  DD1d   : DRIFT, L=0.25-0.0079372+0.06
  DD1e   : DRIFT, L=0.25+0.06
  DD2b   : DRIFT, L=8.425460-LQD/2+Ddmpv-0.15-0.0634916-0.049684-0.0115084+0.06
  DD3a   : DRIFT, L=0.3+0.049684+0.001583
  DD3b   : DRIFT, L=0.3-0.001583-0.1447026

  RFBQD : MONI, TYPE="01_um_res"
  RFBDD : MONI, TYPE="@1,01_um_res"

  XCDD : HKIC,TYPE="class-5"

  YCDD : VKIC,TYPE="class-5"

  OTRDMP : PROF, TYPE="@1,OTR" !Dump screen

  WSDUMP : WIRE

  PCPM1L : ECOL, L=LPCPM/cos(3*ABdm0+ABYDS),XSIZE=0.025,YSIZE=0.025
  PCPM2L : ECOL, L=LPCPM/cos(3*ABdm0+ABYDS),XSIZE=0.025,YSIZE=0.025

  BTM1L    : INST !Burn-Through-Monitor behind PCPM1L
  BTM2L    : INST !Burn-Through-Monitor behind PCPM2L
  DUMPFACE : INST !entrance face of main e- dump
  BTMDUMP  : INST !Burn-Through-Monitor of main e- dump

  MQDMP    : MARK
  DMPend   : MARK
  DBMARK38 : MARK !end of final undulator dump

  ARODMP1H := -ARODMP1S
  ARODMP2H := -ARODMP2S

  RODMP1H : SROT, ANGLE=ARODMP1H
  RODMP2H : SROT, ANGLE=ARODMP2H

  DUMPLINE : LINE=(SEQ14BEG,RODMP1H,&
    BYDSHA,BYDSHB,DS1,BYD1A,BYD1B,DS,BYD2A,BYD2B,DS,BYD3A,BYD3B,&
    DSc,PCPM1L,BTM1L,DD1a,DD1b,YCDD,DD1f,PCPM2L,BTM2L,DD1c,&
    QDmp1,QDmp1,DD1d,RFBQD,DD1g,MQDMP,DD1e,&
    QDmp2,QDmp2,DD2a,XCDD,DD2b,DD3a,RFBDD,DD3b,OTRDMP,&
    DWSDUMPa,WSDUMP,DWSDUMPb,RODMP2H,DUMPFACE,DD3d,DMPend,BTMDUMP,&
    DBMARK38,ENDDMPH,SEQ14END)

  RETURN
