
! *** OPTICS=LCLS2sc31MAR14 ***

! LCLS2sc 3-way spreader system

! ==============================================================================
! Modification History
! ------------------------------------------------------------------------------
! 31-MAR-2014, M. Woodley
!  * element names changed to conform to nomenclature PRD
! 25-MAR-2014, Y. Nosochkov
!  * add insertable beam stoppers STSP6ha, STSP6hb, STSP6hc in HXR
! 07-MAR-2014, Y. Nosochkov
!  * move corrector YCSP8h upstream of quad QSP8h for better separation with
!    nearby LCLS-1 quad
! 26-FEB-2014, Y. Nosochkov
!  * change from L=2.623 m dipoles (type 1.26D102.0T) to L=1.0 m dipoles
!    (type 1.0D38.37)
!  * reduce septum length from 2.0 to 1.0 m
!  * change type of BCSP1, BCSP2 dipoles from 1.26D18.43 to 1.0D18.69
! 14-FEB-2014, Y. Nosochkov
!  * add a dumpline from the spreader to D10 dump including optics
!    for energy diagnostic
! 17-JAN-2014, Y. Nosochkov
!  * modify HXR spreader from 1-step to 2-step dogleg for tunable R56
!    and better magnet separation
! 18-DEC-2013, Y. Nosochkov
!  * adjust magnet positions in the spreader for less magnet interference
! 16-DEC-2013, Y. Nosochkov
!  * 3-way spreader design with low R56
! ------------------------------------------------------------------------------

! XYZ (linac system) and Twiss at the beginning of spreader (BEGSP)

  XSP  := XOFF
  YSP  := YOFF
  ZSP  := 2780.576003
  THSP := 0.0
  PHSP := 0.0
  PSSP := 0.0
  BXSP := 24.790386743243
  BYSP := 450.9105522414
  AXSP := 0.631459672304
  AYSP := 7.597385910187
  TWSSP : BETA0, BETX=BXSP, BETY=BYSP, ALFX=AXSP, ALFY=AYSP

! XYZ (linac system) and Twiss at the end of HXR spreader SPRDh

  XSPh  :=  0.0
  YSPh  :=  0.0
  ZSPh  :=  3110.961492
  THSPh :=  0.0
  PHSPh :=  0.0
  PSSPh :=  0.0
  BXSPh :=  2.507158802E+01
  BYSPh :=  1.116648089E+02
  AXSPh :=  6.955527885E-01
  AYSPh := -2.340149196E+00
  TWSSPh : BETA0, BETX=BXSPh, BETY=BYSPh, ALFX=AXSPh, ALFY=AYSPh

! SXR quads

  KQSP1S :=  0.613000080398
  KQSP2S := -0.514533943136
  KQSP3S :=  0.613369210116
  KQSP4S := -0.447119464582
  KQSP5S :=  0.159961236283
  KQSP8S := -0.514802214325
  KQSP9S :=  0.613155607518
  KQSP6s :=  KQSP4s
  KQSP7s :=  KQSP3s

  QSP1s : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP1s, APER=rQA
  QSP2s : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP2s, APER=rQA
  QSP3s : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP3s, APER=rQA
  QSP4s : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP4s, APER=rQA
  QSP5s : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP5s, APER=rQA
  QSP6s : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP6s, APER=rQA
  QSP7s : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP7s, APER=rQA
  QSP8s : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP8s, APER=rQA
  QSP9s : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP9s, APER=rQA

! HXR quads

  KQSP1H  :=  0.364570931417
  KQSP2H  := -0.310673641344
  KQSP3H  :=  0.443270914377
  KQSP4H  := -0.355418083321
  KQSP5H  :=  0.15207368164
  KQSP6H  := -0.176980229229
  KQSP7H  :=  0.212016083232
  KQSP10H := -0.358695236212
  KQSP11H :=  0.455972258107
  KQSP12H := -0.266243435398
  KQSP13H :=  0.35027059438
  KQSP8h  :=  KQSP6h
  KQSP9h  :=  KQSP5h

  QSP1h  : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP1h , APER=rQA
  QSP2h  : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP2h , APER=rQA
  QSP3h  : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP3h , APER=rQA
  QSP4h  : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP4h , APER=rQA
  QSP5h  : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP5h , APER=rQA
  QSP6h  : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP6h , APER=rQA
  QSP7h  : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP7h , APER=rQA
  QSP8h  : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP8h , APER=rQA
  QSP9h  : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP9h , APER=rQA
  QSP10h : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP10h, APER=rQA
  QSP11h : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP11h, APER=rQA
  QSP12h : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP12h, APER=rQA
  QSP13h : QUAD, TYPE="1.26Q12", L=LQA/2, K1=KQSP13h, APER=rQA

