
! *** OPTICS=LCLS2sc01OCT15 ***

! LCLS2sc transport from Cu-linac to SXR

! ==============================================================================
! Modification History
! ------------------------------------------------------------------------------
! 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 (BEGCUSXR)

  XCUS1  := -3.309960562E-07 !per existing LCLS-1 coordinates
  YCUS1  :=  0.0
  ZCUS1  :=  3059.005178
  THCUS1 :=  0.0
  PHCUS1 :=  0.0
  PSCUS1 :=  0.0

  TBXCUS1 :=  2.814172080E+01
  TBYCUS1 :=  5.177660168E+01
  TAXCUS1 := -1.249804412E-01
  TAYCUS1 :=  6.791735953E-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  :=  3176.45
  THCUS2 :=  0.0
  PHCUS2 :=  0.0
  PSCUS2 :=  0.0

  !TBXCUS2 :=  4.301272194E+01
  !TBYCUS2 :=  4.928374953E+01
  !TAXCUS2 :=  8.337585217E-01
  !TAYCUS2 := -2.630737691E+00
  !TWSCUS2 : BETA0, BETX=TBXCUS2, BETY=TBYCUS2, ALFX=TAXCUS2, ALFY=TAYCUS2

! quads (magnet strengths limit Cu-linac energy to 10 GeV)

  KQCUS1  :=  0.470361252964
  KQCUS2  := -0.340661282525
  KQCUS3  := -0.431897634592
  KQCUS4  :=  2.759352471629
  KQCUS5  := -1.652666583027
  KQCUS9  := -0.394831924489
  KQCUS10 :=  0.481618634566
  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

