
! *** OPTICS=LCLS2sc12DEC14 ***

! LCLS2sc injector: gun to start of L1 linac

! ==============================================================================
! Modification History
! ------------------------------------------------------------------------------
! 12-DEC-2014, M. Woodley
!  * interference resolution mods per H. Alvarez:
!    - move SCC000 (XCC000/YCC000) 4.0 cm (1.5 inches) upstream
! ------------------------------------------------------------------------------
! 28-OCT-2014, M. Woodley
!  * generate matched optics between laser heater chicane and DIAG0 extraction
!    point for LHUND off and LH chicane off
!  * adjust length of matching section between LH and COL0 to put gun at
!    Z= -10.0 m exactly
!  * move COL0 collimators 7 inches closer to their associated quadrupoles
! ------------------------------------------------------------------------------
! 15-OCT-2014, M. Woodley
!  * new LBNL buncher cavity length per H. Alvarez
!  * add 4 LBNL design X/Y corrector pairs per H. Alvarez
!  * move differential pumping drift into L0 (u/s of Q0H01)
!  * reverse direction of laser heater chicane (into aisle) per H. Alvarez
!  * shorten COL0 FODO cell to 8.0 m
!  * replace narrow "Collins" quadrupole (1.0Q3.1) with standard 1.259Q3.5
!  * adjust deferment/deprecation levels
! ------------------------------------------------------------------------------
! 07-AUG-2014, M. Woodley
!  * diagnostics complement per "Electron Beam Diagnostics Systems" PRD
!    (LCLSII-2.7-PR-0170)
!  * update L0 d/s end cap and mechanical stay clear dimensions
!  * space for L0 differential vacuum pumping between Q0H02 and Q0H03
!  * add emittance measurement in L0-to-laser-heater matching section
!  * laser heater chicane lengthened to reduce R56 to 3.5 mm
!  * CEHTR collimator moved u/s of undulator
!  * COL0 collimation system now consists of four 45 degree FODO cells with 3
!    pairs of collimators separated by 45 degrees (22 m betas at collimators);
!    FODO cell length is 12 m
!  * add a wire scanner at the end of COL0 for "tomographic" emittance
!    measurement
!  * decorate device TYPE attributes to indicate non-baseline status
! ------------------------------------------------------------------------------
! 17-APR-2014, M. Woodley
!  * add "CNT" MARKERs after dispersive areas (ELEGANT CENTERing)
!  * explicitly define R55=R66=1 in MATRs (for translation to BMAD)
! ------------------------------------------------------------------------------
! 19-MAR-2014, M. Woodley
!  * matching around extraction to DIAG0 changed
!  * element names changed to conform to nomenclature PRD
! ------------------------------------------------------------------------------
! 13-JAN-2014, M. Woodley
!  * parameters of buncher and solenoids per C. Papadopoulos
!    (Parameters_GUN2013_10_08v3.docx) ...
! ------------------------------------------------------------------------------
! 07-JAN-2014, M. Woodley
!  * devices between CATHODE and CM01 per H. Alvarez
! ------------------------------------------------------------------------------

! ==============================================================================
! LCAV
! ------------------------------------------------------------------------------

! buncher cavity
! (no gradient/phase values available)

  Lbun := 0.2188 !m
  Gbun := 0      !MV/m
  Pbun := 0      !deg

  BUN01 : LCAV, TYPE="@0,LBNL", FREQ=1300, L=Lbun, DELTAE=Gbun*Lbun, &
                PHI0=Pbun/360

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

! laser heater chicane
! - approximate on-axis effective length per R. Carr (01-AUG-05 PE)
! - use series approximation for sinc(x)=sin(x)/x to allow BCXH=0

