
! *** OPTICS=LCLS2sc20MAR15 ***

! LCLS2sc LTU and dump

! ==============================================================================
! Modification History
! ------------------------------------------------------------------------------
! 20-MAR-2015, M. Woodley
!  * change TYPE for BPMVM4B, BPMBSY1, BPMBSY29, BPMBSY85, and BPMBSY92
!  * assign TYPEs to BCS devices ... defer at level 0
! 12-MAR-2015, Y. Nosochkov
!  * change type of QVM4B to "1.26Q12" in order to provide enough strength
!  * rename WSVM1 to WSVM2 and move it downstream of QVM2 (per LCLS-I update)
!  * move XCVM2 upstream between QVM1 and QVM2 (per LCLS-I update)
!  * add existing wire scanners WS35, WS36 (per LCLS-I update)
!  * remove PCTDKIK1-4 collimators in BSY1 (per S. Mao)
!  * move XCUM1B downstream of QUM1B, and then move both QUM1B and XCUM1B 0.5 m
!    downstream to provide extra 1 m room upstream for moving undulators
!    through the BTH East maze
!  * change type of QDL11-QDL19 from "1.97Q10" to "2Q10"
!  * add split point for transport from BSY1 to SXR (CUSXR beamline)
!  * add scaling with energy for R56 chicane field
! ------------------------------------------------------------------------------
! 12-DEC-2014, M. Woodley
!  * un-defer existing LTUH wire scanners (WSDL31,WS31,WS32,WS33,WS34)
!  * change some RFBs (defer=2) to BPMs (defer=0)
!  * assign BPM TYPE attributes per PRD LCLSII-2.4-PR-0136
! 09-DEC-2014, Y. Nosochkov
!  * add four PCTDKIK muon collimators d/s of the TDKIK in-line dump in BSY1
!  * restore existing YAGPSI profile monitor in HXR
!  * rename marker MUWALL (for front face of muon wall) to MUWALLb in SXR,
!    and add a corresponding marker MUWALL in HXR
!  * update length of main dump slug (DDUMP)
!  * restore existing RFB07, RFB08
!  * move D10 dump inside the muon wall in the BSY
!  * add 9 BCS burn-through-monitors BTM_1,...,BTM_9 in LTUH (S. Mao)
!  * add 9 BCS burn-through-monitors BTM_1b,...,BTM_9b in LTUS (S. Mao)
!  * add BCS current monitors IMSP1h, IMSP2h in HXR BSY (SPH)
!  * add BCS current monitors IMBSY1, IMBSY2, IMBSY34 in BSY1
!  * add BCS collimator PCBSY1 in BSY1
!  * add BCS collimator PCSP3h in HXR BSY (SPH)
!  * assign the BCX311, BCX312, BCX313, BCX314 R56 chicane bends to
!    non-baseline level "2"
!  * change to type "QE" the quads: QDBL1, QDBL2, QDL20, QDL21, QDL22, QVB1b,
!    QVB2b, QVB3b, QVM3b, QVM4b, QEM1b,...,QEM4b, QUM1b,...,QUM4b
!    note: field of QVM4b reaches the limit at 8.2 GeV
!  * change to type "1.97Q10" the quads QDL11,...,QDL19
! ------------------------------------------------------------------------------
! 28-OCT-2014, M. Woodley
!  * add resistive-wall wakefield MARKers (for ELEGANT) per P. Emma
!  * set TYPE="fast" for all wire scanners
!  * redefine start of BSY to be LI30 IV30-9 (Z=3042.005)
!  * add SEQ17 MARKers; move ENDBSY1 MARKer to entrance of SPhBSY line
! 27-OCT-2014, Y. Nosochkov
!  * move wiggler EWIGH ~1.4 m downstream and restore existing positions of
!    CEDL1, YCDL1, XCDL1, WSDL31 in LTUH
!  * add missing existing TYPE of XCA0, YCA0
! ------------------------------------------------------------------------------
! 15-OCT-2014, M. Woodley
!  * move Brhof, GBCC, ZBCC, and ZDCC parameter definitions to common.xsif
!  * change names of R56 compensation chicane bends from "BX..." to "BCX..."
!    to conform with nomenclature rules
!  * rematch BSY to DL2 dogleg (matching subroutine MBSYDL2)
! 14-OCT-2014, Y. Nosochkov
!  * add four R56 compensating chicanes in HXR (u/s of muon wall,
!    d/s of BX32, u/s of BX35, and d/s of BX36) and two chicanes in SXR
!    (u/s of BX31b, and d/s of BX32b) -- set to non-baseline level "0"
!  * add existing WSVM1 wire scanner in the LTUH VBEND area at Z'=177.4709 m
!    (per J. Steiber)
!  * restore dumpline toroids IMDUMP, IMBCS4, IMBCS4b (per LCLSII-2.4-PR-0107)
!  * modify locations of various devices in the dumpline (per A. Callen)
! 10-OCT-2014, Y. Nosochkov
!  * update the TYPE of (13) RFBPMs to indicate the non-baseline level "0"
!  * update the TYPE of (5) LTUH WIRE scanners to indicate the non-baseline
!    level "0"
! 30-SEP-2014, Y. Nosochkov
!  * rematch geometry and optics for the updated type of BX31B, BX32B
!    (1.26D103.3T)
!  * restore TDUND to its existing position in LCLS-I, specify TDUND length
!    per D. Bruch
!  * restore locations of QUM1B, QUM2B, QUM3B, QUM4B as in LCLS-I
!  * add markers for BTH/UH walls
!  * change type of XCDL4 from class-4f to class-5f (per J. Amann)
!  * restore existing LCLS-I devices IMUNDI, IM31, IM36, IMBCS1, IMBCS2,
!    OTR33, BPMEM4, BPMDL1, BPME32, BPME34, BPME36 (not part of LCLS2)
!    to avoid cost of their removal (per A. Callen)
!  * replace YCEM1B with XCEM1B, XCEM2B with YCEM2B, YCEM3B with XCEM3B,
!    and XCEM4B with YCEM4B
! 15-SEP-2014, Y. Nosochkov
!  * designate BSY1 line connecting the end of LCLS-I L3 with the beginning of
!    LCLS2 HXR merge bend BXSP1h
! 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 LCLS-I 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
! ------------------------------------------------------------------------------

! ------------------------------------------------------------------------------
! SXR R56 compensating chicanes
! - use series approximation for sinc(x)=sin(x)/x to allow zero field
! ------------------------------------------------------------------------------