! fast magnetic kickers aligned along the BSY1 axis and rolled approx. -45 deg
! assume energy is limited to 10 GeV and BL is up to 70 Gm per kicker

  TCUSXR := -0.777314798806 !roll angle of kicker, septum and DC bend (rad)

  GBKRCUS := GBKSP !kicker gap (m) - round pipe, square bore aperture
  ZBKRCUS := LBKSP !kicker straight length (m)

  ABKRCUS0  := -1.04669E-3
  ABKRCUS   := ABKRCUS0 *SETCUS       !total kicker angle (rad)
  ABKRCUS1  := ASIN(  SIN(ABKRCUS)/5) !1st kicker angle (rad)
  ABKRCUS12 := ASIN(2*SIN(ABKRCUS)/5) !1st+2nd kicker angle (rad)
  ABKRCUS13 := ASIN(3*SIN(ABKRCUS)/5) !1+2+3 kicker angle (rad)
  ABKRCUS14 := ASIN(4*SIN(ABKRCUS)/5) !1+2+3+4 kicker angle (rad)
  ABKRCUS2  := ABKRCUS12-ABKRCUS1     !2nd kicker angle (rad)
  ABKRCUS3  := ABKRCUS13-ABKRCUS12    !3rd kicker angle (rad)
  ABKRCUS4  := ABKRCUS14-ABKRCUS13    !4th kicker angle (rad)
  ABKRCUS5  := ABKRCUS  -ABKRCUS14    !5th kicker angle (rad)

  LBKRCUS1  :=   ZBKRCUS/(1-ABKRCUS1 *ABKRCUS1 /6)
  LBKRCUS12 := 2*ZBKRCUS/(1-ABKRCUS12*ABKRCUS12/6)
  LBKRCUS13 := 3*ZBKRCUS/(1-ABKRCUS13*ABKRCUS13/6)
  LBKRCUS14 := 4*ZBKRCUS/(1-ABKRCUS14*ABKRCUS14/6)
  LBKRCUS15 := 5*ZBKRCUS/(1-ABKRCUS  *ABKRCUS  /6)
  LBKRCUS2  :=   LBKRCUS12-LBKRCUS1
  LBKRCUS3  :=   LBKRCUS13-LBKRCUS12
  LBKRCUS4  :=   LBKRCUS14-LBKRCUS13
  LBKRCUS5  :=   LBKRCUS15-LBKRCUS14

  BKRCUS1a : SBEN, TYPE="@3,CUSXR", L=LBKRCUS1/2, ANGLE=ABKRCUS1/2, &
    E1=0, E2=0, FINT=0.5, FINTX=0, HGAP=GBKRCUS/2, TILT=PI/2+TCUSXR
  BKRCUS1b : SBEN, TYPE="@3,CUSXR", L=LBKRCUS1/2, ANGLE=ABKRCUS1/2, &
    E2=ABKRCUS1, E1=0, FINT=0, FINTX=0.5, HGAP=GBKRCUS/2, TILT=PI/2+TCUSXR

  BKRCUS2a : SBEN, TYPE="@3,CUSXR", L=LBKRCUS2/2, ANGLE=ABKRCUS2/2, &
    E1=-ABKRCUS1, E2=0, FINT=0.5, FINTX=0, HGAP=GBKRCUS/2, TILT=PI/2+TCUSXR
  BKRCUS2b : SBEN, TYPE="@3,CUSXR", L=LBKRCUS2/2, ANGLE=ABKRCUS2/2, &
    E2=ABKRCUS12, E1=0, FINT=0, FINTX=0.5, HGAP=GBKRCUS/2, TILT=PI/2+TCUSXR

  BKRCUS3a : SBEN, TYPE="@3,CUSXR", L=LBKRCUS3/2, ANGLE=ABKRCUS3/2, &
    E1=-ABKRCUS12, E2=0, FINT=0.5, FINTX=0, HGAP=GBKRCUS/2, TILT=PI/2+TCUSXR
  BKRCUS3b : SBEN, TYPE="@3,CUSXR", L=LBKRCUS3/2, ANGLE=ABKRCUS3/2, &
    E2=ABKRCUS13, E1=0, FINT=0, FINTX=0.5, HGAP=GBKRCUS/2, TILT=PI/2+TCUSXR

  BKRCUS4a : SBEN, TYPE="@3,CUSXR", L=LBKRCUS4/2, ANGLE=ABKRCUS4/2, &
    E1=-ABKRCUS13, E2=0, FINT=0.5, FINTX=0, HGAP=GBKRCUS/2, TILT=PI/2+TCUSXR
  BKRCUS4b : SBEN, TYPE="@3,CUSXR", L=LBKRCUS4/2, ANGLE=ABKRCUS4/2, &
    E2=ABKRCUS14, E1=0, FINT=0, FINTX=0.5, HGAP=GBKRCUS/2, TILT=PI/2+TCUSXR

  BKRCUS5a : SBEN, TYPE="@3,CUSXR", L=LBKRCUS5/2, ANGLE=ABKRCUS5/2, &
    E1=-ABKRCUS14, E2=0, FINT=0.5, FINTX=0, HGAP=GBKRCUS/2, TILT=PI/2+TCUSXR
  BKRCUS5b : SBEN, TYPE="@3,CUSXR", L=LBKRCUS5/2, ANGLE=ABKRCUS5/2, &
    E2=ABKRCUS, E1=0, 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.920249673294E-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 corrector bends to cancel the kicker orbit and dispersion

  GBRCCUS  :=  0.0254 !DC corrector gap height
  LBRCCUS  :=  0.6    !DC corrector straight length

  ABRCCUS1 :=  0.597570797371E-2
  ABRCCUS2 := -0.492906229338E-2
  LBRCCUS1 :=  LBRCCUS*ABRCCUS1/(2*SIN(ABRCCUS1/2)) !BRCCUS1 path length (m)
  LBRCCUS2 :=  LBRCCUS*ABRCCUS2/(2*SIN(ABRCCUS2/2)) !BRCCUS2 path length (m)

  BRCCUS1a : SBEN, TYPE="@3,1.0D22.625", L=LBRCCUS1/2, ANGLE=ABRCCUS1/2, &
             E1=ABRCCUS1/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBRCCUS/2, &
             TILT=PI/2+TCUSXR
  BRCCUS1b : SBEN, TYPE="@3,1.0D22.625", L=LBRCCUS1/2, ANGLE=ABRCCUS1/2, &
             E2=ABRCCUS1/2, E1=0, FINTX=0.5, FINT=0, HGAP=GBRCCUS/2, &
             TILT=PI/2+TCUSXR

  BRCCUS2a : SBEN, TYPE="@3,1.0D22.625", L=LBRCCUS2/2, ANGLE=ABRCCUS2/2, &
             E1=ABRCCUS2/2, E2=0, FINT=0.5, FINTX=0, HGAP=GBRCCUS/2, &
             TILT=PI/2+TCUSXR
  BRCCUS2b : SBEN, TYPE="@3,1.0D22.625", L=LBRCCUS2/2, ANGLE=ABRCCUS2/2, &
             E2=ABRCCUS2/2, E1=0, FINTX=0.5, FINT=0, HGAP=GBRCCUS/2, &
             TILT=PI/2+TCUSXR