! Brhoh : beam rigidity at chicane (kG-m)
! GBh   : 5D3.9 gap height (m)
! ZBh   : 5D3.9 "Z" length (m)
! BBh   : heater-chicane bend field for R56=0.005 (kG)
! ABh   : chicane bend angle (rad)
! LBh   : chicane bend path length (m)
! ABhS  : "short" half chicane bend angle (rad)
! LBhS  : "short" half chicane bend path length (m)
! ABhL  : "long" half chicane bend angle (rad)
! LBhL  : "long" half chicane bend path length (m)

  Brhoh    := Cb*Ei
  GBh      := 0.03
  ZBh      := 0.1244
  BBh      := 0.590715364808
  ARGh     := ZBh*BBh/Brhoh
  ABh      := ASIN(ARGh)
  ABh_2    := ABh*ABh
  ABh_4    := ABh_2*ABh_2
  ABh_6    := ABh_4*ABh_2
  SINCABh  := 1-ABh_2/6+ABh_4/120-ABh_6/5040 !~sinc(ABh)=sin(ABh)/ABh
  LBh      := ZBh/SINCABh
  ABhS     := ASIN(ARGh/2)
  ABhS_2   := ABhS*ABhS
  ABhS_4   := ABhS_2*ABhS_2
  ABhS_6   := ABhS_4*ABhS_2
  SINCABhS := 1-ABhS_2/6+ABhS_4/120-ABhS_6/5040 !~sinc(ABhS)=sin(ABhS)/ABhS
  LBhS     := ZBh/(2*SINCABhS)
  ABhL     := ABh-ABhS
  LBhL     := LBh-LBhS

  BCXH1A : SBEN, TYPE="5D3.9", L=LBhS, ANGLE=+ABhS, HGAP=GBh/2, &
                 E1=0, FINT=0.4, FINTX=0
  BCXH1B : SBEN, TYPE="5D3.9", L=LBhL, ANGLE=+ABhL, HGAP=GBh/2, &
                 FINT=0, E2=+ABh, FINTX=0.4
  BCXH2A : SBEN, TYPE="5D3.9", L=LBhL, ANGLE=-ABhL, HGAP=GBh/2, &
                 E1=-ABh, FINT=0.4, FINTX=0
  BCXH2B : SBEN, TYPE="5D3.9", L=LBhS, ANGLE=-ABhS, HGAP=GBh/2, &
                 FINT=0, E2=0, FINTX=0.4
  BCXH3A : SBEN, TYPE="5D3.9", L=LBhS, ANGLE=-ABhS, HGAP=GBh/2, &
                 E1=0, FINT=0.4, FINTX=0
  BCXH3B : SBEN, TYPE="5D3.9", L=LBhL, ANGLE=-ABhL, HGAP=GBh/2, &
                 FINT=0, E2=-ABh, FINTX=0.4
  BCXH4A : SBEN, TYPE="5D3.9", L=LBhL, ANGLE=+ABhL, HGAP=GBh/2, &
                 E1=+ABh, FINT=0.4, FINTX=0
  BCXH4B : SBEN, TYPE="5D3.9", L=LBhS, ANGLE=+ABhS, HGAP=GBh/2, &
                 FINT=0, E2=0, FINTX=0.4

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

! L0 to WS/OTR (Q0H01-4 match to waists at WS0H04)

!                100 pC             300 pC              20 pC
!           ----------------   ----------------   ----------------
  KQ0H01 := -11.543071113651 ! -11.955846752233 !  -4.835077747726 !
  KQ0H02 :=  10.731350422709 !  11.759353742549 !   3.499659390129 !
  KQ0H03 :=   4.539858106372 !   0.346273513915 !   7.766734261869 !
  KQ0H04 :=  -9.526760506785 !  -9.104891082757 !  -8.072911872471 !

! WS/OTR to laser heater (Q0H05-8 match to 10x10 m beta waists LHMID)

!               heater ON         heater OFF        chicane OFF
!           ----------------   ----------------   ----------------
  KQ0H05 :=  -8.407876336338 ! -10.538952108236 ! -10.60497796129  !
  KQ0H06 :=   3.871812690508 !   5.518705015348 !   5.559504940018 !
  KQ0H07 :=  10.754687902869 !  10.666107983769 !  10.692215978625 !
  KQ0H08 := -11.598690543404 ! -11.705682182893 ! -11.756424425748 !

  Q0H01 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQ0H01
  Q0H02 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQ0H02
  Q0H03 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQ0H03
  Q0H04 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQ0H04
  Q0H05 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQ0H05
  Q0H06 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQ0H06
  Q0H07 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQ0H07
  Q0H08 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQ0H08

