
! *** OPTICS=LCLS2sc06MAR17 ***

! LCLS2sc linac extension: end of L3 to start of bypass dogleg

! ==============================================================================
! Modification History
! ------------------------------------------------------------------------------
! 28-NOV-2016, M. Woodley
!  * merge LCLS-II' version 28NOV16 with LCLS2sc version 04NOV16
! ------------------------------------------------------------------------------
! 26-AUG-2016, M. Woodley
!  * remove EXT FODO lattice and replace with direct match from L3 into dogleg
! ------------------------------------------------------------------------------
! 26-MAY-2016, M. Woodley
!  * set TYPE="0.788D11.50" for R56-compensation chicane bends
! 20-APR-2016, M. Woodley
!  * add IPEXTDOG ion pump (defines EXT-DOG boundary)
! ------------------------------------------------------------------------------
! 01-OCT-2015, M. Woodley
!  * add BPMX09 (@0); to be replaced later by RFBX09 (@2)
!  * undefer R56-compensation chicane
!  * scale bend angles of R56-compensation chicane up by 15%
! ------------------------------------------------------------------------------
! 19-JUN-2015, M. Woodley
!  * corrector locations per F. Carrillo
!  * stripline BPM types per M. Carrasco
! ------------------------------------------------------------------------------
! 28-OCT-2014, M. Woodley
!  * lengthen EXT FODO cells by 12 m (57 m to 69 m)
!  * rematch EXT (layout and optics)
!  * add resistive-wall wakefield MARKer (for ELEGANT) per P. Emma
! ------------------------------------------------------------------------------
! 15-OCT-2014, M. Woodley
!  * switch to 45 degree FODO cells
!  * add R56 compensation chicane (steal 2.5 m from space reserved for CM
!    transport)
!  * adjust deferment/deprecation levels
! ------------------------------------------------------------------------------
! 07-AUG-2014, M. Woodley
!  * diagnostics complement per "Electron Beam Diagnostics Systems" PRD
!    (LCLSII-2.7-PR-0170)
!  * EXT FODO cell length increased from 38 m to 57 m ... phase advance per
!    cell reduced to 60 degrees
!  * use QW quadrupoles for FODO lattice ... last two EXT quadrupoles are QEs
!  * decorate device TYPE attributes to indicate non-baseline status
! ------------------------------------------------------------------------------
! 28-MAR-2014, M. Woodley
!  * element names changed to conform to nomenclature PRD
! ------------------------------------------------------------------------------

! ==============================================================================
! SBEN
! ------------------------------------------------------------------------------

! R56 compensation chicane:
!   BBCX..  = chicane bend field (kG) at 4 GeV
!   ABCX..  = chicane bend angle (rad)
!   LBCX..  = chicane bend path length (m)
!   ABCX..S = "short" half chicane bend angle (rad)
!   ABCX..L = "long" half chicane bend angle (rad)
!   LBCX..S = "short" half chicane bend path length (m)
!   LBCX..L = "long" half chicane bend path length (m)

 !BBCXDLU     := 4.091923726641 !R56=9.99E-5
  BBCXDLU     := 1.15*4.091923726641 !R56=0.132E-3
  ARGXDLU     := ZBCC*BBCXDLU/Brhof
  ABCXDLU     := ASIN(ARGXDLU)
  ABCXDLU_2   := ABCXDLU*ABCXDLU
  ABCXDLU_4   := ABCXDLU_2*ABCXDLU_2
  ABCXDLU_6   := ABCXDLU_4*ABCXDLU_2
  SINCBCXDLU  := 1-ABCXDLU_2/6+ABCXDLU_4/120-ABCXDLU_6/5040
  LBCXDLU     := ZBCC/SINCBCXDLU
  ABCXDLUS    := ASIN(ARGXDLU/2)
  ABCXDLUS_2  := ABCXDLUS*ABCXDLUS
  ABCXDLUS_4  := ABCXDLUS_2*ABCXDLUS_2
  ABCXDLUS_6  := ABCXDLUS_4*ABCXDLUS_2
  SINCBCXDLUS := 1-ABCXDLUS_2/6+ABCXDLUS_4/120-ABCXDLUS_6/5040
  LBCXDLUS    := ZBCC/(2*SINCBCXDLUS)
  ABCXDLUL    := ABCXDLU-ABCXDLUS
  LBCXDLUL    := LBCXDLU-LBCXDLUS

  BCXDLU1a : SBEN, TYPE="0.788D11.50", HGAP=GBCC/2, L=LBCXDLUS, &
                   ANGLE=+ABCXDLUS, E1=0, FINT=0.5, FINTX=0
  BCXDLU1b : SBEN, TYPE="0.788D11.50", HGAP=GBCC/2, L=LBCXDLUL, &
                   ANGLE=+ABCXDLUL, E2=+ABCXDLU, FINT=0, FINTX=0.5
  BCXDLU2a : SBEN, TYPE="0.788D11.50", HGAP=GBCC/2, L=LBCXDLUL, &
                   ANGLE=-ABCXDLUL, E1=-ABCXDLU, FINT=0.5, FINTX=0
  BCXDLU2b : SBEN, TYPE="0.788D11.50", HGAP=GBCC/2, L=LBCXDLUS, &
                   ANGLE=-ABCXDLUS, E2=0, FINT=0, FINTX=0.5
  BCXDLU3a : SBEN, TYPE="0.788D11.50", HGAP=GBCC/2, L=LBCXDLUS, &
                   ANGLE=-ABCXDLUS, E1=0, FINT=0.5, FINTX=0
  BCXDLU3b : SBEN, TYPE="0.788D11.50", HGAP=GBCC/2, L=LBCXDLUL, &
                   ANGLE=-ABCXDLUL, E2=-ABCXDLU, FINT=0, FINTX=0.5
  BCXDLU4a : SBEN, TYPE="0.788D11.50", HGAP=GBCC/2, L=LBCXDLUL, &
                   ANGLE=+ABCXDLUL, E1=+ABCXDLU, FINT=0.5, FINTX=0
  BCXDLU4b : SBEN, TYPE="0.788D11.50", HGAP=GBCC/2, L=LBCXDLUS, &
                   ANGLE=+ABCXDLUS, E2=0, FINT=0, FINTX=0.5