! rolled DC bend

  GBRCUS := GBSP !bend gap height (m)
  ZBRCUS := LBSP !bend straight length (1.0D38.37) (m)

  dABRCUS   := -0.504066432441E-8
  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=TCUSXR
  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=TCUSXR

! inner vertical bends for R56 cancellation

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

  ABYCUS := -0.28E-2
  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

! drifts

  ZDCUSBK  := 0.15   !standard Z-distance between kicker sections
  ZDCUSBLR := 10.531 !Z-distance between the last kicker and septum
  LDCUSBK1 := ZDCUSBK/COS(ABKRCUS1)
  LDCUSBK2 := (ZDCUSBK+1.149)/COS(ABKRCUS12)
  LDCUSBK3 := ZDCUSBK/COS(ABKRCUS13)
  LDCUSBK4 := ZDCUSBK/COS(ABKRCUS14)
  LDCUSBLR := ZDCUSBLR/COS(ABKRCUS)

 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.1336928950692 +dLDCUS0
  LDCUS1  := 29.4
  LDCUS2  := LDCUS0         +dLDCUS2
  LDCUS3  := LDCUS0 -dLDCUS2+dLDCUS3
  LDCUS4  := LDCUS0 -dLDCUS3+dLDCUS4
  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-LBRCCUS1-LBRCCUS2 -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

  DCUSBK1 : DRIF, L=LDCUSBK1
  DCUSBK2 : DRIF, L=LDCUSBK2
  DCUSBK3 : DRIF, L=LDCUSBK3
  DCUSBK4 : DRIF, L=LDCUSBK4
  DCUSBLR : DRIF, L=LDCUSBLR
  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

  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"

! monitors

  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

  AROCUS0 := -0.963202884512E-5
  AROCUS1 := -0.211690346268E-4
  AROCUS2 := -AROCUS1
  AROCUS3 := -0.520763987488E-14
  AROCUS4 := -AROCUS3

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

