
! *** OPTICS=AD_ACCEL-15SEP21 ***

! ------------------------------------------------------------------------------
! XLEAP-II optics (Yuri Nosochkov)
! ------------------------------------------------------------------------------

! to run XLEAP-II optics, uncomment the SUBROUTINE with the appropriate energy;
! within the selected SUBROUTINE, comment out any unused wiggler pair

 !COMMENT
    SETK2XL2 : SUBROUTINE !8 GeV
      SET, Ef, 8.0 ; SET, Eu, Ef
     !comment !turn on first wiggler pair and match (chicane and XLEAP wiggler OFF)
        SET, R11XL1,  1.024433796036150 ; SET, R11XL2, R11XL1 
        SET, R12XL1,  1.678538794967410 ; SET, R12XL2, R12XL1 
        SET, R21XL1,  0.029468846719147 ; SET, R21XL2, R21XL1 
        SET, R22XL1,  1.024433796036150 ; SET, R22XL2, R22XL1 
        SET, R33XL1,  0.975763600637818 ; SET, R33XL2, R33XL1 
        SET, R34XL1,  1.651526938083830 ; SET, R34XL2, R34XL1 
        SET, R43XL1, -0.028994619806734 ; SET, R43XL2, R43XL1 
        SET, R44XL1,  0.975763600637818 ; SET, R44XL2, R44XL1 
        SET, KQEM2B, -1.90691592871
        SET, KQEM3B,  1.191623728587
        SET, KQEM4B, -0.664838884251
        SET, KQE31B,  0.230547717948
        SET, KQFXL1,  1.111758049867
       !Yuri match (Ef=8.0, KSXU=5.0)
        SET, KQUM4B, -0.61774146348
        SET, KQSX16,  0.677894017174
        SET, KQSX19, -0.893321229694
        SET, KQSX21,  0.901518123026
        SET, KQSX24, -0.825282828044
        SET, KQDSXM, -1.843482712046
        SET, KQUE1B,  0.325725075565
        SET, KQUE2B, -0.144356640751
     !endcomment
     !comment !turn on second wiggler pair and match (chicane and XLEAP wiggler ON)
        SET, SETXLEAP2, 1 !turn on XLEAP chicane and XLEAP wiggler
        SET, R11XL3,  1.024433796036150 ; SET, R11XL4, R11XL3
        SET, R12XL3,  1.678538794967410 ; SET, R12XL4, R12XL3
        SET, R21XL3,  0.029468846719147 ; SET, R21XL4, R21XL3
        SET, R22XL3,  1.024433796036150 ; SET, R22XL4, R22XL3
        SET, R33XL3,  0.975763600637818 ; SET, R33XL4, R33XL3
        SET, R34XL3,  1.651526938083830 ; SET, R34XL4, R34XL3
        SET, R43XL3, -0.028994619806734 ; SET, R43XL4, R43XL3
        SET, R44XL3,  0.975763600637818 ; SET, R44XL4, R44XL3
        SET, KQFXL2,  0.80795621658
        SET, KQE36B,  0.576286649843E-2
        SET, KQUM1B,  0.421280440634
        SET, KQUM2B, -0.565123338154
        SET, KQUM3B,  0.623837052173
        SET, KQUM4B, -0.626404824474
        SET, KQSX16,  0.539702428378
        SET, KQSX19, -0.839075812772
        SET, KQSX21,  1.009894190449
        SET, KQSX24, -1.013981671812
        SET, KQDSXM, -1.784478916667
        SET, KQUE1B,  0.310926049255
        SET, KQUE2B, -0.110591700418
     !endcomment
    ENDSUBROUTINE
 !ENDCOMMENT

  COMMENT
    SETK2XL2 : SUBROUTINE !9 GeV
      SET, Ef, 9.0 ; SET, Eu, Ef
     !comment !turn on first wiggler pair and match (chicane and wiggler OFF)
        SET, R11XL1,  1.019289300836160 ; SET, R11XL2, R11XL1
        SET, R12XL1,  1.675691857965750 ; SET, R12XL2, R12XL1
        SET, R21XL1,  0.023244535451979 ; SET, R21XL2, R21XL1
        SET, R22XL1,  1.019289300836160 ; SET, R22XL2, R22XL1
        SET, R33XL1,  0.980833932870322 ; SET, R33XL2, R33XL1
        SET, R34XL1,  1.654349178842450 ; SET, R34XL2, R34XL1
        SET, R43XL1, -0.022948478238857 ; SET, R43XL2, R43XL1
        SET, R44XL1,  0.980833932870322 ; SET, R44XL2, R44XL1
        SET, KQEM2B, -1.869925264101
        SET, KQEM3B,  1.223473474334
        SET, KQEM4B, -0.762872788064
        SET, KQE31B,  0.314407523713
        SET, KQFXL1,  0.865767364731
       !Yuri match (Ef=9.0, KSXU=5.0)
        SET, KQUM4B, -0.620070539426
        SET, KQSX16,  0.686904936425
        SET, KQSX19, -0.862547903987
        SET, KQSX21,  0.821318329891
        SET, KQSX24, -0.742610254846
        SET, KQDSXM, -1.643834219472
        SET, KQUE1B,  0.318005451435
        SET, KQUE2B, -0.137993505202
     !endcomment
     !comment !turn on second wiggler pair and match (chicane and XLEAP wiggler ON)
        SET, SETXLEAP2, 1 !turn on XLEAP chicane and XLEAP wiggler
        SET, R11XL3,  1.019289300836160 ; SET, R11XL4, R11XL3
        SET, R12XL3,  1.675691857965750 ; SET, R12XL4, R12XL3
        SET, R21XL3,  0.023244535451979 ; SET, R21XL4, R21XL3
        SET, R22XL3,  1.019289300836160 ; SET, R22XL4, R22XL3
        SET, R33XL3,  0.980833932870322 ; SET, R33XL4, R33XL3
        SET, R34XL3,  1.654349178842450 ; SET, R34XL4, R34XL3
        SET, R43XL3, -0.022948478238857 ; SET, R43XL4, R43XL3
        SET, R44XL3,  0.980833932870322 ; SET, R44XL4, R44XL3
        SET, KQFXL2,  0.676092865748
        SET, KQE36B, -0.115195486421
        SET, KQUM1B,  0.445496193551
        SET, KQUM2B, -0.551516458129
        SET, KQUM3B,  0.618784432631
        SET, KQUM4B, -0.624872408649
        SET, KQSX16,  0.548607431728
        SET, KQSX19, -0.815006333033
        SET, KQSX21,  0.944812827688
        SET, KQSX24, -0.922819701132
        SET, KQDSXM, -1.586203481381
        SET, KQUE1B,  0.296269880553 
        SET, KQUE2B, -0.089899461548
     !endcomment
    ENDSUBROUTINE
  ENDCOMMENT

  COMMENT
    SETK2XL2 : SUBROUTINE !10 GeV
      SET, Ef, 10.0 ; SET, Eu, Ef
     !comment !turn on first wiggler pair and match (chicane and wiggler OFF)
        SET, R11XL1,  1.015614828829930 ; SET, R11XL2, R11XL1
        SET, R12XL1,  1.673657241934410 ; SET, R12XL2, R12XL1
        SET, R21XL1,  0.018805212770375 ; SET, R21XL2, R21XL1
        SET, R22XL1,  1.015614828829930 ; SET, R22XL2, R22XL1
        SET, R33XL1,  0.984466024780417 ; SET, R33XL2, R33XL1
        SET, R34XL1,  1.656369682310920 ; SET, R34XL2, R34XL1
        SET, R43XL1, -0.018610969750446 ; SET, R43XL2, R43XL1
        SET, R44XL1,  0.984466024780417 ; SET, R44XL2, R44XL1
        SET, KQEM2B, -1.844949572743
        SET, KQEM3B,  1.253752374149
        SET, KQEM4B, -0.801695737186
        SET, KQE31B,  0.259681460234
        SET, KQFXL1,  0.771217575894
       !Yuri match (Ef=10.0, KSXU=5.0)
        SET, KQUM4B, -0.620550775736
        SET, KQSX16,  0.687744906904
        SET, KQSX19, -0.829520512329
        SET, KQSX21,  0.747580051633
        SET, KQSX24, -0.674907978729
        SET, KQDSXM, -1.490999997513
        SET, KQUE1B,  0.302231833894
        SET, KQUE2B, -0.111425150391
     !endcomment
     !comment !turn on second wiggler pair and match (chicane and XLEAP wiggler ON)
        SET, SETXLEAP2, 1 !turn on XLEAP chicane and XLEAP wiggler
        SET, R11XL3,  1.015614828829930 ; SET, R11XL4, R11XL3
        SET, R12XL3,  1.673657241934410 ; SET, R12XL4, R12XL3
        SET, R21XL3,  0.018805212770375 ; SET, R21XL4, R21XL3
        SET, R22XL3,  1.015614828829930 ; SET, R22XL4, R22XL3
        SET, R33XL3,  0.984466024780417 ; SET, R33XL4, R33XL3
        SET, R34XL3,  1.656369682310920 ; SET, R34XL4, R34XL3
        SET, R43XL3, -0.018610969750446 ; SET, R43XL4, R43XL3
        SET, R44XL3,  0.984466024780417 ; SET, R44XL4, R44XL3
        SET, KQFXL2,  0.560671458918
        SET, KQE36B, -0.174487700478
        SET, KQUM1B,  0.456142334525
        SET, KQUM2B, -0.543717103234
        SET, KQUM3B,  0.616773367803
        SET, KQUM4B, -0.62490556008
        SET, KQSX16,  0.5465354403
        SET, KQSX19, -0.784574259726
        SET, KQSX21,  0.884535481464
        SET, KQSX24, -0.850997100567
        SET, KQDSXM, -1.427583133238
        SET, KQUE1B,  0.284692708939 
        SET, KQUE2B, -0.076124961797
     !endcomment
    ENDSUBROUTINE
  ENDCOMMENT

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