! BSY dumpline quads

  KQSP1D :=  0.14151858609
  KQSP2D := -0.144917185688
  KQSP3D := -0.162140135232
  KQSP4D :=  0.242099019526

  QSP1d : QUAD, TYPE="3.94Q17", L=LQP/2, K1=KQSP1d, APER=rQP
  QSP2d : QUAD, TYPE="3.94Q17", L=LQP/2, K1=KQSP2d, APER=rQP
  QSP3d : QUAD, TYPE="3.94Q17", L=LQP/2, K1=KQSP3d, APER=rQP
  QSP4d : QUAD, TYPE="3.94Q17", L=LQP/2, K1=KQSP4d, APER=rQP

! 3-way vertical deflector

  GKIKSP :=  0.02                      !deflector gap (m) - TBD
  LKIKSP :=  1.0                       !deflector length (m)
  AKIKSP := -0.75E-3 *SETSP            !deflector y-angle (rad)

  BKYSPa : SBEN, TYPE="deflector", L=LKIKSP/2, ANGLE=AKIKSP/2, &
                 E1=0, E2=0, FINT=0.5, FINTX=0, HGAP=GKIKSP/2, TILT
  BKYSPb : SBEN, TYPE="deflector", L=LKIKSP/2, ANGLE=AKIKSP/2, &
                 E1=0, E2=AKIKSP, FINT=0, FINTX=0.5, HGAP=GKIKSP/2, TILT

! 3-hole horizontal septum

  GLAM    := 0.01 !septum gap height (m) - TBD
  LLAM    := 1.0  !septum straight length (m)

  ABXSP   := 0.011076878154
  ALAMSP  := ABXSP   *SETLAM
  ALAMSP2 := ALAMSP  *ALAMSP
  ALAMSP4 := ALAMSP2 *ALAMSP2
  LLAMSP  := LLAM*(1.0+ALAMSP2/6+7*ALAMSP4/360) !septum path length (m)

  BLXSPa : SBEN, TYPE="HLAM3", L=LLAMSP/2, ANGLE=ALAMSP/2, E1=0, E2=0, &
                 FINT=0.5, FINTX=0, HGAP=GLAM/2
  BLXSPb : SBEN, TYPE="HLAM3", L=LLAMSP/2, ANGLE=ALAMSP/2, E1=0, E2=ALAMSP, &
                 FINT=0, FINTX=0.5, HGAP=GLAM/2

! SXR horizontal bends

  dABXSPs := 0.311511788656E-8
  ABXSPs  := ABXSP+dABXSPs
  LBXSPs  := LBSP*ABXSPs/(2*SIN(ABXSPs/2)) !BXSPs path length (m)

  BXSP1sa : SBEN, TYPE="1.0D38.37", L=LBXSPs/2, ANGLE=-ABXSPs/2, &
                  E1=-ABXSPs/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBSP/2
  BXSP1sb : SBEN, TYPE="1.0D38.37", L=LBXSPs/2, ANGLE=-ABXSPs/2, &
                  E1=0, E2=-ABXSPs/2, FINT=0, FINTX=0.5, HGAP=GBSP/2

  BXSP2sa : SBEN, TYPE="1.0D38.37", L=LBXSPs/2, ANGLE=-ABXSPs/2, &
                  E1=-ABXSPs/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBSP/2
  BXSP2sb : SBEN, TYPE="1.0D38.37", L=LBXSPs/2, ANGLE=-ABXSPs/2, &
                  E1=0, E2=-ABXSPs/2, FINT=0, FINTX=0.5, HGAP=GBSP/2

  BXSP3sa : SBEN, TYPE="1.0D38.37", L=LBXSPs/2, ANGLE=ABXSPs/2, &
                  E1=ABXSPs/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBSP/2
  BXSP3sb : SBEN, TYPE="1.0D38.37", L=LBXSPs/2, ANGLE=ABXSPs/2, &
                  E1=0, E2=ABXSPs/2, FINT=0, FINTX=0.5, HGAP=GBSP/2