! laser heater to diagnostic line

!               heater ON         heater OFF        chicane OFF
!           ----------------   ----------------   ----------------
  KQHD01 := -10.610600504101 !  -9.650006646147 !  -9.655250632163 !
  KQHD02 :=   7.308070718528 !   7.030561271747 !   7.03290496354  !
  KQHD03 :=  -8.34881765179  !  -8.640766227683 !  -8.650742086077 !
  KQHD04 :=   6.355383064375 !   6.58492481169  !   6.588053736466 !

  QHD01 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQHD01
  QHD02 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQHD02
  QHD03 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQHD03
  QHD04 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQHD04

! collimation FODO

  KQColl0   := 1.787850470726  !45 degree FODO
! BminColl0 := 6.996145818352
! BmaxColl0 := 15.616293369745

  QFColl0 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1= KQColl0
  QDColl0 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=-KQColl0

! COL0 collimation section

  KQC001 :=  3.992873910376
  KQC002 :=  2.210996051749
  KQC003 := -5.311189407976
  KQC004 :=  2.330947372254 ! KQColl0
  KQC005 := -KQColl0
  KQC006 :=  KQColl0
  KQC007 := -KQColl0
  KQC008 :=  KQColl0
  KQC009 := -KQColl0
  KQC010 :=  1.218346458914 ! KQColl0
  KQC011 := -1.580120381738 !-KQColl0
  KQC012 :=  1.109771015037 ! KQColl0

  QC001 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC001
  QC002 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC002
  QC003 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC003
  QC004 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC004
  QC005 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC005
  QC006 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC006
  QC007 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC007
  QC008 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC008
  QC009 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC009
  QC010 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC010
  QC011 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC011
  QC012 : QUAD, TYPE="1.259Q3.5", L=LQx/2, APER=rQx, K1=KQC012

! ==============================================================================
! SOLE
! ------------------------------------------------------------------------------

! solenoids between gun and L0

  Lsol    := 0.184 !m
  KLSOL01 := 0.007784 !T-m
  KLSOL02 := 0.005393 !T-m
  KSOL01  := 0.1*KLSOL01/(Cb*E0)/Lsol !1/m
  KSOL02  := 0.1*KLSOL02/(Cb*E0)/Lsol !1/m

  SOL01 : SOLE, TYPE="LBNL", L=Lsol/2, KS=KSOL01
  SOL02 : SOLE, TYPE="LBNL", L=Lsol/2, KS=KSOL02

! ==============================================================================
! MATR
! ------------------------------------------------------------------------------

! laser heater undulator
! - modeled as R-matrix to include vertical natural focusing
! - parameters from M. Venturini presentation (23-OCT-13)

! lam   : laser-heater undulator period [m]
! lamr  : heater laser wavelength [m]
! gami  : Lorentz energy factor in laser-heater undulator [1]
! K_und : undulator K for laser heater undulator
! Lhun  : length of laser-heater undulator (10 periods) [m]
! kqlh  : natural undulator focusing "k" in y-plane [1/m2]

  lam   := 0.0471204
  lamr  := 1030E-9
  gami  := Ei/EMASS
  K_und := sqrt(2*(lamr*2*gami^2/lam-1))
  Lhun  := 10*lam
  kqlh  := (K_und*2*pi/lam/sqrt(2)/gami)^2

 !COMMENT
    UMHTR : MATRIX, TYPE="@0,LHund", L=Lhun/2,    &
      RM(1,1)=1.0,                                &
      RM(1,2)=Lhun/2,                             &
      RM(2,1)=0.0,                                &
      RM(2,2)=1.0,                                &
      RM(3,3)=cos(Lhun/2*sqrt(kqlh)),             &
      RM(3,4)=sin(Lhun/2*sqrt(kqlh))/sqrt(kqlh),  &
      RM(4,3)=-sin(Lhun/2*sqrt(kqlh))*sqrt(kqlh), &
      RM(4,4)=cos(Lhun/2*sqrt(kqlh)),             &
      RM(5,5)=1,                                  &
      RM(6,6)=1 !,
     !RM(5,6)=Lhun/2/(gami^2)*(1+(K_und^2)/2)
 !ENDCOMMENT

 !UMHTR : DRIF, TYPE="@0,LHund", L=Lhun/2

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

