
! *** OPTICS=LCLS2sc06MAR17 ***

! LCLS2sc transport from Cu-linac to SXR

! ==============================================================================
! Modification History
! ------------------------------------------------------------------------------
! 02-NOV-2016, Y. Nosochkov
!  * minor adjustment to kicker angle
!  * add a note that BRCUS1 is a special merge DC-bend which is turned ON
!    for CURF beam to SXR or OFF for SCRF beam to SXR
! ------------------------------------------------------------------------------
! 24-JUN-2016, Y. Nosochkov
!  * add deferred BPMCUS between kicker and septum
!  * move BPMs inside the quads QCUS4, QCUS5, QCUS7
!  * update the engineering type of BKRCUS kicker to "1.92K41.2" (J. Amann)
!  * remove corrector dipoles BRCCUS1&2, rematch geometry and optics
! ------------------------------------------------------------------------------
! 26-FEB-2016, M. Woodley
!  * remove SEQnn MARKers
! 26-FEB-2016, Y. Nosochkov
!  * replace 5 kickers (based on spreader kicker design) with one kicker
!    based on BYKIK1 design (per T. Beukers)
!  * increase CUSXR length by 1.2 m to avoid interference with A-line kicker
!    (septum and first 3 quad positions are not changed, but the rest is moved
!    downstream while keeping the CUSXR symmetry) 
! ------------------------------------------------------------------------------
! 25-SEP-2015, Y. Nosochkov
!  * update definitions of kickers, septum and last DC bend to allow
!    zero angle
! 24-AUG-2015, Y. Nosochkov
!  * move BPMCUS2 downstream of QCUS2
!  * move XCCUS10 upstream of QCUS10
!  * replace the first DC bend with a fast kicker and a septum (deferred at @3)
!  * increase the distance from first/last bend to the nearest quad
!  * add two corrector bends to cancel the kicker orbit and dispersion (at @3)
! ------------------------------------------------------------------------------
! 19-JUN-2015, Y. Nosochkov
!  * add additional deferred quadrupole at center of CUSXR
!  * rename some magnets/devices to put the names in order
!  * change magnet type of QCUS4, QCUS5, QCUS6, QCUS7 from 2Q10 to 1.085Q4.31
!  * change BPM type at 2Q10 to Stripline-5, and at 1.085Q4.31 to Stripline-2
!  * move BPMs outside of the quads
!  * adjust distance from BPM/corr to the quad
! ------------------------------------------------------------------------------
! 20-MAR-2015, M. Woodley
!  * move definitions of BEGCUSXR and ENDCUSXR MARKERs to common.xsif
!  * add SEQ20BEG and SEQ20END MARKERs
! 12-MAR-2015, Y. Nosochkov
!  * add a dogleg transport line from Cu-linac to SXR (deferred to level 3)
! ------------------------------------------------------------------------------

! XYZ (linac system) and Twiss at entrance of the first kicker (BEGCLTS)

  XCUS1  := -3.309962022E-7 !per existing LCLS-1 coordinates
  YCUS1  :=  0.0
  ZCUS1  :=  3059.078178
  THCUS1 :=  0.0
  PHCUS1 :=  0.0
  PSCUS1 :=  0.0

  TBXCUS1 :=  2.804556171E+01 !get these from matched HXR tape file
  TBYCUS1 :=  5.167428346E+01 
  TAXCUS1 := -1.254172104E-01
  TAYCUS1 :=  6.759611550E-01
  TWSCUS1 : BETA0, BETX=TBXCUS1, BETY=TBYCUS1, ALFX=TAXCUS1, ALFY=TAYCUS1

! XYZ (linac system) at exit of the last bend (ENDCUSXR)

  XCUS2  := -25.610*IN2M
  YCUS2  :=  25.570*IN2M
  ZCUS2  :=  3177.65
  THCUS2 :=  0.0
  PHCUS2 :=  0.0
  PSCUS2 :=  0.0

