
! *** OPTICS=LCLS2sc04NOV16 ***

! ==============================================================================
! Modification History
! ------------------------------------------------------------------------------
! 04-NOV-2016, M. Woodley
!  * redefine SPD3 line (DASEL kicker/septum system (off) + SPRDdb line)
! 02-NOV-2016, Y. Nosochkov
!  * split SPD2 into shorter SPD2 and SPD3 for DASEL
!  * add beamlines BSYLCLS2scDA and LCLS2scDA for DASEL
!  * update BSYH2 definition for use with A-line pulsed magnets
! ------------------------------------------------------------------------------
! 24-JUN-2016, Y. Nosochkov
!  * update beamline definitions to avoid duplication with other files
! ------------------------------------------------------------------------------

! ------------------------------------------------------------------------------
! from superconducting linac
! ------------------------------------------------------------------------------

  DBKYSP0HA : DRIF, L=BKYSP0HA[L] ; DBKYSP0HB : DRIF, L=BKYSP0HB[L]
  DBKYSP1HA : DRIF, L=BKYSP1HA[L] ; DBKYSP1HB : DRIF, L=BKYSP1HB[L]
  DBKYSP2HA : DRIF, L=BKYSP2HA[L] ; DBKYSP2HB : DRIF, L=BKYSP2HB[L]
  DBKYSP3HA : DRIF, L=BKYSP3HA[L] ; DBKYSP3HB : DRIF, L=BKYSP3HB[L]
  DBKYSP4HA : DRIF, L=BKYSP4HA[L] ; DBKYSP4HB : DRIF, L=BKYSP4HB[L]
  DBLXSPHA  : DRIF, L=BLXSPHA[L]  ; DBLXSPHB  : DRIF, L=BLXSPHB[L] 

  SPD1 : LINE=(&
    BEGSPD1,&
    DBKYSP0HA,DBKYSP0HB,DSPBK0H,& 
    DBKYSP1HA,DBKYSP1HB,DSPBK1H,&
    DBKYSP2HA,DBKYSP2HB,DSPBK2H,&
    DBKYSP3HA,DBKYSP3HB,DSPBK3H,&
    DBKYSP4HA,DBKYSP4HB,DSPBK4HA,BPMSPH,DSPBK4HB,&
    DBLXSPHA ,DBLXSPHB ,&
    SPRDKSA  ,&
    ENDSPD1)

  DBKYSP0SA : DRIF, L=BKYSP0SA[L] ; DBKYSP0SB : DRIF, L=BKYSP0SB[L]
  DBKYSP1SA : DRIF, L=BKYSP1SA[L] ; DBKYSP1SB : DRIF, L=BKYSP1SB[L]
  DBKYSP2SA : DRIF, L=BKYSP2SA[L] ; DBKYSP2SB : DRIF, L=BKYSP2SB[L]
  DBKYSP3SA : DRIF, L=BKYSP3SA[L] ; DBKYSP3SB : DRIF, L=BKYSP3SB[L]
  DBKYSP4SA : DRIF, L=BKYSP4SA[L] ; DBKYSP4SB : DRIF, L=BKYSP4SB[L]
  DBLXSPSA  : DRIF, L=BLXSPSA[L]  ; DBLXSPSB  : DRIF, L=BLXSPSB[L] 

  SPD2 : LINE=(&
    BEGSPD2,&
    DBKYSP0SA,DBKYSP0SB,DSPBK0S,&
    DBKYSP1SA,DBKYSP1SB,DSPBK1S,&
    DBKYSP2SA,DBKYSP2SB,DSPBK2S,&
    DBKYSP3SA,DBKYSP3SB,DSPBK3S,&
    DBKYSP4SA,DBKYSP4SB,DSPBK4SA,BPMSPS,DSPBK4SB,&
    DBLXSPSA ,DBLXSPSB ,&
    SPRDDA,&
    ENDSPD2)

  DBKYDAS1A : DRIF, L=BKYDAS1A[L] ; DBKYDAS1B : DRIF, L=BKYDAS1B[L]
  DBKYDAS2A : DRIF, L=BKYDAS2A[L] ; DBKYDAS2B : DRIF, L=BKYDAS2B[L]
  DBKYDAS3A : DRIF, L=BKYDAS3A[L] ; DBKYDAS3B : DRIF, L=BKYDAS3B[L]
  DBKYDAS4A : DRIF, L=BKYDAS4A[L] ; DBKYDAS4B : DRIF, L=BKYDAS4B[L]
  DBKYDAS5A : DRIF, L=BKYDAS5A[L] ; DBKYDAS5B : DRIF, L=BKYDAS5B[L]
  DBKYDAS6A : DRIF, L=BKYDAS6A[L] ; DBKYDAS6B : DRIF, L=BKYDAS6B[L]
  DBKYDAS7A : DRIF, L=BKYDAS7A[L] ; DBKYDAS7B : DRIF, L=BKYDAS7B[L]
  DBLXDASA  : DRIF, L=BLXDASA[L]  ; DBLXDASB  : DRIF, L=BLXDASB[L]
  DSP2dc2   : DRIF, L=DSP2dc[L]-27.25

  SPD3 : LINE=(&
    BEGSPD3,&
    DBKYDAS1A,DBKYDAS1B,DDASBK1,&
    DBKYDAS2A,DBKYDAS2B,DDASBK2,&
    DBKYDAS3A,DBKYDAS3B,DDASBK3,&
    DBKYDAS4A,DBKYDAS4B,DDASBK4,&
    DBKYDAS5A,DBKYDAS5B,DDASBK5,&
    DBKYDAS6A,DBKYDAS6B,DDASBK6,&
    DBKYDAS7A,DBKYDAS7B,DDASBLXA,BPMDAS,DDASBLXB,&
    DBLXDASA,DBLXDASB,DSP2dc2,XCSP1d,DSP2dd,&
    QSP1d,QSP1d,DSP3da,DSP3db,IMSP0d,DSP3dc,MRFBSP2d,BPMSP2d,DSP3dd,&
    QSP2d,QSP2d,DSP4da,YCSP2d,DSP4db,&
    BYSP1da,BYSP1db,DSP5da,PCSP1d,BTMSP1d,DSP5db,WSSP1d,DSP5dc,BPMSP3d,&
      DSP5dd,&
    BYSP2da,BYSP2db,DSP6da,XCSP3d,DSP6db,YCSP4d,DSP6dc,IMSP1d,DSP6dd,IMSP2d,&
      DSP6de,PCSP2d,BTMSP2d,DSP6dfa,&
    WOODDOOR,&
    ENDSPD3)

  SLTD : LINE=(BEGSLTD,SPRDDC,ENDSLTD)

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

  SPS : LINE=(BEGSPS,SPRDKSB,SPRDSB,FODOLb,ENDSPS)

  DBRCUS1A : DRIF, L=BRCUS1A[L] ; DBRCUS1B : DRIF, L=BRCUS1B[L]

  SLTS : LINE=(BEGSLTS,FODOLc,BYPM1,DBRCUS1A,DBRCUS1B,MRGCUSXR,ENDSLTS)

  BSYS : LINE=(&
    BEGBSYS,BYPM2,MUWALLB,DWALLA,DUMPBSYS,DWALLB,BSYENDB,ENDBSYS)

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

  SPH : LINE=(BEGSPH,SPRDKH,SPRDHA,ENDSPH)

  SLTH : LINE=(BEGSLTH,SPRDHB,ENDSLTH)

  BSYH1 : LINE=(BEGBSYH1,SPHAL,ENDBSYH1)

  BSYH2 : LINE=(&
    BEGBSYH2,&
    DBKXAPM1a,DBKXAPM1b,DZAPM1,PCAPM1,DZAPM1,&
    DBKXAPM2a,DBKXAPM2b,DZAPM2,PCAPM2,DZAPM2,&
    DBKXAPM3a,DBKXAPM3b,DZAPM3,PCAPM3,DZAPM3,&
    DBKXAPM4a,DBKXAPM4b,DZAPM4,PCAPM4,DZA01,&
    PCBSY2,BTMBSY2,DZA02,DUMPBSYA,&
    SPHBSYB,&
    ENDBSYH2)

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

  BSYA : LINE=(BEGBSYA,ALINEA,ALINEB,ALINEC)

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

  LTUS : LINE=(DBLDL21,LTUSC,RWWAKE5S,ENDLTUS)
  LTUH : LINE=(LTU)