! HXR rolled bends

  ABRSPh := 0.649033163035E-2
  LBRSPh := LBSP*ABRSPh/(2*SIN(ABRSPh/2)) !BRSPh path length (m)
  TBRSPh := 0.548449694933                !BRSPh roll angle (rad)

  BRSP1ha : SBEN, TYPE="1.0D38.37", L=LBRSPh/2, ANGLE=ABRSPh/2, &
            E1=ABRSPh/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBSP/2, TILT=TBRSPh
  BRSP1hb : SBEN, TYPE="1.0D38.37", L=LBRSPh/2, ANGLE=ABRSPh/2, &
            E1=0, E2=ABRSPh/2, FINT=0, FINTX=0.5, HGAP=GBSP/2, TILT=TBRSPh

  BRSP2ha : SBEN, TYPE="1.0D38.37", L=LBRSPh/2, ANGLE=-ABRSPh/2, &
            E1=-ABRSPh/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBSP/2, TILT=TBRSPh
  BRSP2hb : SBEN, TYPE="1.0D38.37", L=LBRSPh/2, ANGLE=-ABRSPh/2, &
            E1=0, E2=-ABRSPh/2, FINT=0, FINTX=0.5, HGAP=GBSP/2, TILT=TBRSPh

! HXR horizontal bend

  dABXSPh := 0.155765450102E-8
  ABXSPh  := -ABXSP*LAMRAT+dABXSPh
  LBXSPh  := LBSP*ABXSPh/(2*SIN(ABXSPh/2)) !BXSPh path length (m)

  BXSP1ha : SBEN, TYPE="1.0D38.37", L=LBXSPh/2, ANGLE=ABXSPh/2, &
                  E1=ABXSPh/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBSP/2
  BXSP1hb : SBEN, TYPE="1.0D38.37", L=LBXSPh/2, ANGLE=ABXSPh/2, &
                  E1=0, E2=ABXSPh/2, FINT=0, FINTX=0.5, HGAP=GBSP/2

! BSY dumpline vertical bends

  ABYSPd := 0.877684127155E-2
  LBYSPd := LBSP*ABYSPd/(2*SIN(ABYSPd/2)) !BYSPd path length (m)

  BYSP1da : SBEN, TYPE="1.0D38.37", L=LBYSPd/2, ANGLE=ABYSPd/2, TILT, &
                  E1=ABYSPd/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBSP/2
  BYSP1db : SBEN, TYPE="1.0D38.37", L=LBYSPd/2, ANGLE=ABYSPd/2, TILT, &
                  E1=0, E2=ABYSPd/2, FINT=0, FINTX=0.5, HGAP=GBSP/2

  BYSP2da : SBEN, TYPE="1.0D38.37", L=LBYSPd/2, ANGLE=-ABYSPd/2, TILT, &
                  E1=-ABYSPd/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBSP/2
  BYSP2db : SBEN, TYPE="1.0D38.37", L=LBYSPd/2, ANGLE=-ABYSPd/2, TILT, &
                  E1=0, E2=-ABYSPd/2, FINT=0, FINTX=0.5, HGAP=GBSP/2

! BSY dumpline horizontal bend

  ABXSPd := -0.901402689746E-2
  LBXSPd := LBSP*ABXSPd/(2*SIN(ABXSPd/2)) !BXSPd path length (m)

  BXSPda : SBEN, TYPE="1.0D38.37", L=LBXSPd/2, ANGLE=ABXSPd/2, &
                 E1=ABXSPd/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBSP/2
  BXSPdb : SBEN, TYPE="1.0D38.37", L=LBXSPd/2, ANGLE=ABXSPd/2, &
                 E1=0, E2=ABXSPd/2, FINT=0, FINTX=0.5, HGAP=GBSP/2