! quads (Cu-linac energy is limited to 10 GeV)

  KQCUS1  :=  0.490331477856
  KQCUS2  := -0.410119310528
  KQCUS3  := -0.31778194478
  KQCUS4  :=  2.387339640369
  KQCUS5  := -1.410628986253
  KQCUS9  := -0.455307290535
  KQCUS10 :=  0.49639568937
  KQCUS6  :=  KQCUS5
  KQCUS7  :=  KQCUS4
  KQCUS8  :=  KQCUS3

  QCUS1  : QUAD, TYPE="@3,2Q10"      , L=LQR/2, K1=KQCUS1 , APER=rQR
  QCUS2  : QUAD, TYPE="@3,2Q10"      , L=LQR/2, K1=KQCUS2 , APER=rQR
  QCUS3  : QUAD, TYPE="@3,2Q10"      , L=LQR/2, K1=KQCUS3 , APER=rQR
  QCUS4  : QUAD, TYPE="@3,1.085Q4.31", L=LQE/2, K1=KQCUS4 , APER=rQE
  QCUS5  : QUAD, TYPE="@3,1.085Q4.31", L=LQE/2, K1=KQCUS5 , APER=rQE
  QCUS6  : QUAD, TYPE="@3,1.085Q4.31", L=LQE/2, K1=KQCUS6 , APER=rQE
  QCUS7  : QUAD, TYPE="@3,1.085Q4.31", L=LQE/2, K1=KQCUS7 , APER=rQE
  QCUS8  : QUAD, TYPE="@3,2Q10"      , L=LQR/2, K1=KQCUS8 , APER=rQR
  QCUS9  : QUAD, TYPE="@3,2Q10"      , L=LQR/2, K1=KQCUS9 , APER=rQR
  QCUS10 : QUAD, TYPE="@3,2Q10"      , L=LQR/2, K1=KQCUS10, APER=rQR

! kicker is aligned along the BSY1 axis and rolled approx. -45 deg
! kicker design is based on existing BYKIK1 (max. field ~600G per T. Beukers)

  TCUSXR   := -0.673868825333 !roll angle of kicker (+pi/2) and septum (rad)
  GBKRCUS  := 25.4E-3 !kicker gap (m)
  ZBKRCUS  := 1.0601  !kicker straight length (m)

  ABKRCUS0 := -0.87326308078E-3
  ABKRCUS  :=  ABKRCUS0 *SETCUS     !total kicker angle (rad)
  ABKRCUSa :=  ASIN(SIN(ABKRCUS)/2) !1st half-kicker angle (rad)
  ABKRCUSb :=  ABKRCUS-ABKRCUSa     !2nd half-kicker angle (rad)

  ABKRCUS_2  := ABKRCUS   *ABKRCUS
  ABKRCUS_4  := ABKRCUS_2 *ABKRCUS_2
  ABKRCUSa_2 := ABKRCUSa  *ABKRCUSa
  ABKRCUSa_4 := ABKRCUSa_2*ABKRCUSa_2

  LBKRCUS  := ZBKRCUS   /(1 -ABKRCUS_2 /6 +ABKRCUS_4 /120)
  LBKRCUSa := ZBKRCUS/2 /(1 -ABKRCUSa_2/6 +ABKRCUSa_4/120)
  LBKRCUSb := LBKRCUS-LBKRCUSa

  BKRCUSa : SBEN, TYPE="@3,1.92K41.2", L=LBKRCUSa, ANGLE=ABKRCUSa, &
    E1=0, E2=0, FINT=0.5, FINTX=0, HGAP=GBKRCUS/2, TILT=PI/2+TCUSXR
  BKRCUSb : SBEN, TYPE="@3,1.92K41.2", L=LBKRCUSb, ANGLE=ABKRCUSb, &
    E1=0, E2=ABKRCUS, FINT=0, FINTX=0.5, HGAP=GBKRCUS/2, TILT=PI/2+TCUSXR