! SXR from Cu linac (XLEAP-II)

  ASSIGN, PRINT="LCLS2cuS-XL2.print"
  BEAM, ENERGY=E00
  SET, SETCUS, CUSON
  SETK2cuS
  USE, CU_SXR
  SAVEBETA, TWXL, VBOUTB
  TWISS, BETA0=TWSSC
  BEAM, ENERGY=Ef
  SETK2XL2 !turns on XLEAP2 components and optics
  USE, CU_SXR, RANGE=VBOUTB/#E
  PRINT, FULL
  TWISS, SAVE, &
    BETX=TWXL[BETX], ALFX=TWXL[ALFX], &
    BETY=TWXL[BETY], ALFY=TWXL[ALFY], &
    TAPE="LCLS2cuS-XL2_twiss.tape" !, RTAPE="LCLS2cuS-XL2_rmat.tape"
  PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
    STYLE=100, SPLINE, RANGE=#S/DU7S[31], FILE="LCLS2cuS-XL2", &
    TITLE="XLEAP-II (from Cu linac): LTUS-UNDS"
  PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
    STYLE=100, SPLINE, RANGE=DU7S[26]/#E, FILE="LCLS2cuS-XL2", &
    TITLE="XLEAP-II (from Cu linac): DMPS"

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

  RETURN
  