! SXR DC bend correctors to compensate deflector orbit and dispersion

  LBCSP   :=  0.5                             !DC corrector length
  GBCSP   :=  0.0254                          !DC corrector gap
  ABCSP1s :=  0.314088472529E-2
  ABCSP2s := -0.239093073646E-2
  LBCSP1s := LBCSP*ABCSP1s/(2*SIN(ABCSP1s/2)) !BYSP1s path length (m)
  LBCSP2s := LBCSP*ABCSP2s/(2*SIN(ABCSP2s/2)) !BYSP2s path length (m)

  BYSP1sa : SBEN, TYPE="1.0D18.69", L=LBCSP1s/2, ANGLE=ABCSP1s/2, &
            E1=ABCSP1s/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBCSP/2, TILT
  BYSP1sb : SBEN, TYPE="1.0D18.69", L=LBCSP1s/2, ANGLE=ABCSP1s/2, &
            E2=ABCSP1s/2, E1=0, FINTX=0.5, FINT=0, HGAP=GBCSP/2, TILT
  BYSP2sa : SBEN, TYPE="1.0D18.69", L=LBCSP2s/2, ANGLE=ABCSP2s/2, &
            E1=ABCSP2s/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBCSP/2, TILT
  BYSP2sb : SBEN, TYPE="1.0D18.69", L=LBCSP2s/2, ANGLE=ABCSP2s/2, &
            E2=ABCSP2s/2, E1=0, FINTX=0.5, FINT=0, HGAP=GBCSP/2, TILT

! HXR DC bend correctors to compensate deflector orbit and dispersion

  ABCSP1h := -0.376496522903E-2
  ABCSP2h := 0.301497673187E-2
  LBCSP1h := LBCSP*ABCSP1h/(2*SIN(ABCSP1h/2)) !BYSP1h path length (m)
  LBCSP2h := LBCSP*ABCSP2h/(2*SIN(ABCSP2h/2)) !BYSP2h path length (m)

  BYSP1ha : SBEN, TYPE="1.0D18.69", L=LBCSP1h/2, ANGLE=ABCSP1h/2, &
            E1=ABCSP1h/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBCSP/2, TILT
  BYSP1hb : SBEN, TYPE="1.0D18.69", L=LBCSP1h/2, ANGLE=ABCSP1h/2, &
            E2=ABCSP1h/2, E1=0, FINTX=0.5, FINT=0, HGAP=GBCSP/2, TILT
  BYSP2ha : SBEN, TYPE="1.0D18.69", L=LBCSP2h/2, ANGLE=ABCSP2h/2, &
            E1=ABCSP2h/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBCSP/2, TILT
  BYSP2hb : SBEN, TYPE="1.0D18.69", L=LBCSP2h/2, ANGLE=ABCSP2h/2, &
            E2=ABCSP2h/2, E1=0, FINTX=0.5, FINT=0, HGAP=GBCSP/2, TILT