! gun to L0

  Lgun := 0.040 !APEX gun

  DGUN  : DRIF, L=Lgun
  DG000 : DRIF, L=0.306-Lgun-Lsol/2
  DG001 : DRIF, L=0.175-Lsol/2
  DG002 : DRIF, L=0.148
  DG003 : DRIF, L=0.266-Lbun/2
  DG004 : DRIF, L=0.332-Lbun/2
  DG005 : DRIF, L=0.097
  DG006 : DRIF, L=0.144
  DG007 : DRIF, L=0.221-Lsol/2
  DG008 : DRIF, L=0.242-Lsol/2
  DG009 : DRIF, L=0.149
  DG010 : DRIF, L=0.117

  DG002a : DRIF, L=0.085
  DG002b : DRIF, L=DG002[L]-DG002a[L]
  DG004a : DRIF, L=0.0246
  DG004b : DRIF, L=DG004[L]-DG004a[L]
  DG007a : DRIF, L=0.082
  DG007b : DRIF, L=DG007[L]-DG007a[L]
  DG009a : DRIF, L=0.009
  DG009b : DRIF, L=DG009[L]-DG009a[L]

! L0 to laser heater

  D0H00 : DRIF, L=0.15
  D0H01 : DRIF, L=0.2
  D0H02 : DRIF, L=2.4
  D0H03 : DRIF, L=0.2
  D0H04 : DRIF, L=1.0
  D0H05 : DRIF, L=0.2
  D0H06 : DRIF, L=2.0
  D0H07 : DRIF, L=0.2
  D0H08 : DRIF, L=0.25

  D0H01a : DRIF, L=0.1
  D0H01b : DRIF, L=D0H01[L]-D0H01a[L]
  D0H03a : DRIF, L=0.1
  D0H03b : DRIF, L=D0H03[L]-D0H03a[L]
  D0H04a : DRIF, L=0.35
  D0H04b : DRIF, L=0.15
  D0H04c : DRIF, L=0.15
  D0H04d : DRIF, L=0.15
  D0H04e : DRIF, L=D0H04[L]-D0H04a[L]-D0H04b[L]-D0H04c[L]-D0H04d[L]
  D0H05a : DRIF, L=0.1
  D0H05b : DRIF, L=D0H05[L]-D0H05a[L]
  D0H07a : DRIF, L=0.1
  D0H07b : DRIF, L=D0H07[L]-D0H07a[L]
  D0H08a : DRIF, L=0.1
  D0H08b : DRIF, L=D0H08[L]-D0H08a[L]

! laser heater

  ZhBBo := 3.277533201189
  ZhBBi := 2.442408

  Dh01   : DRIF, L=ZhBBo/COS(ABh), TYPE="CSR"
  Dh02a  : DRIF, L=0.3, TYPE="CSR"
  Dh02b  : DRIF, L=0.2, TYPE="CSR"
  Dh02c  : DRIF, L=0.15, TYPE="CSR"
  Dh02d  : DRIF, L=0.1, TYPE="CSR"
  Dh02e  : DRIF, L=0.1, TYPE="CSR"
  Dh02f  : DRIF, L=0.15, TYPE="CSR"
  Dh02g  : DRIF, L=0.5, TYPE="CSR"
  Dh03   : DRIF, L=ZhBBo/COS(ABh), TYPE="CSR"

! laser heater to diagnostic line

  DHD00 : DRIF, L=0.25
  DHD01 : DRIF, L=0.8
  DHD02 : DRIF, L=2.5
  DHD03 : DRIF, L=0.5
  DHD04 : DRIF, L=0.25

  DHD00b : DRIF, L=0.1
  DHD00a : DRIF, L=DHD00[L]-DHD00b[L]
  DHD01a : DRIF, L=0.15
  DHD01b : DRIF, L=DHD01[L]-DHD01a[L]
  DHD03b : DRIF, L=0.15
  DHD03a : DRIF, L=DHD03[L]-DHD03b[L]
  DHD04a : DRIF, L=0.1
  DHD04b : DRIF, L=DHD04[L]-DHD04a[L]