! BBX..  : chicane bend field (kG) at 4 GeV
! ABX..  : chicane bend angle (rad)
! LBX..  : chicane bend path length (m)
! ABX..S : "short" half chicane bend angle (rad)
! ABX..L : "long" half chicane bend angle (rad)
! LBX..S : "short" half chicane bend path length (m)
! LBX..L : "long" half chicane bend path length (m)

  BBX31B    := 5.0450 *Ef/4.0
  ARG31B    := ZBCC*BBX31B/Brhof
  ABX31B    := ASIN(ARG31B)
  ABX31B_2  := ABX31B*ABX31B
  ABX31B_4  := ABX31B_2*ABX31B_2
  ABX31B_6  := ABX31B_4*ABX31B_2
  SINC31B   := 1-ABX31B_2/6+ABX31B_4/120-ABX31B_6/5040
  LBX31B    := ZBCC/SINC31B
  ABX31BS   := ASIN(ARG31B/2)
  ABX31BS_2 := ABX31BS*ABX31BS
  ABX31BS_4 := ABX31BS_2*ABX31BS_2
  ABX31BS_6 := ABX31BS_4*ABX31BS_2
  SINC31BS  := 1-ABX31BS_2/6+ABX31BS_4/120-ABX31BS_6/5040
  LBX31BS   := ZBCC/(2*SINC31BS)
  ABX31BL   := ABX31B-ABX31BS
  LBX31BL   := LBX31B-LBX31BS

  BCX31B1A : SBEN, TYPE="@0,R56", L=LBX31BS, ANGLE=+ABX31BS, E1=0,       &
                   HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX31B1B : SBEN, TYPE="@0,R56", L=LBX31BL, ANGLE=+ABX31BL, E2=+ABX31B, &
                   HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX31B2A : SBEN, TYPE="@0,R56", L=LBX31BL, ANGLE=-ABX31BL, E1=-ABX31B, &
                   HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX31B2B : SBEN, TYPE="@0,R56", L=LBX31BS, ANGLE=-ABX31BS, E2=0,       &
                   HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX31B3A : SBEN, TYPE="@0,R56", L=LBX31BS, ANGLE=-ABX31BS, E1=0,       &
                   HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX31B3B : SBEN, TYPE="@0,R56", L=LBX31BL, ANGLE=-ABX31BL, E2=-ABX31B, &
                   HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX31B4A : SBEN, TYPE="@0,R56", L=LBX31BL, ANGLE=+ABX31BL, E1=+ABX31B, &
                   HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX31B4B : SBEN, TYPE="@0,R56", L=LBX31BS, ANGLE=+ABX31BS, E2=0,       &
                   HGAP=GBCC/2, FINT=0, FINTX=0.5

  DCC31Bo : DRIF, L=ZDCC/COS(ABX31B), TYPE="CSR"
  DCC31Bi : DRIF, L=ZDCC            , TYPE="CSR"

  CC31B   : LINE=(          &
    BCX31B1A,BCX31B1B,DCC31Bo,&
    BCX31B2A,BCX31B2B,DCC31Bi,&
    BCX31B3A,BCX31B3B,DCC31Bo,&
    BCX31B4A,BCX31B4B)

  BBX32B    := 5.0450 *Ef/4.0
  ARG32B    := ZBCC*BBX32B/Brhof
  ABX32B    := ASIN(ARG32B)
  ABX32B_2  := ABX32B*ABX32B
  ABX32B_4  := ABX32B_2*ABX32B_2
  ABX32B_6  := ABX32B_4*ABX32B_2
  SINC32B   := 1-ABX32B_2/6+ABX32B_4/120-ABX32B_6/5040
  LBX32B    := ZBCC/SINC32B
  ABX32BS   := ASIN(ARG32B/2)
  ABX32BS_2 := ABX32BS*ABX32BS
  ABX32BS_4 := ABX32BS_2*ABX32BS_2
  ABX32BS_6 := ABX32BS_4*ABX32BS_2
  SINC32BS  := 1-ABX32BS_2/6+ABX32BS_4/120-ABX32BS_6/5040
  LBX32BS   := ZBCC/(2*SINC32BS)
  ABX32BL   := ABX32B-ABX32BS
  LBX32BL   := LBX32B-LBX32BS

  BCX32B1A : SBEN, TYPE="@0,R56", L=LBX32BS, ANGLE=+ABX32BS, E1=0,       &
                   HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX32B1B : SBEN, TYPE="@0,R56", L=LBX32BL, ANGLE=+ABX32BL, E2=+ABX32B, &
                   HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX32B2A : SBEN, TYPE="@0,R56", L=LBX32BL, ANGLE=-ABX32BL, E1=-ABX32B, &
                   HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX32B2B : SBEN, TYPE="@0,R56", L=LBX32BS, ANGLE=-ABX32BS, E2=0,       &
                   HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX32B3A : SBEN, TYPE="@0,R56", L=LBX32BS, ANGLE=-ABX32BS, E1=0,       &
                   HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX32B3B : SBEN, TYPE="@0,R56", L=LBX32BL, ANGLE=-ABX32BL, E2=-ABX32B, &
                   HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX32B4A : SBEN, TYPE="@0,R56", L=LBX32BL, ANGLE=+ABX32BL, E1=+ABX32B, &
                   HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX32B4B : SBEN, TYPE="@0,R56", L=LBX32BS, ANGLE=+ABX32BS, E2=0,       &
                   HGAP=GBCC/2, FINT=0, FINTX=0.5

  DCC32Bo : DRIF, L=ZDCC/COS(ABX32B), TYPE="CSR"
  DCC32Bi : DRIF, L=ZDCC            , TYPE="CSR"

  CC32B   : LINE=(          &
    BCX32B1A,BCX32B1B,DCC32Bo,&
    BCX32B2A,BCX32B2B,DCC32Bi,&
    BCX32B3A,BCX32B3B,DCC32Bo,&
    BCX32B4A,BCX32B4B)

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