! drifts

  LDSP1    := 20.0-LKIKSP/2-LLAM/2

 dLDSP2s   := 0.0
  LDSP2s   := 32.6 +dLDSP2s
  LDSP2sa  := LDSP2s-LDSP2sb-LDSP2sc-LBCSP1s-LBCSP2s
  LDSP2sb  := 12.0
  LDSP2sc  := 0.5
 dLDSP3s   := 0.0
  LDSP3s   := 2.1 +dLDSP3s
  LDSP3sa  := 0.4
  LDSP3sb  := LDSP3s-LDSP3sa
  LDSP4s   := 8.8 -dLDSP2s -dLDSP3s
  LDSP4sa  := 0.4
  LDSP4sb  := LDSP4s-LDSP4sa
 dLDSP5s   := 0.0
  LDSP5s   := 6.623 +dLDSP5s
 dLDSP6s   := -9.4
  LDSP6s   := (69.146-LDSP5s-LDSP10s)/4
  LDSP6sa  := 0.4
  LDSP6sb  := LDSP6s-LDSP6sa +dLDSP6s
  LDSP7s   := LDSP6s
  LDSP7sa  := 0.4
  LDSP7sb  := LDSP7s-LDSP7sa -dLDSP6s
  LDSP8s   := LDSP6s
  LDSP8sa  := 0.4
  LDSP8sb  := LDSP8s-LDSP8sa -dLDSP6s
  LDSP9s   := LDSP6s
  LDSP9sa  := 0.4
  LDSP9sb  := LDSP9s-LDSP9sa +dLDSP6s
  LDSP10s  := LDSP5s
  LDSP10sa := 0.4
  LDSP10sb := LDSP10s-LDSP10sa
  LDSP11s  := LDSP4s
  LDSP12s  := LDSP3s
  LDSP12sa := 0.4
  LDSP12sb := LDSP12s-LDSP12sa
 dLDSP13s  := -0.406612380609E-4
  LDSP13s  := LDSP2s +dLDSP13s +LLAMSP/2-LBXSPs/2
  LDSP13sa := 0.4
  LDSP13sb := LDSP13s-LDSP13sa

  DSP1    : DRIF, L=LDSP1
  DSP2sa  : DRIF, L=LDSP2sa
  DSP2sb  : DRIF, L=LDSP2sb
  DSP2sc  : DRIF, L=LDSP2sc
  DSP3sa  : DRIF, L=LDSP3sa
  DSP3sb  : DRIF, L=LDSP3sb
  DSP4sa  : DRIF, L=LDSP4sa
  DSP4sb  : DRIF, L=LDSP4sb
  DSP5s   : DRIF, L=LDSP5s
  DSP6sa  : DRIF, L=LDSP6sa
  DSP6sb  : DRIF, L=LDSP6sb
  DSP7sa  : DRIF, L=LDSP7sa
  DSP7sb  : DRIF, L=LDSP7sb
  DSP8sa  : DRIF, L=LDSP8sa
  DSP8sb  : DRIF, L=LDSP8sb
  DSP9sa  : DRIF, L=LDSP9sa
  DSP9sb  : DRIF, L=LDSP9sb
  DSP10sa : DRIF, L=LDSP10sa
  DSP10sb : DRIF, L=LDSP10sb
  DSP11s  : DRIF, L=LDSP11s
  DSP12sa : DRIF, L=LDSP12sa
  DSP12sb : DRIF, L=LDSP12sb
  DSP13sa : DRIF, L=LDSP13sa
  DSP13sb : DRIF, L=LDSP13sb

 dLDSP2h   := 0.0
  LDSP2h   := 43.0 +dLDSP2h
  LDSP2ha  := LDSP2h-LDSP2hb-LDSP2hc-LBCSP1h-LBCSP2h
  LDSP2hb  := 12.0
  LDSP2hc  := 0.5
 dLDSP3h   := 0.0
  LDSP3h   := 6.2 +dLDSP3h
  LDSP3ha  := 0.4
  LDSP3hb  := LDSP3h-LDSP3ha
 dLDSP4h   := -0.014267463121
  LDSP4h   := 7.9 -dLDSP2h -dLDSP3h +dLDSP4h
  LDSP4ha  := 0.4
  LDSP4hb  := LDSP4h-LDSP4ha
 dLDSP5h   := 0.0
  LDSP5h   := 9.1 +dLDSP5h
 dLDSP6h   := 0.0
  LDSP6h   := 5.0 +dLDSP6h
  LDSP6ha  := 0.4
  LDSP6hb  := LDSP6h-LDSP6ha
 dLDSP7h   := 0.0
  LDSP7h   := (188.057034478655-LDSP5h-LDSP6h-LDSP13h-LDSP14h)/6 +dLDSP7h
  LDSP7ha  := 0.4
  LDSP7hb  := LDSP7h-LDSP7ha
  LDSP8h   := LDSP7h
  LDSP8ha  := 0.4
  LDSP8hb  := LDSP8h-LDSP8ha
  LDSP9h   := LDSP7h
  LDSP9ha  := 0.4
  LDSP9hb  := 5.0
  LDSP9hc  := 3.0
  LDSP9hd  := 3.0
  LDSP9he  := LDSP9h-LDSP9ha-LDSP9hb-LDSP9hc-LDSP9hd
  LDSP10h  := LDSP9h
  LDSP10ha := 0.4
  LDSP10hb := LDSP10h-LDSP10ha-LDSP10hc
  LDSP10hc := 0.4
  LDSP11h  := LDSP8h
  LDSP11ha := 0.4
  LDSP11hb := LDSP11h-LDSP11ha
  LDSP12h  := LDSP7h
  LDSP12ha := 0.4
  LDSP12hb := LDSP12h-LDSP12ha
  LDSP13h  := LDSP6h
  LDSP13ha := 0.4
  LDSP13hb := LDSP13h-LDSP13ha
  LDSP14h  := LDSP5h
  LDSP14ha := 0.4
  LDSP14hb := LDSP14h-LDSP14ha
  LDSP15h  := LDSP4h
  LDSP16h  := LDSP3h
  LDSP16ha := 0.4
  LDSP16hb := LDSP16h-LDSP16ha
 dLDSP17h  := -0.643511535904E-4
  LDSP17h  := LDSP2h +dLDSP17h +LLAMSP/2-LBXSPh/2
  LDSP17ha := 0.4
  LDSP17hb := LDSP17h-LDSP17ha

  DSP2ha  : DRIF, L=LDSP2ha
  DSP2hb  : DRIF, L=LDSP2hb
  DSP2hc  : DRIF, L=LDSP2hc
  DSP3ha  : DRIF, L=LDSP3ha
  DSP3hb  : DRIF, L=LDSP3hb
  DSP4ha  : DRIF, L=LDSP4ha
  DSP4hb  : DRIF, L=LDSP4hb
  DSP5h   : DRIF, L=LDSP5h
  DSP6ha  : DRIF, L=LDSP6ha
  DSP6hb  : DRIF, L=LDSP6hb
  DSP7ha  : DRIF, L=LDSP7ha
  DSP7hb  : DRIF, L=LDSP7hb
  DSP8ha  : DRIF, L=LDSP8ha
  DSP8hb  : DRIF, L=LDSP8hb
  DSP9ha  : DRIF, L=LDSP9ha
  DSP9hb  : DRIF, L=LDSP9hb
  DSP9hc  : DRIF, L=LDSP9hc
  DSP9hd  : DRIF, L=LDSP9hd
  DSP9he  : DRIF, L=LDSP9he
  DSP10ha : DRIF, L=LDSP10ha
  DSP10hb : DRIF, L=LDSP10hb
  DSP10hc : DRIF, L=LDSP10hc
  DSP11ha : DRIF, L=LDSP11ha
  DSP11hb : DRIF, L=LDSP11hb
  DSP12ha : DRIF, L=LDSP12ha
  DSP12hb : DRIF, L=LDSP12hb
  DSP13ha : DRIF, L=LDSP13ha
  DSP13hb : DRIF, L=LDSP13hb
  DSP14ha : DRIF, L=LDSP14ha
  DSP14hb : DRIF, L=LDSP14hb
  DSP15h  : DRIF, L=LDSP15h
  DSP16ha : DRIF, L=LDSP16ha
  DSP16hb : DRIF, L=LDSP16hb
  DSP17ha : DRIF, L=LDSP17ha
  DSP17hb : DRIF, L=LDSP17hb

  LDSP2da := 76.5-LDSP2db-LDSP3da-LDSP3db-LDSP4d-2*LQP
  LDSP2db := 0.4
  LDSP3da := 5.0-LDSP3db
  LDSP3db := 0.4
  LDSP4d  := 1.0
  LDSP5d  := 73.0
  LDSP6d  := 200.5-LDSP7da-LDSP7db-LDSP7dc-LDSP8d-2*LQP
  LDSP7da := 0.4
  LDSP7db := 0.4
  LDSP7dc := 4.0-LDSP7da-LDSP7db
  LDSP8d  := 1.0
  dLDSP9d := 0.0 !adjust Z at D10
  LDSP9da := 21.6879371947-LDSP9db +dLDSP9d
  LDSP9db := 3.0

  DSP2da : DRIF, L=LDSP2da
  DSP2db : DRIF, L=LDSP2db
  DSP3da : DRIF, L=LDSP3da
  DSP3db : DRIF, L=LDSP3db
  DSP4d  : DRIF, L=LDSP4d
  DSP5d  : DRIF, L=LDSP5d
  DSP6d  : DRIF, L=LDSP6d
  DSP7da : DRIF, L=LDSP7da
  DSP7db : DRIF, L=LDSP7db
  DSP7dc : DRIF, L=LDSP7dc
  DSP8d  : DRIF, L=LDSP8d
  DSP9da : DRIF, L=LDSP9da
  DSP9db : DRIF, L=LDSP9db