! beamlines

  KCUSXRa : LINE=(&
                BKRCUS1a,BKRCUS1b,DCUSBK1,&
                BKRCUS2a,BKRCUS2b,DCUSBK2,&
                BKRCUS3a,BKRCUS3b,DCUSBK3,&
                BKRCUS4a,BKRCUS4b,DCUSBK4,&
                BKRCUS5a,BKRCUS5b,DCUSBLR,&
                BLRCUSa ,BLRCUSb )

  KCUSXRb : LINE=(&
                CNTCUS1 ,ROCUS0  ,DCUS1a,&
                BRCCUS1a,BRCCUS1b,DCUS1b,&
                BRCCUS2a,BRCCUS2b,CNTCUS5)

  KCUSXR : LINE=(KCUSXRa,KCUSXRb)

  DLCUSXR : LINE=(       ROCUS1  ,DCUS1c ,&
                QCUS1   ,QCUS1   ,DCUS2a ,BPMCUS1 ,DCUS2b ,XCCUS1,DCUS2c,&
                QCUS2   ,QCUS2   ,DCUS3a ,BPMCUS2 ,DCUS3b ,YCCUS2,DCUS3c,&
                                          BPMCUS3 ,DCUS3d ,&
                QCUS3   ,QCUS3   ,DCUS4a ,YCCUS3  ,DCUS4b ,&
                                          BPMCUS4 ,DCUS4c ,&
                QCUS4   ,QCUS4   ,DCUS5a ,XCCUS4  ,DCUS5b ,&
                BYCUS1a ,BYCUS1b ,CNTCUS3,ROCUS3  ,DCUS6a ,&
                                          BPMCUS5 ,DCUS6b ,&
                QCUS5   ,QCUS5   ,DCUS7  ,CENCUSXR,DCUS7  ,&
                QCUS6   ,QCUS6   ,DCUS8a ,YCCUS6  ,DCUS8b ,ROCUS4,&
                BYCUS2a ,BYCUS2b ,CNTCUS4,         DCUS9a ,&
                                          BPMCUS7 ,DCUS9b ,&
                QCUS7   ,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=(SEQ20BEG,BEGCUSXR,KCUSXR,DLCUSXR,ENDCUSXR,SEQ20END)

! ------------------------------------------------------------------------------
! for match only (unrolled KCUSXR)

  TCUSXRM := 0.0

  BKRCUS1Ma : BKRCUS1a, TILT=PI/2+TCUSXRM
  BKRCUS1Mb : BKRCUS1b, TILT=PI/2+TCUSXRM
  BKRCUS2Ma : BKRCUS2a, TILT=PI/2+TCUSXRM
  BKRCUS2Mb : BKRCUS2b, TILT=PI/2+TCUSXRM
  BKRCUS3Ma : BKRCUS3a, TILT=PI/2+TCUSXRM
  BKRCUS3Mb : BKRCUS3b, TILT=PI/2+TCUSXRM
  BKRCUS4Ma : BKRCUS4a, TILT=PI/2+TCUSXRM
  BKRCUS4Mb : BKRCUS4b, TILT=PI/2+TCUSXRM
  BKRCUS5Ma : BKRCUS5a, TILT=PI/2+TCUSXRM
  BKRCUS5Mb : BKRCUS5b, TILT=PI/2+TCUSXRM

  BLRCUSMa : BLRCUSa, TILT=TCUSXRM
  BLRCUSMb : BLRCUSb, TILT=TCUSXRM

  BRCCUS1Ma : BRCCUS1a, TILT=PI/2+TCUSXRM
  BRCCUS1Mb : BRCCUS1b, TILT=PI/2+TCUSXRM
  BRCCUS2Ma : BRCCUS2a, TILT=PI/2+TCUSXRM
  BRCCUS2Mb : BRCCUS2b, TILT=PI/2+TCUSXRM

  KCUSXRM : LINE=(&
                  BKRCUS1Ma,BKRCUS1Mb,DCUSBK1,&
                  BKRCUS2Ma,BKRCUS2Mb,DCUSBK2,&
                  BKRCUS3Ma,BKRCUS3Mb,DCUSBK3,&
                  BKRCUS4Ma,BKRCUS4Mb,DCUSBK4,&
                  BKRCUS5Ma,BKRCUS5Mb,DCUSBLR,&
                  BLRCUSMa ,BLRCUSMb ,CNTCUS1,ROCUS0,DCUS1a,&
                  BRCCUS1Ma,BRCCUS1Mb,DCUS1b ,&
                  BRCCUS2Ma,BRCCUS2Mb,CNTCUS5)


  RETURN