! set CUSXRON=0 for machine without CUSXR beamline
! set CUSXRON=1 for machine with CUSXR beamline

  KQDBL1 := -1.728830199872 *(1.0-CUSXRON) -0.313608317438 *CUSXRON
  KQDBL2 :=  1.868398724698 *(1.0-CUSXRON) -0.316914388102 *CUSXRON

  QDBL1 : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1=KQDBL1, APER=rQE
  QDBL2 : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1=KQDBL2, APER=rQE

  KQDLb := 0.424676241749

  QDL11 : QUAD, TYPE="2Q10", L=LQR/2, K1= KQDLb, APER=rQR
  QDL12 : QUAD, TYPE="2Q10", L=LQR/2, K1=-KQDLb, APER=rQR
  QDL13 : QUAD, TYPE="2Q10", L=LQR/2, K1= KQDLb, APER=rQR
  QDL14 : QUAD, TYPE="2Q10", L=LQR/2, K1=-KQDLb, APER=rQR
  QDL15 : QUAD, TYPE="2Q10", L=LQR/2, K1= KQDLb, APER=rQR
  QDL16 : QUAD, TYPE="2Q10", L=LQR/2, K1=-KQDLb, APER=rQR
  QDL17 : QUAD, TYPE="2Q10", L=LQR/2, K1= KQDLb, APER=rQR
  QDL18 : QUAD, TYPE="2Q10", L=LQR/2, K1=-KQDLb, APER=rQR
  QDL19 : QUAD, TYPE="2Q10", L=LQR/2, K1= KQDLb, APER=rQR

  KQDL20 := -0.492658479582
  KQDL21 := -1.906570566713
  KQDL22 :=  2.195810858649

  QDL20 : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1=KQDL20, APER=rQE
  QDL21 : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1=KQDL21, APER=rQE
  QDL22 : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1=KQDL22, APER=rQE

  LB3b    := 2.656      !1.26D103.3T effective length (m)
  GB3b    := 0.032      !1.26D103.3T gap height (m)
  AB3Pb   := 0.018633330237
  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

  DBSY42  : DRIF, L=0.615959
  DBSY43  : DRIF, L=2.850589
  DBSY44  : DRIF, L=0.15875
  WALL    : DRIF, L=16.764
  DWALLa  : DRIF, L=1.83 !distance from face of muon wall to face of D10 dump
  DWALLb  : DRIF, L=WALL[L]-DWALLa[L]-DBSY42[L]-DBSY43[L]-DBSY44[L]
  DDBLDLb : DRIF, L=0.5 +(LQA-LQE)/2
  DDBLDLc : DRIF, L=0.4
  DDBLDLd : DRIF, L=(LQA-LQE)/2
  DDBLDLa : DRIF, L=0.5*(LDBLDL-2*LQE-DDBLDLb[L]-2*DDBLDLc[L]-DDBLDLd[L]-Lcoll)

  LDLCEL := 25.5
  LDL6b  := 0.4
  LDL0a  := LDLCEL/2-LQA-LDL6b
  LDL0b  := LDLCEL/2-LQA-LDL6b+(LQA-LQR)
  LDL0ba := 3.213005+(LQA-LQR)/2
  LDL0bb := LDL0b-LDL0ba
  LDL1b  := 2.9815+(LQA-LQR)/2
  LDL2b  := LDL0b+LDL6b-LDL1b-LB3b+(LeffB3b-LB3b)*3
  LDL4b  := 1.996-LDL6b+(LQA-LQE)
  LDL3b  := LDL0a-LQA-LDL4b-2*LDL6b+1.0+2*(LQA-LQE)
  LDL5b  := 0.498+(LQA-LQE)/2
  LDL7b  := 0.5
  LDL8b  := LDL0b-LDL7b-Lcoll
  LDL8ba := 1.409836+(LQA-LQR)/2
  LDL8bb := LDL8b-LDL8ba
  LDL8c  := 1.0
  LDL8d  := LDL8b-LDL8c-ZWIG
  LDL9b  := LDL0b-LDL6b
  LDL9ba := 5.076366+(LQA-LQR)/2
  LDL9bb := LDL9b-LDL9ba
  LDL10b := 0.8
  LDL11b := LDL0b-LDL10b-Lcoll
  LDL13b := 0.4
  LDL12b := LDL0b-LDL13b
 dLDL14b := 0.0
  LDL14b := 0.4815+(LQA-LQE)/2 +dLDL14b
  LDL16b := 0.5
  LDL15b := LDL2b-LDL16b-2.0
  LDL15ba := 1.224657+(LQA-LQR)/2
  LDL15bb := LDL15b-LDL15ba
  LDL17b := 0.5
  LDL18b := LDL3b-LDL17b-2.0
  LDL20b := LDL0b+1.002-(LQA-LQR)/2

  DDL0b  : DRIFT, L=LDL0b
  DDL0ba : DRIFT, L=LDL0ba
  DDL0bb : DRIFT, L=LDL0bb
  DDL1b  : DRIFT, L=LDL1b
  DDL2b  : DRIFT, L=LDL2b
  DDL4b  : DRIFT, L=LDL4b
  DDL5b  : DRIFT, L=LDL5b
  DDL6b  : DRIFT, L=LDL6b
  DDL7b  : DRIFT, L=LDL7b
  DDL8ba : DRIFT, L=LDL8ba
  DDL8bb : DRIFT, L=LDL8bb
  DDL8c  : DRIFT, L=LDL8c
  DDL8d  : DRIFT, L=LDL8d
  DDL9b  : DRIFT, L=LDL9b
  DDL9ba : DRIFT, L=LDL9ba
  DDL9bb : DRIFT, L=LDL9bb
  DDL10b : DRIFT, L=LDL10b
  DDL11b : DRIFT, L=LDL11b
  DDL12b : DRIFT, L=LDL12b
  DDL13b : DRIFT, L=LDL13b
  DDL14b : DRIFT, L=LDL14b
  DDL15b : DRIFT, L=LDL15b
  DDL15ba : DRIFT, L=LDL15ba
  DDL15bb : DRIFT, L=LDL15bb
  DDL16b : DRIFT, L=LDL16b
  DDL17b : DRIFT, L=LDL17b
  DDL18b : DRIFT, L=LDL18b
  DDL20b : DRIFT, L=LDL20b

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

  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"

  BTM_1b : INST, TYPE="@0,BCS BTM"
  BTM_2b : INST, TYPE="@0,BCS BTM"
  BTM_3b : INST, TYPE="@0,BCS BTM"
  BTM_4b : INST, TYPE="@0,BCS BTM"

  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,DDBLDLd)

  DL2sc : LINE=(DBMARK34b                         ,DDL20b,XCDL11,DDL6b,&
                QDL11,BPMDL11,QDL11               ,DDL15ba,BTM_1b,DDL15bb,&
                                                          CC31b ,DDL16b,&
                BX31BA,BX31BB                     ,DDL1b ,&
                QDL12,BPMDL12,QDL12               ,DDL6b ,YCDL12,&
                                                   DDL9ba,BTM_2b,DDL9bb,&
                                                          XCDL13,DDL6b,&
                QDL13,BPMDL13,QDL13               ,DDL0b ,YCDL14,DDL6b,&
                QDL14,BPMDL14,QDL14,DDL7b ,CEDL14 ,DDL8c ,EWIGs ,DDL8d,&
                                                          XCDL15,DDL6b,&
                QDL15,BPMDL15,QDL15               ,DDL0ba,BTM_3b,DDL0bb,&
                                                          YCDL16,DDL6b,&
                QDL16,BPMDL16,QDL16,DDL10b,CYDL16 ,DDL11b,XCDL17,DDL6b,&
                QDL17,BPMDL17,QDL17,DDL12b,OTRDL18,DDL13b,YCDL18,DDL6b,&
                QDL18,BPMDL18,QDL18,DDL7b ,CEDL18 ,DDL8ba,BTM_4b,DDL8bb,&
                                                          XCDL19,DDL6b,&
                QDL19,BPMDL19,QDL19               ,DDL2b ,&
                BX32BA,BX32BB,CNTLT1S             ,DDL14b,&
                QDL20,BPMDL20,QDL20               ,DDL6b ,YCDL20,&
                                    DDL17b,CC32b  ,DDL18b,YCDL21,DDL6b,&
                QDL21,BPMDL21,QDL21               ,DDL4b ,XCDL22,DDL6b,&
                QDL22,BPMDL22,QDL22               ,DDL5b )

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

  KQVBb  := -2.509359002417
  KQVM3B :=  2.782108181406
  KQVM4B := -1.154922915606

  QVB1B : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1= KQVBb , APER=rQE
  QVB2B : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1=-KQVBb , APER=rQE
  QVB3B : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1= KQVBb , APER=rQE
  QVM3B : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1= KQVM3b, APER=rQE
  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.114978912453 !adjust Y in undulator

  DVB1b      : DRIF, L=7.44546-dDVB*0.5+(LQA-LQE)/2, TYPE="CSR"
  DVB2b      : DRIF, L=4.14092-dDVB*0.5+(LQA-LQE)  , TYPE="CSR"
  DVB2m80cmb : DRIF, L=3.34092-dDVB*0.5+(LQA-LQE)  , TYPE="CSR"
  DVB1m40cmb : DRIF, L=7.04546-dDVB*0.5+(LQA-LQE)/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.25
  DVB25cmcb  : DRIF, L=1.32046+(LQA-LQE)/2
  D25cm      : DRIF, L=0.25
  DVBem25cmb : DRIF, L=1.39092+(LQA-LQE)/2, TYPE="CSR"
  DVBem15cmb : DRIF, L=0.243073, TYPE="CSR"
  D10cmb     : DRIF, L=0.1064869
  D25cma     : DRIF, L=0.2209001, TYPE="CSR"

  BPMVB1B : MONI, TYPE="Stripline-2"
  BPMVB2B : MONI, TYPE="Stripline-2"
  BPMVB3B : MONI, TYPE="Stripline-2"
  BPMVM3B : MONI, TYPE="Stripline-2"
  BPMVM4B : MONI, TYPE="Stripline-10"

  XCVM3B : HKIC,TYPE="type-4"

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

  BTM_5b : INST, TYPE="@0,BCS BTM"

  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,BTM_5b,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 :=  2.002673242638
  KQEM2B := -1.80818277936
  KQEM3B :=  1.286284772281
  KQEM4B := -0.895670803761

  QEM1B  : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1=KQEM1b, APER=rQE
  QEM2B  : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1=KQEM2b, APER=rQE
  QEM3B  : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1=KQEM3b, APER=rQE
  QEM4B  : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1=KQEM4b, APER=rQE
  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
  dDMM      := 0.161670898486E-2 !adjust Z in undulator

  D25cmb     : DRIF, L=0.2627
  D25cmc     : DRIF, L=0.2373
  DMM1m90cmB : DRIF, L=dDVB*2 -0.79954 +dDMM+(LQA-LQE)/2
  DEM1A      : DRIF, L=0.37
  DEM1B      : DRIF, L=4.14092
  DEM1Bab    : DRIF, L=1.086830+(LQA-LQE)/2
  DEM1Bbb    : DRIF, L=DEM1B[L]-DEM1Bab[L]+(LQA-LQE)
  DEM2B      : DRIF, L=0.50
  DMM3m80cm  : DRIF, L=11.27092
  DMM3mab    : DRIF, L=4.425910+(LQA-LQE)/2
  DMM3mbb    : DRIF, L=DMM3m80cm[L]-DMM3mab[L]+(LQA-LQE)
  DEM3A      : DRIF, L=0.37
  DEM3B      : DRIF, L=0.773299
  DEM3Bb     : DRIF, L=DEM3B[L]+(LQA-LQE)/2
  DMM4m90cm  : DRIF, L=2.759621
  DMM4m90cmb : DRIF, L=DMM4m90cm[L]+(LQA-LQE)/2
  DEM4A      : DRIF, L=0.50
  DMM5       : DRIF, L=2.07046-DRFB[L]
  DMM5ab     : DRIF, L=0.90407+(LQA-LQE)/2
  DMM5bb     : DRIF, L=DMM5[L]-DMM5ab[L]+(LQA-LQE)/2
  D40cm      : DRIF, L=0.40
  D40cmW     : DRIF, L=0.3915855
  DE3m80cma  : DRIF, L=4.6-0.4-0.4+dz_adjust/12+0.15046
  DE3mab     : DRIF, L=5.333610
  DE3mbb     : DRIF, L=DE3m80cma[L]-DE3mab[L]
  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
  DQECa      : DRIF, L=7.950716+0.000011
  DQECb      : DRIF, L=DQEC[L]-DQECa[L]
  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="Stripline-2"
  BPMEM2B : MONI, TYPE="Stripline-2"
  BPMEM3B : MONI, TYPE="Stripline-2"
  RFBEM4B : MONI, TYPE="@2,CavityS-1"
  BPME31B : MONI, TYPE="Stripline-2"
  RFBE32B : MONI, TYPE="@2,CavityS-1"
  BPME33B : MONI, TYPE="Stripline-2"
  RFBE34B : MONI, TYPE="@2,CavityS-1"
  BPME35B : MONI, TYPE="Stripline-2"
  RFBE36B : MONI, TYPE="@2,CavityS-1"

  XCEM1B : HKIC,TYPE="class-4"
  XCEM3B : HKIC,TYPE="class-4"
  XCE31B : HKIC,TYPE="class-4"
  XCE33B : HKIC,TYPE="class-4"
  XCE35B : HKIC,TYPE="class-4"

  YCEM2B : VKIC,TYPE="class-4"
  YCEM4B : VKIC,TYPE="class-4"
  YCE32B : VKIC,TYPE="class-4"
  YCE34B : VKIC,TYPE="class-4"
  YCE36B : VKIC,TYPE="class-4"

  WS31B : WIRE, TYPE="fast" !LTU emittance
  WS32B : WIRE, TYPE="fast" !LTU emittance
  WS33B : WIRE, TYPE="fast" !LTU emittance
  WS34B : WIRE, TYPE="fast" !LTU emittance

  BTM_6b : INST, TYPE="@0,BCS BTM"
  BTM_7b : INST, TYPE="@0,BCS BTM"
  BTM_8b : INST, TYPE="@0,BCS BTM"
  BTM_9b : INST, TYPE="@0,BCS BTM"

  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,DMM1m90cmB,XCEM1B,DEM1A,&
                 QEM1B,BPMEM1B,QEM1B,DEM1Bab,BTM_6b,DEM1Bbb,&
                 QEM2B,BPMEM2B,QEM2B,DEM2B,YCEM2B,DMM3mab,BTM_7b,DMM3mbb,&
                   XCEM3B,DEM3A,&
                 QEM3B,BPMEM3B,QEM3B,DEM3Bb,&
                 QEM3VB,QEM3VB,DMM4m90cmb,YCEM4B,DEM4A,&
                 QEM4B,QEM4B,DRFB,RFBEM4B,DMM5ab,BTM_8b,DMM5bb)

  EDSYSb : LINE=(DBMARK36b,WS31B,D40cm,DE3mab,BTM_9b,DE3mbb,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.348249367913
  KQUM2B := -0.13
  KQUM3B :=  0.383309826992
  KQUM4B := -0.627452981542

  QUM1B : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1=KQUM1b, APER=rQE
  QUM2B : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1=KQUM2b, APER=rQE
  QUM3B : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1=KQUM3b, APER=rQE
  QUM4B : QUAD, TYPE="1.085Q4.31", L=LQE/2, K1=KQUM4b, APER=rQE

  DU1m80cm   : DRIF, L=4.550
  DCX37      : DRIFT,L=Lcoll
  DCY38      : DRIFT,L=Lcoll
  D32cmcB    : DRIF, L=1.30046+(LQA-LQE)/2 +0.5
  DUM1A      : DRIF, L=0.49
  DUM1B      : DRIF, L=0.47046
  D32cm      : DRIF, L=0.32
  DU2m120cmB : DRIF, L=3.730+(LQA-LQE) -0.5
  D32cma     : DRIF, L=0.42046
  DUM2A      : DRIF, L=0.37
  DUM2B      : DRIF, L=0.47046
  DU3m80cm   : DRIF, L=7.29046
  DU3m80cmB  : DRIF, L=DU3m80cm[L]+(LQA-LQE)
  DUM3A      : DRIF, L=0.38
  DUM3B      : DRIF, L=0.47046
  D40cma     : DRIF, L=1.807939
  DU4m120cm  : DRIF, L=1.362521
  DU4m120cmB : DRIF, L=DU4m120cm[L]+(LQA-LQE)
  DUM4A      : DRIF, L=0.50
  DUM4B      : DRIF, L=0.59746
  DU5m80cm   : DRIF, L=0.5
  DU5m80cmB  : DRIF, L=DU5m80cm[L]+(LQA-LQE)/2
  DUHWALL1   : DRIF, L=0.250825 !length of BTH/UH wall-1
  DUHVEST    : DRIF, L=2.009175 !length of BTH/UH vestibule
  DUHVESTa   : DRIF, L=1.605684
  DUHVESTb   : DRIF, L=DUHVEST[L]-DUHVESTa[L]
  DUHWALL2   : DRIF, L=0.250825 !length of BTH/UH wall-2
  DW2TDUNDb  : DRIF, L=3.001537 !drift from BTH/UH wall-2 to TDUNDB u/s flange
  DTDUND1    : DRIF, L=0.855853 !from u/s TDUND flange to TDUND center
  DTDUND2    : DRIF, L=0.347853 !from TDUND center to d/s TDUND flange
  DPCMUON    : DRIF, L=0.031498
  DMUON1     : DRIF, L=0.154859
  DMUON3     : DRIF, L=0.310592

  BPMUM1B : MONI, TYPE="Stripline-2"
  BPMUM2B : MONI, TYPE="Stripline-2"
  BPMUM3B : MONI, TYPE="Stripline-2"
  BPMUM4B : MONI, TYPE="Stripline-2"

  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)

  VV999b    : MARK !vacuum valve just upbeam of undulator - TBD
  PFILT1b   : MARK
  MM1b      : MARK
  MM2b      : MARK
  MM3b      : MARK
  MUWALLb   : MARK !front face of muon wall
  D10Js     : MARK !front face of D10 dump for SXR beam
  D10Hb     : MARK !D10
  D19Ab     : MARK !D10
  FLNGb     : MARK !D10
  BSYENDb   : MARK !FFTB side of muon plug wall
  MUHWALL1b : MARK !upstream end of BTH/UH wall-1
  MUHWALL2b : MARK !upstream end of BTH/UH wall-2
  DBMARK37b : MARK !end of undulator match
  RWWAKE5S  : MARK, TYPE="WAKE" !LTU beampipe wake applied here

  UNMCHb : LINE=(DU1m80cm,DCX37,D32cmcB,DUM1A,&
                 QUM1B,BPMUM1B,QUM1B,DUM1B,XCUM1B,D32cm,DU2m120cmB,DCY38,&
                 D32cma,YCUM2B,DUM2A,&
                 QUM2B,BPMUM2B,QUM2B,DUM2B,DU3m80cmB,XCUM3B,DUM3A,&
                 QUM3B,BPMUM3B,QUM3B,DUM3B,D40cma,DU4m120cmB,YCUM4B,DUM4A,&
                 QUM4B,BPMUM4B,QUM4B,DUM4B,DU5m80cmB,D40cmW,&
                 MUHWALL1b,DUHWALL1,DUHVEST,MUHWALL2b,DUHWALL2,&
                 DW2TDUNDb,DTDUND1,TDUNDB,DTDUND2,DPCMUON,PCMUONb,DMUON1,&
                 VV999b,DMUON3,MM3b,PFILT1b,DBMARK37b)

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

  BSYLTUsc : LINE=(MUWALLb,DWALLa,D10Js,DBSY42,D19Ab,DBSY43,D10Hb,DBSY44,FLNGb,&
                   DWALLb,BSYENDb,ENDSPS,SEQ06END,SEQ07BEG,&
                   DBLDL21,LTUsc,ENDLTUS,RWWAKE5S,SEQ07END)

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

  KQDMPB := -0.121515012061

  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 straight bend length of main dump bends - from J. Tanabe (m)
  GBdm    := 0.043 !full gap (m) of main dump bends
  ABdm    := 0.02240073511             !angle per main dump bend (rad)
  LeffBdm := LBdm*ABdm/(2*SIN(ABdm/2)) !bend path length (m)

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

  LDS   :=  0.247946
  LDSC  :=  0.5775938
  LDS1  :=  0.3158763
  Ddmpv := -0.73352263654
  LPCPM : = 0.076

  DS     : DRIFT, L=LDS
  DSc    : DRIFT, L=LDSC
  DS1    : DRIFT, L=LDS1
  DD1a   : DRIFT, L=2.6512616
  DD1b   : DRIFT, L=6.8896877-LQD/2-Ddmpv+0.017094407653 +0.110945871327
  DD1f   : DRIFT, L=0.266645-0.017094407653
  dDD1c  := -0.330134190934E-6 !set Z at QDMP quads
  DD1cSA : DRIFT, L=0.3491529203258 +dDD1c
  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.1507760-LQD/2+Ddmpv
  DD3a   : DRIFT, L=0.3+0.049684+0.001583
  DD3b   : DRIFT, L=0.3-0.001583-0.1447026
  DWSDUMPa : DRIFT, L=0.44156
  dDWSDUMP := 0.248126313572 !set Z at DUMPFACEB
  DWSDUMPb : DRIFT, L=2.038949 +dDWSDUMP
  DDUMP  : DRIFT, L=1.468+0.165 !length of main dump slug (aluminum+tungsten)

  BPMQDB : MONI, TYPE="@0,Stripline-5" !RFBQDB : MONI, TYPE="@2,CavityL-1"
  RFBDDB : MONI, TYPE="@2,CavityL-1"

  XCDDB : HKIC,TYPE="class-5"

  YCDDB : VKIC,TYPE="class-5"

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

  WSDUMPB : WIRE, TYPE="fast"

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

  IMBCS4b : IMON, TYPE="@0,BCS ACM" !BCS comparator toroid in dumpline after Y-bends

  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.174519678252
  ARODMP2S :=  0.174913455104

  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,DD1a,DD1b,YCDDB,DD1f,PCPM2LB,BTM2LB,DD1cSA,&
    QDmp1B,QDmp1B,DD1dSA,BPMQDB,DD1g,MQDMPB,DD1eSA,&
    QDmp2B,QDmp2B,DD2a,XCDDB,DD2bSA,IMBCS4b,DD3a,RFBDDB,DD3b,OTRDMPB,&
    DWSDUMPa,WSDUMPB,DWSDUMPb,RODMP2S,DUMPFACEB,DDUMP,DMPendb,BTMDUMPB,&
    DBMARK38b,ENDDMPS,SEQ10END)

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