! markers

  BEGSP   : MARK
  D10Jd   : MARK !D10 entrance
  DUMPBSY : INST, TYPE="D10" !D10 dump

! monitors

  BPMSP1s  : MONI, TYPE="05_um_res" !type TBD
  BPMSP2s  : MONI, TYPE="05_um_res" !type TBD
  BPMSP3s  : MONI, TYPE="05_um_res" !type TBD
  BPMSP4s  : MONI, TYPE="05_um_res" !type TBD
  BPMSP5s  : MONI, TYPE="05_um_res" !type TBD
  BPMSP6s  : MONI, TYPE="05_um_res" !type TBD
  BPMSP7s  : MONI, TYPE="05_um_res" !type TBD
  BPMSP8s  : MONI, TYPE="05_um_res" !type TBD
  BPMSP9s  : MONI, TYPE="05_um_res" !type TBD

  BPMSP1h  : MONI, TYPE="05_um_res" !type TBD
  BPMSP2h  : MONI, TYPE="05_um_res" !type TBD
  BPMSP3h  : MONI, TYPE="05_um_res" !type TBD
  BPMSP4h  : MONI, TYPE="05_um_res" !type TBD
  BPMSP5h  : MONI, TYPE="05_um_res" !type TBD
  BPMSP6h  : MONI, TYPE="05_um_res" !type TBD
  BPMSP7h  : MONI, TYPE="05_um_res" !type TBD
  BPMSP8h  : MONI, TYPE="05_um_res" !type TBD
  BPMSP9h  : MONI, TYPE="05_um_res" !type TBD
  BPMSP10h : MONI, TYPE="05_um_res" !type TBD
  BPMSP11h : MONI, TYPE="05_um_res" !type TBD
  BPMSP12h : MONI, TYPE="05_um_res" !type TBD
  BPMSP13h : MONI, TYPE="05_um_res" !type TBD

  BPMSP1d  : MONI, TYPE="05_um_res" !type TBD
  BPMSP2d  : MONI, TYPE="05_um_res" !type TBD
  BPMSP3d  : MONI, TYPE="05_um_res" !type TBD
  BPMSP4d  : MONI, TYPE="05_um_res" !type TBD

  OTRDMPd  : PROF, TYPE="OTR" !dump screen

