
! *** OPTICS=LCLS2sc20MAR15 ***

! LCLS2sc A-line

! ==============================================================================
! Modification History
! ------------------------------------------------------------------------------
! 20-MAR-2015, M. Woodley
!  * add SEQ21BEG, SEQ21END, BEGBSYA, ENDBSYA MARKERs
! 12-MAR-2015, Y. Nosochkov
!  * add fast kickers and septum (as in spreader) to deflect beam into A-line
!  * A-line optics based on original design per M. Woodley's deck
! ------------------------------------------------------------------------------

! ==============================================================================
! dipoles
! ------------------------------------------------------------------------------

! fast magnetic kickers aligned along the LCLS-2 axis
! max. kicker field limits energy to 10 GeV

  GBKYAL := 0.01 !kicker gap (m) - round pipe, square bore aperture
  ZBKYAL := 1.0  !kicker straight length (m)

  ABKYAL   := -1.05E-3              !total kicker angle (rad)
  ABKYAL1  := ASIN(  SIN(ABKYAL)/5) !1st kicker angle (rad)
  ABKYAL12 := ASIN(2*SIN(ABKYAL)/5) !1st+2nd kicker angle (rad)
  ABKYAL13 := ASIN(3*SIN(ABKYAL)/5) !1+2+3 kicker angle (rad)
  ABKYAL14 := ASIN(4*SIN(ABKYAL)/5) !1+2+3+4 kicker angle (rad)
  ABKYAL2  := ABKYAL12-ABKYAL1      !2nd kicker angle (rad)
  ABKYAL3  := ABKYAL13-ABKYAL12     !3rd kicker angle (rad)
  ABKYAL4  := ABKYAL14-ABKYAL13     !4th kicker angle (rad)
  ABKYAL5  := ABKYAL  -ABKYAL14     !5th kicker angle (rad)

  LBKYAL1  :=   ZBKYAL*ABKYAL1 /SIN(ABKYAL1)
  LBKYAL12 := 2*ZBKYAL*ABKYAL12/SIN(ABKYAL12)
  LBKYAL13 := 3*ZBKYAL*ABKYAL13/SIN(ABKYAL13)
  LBKYAL14 := 4*ZBKYAL*ABKYAL14/SIN(ABKYAL14)
  LBKYAL15 := 5*ZBKYAL*ABKYAL  /SIN(ABKYAL)
  LBKYAL2  :=   LBKYAL12-LBKYAL1
  LBKYAL3  :=   LBKYAL13-LBKYAL12
  LBKYAL4  :=   LBKYAL14-LBKYAL13
  LBKYAL5  :=   LBKYAL15-LBKYAL14

  BKYAL1a : SBEN, TYPE="@3,A-line", L=LBKYAL1/2, ANGLE=ABKYAL1/2, TILT, &
    E1=0, E2=0, FINT=0.5, FINTX=0, HGAP=GBKYAL/2
  BKYAL1b : SBEN, TYPE="@3,A-line", L=LBKYAL1/2, ANGLE=ABKYAL1/2, TILT, &
    E2=ABKYAL1, E1=0, FINT=0, FINTX=0.5, HGAP=GBKYAL/2

  BKYAL2a : SBEN, TYPE="@3,A-line", L=LBKYAL2/2, ANGLE=ABKYAL2/2, TILT, &
    E1=-ABKYAL1, E2=0, FINT=0.5, FINTX=0, HGAP=GBKYAL/2
  BKYAL2b : SBEN, TYPE="@3,A-line", L=LBKYAL2/2, ANGLE=ABKYAL2/2, TILT, &
    E2=ABKYAL12, E1=0, FINT=0, FINTX=0.5, HGAP=GBKYAL/2

  BKYAL3a : SBEN, TYPE="@3,A-line", L=LBKYAL3/2, ANGLE=ABKYAL3/2, TILT, &
    E1=-ABKYAL12, E2=0, FINT=0.5, FINTX=0, HGAP=GBKYAL/2
  BKYAL3b : SBEN, TYPE="@3,A-line", L=LBKYAL3/2, ANGLE=ABKYAL3/2, TILT, &
    E2=ABKYAL13, E1=0, FINT=0, FINTX=0.5, HGAP=GBKYAL/2

  BKYAL4a : SBEN, TYPE="@3,A-line", L=LBKYAL4/2, ANGLE=ABKYAL4/2, TILT, &
    E1=-ABKYAL13, E2=0, FINT=0.5, FINTX=0, HGAP=GBKYAL/2
  BKYAL4b : SBEN, TYPE="@3,A-line", L=LBKYAL4/2, ANGLE=ABKYAL4/2, TILT, &
    E2=ABKYAL14, E1=0, FINT=0, FINTX=0.5, HGAP=GBKYAL/2

  BKYAL5a : SBEN, TYPE="@3,A-line", L=LBKYAL5/2, ANGLE=ABKYAL5/2, TILT, &
    E1=-ABKYAL14, E2=0, FINT=0.5, FINTX=0, HGAP=GBKYAL/2
  BKYAL5b : SBEN, TYPE="@3,A-line", L=LBKYAL5/2, ANGLE=ABKYAL5/2, TILT, &
    E2=ABKYAL, E1=0, FINT=0, FINTX=0.5, HGAP=GBKYAL/2