! ------------------------------------------------------------------------------
! HXR R56 compensating chicanes
! - use series approximation for sinc(x)=sin(x)/x to allow zero field
! ------------------------------------------------------------------------------

! Brhof  : beam rigidity at chicane (kG-m)
! GBCC   : gap height (m)
! ZBCC   : magnet Z-length along axis (m)
! ZDCC   : Z-space between magnets (m)
! BBX..  : chicane bend field (kG) at 4 GeV
! ABX..  : chicane bend angle (rad)
! LBX..  : chicane bend path length (m)
! ABX..S : "short" half chicane bend angle (rad)
! ABX..L : "long" half chicane bend angle (rad)
! LBX..S : "short" half chicane bend path length (m)
! LBX..L : "long" half chicane bend path length (m)

  BBX31    := 0.0 *Ef/4.0
  ARG31    := ZBCC*BBX31/Brhof
  ABX31    := ASIN(ARG31)
  ABX31_2  := ABX31*ABX31
  ABX31_4  := ABX31_2*ABX31_2
  ABX31_6  := ABX31_4*ABX31_2
  SINC31   := 1-ABX31_2/6+ABX31_4/120-ABX31_6/5040
  LBX31    := ZBCC/SINC31
  ABX31S   := ASIN(ARG31/2)
  ABX31S_2 := ABX31S*ABX31S
  ABX31S_4 := ABX31S_2*ABX31S_2
  ABX31S_6 := ABX31S_4*ABX31S_2
  SINC31S  := 1-ABX31S_2/6+ABX31S_4/120-ABX31S_6/5040
  LBX31S   := ZBCC/(2*SINC31S)
  ABX31L   := ABX31-ABX31S
  LBX31L   := LBX31-LBX31S

  BCX311A : SBEN, TYPE="@2,R56", L=LBX31S, ANGLE=+ABX31S, E1=0,      &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX311B : SBEN, TYPE="@2,R56", L=LBX31L, ANGLE=+ABX31L, E2=+ABX31, &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX312A : SBEN, TYPE="@2,R56", L=LBX31L, ANGLE=-ABX31L, E1=-ABX31, &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX312B : SBEN, TYPE="@2,R56", L=LBX31S, ANGLE=-ABX31S, E2=0,      &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX313A : SBEN, TYPE="@2,R56", L=LBX31S, ANGLE=-ABX31S, E1=0,      &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX313B : SBEN, TYPE="@2,R56", L=LBX31L, ANGLE=-ABX31L, E2=-ABX31, &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX314A : SBEN, TYPE="@2,R56", L=LBX31L, ANGLE=+ABX31L, E1=+ABX31, &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX314B : SBEN, TYPE="@2,R56", L=LBX31S, ANGLE=+ABX31S, E2=0,      &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5

  DCC31o : DRIF, L=ZDCC/COS(ABX31), TYPE="CSR"
  DCC31i : DRIF, L=ZDCC           , TYPE="CSR"

  CC31   : LINE=(        &
    BCX311A,BCX311B,DCC31o,&
    BCX312A,BCX312B,DCC31i,&
    BCX313A,BCX313B,DCC31o,&
    BCX314A,BCX314B)

  BBX32    := 2.3628*SQRT(2.0) *Ef/4.0
  ARG32    := ZBCC*BBX32/Brhof
  ABX32    := ASIN(ARG32)
  ABX32_2  := ABX32*ABX32
  ABX32_4  := ABX32_2*ABX32_2
  ABX32_6  := ABX32_4*ABX32_2
  SINC32   := 1-ABX32_2/6+ABX32_4/120-ABX32_6/5040
  LBX32    := ZBCC/SINC32
  ABX32S   := ASIN(ARG32/2)
  ABX32S_2 := ABX32S*ABX32S
  ABX32S_4 := ABX32S_2*ABX32S_2
  ABX32S_6 := ABX32S_4*ABX32S_2
  SINC32S  := 1-ABX32S_2/6+ABX32S_4/120-ABX32S_6/5040
  LBX32S   := ZBCC/(2*SINC32S)
  ABX32L   := ABX32-ABX32S
  LBX32L   := LBX32-LBX32S

  BCX321A : SBEN, TYPE="@0,R56", L=LBX32S, ANGLE=+ABX32S, E1=0,      &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX321B : SBEN, TYPE="@0,R56", L=LBX32L, ANGLE=+ABX32L, E2=+ABX32, &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX322A : SBEN, TYPE="@0,R56", L=LBX32L, ANGLE=-ABX32L, E1=-ABX32, &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX322B : SBEN, TYPE="@0,R56", L=LBX32S, ANGLE=-ABX32S, E2=0,      &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX323A : SBEN, TYPE="@0,R56", L=LBX32S, ANGLE=-ABX32S, E1=0,      &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX323B : SBEN, TYPE="@0,R56", L=LBX32L, ANGLE=-ABX32L, E2=-ABX32, &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX324A : SBEN, TYPE="@0,R56", L=LBX32L, ANGLE=+ABX32L, E1=+ABX32, &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX324B : SBEN, TYPE="@0,R56", L=LBX32S, ANGLE=+ABX32S, E2=0,      &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5

  DCC32o : DRIF, L=ZDCC/COS(ABX32), TYPE="CSR"
  DCC32i : DRIF, L=ZDCC           , TYPE="CSR"

  CC32   : LINE=(        &
    BCX321A,BCX321B,DCC32o,&
    BCX322A,BCX322B,DCC32i,&
    BCX323A,BCX323B,DCC32o,&
    BCX324A,BCX324B)

  BBX35    := 2.3628 *Ef/4.0
  ARG35    := ZBCC*BBX35/Brhof
  ABX35    := ASIN(ARG35)
  ABX35_2  := ABX35*ABX35
  ABX35_4  := ABX35_2*ABX35_2
  ABX35_6  := ABX35_4*ABX35_2
  SINC35   := 1-ABX35_2/6+ABX35_4/120-ABX35_6/5040
  LBX35    := ZBCC/SINC35
  ABX35S   := ASIN(ARG35/2)
  ABX35S_2 := ABX35S*ABX35S
  ABX35S_4 := ABX35S_2*ABX35S_2
  ABX35S_6 := ABX35S_4*ABX35S_2
  SINC35S  := 1-ABX35S_2/6+ABX35S_4/120-ABX35S_6/5040
  LBX35S   := ZBCC/(2*SINC35S)
  ABX35L   := ABX35-ABX35S
  LBX35L   := LBX35-LBX35S

  BCX351A : SBEN, TYPE="@0,R56", L=LBX35S, ANGLE=+ABX35S, E1=0,      &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX351B : SBEN, TYPE="@0,R56", L=LBX35L, ANGLE=+ABX35L, E2=+ABX35, &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX352A : SBEN, TYPE="@0,R56", L=LBX35L, ANGLE=-ABX35L, E1=-ABX35, &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX352B : SBEN, TYPE="@0,R56", L=LBX35S, ANGLE=-ABX35S, E2=0,      &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX353A : SBEN, TYPE="@0,R56", L=LBX35S, ANGLE=-ABX35S, E1=0,      &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX353B : SBEN, TYPE="@0,R56", L=LBX35L, ANGLE=-ABX35L, E2=-ABX35, &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX354A : SBEN, TYPE="@0,R56", L=LBX35L, ANGLE=+ABX35L, E1=+ABX35, &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX354B : SBEN, TYPE="@0,R56", L=LBX35S, ANGLE=+ABX35S, E2=0,      &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5

  DCC35o : DRIF, L=ZDCC/COS(ABX35), TYPE="CSR"
  DCC35i : DRIF, L=ZDCC           , TYPE="CSR"

  CC35   : LINE=(        &
    BCX351A,BCX351B,DCC35o,&
    BCX352A,BCX352B,DCC35i,&
    BCX353A,BCX353B,DCC35o,&
    BCX354A,BCX354B)

  BBX36    := 2.3628 *Ef/4.0
  ARG36    := ZBCC*BBX36/Brhof
  ABX36    := ASIN(ARG36)
  ABX36_2  := ABX36*ABX36
  ABX36_4  := ABX36_2*ABX36_2
  ABX36_6  := ABX36_4*ABX36_2
  SINC36   := 1-ABX36_2/6+ABX36_4/120-ABX36_6/5040
  LBX36    := ZBCC/SINC36
  ABX36S   := ASIN(ARG36/2)
  ABX36S_2 := ABX36S*ABX36S
  ABX36S_4 := ABX36S_2*ABX36S_2
  ABX36S_6 := ABX36S_4*ABX36S_2
  SINC36S  := 1-ABX36S_2/6+ABX36S_4/120-ABX36S_6/5040
  LBX36S   := ZBCC/(2*SINC36S)
  ABX36L   := ABX36-ABX36S
  LBX36L   := LBX36-LBX36S

  BCX361A : SBEN, TYPE="@0,R56", L=LBX36S, ANGLE=+ABX36S, E1=0,      &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX361B : SBEN, TYPE="@0,R56", L=LBX36L, ANGLE=+ABX36L, E2=+ABX36, &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX362A : SBEN, TYPE="@0,R56", L=LBX36L, ANGLE=-ABX36L, E1=-ABX36, &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX362B : SBEN, TYPE="@0,R56", L=LBX36S, ANGLE=-ABX36S, E2=0,      &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX363A : SBEN, TYPE="@0,R56", L=LBX36S, ANGLE=-ABX36S, E1=0,      &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX363B : SBEN, TYPE="@0,R56", L=LBX36L, ANGLE=-ABX36L, E2=-ABX36, &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5
  BCX364A : SBEN, TYPE="@0,R56", L=LBX36L, ANGLE=+ABX36L, E1=+ABX36, &
                  HGAP=GBCC/2, FINT=0.5, FINTX=0
  BCX364B : SBEN, TYPE="@0,R56", L=LBX36S, ANGLE=+ABX36S, E2=0,      &
                  HGAP=GBCC/2, FINT=0, FINTX=0.5

  DCC36o : DRIF, L=ZDCC/COS(ABX36), TYPE="CSR"
  DCC36i : DRIF, L=ZDCC           , TYPE="CSR"

  CC36   : LINE=(        &
    BCX361A,BCX361B,DCC36o,&
    BCX362A,BCX362B,DCC36i,&
    BCX363A,BCX363B,DCC36o,&
    BCX364A,BCX364B)

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

  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]
  DM4d    : DRIF, L=0.5
  DM4c    : DRIF, L=DM4b[L]-DM4d[L]-2.0
  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=DRFB[L]
  DBSY53b : DRIF, L=0.7-DBSY53a[L]
  DBSY53c : DRIF, L=1.0
  DBSY53d : DRIF, L=1.0
  DBSY53e : DRIF, L=1.0
  DBSY53f : DRIF, L=38.916540-DBSY53a[L]-DBSY53b[L]-DBSY53c[L]-DBSY53d[L] &
                   -DBSY53e[L]-LPCSP
  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=1.0
  DBSY55d : DRIF, L=7.1-DBSY55c[L]
  DBSY55b : DRIF, L=11.281590-DBSY55c[L]-DBSY55d[L]-Lcoll-DRFB[L]

  RFBBSY39 : MONI, TYPE="@2,CavityS-1"
  BPMBSY85 : MONI, TYPE="Stripline-7"
  RFBBSY88 : MONI, TYPE="@2,CavityS-1"
  BPMBSY92 : MONI, TYPE="Stripline-7"

  XCBSY26 : HKIC
  XCA0    : HKIC, TYPE="class-4"

  YCBSY35 : VKIC
  YCBSY62 : VKIC
  YCA0    : VKIC, TYPE="class-4"

  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

  IMSP1h  : IMON, TYPE="@0,BCS ACM" !BCS average current monitor in SPH
  IMSP2h  : IMON, TYPE="@0,BCS ACM" !BCS average current monitor in SPH

  PCSP3h : ECOL, L=LPCSP, TYPE="@0,BCS PC" !BCS protection collimator in SPH (size TBD)

  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 - front face of the D10 dump for HXR beam
  D19A     : MARK !D10
  D10H     : MARK !D10
  FLNG     : MARK !D10
  MUWALL   : MARK !front face of muon wall
  MRGALINE : MARK !merge point (with A-line)

  SPhBSY : LINE=(DBSY52c,&
    Q50Q3,Q50Q3,DBSY53a,RFBBSY39,DBSY53b,YCBSY35,DBSY53c,IMSP1h,DBSY53d,&
      PCSP3h,DBSY53e,MRGALINE,DBSY53f,&
    Q5,BPMBSY85,Q5,DBSY54a,XCBSY26,DBSY54b,DBSY42,DBSY43,DBSY44,DBSY54c,&
    Q6,Q6,DRFB,RFBBSY88,DBSY55a,YCBSY62,DBSY55b,CXQ6,DBSY55c,IMSP2h,DBSY55d,&
      D2L,D2,D2L,DM3,DST60L,ST60,DST60L,DM4a,DM60,DM4c,CC31,DM4d,&
      XCA0,DXCA0,YCA0,DYCA0,DST61L,ST61,DST61L,DM5,&
    QA0,BPMBSY92,QA0,DM6,DMONI,DMONI,&
      MUWALL,DWALLa,D10J,DBSY42,D19A,DBSY43,D10H,DBSY44,FLNG,DWALLb,&
    BSYend,ENDSPH,SEQ11END,SEQ12BEG)