! collimation FODO

  DColl0  : DRIF, L=4.0-LQx
  DColl0a : DRIF, L=0.2
  DColl0c : DRIF, L=0.325
  DColl0b : DRIF, L=DColl0[L]-DColl0a[L]-DColl0c[L]
  DColl0e : DRIF, L=0.25
  DColl0d : DRIF, L=DColl0b[L]-DColl0e[L]
  DColl0f : DRIF, L=3.192
  DColl0g : DRIF, L=0.15
  DColl0h : DRIF, L=(DColl0[L]-2*DColl0a[L])/2

! COL0 collimation section

  DKD0a : DRIF, L=0.49999855 !kicker (OFF)
  DKD0b : DRIF, L=0.49998988 !kicker (OFF)

  DC000 : DRIF, L=5.28-DKD0a[L]-DKD0b[L]
  DC001 : DRIF, L=0.8
  DC002 : DRIF, L=0.9
  DC003 : DRIF, L=1.787669597623

  DC000b : DRIF, L=0.19 !0.15
  DC000a : DRIF, L=DC000[L]-DC000b[L]
  DC003a : DRIF, L=0.2
  DC003b : DRIF, L=DC003[L]-DC003a[L]

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

  BPM01   : MONI, TYPE="Stripline-4"
  BPM02   : MONI, TYPE="Stripline-4"

  BPM0H01 : MONI, TYPE="Stripline-1"
  BPM0H04 : MONI, TYPE="Stripline-1"
  BPM0H05 : MONI, TYPE="Stripline-1"
  BPM0H08 : MONI, TYPE="Stripline-1"
  BPMH1   : MONI, TYPE="@2,Stripline-1"
  BPMH2   : MONI, TYPE="@2,Stripline-1"
  BPMHD01 : MONI, TYPE="Stripline-1"
  BPMHD02 : MONI, TYPE="Stripline-1"
  BPMHD03 : MONI, TYPE="Stripline-1"
  BPMHD04 : MONI, TYPE="Stripline-1"
  BPMC001 : MONI, TYPE="Stripline-1"
  BPMC002 : MONI, TYPE="@0,Stripline-1"
  BPMC003 : MONI, TYPE="Stripline-1"
  BPMC004 : MONI, TYPE="Stripline-1"
  BPMC005 : MONI, TYPE="Stripline-1"
  BPMC006 : MONI, TYPE="Stripline-1"
  BPMC007 : MONI, TYPE="@0,Stripline-1"
  BPMC008 : MONI, TYPE="@0,Stripline-1"
  BPMC009 : MONI, TYPE="Stripline-1"
  BPMC010 : MONI, TYPE="Stripline-1"
  BPMC011 : MONI, TYPE="Stripline-1"
  BPMC012 : MONI, TYPE="Stripline-1"

  RFB0H04 : MONI, TYPE="@2,CavityS-1"
  RFB0H08 : MONI, TYPE="@2,CavityS-1"
  RFBHD00 : MONI, TYPE="@2,CavityS-1"
  RFBHD04 : MONI, TYPE="@2,CavityS-1"
  RFBC006 : MONI, TYPE="@2,CavityS-1"
  RFBC011 : MONI, TYPE="@4,CavityS-1"

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

  XC01 : HKIC, TYPE="LBNL-xy"
  XC02 : HKIC, TYPE="LBNL-xy"
  XC03 : HKIC, TYPE="LBNL-xy"
  XC04 : HKIC, TYPE="LBNL-xy"

  XC0H01 : HKIC, TYPE="class-1a"
  XC0H03 : HKIC, TYPE="class-1a"
  XC0H05 : HKIC, TYPE="class-1a"
  XC0H07 : HKIC, TYPE="class-1a"
  XCHD01 : HKIC, TYPE="class-1a"
  XCHD03 : HKIC, TYPE="class-1a"
  XCC000 : HKIC, TYPE="class-1a"
  XCC004 : HKIC, TYPE="class-6"
  XCC006 : HKIC, TYPE="@3,class-6"
  XCC008 : HKIC, TYPE="class-6"
  XCC010 : HKIC, TYPE="@3,class-6"
  XCC012 : HKIC, TYPE="class-6"

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

  YC01 : VKIC, TYPE="LBNL-xy"
  YC02 : VKIC, TYPE="LBNL-xy"
  YC03 : VKIC, TYPE="LBNL-xy"
  YC04 : VKIC, TYPE="LBNL-xy"

  YC0H01 : VKIC, TYPE="class-1a"
  YC0H03 : VKIC, TYPE="class-1a"
  YC0H05 : VKIC, TYPE="class-1a"
  YC0H07 : VKIC, TYPE="class-1a"
  YCHD01 : VKIC, TYPE="class-1a"
  YCHD03 : VKIC, TYPE="class-1a"
  YCC000 : VKIC, TYPE="class-1a"
  YCC003 : VKIC, TYPE="@0,class-6"
  YCC005 : VKIC, TYPE="@3,class-6"
  YCC007 : VKIC, TYPE="class-6"
  YCC009 : VKIC, TYPE="@3,class-6"
  YCC011 : VKIC, TYPE="class-6"