! 2-hole horizontal septum aligned along the LCLS-2 axis

  GBLXAL  :=  0.01                !septum gap height (m) - TBD
  ZBLXAL  :=  1.0                 !septum straight length (m)

  ABLXAL  := -0.014138498244      !bending angle (rad)
  ABLXALa :=  ASIN(SIN(ABLXAL)/2) !angle in the 1st half of the septum
  ABLXALb :=  ABLXAL-ABLXALa      !angle in the 2nd half of the septum

  LBLXAL  :=  ZBLXAL*ABLXAL/SIN(ABLXAL)      !path length
  LBLXALa := (ZBLXAL/2)*ABLXALa/SIN(ABLXALa) !path length in 1st half septum
  LBLXALb :=  LBLXAL-LBLXALa                 !path length in 2nd half septum

  BLXALa : SBEN, TYPE="@3,0.39SD38.98", L=LBLXALa, ANGLE=ABLXALa, &
                 E1=0, E2=0, FINT=0.5, FINTX=0, HGAP=GBLXAL/2
  BLXALb : SBEN, TYPE="@3,0.39SD38.98", L=LBLXALb, ANGLE=ABLXALb, &
                 E1=0, E2=ABLXAL, FINT=0, FINTX=0.5, HGAP=GBLXAL/2

! A-line merge bend 

  GBXAM := 0.0254                       !1.0D38.37 gap height (m)
  ZBXAM := 1.0                          !1.0D38.37 straight length (m)
  ABXAM := 0.535771173889E-2            !bend angle (rad)
  LBXAM := ZBXAM*ABXAM/(2*SIN(ABXAM/2)) !BXAM1 path length (m)

  BXAM1A : SBEN, TYPE="@3,1.0D38.37", L=LBXAM/2, ANGLE=ABXAM/2, &
                 E1=ABXAM/2, E2=0, HGAP=GBXAM/2, FINT=0.5, FINTX=0
  BXAM1B : SBEN, TYPE="@3,1.0D38.37", L=LBXAM/2, ANGLE=ABXAM/2, &
                 E2=ABXAM/2, E1=0, HGAP=GBXAM/2, FINT=0,   FINTX=0.5

! A-bends

  !AARC  := -24*RADDEG !total arc bend angle (24 degrees)
  !Nbend := 12         !number of arc bends
  !ABA   := AARC/Nbend !arc bend angle
  ABA   := -1.999526617334*RADDEG !arc bend angle per Transport deck

  LBA := 3.024 !present A-line bends
  GBA := 0.06  !Blue Book value

  BA1 : SBEN, L=LBA/2, HGAP=GBA/2, ANGLE=ABA/2, E1=ABA/2, FINT=0.5, FINTX=0
  BA2 : SBEN, L=LBA/2, HGAP=GBA/2, ANGLE=ABA/2, E2=ABA/2, FINT=0, FINTX=0.5

  BA  : LINE=(BA1,BA2)

! ==============================================================================
! quadrupoles
! ------------------------------------------------------------------------------

  LQ8cm := 2.0
  rQ8cm := 0.08/2
  LQ19  := 2.0
  rQ19  := 0.186/2
  LQ20  := 1.31318
  rQ20  := 8.25*0.0254/2
  LSQ   := 0.55
  rSQ   := 0.08/2

  !KQ10 :=  0.040190926401
  !KQ11 := -0.037926743862
  !KQ19 :=  0.029507959162    !0.032191661707
  !KQ20 :=  0.961853807504E-2 !0.20869827928E-2
  !KQ27 := -0.06339026
  !KQ28 :=  0.03715726
  !KQ30 := -0.03054855
  !KQ38 :=  0.03460619

  KQ10 :=  0.040662931938
  KQ11 := -0.033781824776
  KQ19 :=  0.028580916212
  KQ20 :=  0.012663985684
  KQ27 := -0.061568451225
  KQ28 :=  0.035831178035
  KQ30 := -0.030395136868
  KQ38 :=  0.03461866185

  Q10 : QUAD, L=LQ8cm/2, APER=rQ8cm, K1=KQ10
  Q11 : QUAD, L=LQ8cm/2, APER=rQ8cm, K1=KQ11
  Q19 : QUAD, L=LQ19/2,  APER=rQ19,  K1=KQ19
  Q20 : QUAD, L=LQ20/2,  APER=rQ20,  K1=KQ20
  Q27 : QUAD, L=LQ8cm/2, APER=rQ8cm, K1=KQ27
  Q28 : QUAD, L=LQ8cm/2, APER=rQ8cm, K1=KQ28
  Q30 : QUAD, L=LQ8cm/2, APER=rQ8cm, K1=KQ30
  Q38 : QUAD, L=LQ8cm/2, APER=rQ8cm, K1=KQ38

  KSQ :=  0.0

  "SQ27.5" : QUAD, L=LSQ/2,   APER=rSQ,   K1=KSQ, TILT