! from SC linac (start at spreader)

  BSYLCLS2scS  : LINE=(SPD1,SPS,SLTS,BSYS,LTUS,SXRUND,DUMPLINEb)
  BSYLCLS2scSS : LINE=(SPD1,SPS,SLTS,BSYS,LTUS,SXRUND,SFTDUMPb)
  BSYLCLS2scH  : LINE=(SPH,SLTH,BSYH1,BSYH2,LTUH,HXRUND,DUMPLINE)
  BSYLCLS2scHS : LINE=(SPH,SLTH,BSYH1,BSYH2,LTUH,HXRUND,SFTDUMP)
  BSYLCLS2scD  : LINE=(SPD1,SPD2,SPD3,SLTD)
  BSYLCLS2scA  : LINE=(SPH,SLTH,BSYH1,BSYA)
  BSYLCLS2scDA : LINE=(SPD1,SPD2,DASELA)

! from SC linac (start at end of dogleg)

  LCLS2scS  : LINE=(FODOLa,BSYLCLS2scS)
  LCLS2scSS : LINE=(FODOLa,BSYLCLS2scSS)
  LCLS2scH  : LINE=(FODOLa,BSYLCLS2scH)
  LCLS2scHS : LINE=(FODOLa,BSYLCLS2scHS)
  LCLS2scD  : LINE=(FODOLa,BSYLCLS2scD)
  LCLS2scA  : LINE=(FODOLa,BSYLCLS2scA)
  LCLS2scDA : LINE=(FODOLa,BSYLCLS2scDA)

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

  RETURN