! steering correctors

  XCSP1s  : HKIC, TYPE="class-4" !type TBD
  XCSP3s  : HKIC, TYPE="class-4" !type TBD
  XCSP5s  : HKIC, TYPE="class-4" !type TBD
  XCSP7s  : HKIC, TYPE="class-4" !type TBD
  XCSP9s  : HKIC, TYPE="class-4" !type TBD

  YCSP2s  : VKIC, TYPE="class-4" !type TBD
  YCSP4s  : VKIC, TYPE="class-4" !type TBD
  YCSP6s  : VKIC, TYPE="class-4" !type TBD
  YCSP8s  : VKIC, TYPE="class-4" !type TBD

  XCSP1h  : HKIC, TYPE="class-4" !type TBD
  XCSP3h  : HKIC, TYPE="class-4" !type TBD
  XCSP5h  : HKIC, TYPE="class-4" !type TBD
  XCSP7h  : HKIC, TYPE="class-4" !type TBD
  XCSP9h  : HKIC, TYPE="class-4" !type TBD
  XCSP11h : HKIC, TYPE="class-4" !type TBD
  XCSP13h : HKIC, TYPE="class-4" !type TBD

  YCSP2h  : VKIC, TYPE="class-4" !type TBD
  YCSP4h  : VKIC, TYPE="class-4" !type TBD
  YCSP6h  : VKIC, TYPE="class-4" !type TBD
  YCSP8h  : VKIC, TYPE="class-4" !type TBD
  YCSP10h : VKIC, TYPE="class-4" !type TBD
  YCSP12h : VKIC, TYPE="class-4" !type TBD

  XCSP1d  : HKIC, TYPE="class-4" !type TBD
  XCSP3d  : HKIC, TYPE="class-4" !type TBD

  YCSP2d  : VKIC, TYPE="class-4" !type TBD
  YCSP4d  : VKIC, TYPE="class-4" !type TBD

! stoppers

  STSP6ha : INST !center of STSP6ha stopper in HXR
  STSP6hb : INST !STSP6ha 1st backup stopper
  STSP6hc : INST !STSP6ha 2nd backup stopper

! SROT to remove rotation angle

  AROSPs  := -0.830749028535E-5
  AROSP1h := -0.415380885058E-5
  AROSP2h :=  0.937055933631E-5
  AROSP3h := -AROSP2h

  ROSPs  : SROT, ANGLE=AROSPs
  ROSP1h : SROT, ANGLE=AROSP1h
  ROSP2h : SROT, ANGLE=AROSP2h
  ROSP3h : SROT, ANGLE=AROSP3h