! 2-hole rolled septum aligned along the BSY1 axis

  GBLRCUS := GBLSP !septum gap height (m)
  ZBLRCUS := LBLSP !septum straight length (m)

  ABLRCUS0 := 0.911077773379E-2
  ABLRCUS  := ABLRCUS0 *SETCUS     !septum bending angle (rad)
  ABLRCUSa := ASIN(SIN(ABLRCUS)/2) !angle per 1st half of the septum
  ABLRCUSb := ABLRCUS-ABLRCUSa     !angle per 2nd half of the septum

  ABLRCUS_2  := ABLRCUS   *ABLRCUS
  ABLRCUS_4  := ABLRCUS_2 *ABLRCUS_2
  ABLRCUSa_2 := ABLRCUSa  *ABLRCUSa
  ABLRCUSa_4 := ABLRCUSa_2*ABLRCUSa_2

  LBLRCUS  := ZBLRCUS   /(1 -ABLRCUS_2/6  +ABLRCUS_4 /120)/COS(ABKRCUS)
  LBLRCUSa := ZBLRCUS/2 /(1 -ABLRCUSa_2/6 +ABLRCUSa_4/120)/COS(ABKRCUS)
  LBLRCUSb := LBLRCUS-LBLRCUSa

  BLRCUSa : SBEN, TYPE="@3,0.625SD38.98", L=LBLRCUSa, ANGLE=ABLRCUSa, &
            E1=0, E2=0, FINT=0.5, FINTX=0, HGAP=GBLRCUS/2, TILT=TCUSXR
  BLRCUSb : SBEN, TYPE="@3,0.625SD38.98", L=LBLRCUSb, ANGLE=ABLRCUSb, &
            E1=0, E2=ABLRCUS, FINT=0, FINTX=0.5, HGAP=GBLRCUS/2, TILT=TCUSXR

! rolled DC bend
! Note: BRCUS1 is a merge DC-bend which is either turned ON to operate
!       CURF beam in SXR, or turned OFF to operate SCRF beam in SXR

  TBRCUS := -0.769423721099 !roll angle of DC bend (rad)
  GBRCUS := GBSP !bend gap height (m)
  ZBRCUS := LBSP !bend straight length (1.0D38.37) (m)

  dABRCUS   := -0.417540592574E-4
  ABRCUS    := (-ABLRCUS0+dABRCUS) *SETCUS
  ABRCUSh   := ABRCUS/2
  ABRCUSh_2 := ABRCUSh   *ABRCUSh
  ABRCUSh_4 := ABRCUSh_2 *ABRCUSh_2
  LBRCUS    := ZBRCUS/(1-ABRCUSh_2/6 +ABRCUSh_4/120) !bend path length (m)

  BRCUS1a : SBEN, TYPE="@3,1.0D38.37", L=LBRCUS/2, ANGLE=ABRCUS/2, &
            E1=ABRCUS/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBRCUS/2, TILT=TBRCUS
  BRCUS1b : SBEN, TYPE="@3,1.0D38.37", L=LBRCUS/2, ANGLE=ABRCUS/2, &
            E2=ABRCUS/2, E1=0, FINT=0, FINTX=0.5, HGAP=GBRCUS/2, TILT=TBRCUS