! ==============================================================================
! diagnostics, etc.
! ------------------------------------------------------------------------------

! collimators

  CEHTR : RCOL            !X momentum collimator
  CYC01 : RCOL            !Y betatron collimator
  CXC01 : RCOL            !X betatron collimator
  CYC02 : RCOL, TYPE="@4" !Y betatron collimator
  CXC02 : RCOL, TYPE="@4" !X betatron collimator
  CYC03 : RCOL            !Y betatron collimator
  CXC03 : RCOL            !X betatron collimator

! instruments

  CATHODE : INST
  IM01    : IMON, TYPE="ICT"
  YAG01   : PROF, TYPE="YAG"
  WS0H04  : WIRE, TYPE="@0,fast"
  OTR0H04 : PROF, TYPE="@2,OTR"
  BZ0H04  : BLMO, TYPE="@0,gap/diode"
  YAGH1   : PROF, TYPE="@0,diffuse YAG"
  YAGH2   : PROF, TYPE="@0,diffuse YAG"
  OTRC011 : PROF, TYPE="@4,OTR"
  WSC011  : WIRE, TYPE="@4,fast"
  STC0    : INST, TYPE="stopper"

! marker points

  VV01   : MARK
  MIR01  : MARK
  VV02   : MARK
  LHBEG  : MARK
  HTRUND : MARK, TYPE="SCATTER"
  CNTHTR : MARK, TYPE="CENTER"
  LHEND  : MARK

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

  SC01   : LINE=(XC01,YC01)
  SC02   : LINE=(XC02,YC02)
  SC03   : LINE=(XC03,YC03)
  SC04   : LINE=(XC04,YC04)
  SC0H01 : LINE=(XC0H01,YC0H01)
  SC0H03 : LINE=(XC0H03,YC0H03)
  SC0H05 : LINE=(XC0H05,YC0H05)
  SC0H07 : LINE=(XC0H07,YC0H07)
  SCHD01 : LINE=(XCHD01,YCHD01)
  SCHD03 : LINE=(XCHD03,YCHD03)
  SCC000 : LINE=(XCC000,YCC000)

  GUN : LINE=(&
    SEQ01BEG,&
    BEGGUNB,&
    CATHODE,DGUN,DG000,&
    2*SOL01,DG001,VV01,DG002a,SC01,DG002b,BPM01,DG003,&
    BUN01,DG004a,SC02,DG004b,MIR01,DG005,IM01,DG006,YAG01,DG007a,SC03,DG007b,&
    2*SOL02,DG008,BPM02,DG009a,SC04,DG009b,VV02,DG010,&
    ENDGUNB)

  LSRHTR : LINE=(LHBEG,&
    BCXH1A,BCXH1B,Dh01,&
    BCXH2A,BCXH2B,Dh02a,CEHTR,Dh02b,BPMH1,Dh02c,YAGH1,Dh02d,&
    UMHTR,HTRUND,UMHTR,Dh02e,BPMH2,Dh02f,YAGH2,Dh02g,&
    BCXH3A,BCXH3B,Dh03,&
    BCXH4A,BCXH4B,CNTHTR,&
    LHEND)

  HTR : LINE=(&
    BEGHTR,&
    D0H00,&
    Q0H01,BPM0H01,Q0H01,D0H01a,SC0H01,D0H01b,&
    Q0H02,Q0H02,D0H02,&
    Q0H03,Q0H03,D0H03a,SC0H03,D0H03b,&
    Q0H04,BPM0H04,Q0H04,D0H04a,RFB0H04,D0H04b,WS0H04,D0H04c,OTR0H04,D0H04d,&
      BZ0H04,D0H04e,&
    Q0H05,BPM0H05,Q0H05,D0H05a,SC0H05,D0H05b,&
    Q0H06,Q0H06,D0H06,&
    Q0H07,Q0H07,D0H07a,SC0H07,D0H07b,&
    Q0H08,BPM0H08,Q0H08,D0H08a,RFB0H08,D0H08b,&
    LSRHTR,DHD00a,RFBHD00,DHD00b,&
    QHD01,BPMHD01,QHD01,DHD01a,SCHD01,DHD01b,&
    QHD02,BPMHD02,QHD02,DHD02,&
    QHD03,BPMHD03,QHD03,DHD03a,SCHD03,DHD03a,&
    QHD04,BPMHD04,QHD04,DHD04a,RFBHD04,DHD04b,&
    ENDHTR,&
    SEQ01END)

  COMMENT
    COL0 : LINE=(&
      BEGCOL0,&
      DKD0a,DKD0b,DC000,&
      QC001,QC001,DC001,&
      QC002,QC002,DC002,&
      QC003,QC003,DC003,&
      QC004,QC004,DColl0,&
      QC005,QC005,DColl0,&
      QC006,QC006,DColl0,&
      QC007,QC007,DColl0,&
      QC008,QC008,DColl0,&
      QC009,QC009,DColl0,&
      QC010,QC010,DColl0,&
      QC011,QC011,DColl0,&
      QC012,QC012,&
      ENDCOL0)
  ENDCOMMENT

 !COMMENT
    COL0 : LINE=(&
      SEQ02BEG,&
      BEGCOL0,&
      DKD0a,DKD0b,DC000a,SCC000,DC000b,&
      QC001,BPMC001,QC001,DC001,&
      QC002,BPMC002,QC002,DC002,&
      QC003,BPMC003,QC003,DC003a,YCC003,DC003b,&
      QC004,BPMC004,QC004,DColl0a,XCC004,DColl0b,CYC01,DColl0c,&
      QC005,BPMC005,QC005,DColl0a,YCC005,DColl0b,CXC01,DColl0c,&
      QC006,BPMC006,QC006,DColl0a,XCC006,DColl0d,RFBC006,DColl0e,CYC02,DColl0c,&
      QC007,BPMC007,QC007,DColl0a,YCC007,DColl0b,CXC02,DColl0c,&
      QC008,BPMC008,QC008,DColl0a,XCC008,DColl0b,CYC03,DColl0c,&
      QC009,BPMC009,QC009,DColl0a,YCC009,DColl0b,CXC03,DColl0c,&
      QC010,BPMC010,QC010,DColl0a,XCC010,DColl0f,&
        OTRC011,DColl0g,RFBC011,DColl0g,WSC011,DColl0a,&
      QC011,BPMC011,QC011,DColl0a,YCC011,DColl0h,STC0,DColl0h,XCC012,DColl0a,&
      QC012,BPMC012,QC012,&
      ENDCOL0)
 !ENDCOMMENT

  C0fodo : LINE=(QFColl0,DColl0,QDColl0,QDColl0,DColl0,QFColl0)

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

  RETURN