! beamlines

  SPRDk : LINE=(BEGSP,BKYSPa,BKYSPb,DSP1,BLXSPa,BLXSPb)

  SPRDs : LINE=(SEQ06BEG,&
                SPRDk,ROSPs,DSP2sa,BYSP1sa,BYSP1sb,DSP2sb,&
                                  BYSP2sa,BYSP2sb,DSP2sc,&
                QSP1s,BPMSP1s,QSP1s,DSP3sa ,XCSP1s,DSP3sb,&
                QSP2s,BPMSP2s,QSP2s,DSP4sa ,YCSP2s,DSP4sb,&
                BXSP1sa,BXSP1sb    ,DSP5s  ,&
                QSP3s,BPMSP3s,QSP3s,DSP6sa ,XCSP3s,DSP6sb,&
                QSP4s,BPMSP4s,QSP4s,DSP7sa ,YCSP4s,DSP7sb,&
                QSP5s,BPMSP5s,QSP5s,DSP8sa ,XCSP5s,DSP8sb,&
                QSP6s,BPMSP6s,QSP6s,DSP9sa ,YCSP6s,DSP9sb,&
                QSP7s,BPMSP7s,QSP7s,DSP10sa,XCSP7s,DSP10sb,&
                BXSP2sa,BXSP2sb    ,DSP11s ,&
                QSP8s,BPMSP8s,QSP8s,DSP12sa,YCSP8s,DSP12sb,&
                QSP9s,BPMSP9s,QSP9s,DSP13sa,XCSP9s,DSP13sb,&
                BXSP3sa,BXSP3sb)

  SPRDh : LINE=(SEQ11BEG,&
                SPRDk,ROSP1h,DSP2ha,BYSP1ha,BYSP1hb,DSP2hb,&
                                   BYSP2ha,BYSP2hb,DSP2hc,&
                QSP1h ,BPMSP1h ,QSP1h  ,DSP3ha ,XCSP1h  ,DSP3hb,&
                QSP2h ,BPMSP2h ,QSP2h  ,DSP4ha ,YCSP2h  ,DSP4hb,&
                BRSP1ha,BRSP1hb,ROSP2h  ,DSP5h  ,&
                QSP3h ,BPMSP3h ,QSP3h  ,DSP6ha ,XCSP3h  ,DSP6hb,&
                QSP4h ,BPMSP4h ,QSP4h  ,DSP7ha ,YCSP4h  ,DSP7hb,&
                QSP5h ,BPMSP5h ,QSP5h  ,DSP8ha ,XCSP5h  ,DSP8hb,&
                QSP6h ,BPMSP6h ,QSP6h  ,DSP9ha ,YCSP6h  ,DSP9hb,&
                                STSP6ha,DSP9hc ,STSP6hb,DSP9hd,STSP6hc,DSP9he,&
                QSP7h ,BPMSP7h ,QSP7h  ,DSP10ha,XCSP7h  ,DSP10hb,&
                                                YCSP8h  ,DSP10hc,&
                QSP8h ,BPMSP8h ,QSP8h  ,DSP11ha,        DSP11hb,&
                QSP9h ,BPMSP9h ,QSP9h  ,DSP12ha,XCSP9h  ,DSP12hb,&
                QSP10h,BPMSP10h,QSP10h ,DSP13ha,YCSP10h ,DSP13hb,&
                QSP11h,BPMSP11h,QSP11h ,DSP14ha,XCSP11h ,DSP14hb,ROSP3h,&
                BRSP2ha,BRSP2hb,        DSP15h ,&
                QSP12h,BPMSP12h,QSP12h ,DSP16ha,YCSP12h ,DSP16hb,&
                QSP13h,BPMSP13h,QSP13h ,DSP17ha,XCSP13h ,DSP17hb,&
                BXSP1ha,BXSP1hb)

  SPRDd : LINE=(SEQ15BEG,&
                SPRDk                ,DSP2da,XCSP1d,DSP2db,&
                QSP1d  ,BPMSP1d,QSP1d,DSP3da,YCSP2d,DSP3db,&
                QSP2d  ,BPMSP2d,QSP2d,DSP4d,&
                BYSP1da,BYSP1db      ,DSP5d,&
                BYSP2da,BYSP2db      ,DSP6d,&
                QSP3d  ,BPMSP3d,QSP3d,DSP7da,XCSP3d,DSP7db,YCSP4d,DSP7dc,&
                QSP4d  ,BPMSP4d,QSP4d,DSP8d,&
                BXSPda ,BXSPdb       ,DSP9da,OTRDMPd,DSP9db,D10Jd,DUMPBSY,&
                ENDSPD,&
                SEQ15END)

  RETURN