! inner vertical bends for R56 cancellation

  GBYCUS := 0.0254 !bend full gap (m)
  ZBYCUS := 0.6    !bend straight length (m)

  ABYCUS := 0.4E-3
  LBYCUS := ZBYCUS*ABYCUS/(2*SIN(ABYCUS/2)) !bend path length (m)

  BYCUS1a : SBEN, TYPE="@3,1.0D22.625", L=LBYCUS/2, ANGLE= ABYCUS/2, &
            E1= ABYCUS/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBYCUS/2, TILT=PI/2
  BYCUS1b : SBEN, TYPE="@3,1.0D22.625", L=LBYCUS/2, ANGLE= ABYCUS/2, &
            E2= ABYCUS/2, E1=0, FINT=0, FINTX=0.5, HGAP=GBYCUS/2, TILT=PI/2

  BYCUS2a : SBEN, TYPE="@3,1.0D22.625", L=LBYCUS/2, ANGLE=-ABYCUS/2, &
            E1=-ABYCUS/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBYCUS/2, TILT=PI/2
  BYCUS2b : SBEN, TYPE="@3,1.0D22.625", L=LBYCUS/2, ANGLE=-ABYCUS/2, &
            E2=-ABYCUS/2, E1=0, FINT=0, FINTX=0.5, HGAP=GBYCUS/2, TILT=PI/2

! rolled DC corrector bends -- removed

  LBRCCUS  := 0.6

  DBRCCUS1 : DRIF, L=LBRCCUS/2
  DBRCCUS2 : DRIF, L=LBRCCUS/2

! drifts

  ZDCUSBLR  := 16.1469 !Z-distance between the last kicker and septum
  LDCUSBLR  := ZDCUSBLR/COS(ABKRCUS)
  LDCUSBLRa :=  5.1956 /COS(ABKRCUS)
  LDCUSBLRb := LDCUSBLR-LDCUSBLRa

 dLDCUS0  :=  0.0 !adjust length of CUSXR
 dLDCUS2  :=  0.0 !adjust positions of QCUS2,9
 dLDCUS3  := -0.9 !adjust positions of QCUS3,8
 dLDCUS4  :=  0.16 !adjust positions of QCUS4,7
 dLDCUS13 :=  0.0 !asymmetry between LDCUS1 and LDCUS13

  LDCUS0  := 5.133675753223652 +dLDCUS0
  LDCUS1  := 29.4
  LDCUS2  := LDCUS0         +dLDCUS2
  LDCUS3  := LDCUS0 -dLDCUS2+dLDCUS3
  LDCUS4  := LDCUS0 -dLDCUS3+dLDCUS4 +0.599963125932
  LDCUS5  := 1.5-0.25 -dLDCUS4
  LDCUS6  := 1.0+0.25
  LDCUS7  := 0.3/2
  LDCUS8  := LDCUS6
  LDCUS9  := LDCUS5
  LDCUS10 := LDCUS4
  LDCUS11 := LDCUS3
  LDCUS12 := LDCUS2
  LDCUS13 := LDCUS1+LBLRCUS/2-LBRCUS/2 +dLDCUS13

  LDCUS1b  := 7.0
  LDCUS1c  := 0.5
  LDCUS1a  := LDCUS1-LDCUS1b-LDCUS1c-LBRCCUS-LBRCCUS -dLDCUS13
  LDCUS2a  := 0.4471
  LDCUS2b  := 0.6368
  LDCUS2c  := LDCUS2-LDCUS2a-LDCUS2b
  LDCUS3a  := 0.4471
  LDCUS3b  := 0.6368
  LDCUS3d  := 0.4781
  LDCUS3c  := LDCUS3-LDCUS3a-LDCUS3b-LDCUS3d
  LDCUS4a  := 0.4285
  LDCUS4c  := 0.1924
  LDCUS4b  := LDCUS4-LDCUS4a-LDCUS4c +(LQR-LQE)/2
  LDCUS5a  := 0.4
  LDCUS5b  := LDCUS5-LDCUS5a +(LQR-LQE)/2
  LDCUS6b  := 0.1924
  LDCUS6a  := LDCUS6-LDCUS6b +(LQR-LQE)/2 -LQE/2-LDCUS7
  LDCUS8a  := 0.4
  LDCUS8b  := LDCUS8-LDCUS8a +(LQR-LQE)/2 -LQE/2-LDCUS7
  LDCUS9b  := 0.1924
  LDCUS9a  := LDCUS9-LDCUS9b +(LQR-LQE)/2
  LDCUS10a := 0.4
  LDCUS10c := 0.4781
  LDCUS10b := LDCUS10-LDCUS10a-LDCUS10c +(LQR-LQE)/2
  LDCUS11a := 0.4285
  LDCUS11c := 0.4781
  LDCUS11b := LDCUS11-LDCUS11a-LDCUS11c
  LDCUS12a := 0.4285
  LDCUS12c := 0.6058 !this distance to be checked
  LDCUS12d := 0.4781 !this distance to be checked
  LDCUS12b := LDCUS12-LDCUS12a-LDCUS12c-LDCUS12d

  DCUSBLRa : DRIF, L=LDCUSBLRa
  DCUSBLRb : DRIF, L=LDCUSBLRb
  DCUS1a  : DRIF, L=LDCUS1a
  DCUS1b  : DRIF, L=LDCUS1b
  DCUS1c  : DRIF, L=LDCUS1c
  DCUS2a  : DRIF, L=LDCUS2a
  DCUS2b  : DRIF, L=LDCUS2b
  DCUS2c  : DRIF, L=LDCUS2c
  DCUS3a  : DRIF, L=LDCUS3a
  DCUS3b  : DRIF, L=LDCUS3b
  DCUS3c  : DRIF, L=LDCUS3c
  DCUS3d  : DRIF, L=LDCUS3d
  DCUS4a  : DRIF, L=LDCUS4a
  DCUS4b  : DRIF, L=LDCUS4b
  DCUS4c  : DRIF, L=LDCUS4c
  DCUS5a  : DRIF, L=LDCUS5a
  DCUS5b  : DRIF, L=LDCUS5b
  DCUS6a  : DRIF, L=LDCUS6a
  DCUS6b  : DRIF, L=LDCUS6b
  DCUS7   : DRIF, L=LDCUS7
  DCUS8a  : DRIF, L=LDCUS8a
  DCUS8b  : DRIF, L=LDCUS8b
  DCUS9a  : DRIF, L=LDCUS9a
  DCUS9b  : DRIF, L=LDCUS9b
  DCUS10a : DRIF, L=LDCUS10a
  DCUS10b : DRIF, L=LDCUS10b
  DCUS10c : DRIF, L=LDCUS10c
  DCUS11a : DRIF, L=LDCUS11a
  DCUS11b : DRIF, L=LDCUS11b
  DCUS11c : DRIF, L=LDCUS11c
  DCUS12a : DRIF, L=LDCUS12a
  DCUS12b : DRIF, L=LDCUS12b
  DCUS12c : DRIF, L=LDCUS12c
  DCUS12d : DRIF, L=LDCUS12d
  DCUS13  : DRIF, L=LDCUS13 