! ==============================================================================
! QUAD
! ------------------------------------------------------------------------------

  KQX01 :=  0.953946421342
  KQX02 := -1.076613496387

  QX01 : QUAD, TYPE="1.085Q4.31", L=LQE/2, APER=rQE, K1=KQX01
  QX02 : QUAD, TYPE="1.085Q4.31", L=LQE/2, APER=rQE, K1=KQX02

  COMMENT !GL < 106 kG for QEs
    VALUE, Brhof*KQX01*LQE
    VALUE, Brhof*KQX02*LQE
  ENDCOMMENT

! ==============================================================================
! DRIF
! ------------------------------------------------------------------------------

  LLDX := 21.0-2*LQE !21 m particle-free before CCDLU

  DX00 : DRIF, L=5.8
  DX02 : DRIF, L=5.8
  DX01 : DRIF, L=LLDX-DX00[L]-DX02[L]
  DX03 : DRIF, L=0.5

  DX01a : DRIF, L=0.4-LQE/2
  DX01c : DRIF, L=0.2
  DX01b : DRIF, L=DX01[L]-DX01a[L]-DX01c[L]
  DX02a : DRIF, L=0.31-LQE/2
  DX02b : DRIF, L=DX02[L]-DX02a[L]
  DX03a : DRIF, L=0.25
  DX03b : DRIF, L=DX03[L]-DX03a[L]

! R56 compensation chicane

  DCCDLUo : DRIF, L=ZDCC/COS(ABCXDLU), TYPE="CSR"
  DCCDLUi : DRIF, L=ZDCC/2,            TYPE="CSR"

! ==============================================================================
! BPMs
! ------------------------------------------------------------------------------

  BPMX01 : MONI, TYPE="Stripline-2"
  BPMX02 : MONI, TYPE="Stripline-2"

  RFBX02 : MONI, TYPE="@2,CavityS-1"

! ==============================================================================
! XCORs
! ------------------------------------------------------------------------------

  XCX01 : HKIC, TYPE="class-4"

! ==============================================================================
! YCORs
! ------------------------------------------------------------------------------

  YCX02 : VKIC, TYPE="class-4"

! ==============================================================================
! marker points, etc.
! ------------------------------------------------------------------------------

  CCDLUBEG : MARK
  CCDLUMID : MARK
  CNTDLU   : MARK, TYPE="CENTER"
  CCDLUEND : MARK
  IPEXTDOG : INST, TYPE="ion pump" !EXT-DOG treaty point
  RWWAKE1  : MARK, TYPE="WAKE" !EXT beampipe wake applied here

! ==============================================================================
! BEAMLINE
! ------------------------------------------------------------------------------

  CCDLU : LINE=(CCDLUBEG,&
    BCXDLU1a,BCXDLU1b,DCCDLUo,&
    BCXDLU2a,BCXDLU2b,DCCDLUi,CCDLUMID,DCCDLUi,&
    BCXDLU3a,BCXDLU3b,DCCDLUo,&
    BCXDLU4a,BCXDLU4b,CNTDLU,CCDLUEND)

  EXT0 : LINE=(BEGEXT,&
    DX00,&
    QX01,QX01,DX01,&
    QX02,QX02,DX02,&
    CCDLU,DX03,&
    ENDEXT)

  EXT : LINE=(&
    BEGEXT,&
    DX00,&
    QX01,BPMX01,QX01,DX01a,XCX01,DX01b,RFBX02,DX01c,&
    QX02,BPMX02,QX02,DX02a,YCX02,DX02b,&
    CCDLU,DX03a,IPEXTDOG,DX03b,RWWAKE1,ENDEXT)

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

  RETURN