! ==============================================================================
! drifts
! ------------------------------------------------------------------------------

  D105 : DRIF, L=5.5372
  D106 : DRIF, L=0.727
  D107 : DRIF, L=0.7755
  D108 : DRIF, L=3.84839
  D109 : DRIF, L=0.7755
  D110 : DRIF, L=3.84839
  D111 : DRIF, L=0.7755
  D112 : DRIF, L=15.74899
  D113 : DRIF, L=9.0997
  D114 : DRIF, L=5.94572
  D115 : DRIF, L=0.7755
  D116 : DRIF, L=3.84839
  D117 : DRIF, L=0.7755
  D118 : DRIF, L=3.84839
  D119 : DRIF, L=0.7755
  D120 : DRIF, L=1.744768 !1.74477
  D121 : DRIF, L=1.525
  D122 : DRIF, L=1.925
  D123 : DRIF, L=38.1116
  D124 : DRIF, L=21.4778
  D125 : DRIF, L=5.04065
  D126 : DRIF, L=76.23456
  D127 : DRIF, L=92.118

  D126a : DRIF, L=15.322492
  D126b : DRIF, L=9.72325
  D126c : DRIF, L=D126[L]-(D126a[L]+D126b[L])

  ZDALBK   := 0.15
  LDALBK1  := ZDALBK/COS(ABKYAL1)
  LDALBK2  := ZDALBK/COS(ABKYAL12)
  LDALBK3  := ZDALBK/COS(ABKYAL13)
  LDALBK4  := ZDALBK/COS(ABKYAL14)
  ZDALBLX  := 11.127
  LDALBLX  := ZDALBLX/COS(ABKYAL)

  DALBK1  : DRIF, L=LDALBK1
  DALBK2  : DRIF, L=LDALBK2
  DALBK3  : DRIF, L=LDALBK3
  DALBK4  : DRIF, L=LDALBK4
  DALBLX  : DRIF, L=LDALBLX

  DLXAM  : DRIF, L=44.934971033981
  DAMQ10 : DRIF, L=1.0

! ==============================================================================
! coordinate rolls ... bend plane rotated to remove linac slope
! ------------------------------------------------------------------------------

  ROLLON := 1.0

  !ROLL1 : SROT, ANGLE= 0.014303845885    * ROLLON
  !ROLL2 : SROT, ANGLE=-0.393462907527E-2 * ROLLON
  !ROLL3 : SROT, ANGLE=-0.011395368282    * ROLLON

  ROLL1 : SROT, ANGLE= -0.083427732663 * ROLLON
  ROLL2 : SROT, ANGLE=  0.057588637690 * ROLLON
  ROLL4 : SROT, ANGLE=  0.036152442179 * ROLLON
  ROLL3 : SROT, ANGLE=  0.0            * ROLLON !no final roll

! ==============================================================================
! markers
! ------------------------------------------------------------------------------

  BEGB     : MARK
  ENDB     : MARK
  ALWALL   : MARK
  ESAW     : MARK
  PVOT     : MARK
  ESAE     : MARK
  BMDE     : MARK
  MARC     : MARK !match point
  BEGALINE : MARK

! ==============================================================================
! beamlines
! ------------------------------------------------------------------------------

  LD126 : LINE=(D126a,ESAW,D126b,PVOT,D126c)

  ALINE : LINE=(SEQ21BEG,BEGBSYA,BEGALINE,&
    BKYAL1a,BKYAL1b,DALBK1,BKYAL2a,BKYAL2b,DALBK2,&
    BKYAL3a,BKYAL3b,DALBK3,BKYAL4a,BKYAL4b,DALBK4,&
    BKYAL5a,BKYAL5b,DALBLX,&
    ROLL1,BLXALa,BLXALb,DLXAM,&
    ROLL4,BXAM1A,BXAM1B,ROLL2,ENDBSYA,SEQ21END,DAMQ10,&
    Q10,Q10,D105,Q11,Q11,D106,&
    BEGB,BA,D107,BA,D108,BA,D109,BA,D110,BA,D111,BA,D112,&
    Q19,Q19,D113,Q20,Q20,D114,&
    BA,D115,BA,D116,BA,D117,BA,D118,BA,D119,BA,MARC,ROLL3,ENDB,D120,&
    Q27,Q27,D121,"SQ27.5","SQ27.5",D122,Q28,Q28,D123,&
    Q30,Q30,D124,Q38,Q38,D125,ALWALL,LD126,ESAE,D127,BMDE)

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

  RETURN