! markers

  BEGCUSXR : MARK
  CENCUSXR : MARK !center of CUSXR
  CNTCUS1  : MARK, TYPE="CENTER"
  CNTCUS2  : MARK, TYPE="CENTER"
  CNTCUS3  : MARK, TYPE="CENTER"
  CNTCUS4  : MARK, TYPE="CENTER"
  CNTCUS5  : MARK, TYPE="CENTER"
  ENDCUSXR : MARK

! monitors

  BPMCUS    : MONI, TYPE="@3,Stripline-5"
  BPMCUS1   : MONI, TYPE="@3,Stripline-5"
  BPMCUS2   : MONI, TYPE="@3,Stripline-5"
  BPMCUS3   : MONI, TYPE="@3,Stripline-5"
  BPMCUS4   : MONI, TYPE="@3,Stripline-2"
  BPMCUS5   : MONI, TYPE="@3,Stripline-2"
  BPMCUS7   : MONI, TYPE="@3,Stripline-2"
  BPMCUS8   : MONI, TYPE="@3,Stripline-5"
  BPMCUS9   : MONI, TYPE="@3,Stripline-5"
  BPMCUS10  : MONI, TYPE="@3,Stripline-5"

! steering correctors

  XCCUS1  : HKIC, TYPE="@3,class-4" !type TBD
  XCCUS4  : HKIC, TYPE="@3,class-4" !type TBD
  XCCUS7  : HKIC, TYPE="@3,class-4" !type TBD
  XCCUS10 : HKIC, TYPE="@3,class-4" !type TBD

  YCCUS2  : VKIC, TYPE="@3,class-4" !type TBD
  YCCUS3  : VKIC, TYPE="@3,class-4" !type TBD
  YCCUS6  : VKIC, TYPE="@3,class-4" !type TBD
  YCCUS8  : VKIC, TYPE="@3,class-4" !type TBD
  YCCUS9  : VKIC, TYPE="@3,class-4" !type TBD