! ------------------------------------------------------------------------------
! LCLS1 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-12 !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
  DAQ18  : DRIF, L=3.9709-0.061901-LKIK-DBXK[L]
  DAQ18b : DRIF, L=1.0
  DAQ18a : DRIF, L=DAQ18[L]-DAQ18b[L]

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

  LPCTDKIK := 0.8128 !length of each of 4 muon protection collimator after TDKIK (0.875" ID w/pipe)

  DBSY00  : DRIF, L=2.0676 !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]-TDKIK[L] &
                    -DBSY51e[L]

  ZBRCuS1  := ZBRCuS*COS(ABRCuS/2)       !Z-projection of BRCuS1 (m)

  DBRCuS1a : DRIF, L=ZBRCuS/2            !Z-projection of BRCuS1 1st half (m)
  DBRCuS1b : DRIF, L=ZBRCuS1-DBRCuS1a[L] !Z-projection of BRCuS1 2nd half (m)
  DBSY51da : DRIF, L=0.5
  DBSY51db : DRIF, L=0.5
  DBSY51dd : DRIF, L=0.5
  DBSY51de : DRIF, L=0.5
  DBSY51dc : DRIF, L=DBSY51d[L]-DBSY51da[L]-DBSY51db[L]-DBSY51dd[L]-LPCBSY &
                    -DBSY51de[L]-DBRCuS1a[L]-DBRCuS1b[L]

  ABXSP1h  := ABLXSP/2+dABXSPh           !BXSP1h angle (rad) in HXR spreader
  ZBXSP1h  := LBSP*COS(ABXSP1h/2)        !Z-projection of BXSP1h (m)

  DBXSP1hb : DRIF, L=LBSP/2              !Z-projection of BXSP1h 2nd half (m)
  DBXSP1ha : DRIF, L=ZBXSP1h-DBXSP1hb[L] !Z-projection of BXSP1h 1st half (m)
  DBSY52a  : DRIF, L=0.2
  DBSY52b  : DRIF, L=29.0-DBSY52a[L]-DBSY52c[L]-ZBXSP1h

  BPMBSY1  : MONI, TYPE="Stripline-6"
  BPMBSY29 : MONI, TYPE="Stripline-6"

  XCBSY09 : HKIC

  YCBSY10 : VKIC

  IMBSY1  : IMON, TYPE="@0,BCS ACM" !BCS average current monitor in BSY1
  IMBSY2  : IMON, TYPE="@0,BCS ACM" !BCS average current monitor in BSY1
  IMBSY34 : IMON, TYPE="BCS ACM" !BCS average current monitor in BSY1 - existing LCLS-I device

  LPCBSY : = 0.3 !TBD

  PCBSY1 : ECOL, L=LPCBSY, TYPE="@0,BCS PC" !BCS protection collimator - length and aperture TBD

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

  BSYS100 : LINE=(SEQ19BEG,BEGBSY1,DAQ18a,IMBSY1,DAQ18b,BXKIK1A,BXKIK1B,DBXK,&
    DBXK,BXKIK2A,BXKIK2B,DBSY02a,FFTBORGN,DBSY02b)

  S100SXR : LINE=(S100,ZLIN15,DBSY50,&
    Q50Q1,Q50Q1,DBSY01,BPMBSY1,DBSY51a,YCBSY10,DBSY51b,SPOILER,DBSY51c,TDKIK,&
    DBSY51da,PCBSY1,DBSY51db,IMBSY34,DBSY51de)

  BSYSXR : LINE=(BSYbeg,BSYS100,S100SXR)
 
  S100BSY1 : LINE=(S100SXR,&
    DBRCuS1a,DBRCuS1b,DBSY51dc,IMBSY2,DBSY51dd,XCBSY09,DBSY51e,&
    Q50Q2,Q50Q2,DBSY52a,BPMBSY29,DBSY52b,DBXSP1ha,DBXSP1hb)

  BSY1 : LINE=(BSYS100,S100BSY1)

  BSY : LINE=(BSYbeg,BSY1,ENDBSY1,SEQ19END,SPhBSY)

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

  KQVM1 := -0.42184533061
  KQVM2 :=  0.306557451839
  KQVM3 :=  0.706426131127
  KQVM4 := -0.67329979515

  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"
  DVB2ha    : DRIF, L=0.995885, TYPE="CSR"
  DVB2hb    : DRIF, L=DVB2[L]-DVB2ha[L], 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"
  DQVM2b    : DRIF, L=0.24954
  DQVM2a    : DRIF, L=DQVM2[L]-DQVM2b[L]
  DWSVM2    : DRIF, L=DXCVM2[L]+DVB25cm[L]
  DWSVM2a   : DRIF, L=0.24954
  DWSVM2b   : DRIF, L=DWSVM2[L]-DWSVM2a[L]

  BPMVM1 : MONI, TYPE="Stripline-2"
  BPMVM2 : MONI, TYPE="Stripline-2"
  BPMVM3 : MONI, TYPE="Stripline-2"
  BPMVM4 : MONI, TYPE="Stripline-2"
  BPMVB1 : MONI, TYPE="Stripline-2"
  BPMVB2 : MONI, TYPE="Stripline-2"
  BPMVB3 : MONI, TYPE="Stripline-2"

  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"

  IM31   : IMON !comparator with IM36 (existing LCLS-I device)
  IMBCS1 : IMON !comparator with IMBCS2 (existing LCLS-I device)

  WSVM2 : WIRE, TYPE="fast" !existing LCLS-I device

  BTM_1 : INST, TYPE="BCS BTM" !existing LCLS-I BTM

  VBIN    : MARK !start of vert. bend system: Z=3226.684265 (Z'=178.682318 m, X'=0.0 m, Y'=-0.834187 m)
  VBOUT   : MARK !end of vert. bend system: Z=3252.866951 (Z'=204.865005 m, X'= 0.0 m, Y'=-0.895304 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,DVB2ha,BTM_1,DVB2hb, &
                QVB3,BPMVB3,QVB3,D40cmC,YCVB3,DVB1m40cm,&
                BY2A,BY2B,CNTLT1H,VBout)

  VBSYS : LINE=(BEGLTUH,DYCVM1,YCVM1,DQVM1,&
                QVM1,BPMVM1,QVM1,DQVM2a,XCVM2,DQVM2b,&
                QVM2,BPMVM2,QVM2,DWSVM2a,WSVM2,DWSVM2b,&
                VBEND,DVB25cmc,XCVM3,D25cm,&
                QVM3,BPMVM3,QVM3,DVBem25cm,YCVM4,D25cm,&
                QVM4,BPMVM4,QVM4,DVBem15cm,IM31,D10cmb,IMBCS1,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.499999821952*RADDEG
  AB3M   := -AB3P
  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

  LSPONT   := 1.5 !length of possible spontaneous undulator (<=5 m now that TDKIK is also there)

  DCB32    : DRIF, L=0.8, TYPE="CSR"
  DDL10w   : DRIF, L=11.99440265, TYPE="CSR"
  DDL10wa  : DRIF, L=1.090222, TYPE="CSR"
  DDL10wb  : DRIF, L=DDL10w[L]-DDL10wa[L], TYPE="CSR"
  DWSDL31a : DRIF, L=0.096237
  DWSDL31b : DRIF, L=0.153763
  DDL10x   : DRIF, L=0.126314
  D32cmb   : DRIF, L=0.6638034
  D31A     : DRIF, L=0.562465-0.002
  D31B     : DRIF, L=0.5624381-DRFB[L]-0.002
  D31C     : DRIF, L=0.5, TYPE="CSR"
  DDL10em80cm : DRIF, L=9.017887, TYPE="CSR"
  DX33B    : DRIF, L=0.5
  DX33A    : DRIF, L=LB3-DX33B[L]-2.0
  DX34B    : DRIF, L=0.5
  DX34A    : DRIF, L=LB3-DX34B[L]-2.0
  DX37B    : DRIF, L=0.5
  DX37A    : DRIF, L=LB3-DX37B[L]-2.0
  DX38A    : DRIF, L=LB3/2
  DX38B    : DRIF, L=LB3/2
  DDL1a    : DRIF, L=5.820626-LKIK/2
  DDL1aa   : DRIF, L=1.261541
  DDL1ab   : DRIF, L=DDL1a[L]-DDL1aa[L]
  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"
  DCQ31aa  : DRIF, L=1.475565, TYPE="CSR"
  DCQ31ab  : DRIF, L=DCQ31a[L]-DCQ31aa[L], 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
  DDL10ma  : DRIF, L=1.365410
  DDL10mb  : DRIF, L=DDL10m70cm[L]-DDL10ma[L]
  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="@2,CavityL-1"
  BPMDL2 : MONI, TYPE="Stripline-2"
  BPMDL3 : MONI, TYPE="Stripline-2"
  BPMDL4 : MONI, TYPE="Stripline-2"
  BPMT12 : MONI, TYPE="Stripline-2"
  BPMT22 : MONI, TYPE="Stripline-2"
  BPMT32 : MONI, TYPE="Stripline-2"
  BPMT42 : MONI, TYPE="Stripline-2"

  BPMDL1 : MONI, TYPE="Stripline-2" !existing LCLS-I device

  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-5f" !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, TYPE="fast"

  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

  DPCTDKIK : DRIF, L=LPCTDKIK

  IMBCS2 : IMON !comparator with IMBCS1 (existing LCLS-I device)

  BTM_2 : INST, TYPE="BCS BTM" !existing LCLS-I BTM
  BTM_3 : INST, TYPE="BCS BTM" !existing LCLS-I BTM
  BTM_4 : INST, TYPE="BCS BTM" !existing LCLS-I BTM
  BTM_5 : INST, TYPE="BCS BTM" !existing LCLS-I BTM

  DL23BEG : MARK
  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,DDL10wa,BTM_2,DDL10wb,DWSDL31a,WSDL31,DWSDL31b,&
                 DDL10x,XCDL1,D31A,&
               QDL31,BPMDL1,QDL31,DRFB,RFBDL1,D31B,YCDL1,D32cmb,CEDL1,&
                 D31C,EWIGh,DDL10em80cm,CYBX32,DCB32,&
               BX32A,BX32B,CNTLT2H)

  DL22 : LINE=(DX33A,CC32,DX33B,DDL1aa,BTM_3,DDL1ab,&
               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,CC35,DX34B)

  DL23 : LINE=(DL23BEG,&
               BX35A,BX35B,DCQ31aa,BTM_4,DCQ31ab,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,CC36,DX37B,D30cm,IMBCS2,DDL10ma,BTM_5,DDL10mb,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.38703605033
  KQEM2 :=  0.429975460183
  KQEM3 := -0.595670984649
  KQEM4 :=  0.419862368154

  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.20046
  DEM1Ba    : DRIF, L=1.086830
  DEM1Bb    : DRIF, L=DEM1B[L]-DEM1Ba[L]
  DMM3ma    : DRIF, L=4.425910
  DMM3mb    : DRIF, L=DMM3m80cm[L]-DMM3ma[L]
  DMM5a     : DRIF, L=0.754070
  DMM5b     : DRIF, L=DMM5[L]-DMM5a[L]
  DE3ma     : DRIF, L=5.333610
  DE3mb     : DRIF, L=DE3m80cma[L]-DE3ma[L]
  D40cmh    : DRIF, L=0.0317
  D40cmg    : DRIF, L=D40cm[L]-D40cmh[L]

  BPMEM1 : MONI, TYPE="Stripline-2"
  BPMEM2 : MONI, TYPE="Stripline-2"
  BPMEM3 : MONI, TYPE="Stripline-2"
  RFBEM4 : MONI, TYPE="@2,CavityS-1"
  BPME31 : MONI, TYPE="Stripline-2"
  RFBE32 : MONI, TYPE="@2,CavityS-1"
  BPME33 : MONI, TYPE="Stripline-2"
  RFBE34 : MONI, TYPE="@2,CavityS-1"
  BPME35 : MONI, TYPE="Stripline-2"
  RFBE36 : MONI, TYPE="@2,CavityS-1"

  BPMEM4 : MONI, TYPE="Stripline-2" !existing LCLS-I device
  BPME32 : MONI, TYPE="Stripline-2" !existing LCLS-I device
  BPME34 : MONI, TYPE="Stripline-2" !existing LCLS-I device
  BPME36 : MONI, TYPE="Stripline-2" !existing LCLS-I device

  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, TYPE="fast" !LTU emittance
  WS32 : WIRE, TYPE="fast" !LTU emittance
  WS33 : WIRE, TYPE="fast" !LTU emittance
  WS34 : WIRE, TYPE="fast" !LTU emittance
  WS35 : WIRE !LTU emittance (existing LCLS-I device)
  WS36 : WIRE !LTU emittance (existing LCLS-I device)

  IM36 : IMON !comparator with IM31 (existing LCLS-I device)

  YAGPSI : PROF, TYPE="YAG" !existing LCLS-I device
  OTR33  : PROF, TYPE="OTR" !LTU slice emittance (existing LCLS-I device)

  BTM_6 : INST, TYPE="BCS BTM" !existing LCLS-I BTM
  BTM_7 : INST, TYPE="BCS BTM" !existing LCLS-I BTM
  BTM_8 : INST, TYPE="BCS BTM" !existing LCLS-I BTM
  BTM_9 : INST, TYPE="BCS BTM" !existing LCLS-I BTM

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

  DBMARK36 : MARK !center of WS31

  EDMCH : LINE=(D25cmb,IM36,D25cmc,DMM1m90cm,YCEM1,DEM1A,&
                QEM1,BPMEM1,QEM1,DEM1Ba,BTM_6,DEM1Bb,QEM2,BPMEM2,&
                QEM2,DEM2B,XCEM2,DMM3ma,BTM_7,DMM3mb,YCEM3,DEM3A,&
                QEM3,BPMEM3,QEM3,DEM3B,&
                QEM3V,QEM3V,DMM4m90cm,XCEM4,DEM4A,&
                QEM4,BPMEM4,QEM4,DRFB,RFBEM4,DMM5a,BTM_8,DMM5b)

  EDSYS : LINE=(DBMARK36,WS31,D40cm,DE3ma,BTM_9,DE3mb,XCE31,DQEA,&
                QE31,BPME31,QE31,DQEBx,DCX31,DQEBx2,DE3a,YCE32,DQEAa,&
                QE32,BPME32,QE32,DRFB,RFBE32,DQEBy1,DCY32,DQEBy2,WS32,D40cm,&
                  DE3m80cmb,XCE33,DQEAb, &
                QE33,BPME33,QE33,DQECa,YAGPSI,DQECb,OTR33,DE3m40cm,YCE34,DQEA,&
                QE34,BPME34,QE34,DRFB,RFBE34,DQEC1,WS33,D40cm,DE3m80cm,XCE35,&
                  DQEAc,&
                QE35,BPME35,QE35,DQEBx,DCX35,DQEBx2,DE3,YCE36,DQEA,&
                QE36,BPME36,QE36,DRFB,RFBE36,DQEBy1,DCY36,DQEBy2,WS34,&
                  D40cmg,WS35,D40cmh)

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

  KQUM1 :=  0.243208474497
  KQUM2 := -0.23679526386
  KQUM3 :=  0.278081469684
  KQUM4 := -0.242048507952

  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

  DU1m80cma : DRIF, L= 0.16515
  DU1m80cmb : DRIF, L= DU1m80cm[L]-DU1m80cma[L]
  D32cmc    : DRIF, L=0.30046
  DU2m120cm : DRIF, L=4.730
  DW2TDUND  : DRIF, L=0.201537 !drift from BTH/UH wall-2 to TDUNDB u/s flange

  BPMUM1 : MONI, TYPE="Stripline-2"
  BPMUM2 : MONI, TYPE="Stripline-2"
  BPMUM3 : MONI, TYPE="Stripline-2"
  BPMUM4 : MONI, TYPE="Stripline-2"

  RFB07  : MONI, TYPE="CavityX-1" !existing LCLS-I device
  RFB08  : MONI, TYPE="CavityX-1" !existing LCLS-I device

  IMUNDI : IMON !FEL-undulator input toroid (existing LCLS-I device)

  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
  MUHWALL1 : MARK !upstream end of BTH/UH wall-1
  MUHWALL2 : MARK !upstream end of BTH/UH wall-2
  DBMARK37 : MARK !end of undulator match
  RWWAKE5H : MARK, TYPE="WAKE" !LTU beampipe wake applied here

  UNMCH : LINE=(DU1m80cma,WS36,DU1m80cmb,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,RFB07,DU5m80cm,IMUNDI,D40cmW,&
                MUHWALL1,DUHWALL1,DUHVESTa,RFB08,DUHVESTb,MUHWALL2,DUHWALL2,&
                DW2TDUND,DTDUND1,TDUND,DTDUND2,DPCMUON,PCMUON,DMUON1,&
                VV999,DMUON3,MM3,PFILT1,DBMARK37)

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

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

  KQDMP := -0.155138029848

  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=ABdm/2, HGAP=GBdm/2, &
                 E1=ABdm/2, E2=0, FINT=0.57, FINTX=0.00, TILT
  BYD1B  : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm/2, HGAP=GBdm/2, &
                 E1=0, E2=ABdm/2, FINT=0.00, FINTX=0.57, TILT
  BYD2A  : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm/2, HGAP=GBdm/2, &
                 E1=ABdm/2, E2=0, FINT=0.57, FINTX=0.00, TILT
  BYD2B  : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm/2, HGAP=GBdm/2, &
                 E1=0, E2=ABdm/2, FINT=0.00, FINTX=0.57, TILT
  BYD3A  : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm/2, HGAP=GBdm/2, &
                 E1=ABdm/2, E2=0, FINT=0.57, FINTX=0.00, TILT
  BYD3B  : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm/2, HGAP=GBdm/2, &
                 E1=0, E2=ABdm/2 , FINT=0.00, FINTX=0.57, TILT

  DD1c : DRIFT, L=0.3491529203258+0.06 +dDD1c
  DD1d : DRIFT, L=0.25-0.0079372+0.06
  DD1e : DRIFT, L=0.25+0.06
  DD2c : DRIFT, L=1.0
  DD2b : DRIFT, L=8.1507760-LQD/2+Ddmpv-DD2c[L]+0.06

  BPMQD : MONI, TYPE="@0,Stripline-5" !RFBQD : MONI, TYPE="@2,CavityL-1"
  RFBDD : MONI, TYPE="@2,CavityL-1"

  XCDD : HKIC,TYPE="class-5"

  YCDD : VKIC,TYPE="class-5"

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

  WSDUMP : WIRE, TYPE="fast"

  IMDUMP : IMON !BCS comparator toroid in dumpline after Y-bends
  IMBCS4 : IMON, TYPE="BCS ACM" !BCS comparator toroid (ACM) in dumpline after Y-bends

  PCPM1L : ECOL, L=LPCPM/cos(3*ABdm+ABYDS), XSIZE=0.025, YSIZE=0.025
  PCPM2L : ECOL, L=LPCPM/cos(3*ABdm+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,BPMQD,DD1g,MQDMP,DD1e,&
    QDmp2,QDmp2,DD2a,XCDD,DD2b,IMDUMP,DD2c,IMBCS4,DD3a,RFBDD,DD3b,OTRDMP,&
    DWSDUMPa,WSDUMP,DWSDUMPb,RODMP2H,DUMPFACE,DDUMP,DMPend,BTMDUMP,&
    DBMARK38,ENDDMPH,SEQ14END)

  RETURN