! SROT to remove rotation angle

  AROCUS1 := -0.249098811997E-4
  AROCUS2 :=  0.209318005136E-4
  AROCUS3 :=  0.117879544139E-19
  AROCUS4 := -AROCUS3

  ROCUS1  : SROT, ANGLE= AROCUS1
  ROCUS2  : SROT, ANGLE= AROCUS2
  ROCUS3  : SROT, ANGLE= AROCUS3
  ROCUS4  : SROT, ANGLE= AROCUS4

! beamlines

  KCUSXRa : LINE=(&
                BKRCUSa,BKRCUSb,DCUSBLRa,BPMCUS,DCUSBLRb,&
                BLRCUSa,BLRCUSb)

  KCUSXRb : LINE=(&
                CNTCUS1 ,ROCUS1  ,DCUS1a,&
                DBRCCUS1,DBRCCUS1,DCUS1b,&
                DBRCCUS2,DBRCCUS2,CNTCUS5)

  KCUSXR : LINE=(KCUSXRa,KCUSXRb)

  DLCUSXR : LINE=(              DCUS1c ,&
                QCUS1  ,QCUS1  ,DCUS2a ,BPMCUS1,DCUS2b ,XCCUS1 ,DCUS2c,&
                QCUS2  ,QCUS2  ,DCUS3a ,BPMCUS2,DCUS3b ,YCCUS2 ,DCUS3c,&
                                        BPMCUS3,DCUS3d ,&
                QCUS3  ,QCUS3  ,DCUS4a ,YCCUS3 ,DCUS4b ,&
                                        DCUS4c ,&
                QCUS4  ,BPMCUS4,QCUS4  ,DCUS5a ,XCCUS4 ,DCUS5b ,&
                BYCUS1a,BYCUS1b,CNTCUS3,ROCUS3 ,DCUS6a ,&
                                        DCUS6b ,&
                QCUS5  ,BPMCUS5,QCUS5  ,DCUS7  ,CENCUSXR,DCUS7 ,&
                QCUS6  ,QCUS6  ,DCUS8a ,YCCUS6 ,DCUS8b ,ROCUS4 ,&
                BYCUS2a,BYCUS2b,CNTCUS4,        DCUS9a ,&
                                        DCUS9b ,&
                QCUS7  ,BPMCUS7,QCUS7  ,DCUS10a,XCCUS7 ,DCUS10b,&
                                        BPMCUS8,DCUS10c,&
                QCUS8  ,QCUS8  ,DCUS11a,YCCUS8 ,DCUS11b,&
                                        BPMCUS9,DCUS11c,&
                QCUS9  ,QCUS9  ,DCUS12a,YCCUS9 ,DCUS12b,&
                                        XCCUS10,DCUS12c,BPMCUS10,DCUS12d,&
                QCUS10 ,QCUS10 ,DCUS13 ,ROCUS2 ,&
                BRCUS1a,BRCUS1b,CNTCUS2)

  CUSXR : LINE=(BEGCUSXR,KCUSXR,DLCUSXR,ENDCUSXR)

  RETURN
