  TITLE, "LCLS2sc (February 26, 2016)"

! *** OPTICS=LCLS2sc26FEB16 ***

  OPTION, -ECHO, VERIFY, DOUBLE
  ASSIGN, ECHO="LCLS2sc.echo"
  ASSIGN, PRINT="LCLS2sc.print"

! ==============================================================================
! Modification History
! ------------------------------------------------------------------------------
! 26-FEB-2016, M. Woodley / Y. Nosochkov
!  * replace the HXR undulator with HGVPU undulator
! 01-FEB-2016, M. Woodley
!  * new 100 pC input beams from J. Qiang/C. Mitchell
! 01-NOV-2015, M. Woodley
!  * new 100 pC input beam from F. Zhou (Twiss from P. Emma)
! ------------------------------------------------------------------------------
! 01-OCT-2015, M. Woodley / Y. Nosochkov
!  * update boundary Z-locations (Z0end, Z2end)
!  * see list of changes in .xsif files and in file MADdeckChanges.pdf
!  * add BKR (rolled kicker) to the list of defined element name prefixes
!  * update initial Twiss in LTU dogleg with stronger R56 chicanes
!  * load ALINE.xsif before LTU.xsif
! ------------------------------------------------------------------------------
! 20-MAR-2015, M. Woodley
!  * list of changes ...
! 12-MAR-2015, Y. Nosochkov
!  * update quad/BPM/corrector positions in the spreader (per T. O'Heron)
!  * add dogleg connection from CuRF to SXR
!  * add kicker/septum in BSY to connect with the existing A-line
!  * update existing LCLS-I devices in the HXR (per updated LCLS-I lattice)
!  * change quad type "1.97Q10" to "2Q10"
! ------------------------------------------------------------------------------
! 12-DEC-2014, M. Woodley
!  * change name prefix for cryomodule BPMs from "BPMCM" to "CMB"
!  * assign BPM TYPE attributes per PRD LCLSII-2.4-PR-0136
!  * change deferral level for some diagnostic devices per T. Taubenheimer
!  * change some RFBs (defer>0) to BPMs (defer=0)
! 09-DEC-2014, Y. Nosochkov
!  * add safety dump lines based on LCLS1 design and PRD LCLSII-3.5-PR-0111
!  * update types of various magnets
!  * add radiation physics collimators and ACMs
!  * move D10 dump inside the muon wall
! ------------------------------------------------------------------------------
! 28-OCT-2014, M. Woodley
!  * new 1.3 GHz cryomodule layout from FNAL
!  * move GUN-L3 upstream 30 m to align 3.9 GHz CMs with NLTR tunnel (tweak
!    matching section between LH and COL0 to put gun at Z= -10.0 m exactly)
!  * lengthen EXT FODO cells by 12 m (57 m to 69 m)
!  * rematch EXT (layout and optics)
! ------------------------------------------------------------------------------
! 15-OCT-2014, M. Woodley
!  * shortened inter-linac warm sections ... gun moved 30 m d/s (to Z=20m ...
!    there is now 40 m from present location of CID gun to location of LCLS-II
!    gun)
!  * various cost-cutting changes ... see individual xsif-files
! ------------------------------------------------------------------------------
! 07-AUG-2014, M. Woodley
!  * add emittance measurement in L0-to-laser-heater matching section
!  * laser heater chicane lengthened to reduce R56 to 3.5 mm
!  * collimation systems (COL0, COL1, and COL2) now consist 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
!  * added a wire scanner at the end of COL0 for "tomographic" emittance
!    measurement
!  * L1 phase advance per cell lowered to 45 degrees
!  * DIAG1 beamline (post-BC1 off-axis diagnostics line) removed
!  * in-line emittance measurement systems incorporated into COL1 and COL2
!  * TCAV(Y), vertical kicker, and lambertson septum added d/s of BC1
!  * change bending direction in BC2 chicane ... toward the aisle
!  * TCAV(Y) added d/s of BC2
!  * EXT FODO cell length doubled, phase advance per cell lowered to 60 degrees
!  * 1.259Q12 quadrupoles replaced by QWs or QEs
!  * BC3 removed
!  * diagnostics complement per "Electron Beam Diagnostics Systems" PRD
!    (LCLSII-2.7-PR-0170)
!  * TYPE attribute of "deprecated" devices is now "decorated" ... see below
! 31-JUL-2014, Y. Nosochkov
!  * implement magnetic kicker with two 2-hole septa in the spreader
!  * remove QBP37 and adjust positions of QBP31, QBP32, QBP35, QBP36
!  * remove unnecessary diagnostics (per J. Frisch)
!  * move TDUNDb 2.8 m d/s, QUM1b 2.0 m d/s, QDL11-QDL19 2.5 m d/s
!    (per J. Stieber)
!  * move markers ENDSXR, BEGDMPS and ENDHXR, BEGDMPH to include
!    RFBSX51 and RFBHX51 into the SXR and HXR areas (per D. Hanquist)
! ------------------------------------------------------------------------------
! 02-MAY-2014, M. Woodley
!  * update 1.3 GHz cryomodule layout (including end caps) per H. Alvarez
!  * update baseline compression setup per P. Emma
!  * remove DIAG1 beamline ... prepare COL1 for inline emittance diagnostics
!  * add "CNT" to list of defined element name prefixes (MARKER element)
!  * add "HOMCM" to list of defined element name prefixes (MARKER element)
! ------------------------------------------------------------------------------
! 31-MAR-2014, M. Woodley
!  * add list of beamline area names (per document LCLSII-2.1-PR-0134)
!  * add list of element name prefixes (per document LCLSII-1.1-TS-0159)
!  * add beamline area boundary MARKer points
! 26-MAR-2014, Y. Nosochkov
!  * put phase shifter and RFBPM positions back to 03/14 version
!  * remove PCTDKIK1,2,3,4 from HXR LTU
! 25-MAR-2014, Y. Nosochkov
!  * add insertable beam stoppers STSP6ha, STSP6hb, STSP6hc in HXR spreader
!  * remove existing BYKIK, TDKIK and SPOILER from HXR LTU
!  * add missing ST60, ST61 stoppers in the BSY
!  * add marker D10Js for location of D10 dump face in SXR line
!  * remove BYKIKb, SPOILERb, TDKIKb, SPOILD2b from SXR
!  * change names: D2b -> STBP33a, ST60b -> STBP33b, ST61b -> STBP33c
! 21-MAR-2014, Y. Nosochkov
!  * update positions of phase shifters and RFBPMs in undulator cells
!  * add Y-corrector to each undulator
!  * update phase shifter parameters (per H-D. Nuhn)
! 14-MAR-2014, Y. Nosochkov
!  * add/update names for area boundary markers
! 07-MAR-2014, Y. Nosochkov
!  * increase main dump length to 1.5 m (to be confirmed)
!  * remove transverse deflecting cavities from SXR dumpline
! 06-MAR-2014, Y. Nosochkov
!  * add a soft bend upstream of the dump bends
!  * roll the dumpline starting from the soft bend by 10 deg
!    to reduce HXR to SXR x-separation at the dumps to ~1.88 m and
!    adjust the vertical position at the dumps
! ------------------------------------------------------------------------------
! 01-MAR-2014, M. Woodley
!  * move cathode 10 m downstream ... now at Z= -10 m
!  * updated cryomodule layout
!    - 11 lambda CM-to-CM spacing
!    - add special short end cap at upstream end of L0
!      > SOL02 -> CAV011 center-to-center = 1.606 m
!    - include L0/L1/L2 feed boxes, L3 vacuum break box, and L3 end box
!      > use XFEL feed and end box lengths (~3.5 m)
!      > use XFEL "string connection box" length (23 lambda) for L3 break box
!  * add DIAG0 diagnostic line and X/Y collimation section after laser heater
!  * add BC3 chicane after dogleg to bypass line
!  * complete XCOR/YCOR/BPM additions in injector and linac areas
! 28-FEB-2014, Y. Nosochkov
!  * update undulators for reduced cell length of 4.4 m, rematch
! 26-FEB-2014, Y. Nosochkov
!  * update magnet types in the spreader, rematch
! 14-FEB-2014, Y. Nosochkov
!  * add a dumpline from the spreader to D10 dump including optics
!    for energy diagnostic
! 17-JAN-2014, Y. Nosochkov
!  * modify HXR spreader from 1-step to 2-step dogleg for tunable R56
!    and better magnet separation
! 18-DEC-2013, Y. Nosochkov
!  * adjust magnet positions in the spreader for less magnet interference
! 18-DEC-2013, M. Woodley
!  * name change: CE11B -> C1XE, CE21B -> C2XE
! 16-DEC-2013, Y. Nosochkov
!  * 3-way spreader design with low R56
! 03-DEC-2013, Y. Nosochkov
!  * make HXR BSY compatible with the existing divergent and biconcave chambers
!  * modify the spreader to reduce R56 and match to the updated BSY
! 21-NOV-2013, Y. Nosochkov
!  * replace the 2-way spreader (TLINE) with a 3-way spreader in BSY
! ------------------------------------------------------------------------------
! 04-NOV-2013, M. Woodley
!  * assign X or Y correctors to cryomodules
!  * redefine linac axis in LI00-LI10 ... modify bypass dogleg geometry
!  * update quadrupole type 1.26Q12 in HXR
!  * laser heater undulator parameters per M. Venturini
!  * latest compression setup per P. Emma
! 26-OCT-2013, Y. Nosochkov
!  * update quadrupole type 1.26Q12 in SXR
!  * update SXR and HXR undulator design, rematch optics
!  * update LTU match
! 21-OCT-2013, M. Woodley
!  * LCLS2sc v1.1
!  * input Twiss from C. Papadopoulos (Parameters_GUN2013_10_08v3.docx) ...
!    use "avg. beta" and "avg. alpha" parameters
!  * everything downstream of QBP13 from Yuri's LCLS2sc_2013_10_16 files
! 15-OCT-2013, M. Woodley
!  * LCLS2sc v1.0
!  * input Twiss from C. Papadopoulos (Parameters_GUN2013_10_08v3.docx)
! 07-OCT-2013, M. Woodley
!  * LCLS2sc v0.1
!  * initial beam parameters from C. Papadopoulos
!  * change 4-quad match to 6-quad match between L0 and laser heater
!  * increase laser heater chicane dispersion to 7.5 cm ... matching requires
!    inner/outer bend separation to increase
!  * increase laser heater chicane inner bend separation by 1.0 m and add an
!    energy collimator
! 06-OCT-2013, M. Woodley
!  * initial bare-bones lattice ... LCLS2sc v0
! 30-SEP-2013, M. Woodley
!  * from XFEL and NGLS designs
! ------------------------------------------------------------------------------

! ==============================================================================
! Deferred devices
! ------------------------------------------------------------------------------
! see: https://slacspace.slac.stanford.edu/sites/lcls/lcls-2/ap/InjSim/
!      150129%20Deferment%20Levels.xlsx
! ------------------------------------------------------------------------------
! Device TYPE attributes have been prefixed by a 2-character deferment
! indicator. If the first character of a device's TYPE attribute is not "@" (or
! if a device has no defined TYPE attribute), the device is baseline. If the
! first character of a device's TYPE attribute is "@", the device is deferred.
! The level of deferral is indicated by the second character of the TYPE
! attribute:
!
! TYPE="@0..." : level 0 (required for CD4-Threshold with >100 pC/bunch and
!                         50 kHz operation)
! TYPE="@1..." : level 1 (required to approach CD4-Objective, but limited to
!                         ~100 pC/bunch)
! TYPE="@2..." : level 2 (required to meet science objectives across parameter
!                         range)
! TYPE="@3..." : level 3 (component to improve tuning time)
! TYPE="@4..." : level 4 (space for future components that may be needed)
! TYPE="@5..." : level 5 (probably not needed ... leave space in beamline for
!                         future installation)
!
! The remaining characters of TYPE define the device's engineering type.
! ------------------------------------------------------------------------------

! ==============================================================================
! Beamline area names (areas with names in parentheses have not been designed)
! ------------------------------------------------------------------------------
! see: https://docs.slac.stanford.edu/sites/pub/Publications/
!      Beamline%20Boundaries.pdf (LCLSII-2.1-PR-0134)
! ------------------------------------------------------------------------------
! GUNB  : cathode to L0
! L0B   : L0 (end cap, CM01, end cap, mechanical stay-clear)
! HTR   : laser heater (emittance measurement, chicane, extraction to DIAG0)
! COL0  : collimation 0
! L1B   : L1 (differential pumping, mechanical stay-clear, end cap, CM02-03,
!         HCM01-02, end cap, mechanical stay-clear, differential pumping)
! BC1B  : BC1 chicane
! COL1  : collimation 1 (includes in-line emittance measurement)
! L2B   : L2 (differential pumping, mechanical stay-clear, end cap, CM04-15,
!         end cap, mechanical stay-clear, differential pumping)
! BC2B  : BC2 chicane
! COL2  : collimation 2 (includes in-line emittance measurement)
! L3B   : L3 (differential pumping, mechanical stay-clear, end cap, CM16-25,
!         vacuum break, CM26-23, end cap, mechanical stay-clear, differential
!         pumping)
! EXT   : L3 extension
! DOG   : dogleg to bypass line
! BYP   : bypass line
! SPD   : spreader to start of BSY (BSY dump line)
! SLTD  : BSY to BSY dump (BSY dump line)
! SPS   : spreader to start of BSY (SXR line, from SC linac)
! SLTS  : BSY to Cu/SC linac merge (SXR line, from SC linac)
! BSYS  : Cu/SC merge to end of BSY (SXR line, from either linac)
! LTUS  : SXR LTU (from end of BSY)
! SXX   : SXR extension
! SXR   : SXR undulator
! UES   : SXR undulator end to dump line
! DMPS  : SXR dump line
! SFTS  : SXR safety dump line
! SPH   : spreader to start of BSY (HXR line, from SC linac)
! SLTH  : BSY to Cu/SC linac merge (HXR line, from SC linac)
! CLTH  : end of LI30 to Cu/SC linac merge (HXR line, from Cu linac)
! BSYH  : Cu/SC merge to end of BSY (HXR line, from either linac)
! LTUH  : HXR LTU (from end of BSY)
! HXR   : HXR undulator
! UEH   : HXR undulator end to dump line
! DMPH  : HXR dump line
! SFTH  : HXR safety dump line
! CLTS  : BSY to Cu/SC linac merge (SXR line, from Cu linac) 
! BSYA  : BSY to A-line (from either linac)
! DIAG0 : post laser heater diagnostics line

! ==============================================================================
! Element naming conventions with the first few characters meaning:
! ------------------------------------------------------------------------------
! CAVL.... = 1.3 GHz RF cavity (superconducting)
! CAVC.... = 3.9 GHz RF cavity (superconducting)
! CAVS.... = 2.856 GHz RF structure (warm copper)
! CSP..... = cryomodule support post
! BUN..... = RF buncher (warm)
! TCX..... = transverse deflecting structure (horizontal deflection)
! TCY..... = transverse deflecting structure (vertical deflection)
! BX...... = horizontal bend (split in two (suffixes "a" and "b"))
! BY...... = vertical bend (split in two (suffixes "a" and "b"))
! BR...... = rolled bend (split in two (suffixes "a" and "b"))
! BCX..... = horizontal chicane bend (split in two (suffixes "a" and "b"))
! BLX..... = horizontal Lambertson septum (split in two (suffixes "a" and "b"))
! BLY..... = vertical Lambertson septum (split in two (suffixes "a" and "b"))
! BLR..... = rolled Lambertson septum (split in two (suffixes "a" and "b"))
! BKX..... = horizontal kicker ((split in two (suffixes "a" and "b"))
! BKY..... = vertical kicker (split in two (suffixes "a" and "b"))
! BKR..... = rolled kicker (split in two (suffixes "a" and "b"))
! Q....... = quadrupole (normal quad, split in half)
! QCM..... = standard cryomodule quadrupole (normal quad, split in half)
! QSX..... = undulator quadrupole (normal quad, split in half ... SXR)
! QHX..... = undulator quadrupole (normal quad, split in half ... HXR)
! CQ...... = correction quadrupole (normal quad, split in half)
! SQ...... = skew quadrupole (skew quad, split in half)
! SOL..... = solenoid (split in half)
! UM...... = undulator magnet (full undualator segment)
! PS...... = phase shifter undulator
! CX...... = horizontal collimator (vertical jaws, adjustable)
! CY...... = vertical collimator (horizontal jaws, adjustable)
! CE...... = momentum collimator (adjustable)
! PC...... = protection collimator (fixed aperture)
! RO...... = coordinate rotation (non-physical element)
! XC...... = horizontal steering dipole
! XCM..... = standard cryomodule horizontal steering dipole
! YC...... = vertical steering dipole
! YCM..... = standard cryomodule vertical steering dipole
! SC...... = steering coil package (horizontal and vertical dipole correctors)
! BPM..... = beam position monitor (stripline, various resolutions)
! RFB..... = RF beam position monitor (<1 micron rms resolution)
! CMB..... = standard cryomodule button beam position monitor
! WS...... = wire scanner
! YAG..... = YAG screen profile monitor
! OTR..... = optical transition radiation profile monitor
! IM...... = bunch charge monitor (ICT, DCCT, ACM, etc.)
! FC...... = Faraday cup
! BZ...... = bunch length monitor (various types)
! BTM..... = burn-through monitor (PPS device)
! PH...... = beam phase detector
! TD...... = tune-up dump (insertable copper block)
! SP...... = beam spoiler
! ST...... = beam stopper
! TR...... = transition radiator
! DUMP.... = beam dump
! BOD..... = beam overlap monitor
! VV...... = vacuum valve (not all valves are in the MAD deck)
! MIR..... = laser insertion mirror
! BLM..... = beam loss monitor (undulator areas)
! CNT..... = ELEGANT centering element
! HOMCM... = standard cryomodule HOM absorber
! S....... = sextupole (normal or rolled sextupole, split in half)
! ==============================================================================

! constants

  IN2M  : CONSTANT=0.0254          !m/inch
  Cb    : CONSTANT=1.0E10/CLIGHT   !kG-m/GeV
  mc2   : CONSTANT=510.99906E-6    !GeV
  QELEC : CONSTANT=1.602176462E-19 !C

! energy profile

  E0   := 0.75E-3 !NGLS/APEX gun
  Ei   := 0.1
  E1   := 0.25
  E2   := 1.6
  Ef   := 4.0
  Emax := 10.0

  Brho0 := Cb*E0
  Brhoi := Cb*Ei
  Brho1 := Cb*E1
  Brho2 := Cb*E2
  Brhof := Cb*Ef

! compression

  R56HTR := 0.0035 !DXmax = 75 cm
  R56BC1 := 0.055
  R56BC2 := 0.037

  R56CCDLU := 9.99E-5
  R56CCDLD := 9.99E-5

! ------------------------------------------------------------------------------
! select an input beam definition (uncomment the appropriate block below)
! ------------------------------------------------------------------------------

  COMMENT !J. Qiang/C. Mitchell (100 pC "A")
   !Twiss at gun
    BX0 := 1.098547329536E2
    AX0 := 42.367590521893
    BY0 := 1.098547329536E2
    AY0 := 42.367590521893
   !Twiss at S= 15.0 m (ASTRA)
    BXa := 18.59
    AXa := -1.2
    BYa := 18.59
    AYa := -1.2
   !Twiss at QCM01 entrance
    BXi := 16.233532654362
    AXi := -1.063346480924
    BYi := 16.233532654362
    AYi := -1.063346480924
   !max beta u/s of WS0H04
    Bmax := 40
   !beta at WS0H04 waist
    B0H04w := 5.0
   !beam parameters
    QBNCH := 100.0E-12 !pC
    EMITn := 0.38E-06
  ENDCOMMENT

  COMMENT !J. Qiang/C. Mitchell (100 pC "B")
   !Twiss at gun
    BX0 := 1.669968595199E2
    AX0 := 64.785818088252
    BY0 := 1.669968595199E2
    AY0 := 64.785818088252
   !Twiss at S= 15.0 m (ASTRA)
    BXa := 19.57851
    AXa := -1.79748
    BYa := 19.57851
    AYa := -1.79748
   !Twiss at QCM01 entrance
    BXi := 16.069891381956
    AXi := -1.572488022521
    BYi := 16.069891381956
    AYi := -1.572488022521
   !max beta u/s of WS0H04
    Bmax := 50
   !beta at WS0H04 waist
    B0H04w := 5.0
   !beam parameters
    QBNCH := 100.0E-12 !pC
    EMITn := 0.361575E-06
  ENDCOMMENT

 !COMMENT !F. Zhou (100 pC)
   !Twiss at gun
    BX0 := 3.949042136246E2
    AX0 := 1.525610502992E2
    BY0 := 3.94640860598E2
    AY0 := 1.524592881855E2
   !Twiss at S= 15.0 m (ASTRA)
    BXa := 14.340151152121
    AXa := -2.111789110488
    BYa := 14.336513707843
    AYa := -2.110636132949
   !Twiss at QCM01 entrance
    BXi := 10.3555
    AXi := -1.7154
    BYi := 10.3540
    AYi := -1.7145
   !max beta u/s of WS0H04
    Bmax := 50
   !beta at WS0H04 waist
    B0H04w := 5.0
   !beam parameters
    QBNCH  := 100.0E-12 !C
    EMITn  := 0.268E-06 !m
    sig_z  := 1.007E-03 !m
    sig_dp := 0.041E-02 !1
 !ENDCOMMENT

  COMMENT !F. Zhou (300 pC)
   !Twiss at gun
    BX0 := 5.223458096991E2
    AX0 := 2.014520432434E2
    BY0 := 5.223458096991E2
    AY0 := 2.014520432434E2
   !Twiss at S= 15.0 m (ASTRA)
    BXa := 12.131
    AXa := -2.13
    BYa := 12.131
    AYa := -2.13
   !Twiss at QCM01 entrance
    BXi := 8.19048654706
    AXi := -1.654795591819
    BYi := 8.19048654706
    AYi := -1.654795591819
   !max beta u/s of WS0H04
    Bmax := 50
   !beta at WS0H04 waist
    B0H04w := 5.0
   !beam parameters
    QBNCH := 300.0E-12 !pC
    EMITn := 0.657E-06
   !sig_z := 1.42 mm
  ENDCOMMENT

  COMMENT !C. Papadopoulos (20 pC) ["20pC_2013_12_04"]
   !Twiss at gun
    BX0 := 8.42682465426E2
    AX0 := 3.201029599052E2
    BY0 := 8.42682465426E2
    AY0 := 3.201029599052E2
   !Twiss at S= 15.0 m (ASTRA)
    BXa := 14.5141571444 !"avg. beta"
    AXa := 1.69345629448 !"avg. alpha"
    BYa := 14.5141571444 !"avg. beta"
    AYa := 1.69345629448 !"avg. alpha"
   !Twiss at QCM01 entrance
    BXi := 18.329280737288
    AXi := 1.97090450146
    BYi := 18.329280737288
    AYi := 1.97090450146
   !max beta u/s of WS0H04
    Bmax := 19
   !beta at WS0H04 waist
    B0H04w := 5.0
   !beam parameters
    QBNCH := 20.0E-12 !pC
    EMITn := 0.1E-06
  ENDCOMMENT

  TWSS0 : BETA0, ENERGY=E0, BETX=BX0, ALFX=AX0, BETY=BY0, ALFY=AY0
  TWSSa : BETA0, ENERGY=Ei, BETX=BXa, ALFX=AXa, BETY=BYa, ALFY=AYa
  TWSSi : BETA0, ENERGY=Ei, BETX=BXi, ALFX=AXi, BETY=BYi, ALFY=AYi

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

! input beam SIGMA0 definition (entrance to QCM01)

  EMITXn := 0.45E-6 !normalized horizontal emittance (m)
  EMITYn := 0.45E-6 !normalized vertical emittance (m)
  BLENG  := 1.02E-3 !rms bunch length (m)
  ESPRD  := 0.05E-2 !rms energy spread (1)

  EMITX := EMITn/(Ei/EMASS)
  EMITY := EMITn/(Ei/EMASS)

  BEAM, PARTICLE=ELECTRON, NPART=QBNCH/QELEC, &
        EX=EMITX, EY=EMITY, SIGT=BLENG, SIGE=ESPRD

  GXi   := (1+AXi*AXi)/BXi
  SIG11 := EMITX*BXi
  SIG21 := -EMITX*AXi
  SIG22 := EMITX*GXi
  C21   := SIG21/SQRT(SIG11*SIG22)
  GYi   := (1+AYi*AYi)/BYi
  SIG33 := EMITY*BYi
  SIG43 := -EMITY*AYi
  SIG44 := EMITY*GYi
  C43   := SIG43/SQRT(SIG33*SIG44)
  SIG0a : SIGMA0, SIGX=SQRT(SIG11), SIGPX=SQRT(SIG22), R21=C21, &
                  SIGY=SQRT(SIG33), SIGPY=SQRT(SIG44), R43=C43, &
                  SIGT=BLENG      , SIGPT=ESPRD

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

! "treaty" Twiss at center of laser heater undulator

  BXlh := 10.0
  AXlh := 0
  BYlh := 10.0
  AYlh := 0

! matched Twiss for coasting linac FODOs

  BXCMfodo1 := 47.719294763762 !L1: 45 degrees per cell
  BYCMfodo1 := 21.369473357891 !L1: 45 degrees per cell
  BXCMfodo2 := 61.469987291175 !L2: 30 degrees per cell
  BYCMfodo2 := 36.267129824058 !L2: 30 degrees per cell
  BXCMfodo3 := 61.469987291175 !L3: 30 degrees per cell
  BYCMfodo3 := 36.267129824058 !L3: 30 degrees per cell

! survey (Z values are w.r.t. start of LI01 where Z=0)

  Xgun  :=    0.28     !beam axis (w.r.t. original linac axis)
  Ygun  :=   -0.99     !beam axis (w.r.t. original linac axis)
  Zgun  :=  -10.044667 !10.0 m d/s of location of CID gun
  Z0beg :=   -7.992090 !start of L0 (12.0 m d/s of location of CID gun)
  Zi    :=    3.914190 !entrance to QCM01 (~3.9 m into LI01)
  Za    :=   Zgun+15.0 !ASTRA treaty point (~4.8 m into LI01)
  Z0end :=    8.027407 !end of L0 (~8.0 m into LI01)
  Zhtr  :=   18.202600 !start of laser heater chicane (~18.2 m into LI01)
  Zdg0  :=   32.183970 !start of DIAG0 (~32.2 m into LI01)
  Z1beg :=   73.383640 !start of L1 (~73.4 m into LI01)
  Z1loc :=  104.195070 !center of CAVC011 (~104.0 m)
  Z1end :=  121.338620 !end of L1 (~19.7 m into LI02)
  Z2beg :=  174.501052 !start of L2 (~72.9 m into LI02)
  Z2end :=  331.562942 !end of L2 (~26.8 m into LI04)
  Z3beg :=  429.823650 !start of L3 (~23.4 m into LI05)
  Z3end :=  687.719650 !end of L3 (~78.1 m into LI07)
  Zdog  :=  951.900013 !entrance first dogleg bend (~37.5 m into LI10)
  Xbyp  :=   -0.650494 !QBP13 X is |Xbyp| to the south of linac axis
  Ybyp  :=    0.649478 !QBP13 Y is Ybyp above linac axis
  Zbyp  := 1254.531303 !QBP13 centerline (~35.3 m into LI13)

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

! for matching, etc.

! match into bypass dogleg

  BXDLm := 13.103980147754
  AXDLm := -1.328117574824
  BYDLm := 15.962709228317
  AYDLm :=  1.529776835343

! match into SXR LTU emittance diagnostic section

  BX1 := 46.225914318019
  AX1 := -1.084608326468
  BY1 := 46.225914318019
  AY1 :=  1.084608326468

! match into HXR LTU emittance diagnostic section

  BXEDh := 46.347592421655
  AXEDh := -1.088004889273
  BYEDh := 46.098656017174
  AYEDh :=  1.08081945287

! initial Twiss for SXR dogleg

  MBETXS :=  6.841330860042
  MALFXS := -0.284047412936
  MBETYS := 47.066495355511
  MALFYS :=  2.555431832313

  TWSSms : BETA0, ENERGY=Ef, BETX=MBETXs, ALFX=MALFXs, BETY=MBETYs, ALFY=MALFYs

! periodic Twiss in HXR dogleg cells

  MBETXH := 48.881918788199
  MALFXH :=  3.139871668464
  MBETYH := 96.323786537904
  MALFYH :=  3.616905252587

  TWSSmh : BETA0, ENERGY=Ef, BETX=MBETXh, ALFX=MALFXh, BETY=MBETYh, ALFY=MALFYh

! temporary

  TWSSm : BETA0

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

  CALL, FILENAME="common.xsif"
  CALL, FILENAME="CM.xsif"
  CALL, FILENAME="DIAG0.xsif" !DIAG0 must be CALLed before INJ
  CALL, FILENAME="INJ.xsif"
  CALL, FILENAME="BC1.xsif"
  CALL, FILENAME="BC2.xsif"
  CALL, FILENAME="EXT.xsif"
  CALL, FILENAME="DLBM.xsif"
  CALL, FILENAME="SPRD.xsif"
  CALL, FILENAME="CUSXR.xsif"
  CALL, FILENAME="ALINE.xsif"
  CALL, FILENAME="BYP.xsif"
  CALL, FILENAME="LTU.xsif"
  CALL, FILENAME="UND.xsif"
  CALL, FILENAME="SFT.xsif"

  QBPF : LIST=(QBP13) !upstream half of QBP13

  LCLS2scI : LINE=(QCM01,XCM01,YCM01,QCM01,DCM5,CM01END,&
    DCAP0da,ASTRA,DCAP0db,DMSC0da,VG0H00,DMSC0db,VP0H00,DMSC0dc,VV0H00,ENDL0B)
  LCLS2scC : LINE=(HTR,COL0,L1,BC1,COL1,L2,BC2,COL2,L3,EXT,DLBM)

! new BSY area definitions

  CALL, FILENAME="BSYsc.xsif"
 
! ------------------------------------------------------------------------------

! initial BSY coordinates at BEGSP (LTUSPLIT)

  Xf     :=  XOFF
  Yf     :=  1.899339708719 !1.897939159495 -0.3*SIN(2*AVB)
  Zf     := -267.7180471432 !-267.4180504124 -0.3*COS(2*AVB)
  THETAf :=  0
  PHIf   :=  2*AVB
  PSIf   :=  0

! ==============================================================================
! COMMANDs
! ------------------------------------------------------------------------------

  SETPLOT, XSIZE=25.4, YSIZE=20.32
  SETPLOT, LWIDTH=5, LSCALE=1.5, SSCALE=1.5, RSCALE=1.5
  OPTION, ECHO

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

 !CALL, FILENAME="LCLS2sc_match.mad8"
 !CALL, FILENAME="RDB/LCLS2sc_makeSymbols.mad8"
 !CALL, FILENAME="elegant/makeElegant.mad8"

 !STOP

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

! SXR line (linac coordinates)

 !COMMENT
    ASSIGN, PRINT="LCLS2scS.print"
    BEAM, ENERGY=E0
    SET, SETSP, SETSPs ; SET, SETCUS, CUSOFF
    USE, (GUN,L0,LCLS2scC,LCLS2scS)
    PRINT, FULL
    SURVEY, X0=Xgun, Y0=Ygun, Z0=Zgun, TAPE="LCLS2scS_survey.tape"
    BEAM, ENERGY=Ei
    USE, (LCLS2scI,LCLS2scC,LCLS2scS)
   !SAVELINE, NAME="LCLS2scS", FILENAME="LCLS2scS.saveline"
    PRINT, FULL
    TWISS, BETA0=TWSSi, SAVE, TAPE="LCLS2scS_twiss.tape"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=ENERGY, &
      STYLE=100, SPLINE, FILE="LCLS2scS", VMIN=0, VMAX=5
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, &
      STYLE=100, SPLINE, FILE="LCLS2scS"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=DX,DY, &
      STYLE=100, SPLINE, FILE="LCLS2scS"
 !ENDCOMMENT

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

! SXR line to safety dump (linac coordinates)

  COMMENT
    ASSIGN, PRINT="LCLS2scSS.print"
    BEAM, ENERGY=E0
    SET, SETSP, SETSPs ; SET, SETCUS, CUSOFF
    USE, (GUN,L0,LCLS2scC,LCLS2scSS)
    PRINT, FULL
    SURVEY, X0=Xgun, Y0=Ygun, Z0=Zgun, TAPE="LCLS2scSS_survey.tape"
    BEAM, ENERGY=Ei
    USE, (LCLS2scI,LCLS2scC,LCLS2scSS)
   !SAVELINE, NAME="LCLS2scSS", FILENAME="LCLS2scSS.saveline"
    PRINT, FULL
    TWISS, BETA0=TWSSi, SAVE, TAPE="LCLS2scSS_twiss.tape"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=ENERGY, &
      STYLE=100, SPLINE, FILE="LCLS2scSS", VMIN=0, VMAX=5
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, &
      STYLE=100, SPLINE, FILE="LCLS2scSS"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=DX,DY, &
      STYLE=100, SPLINE, FILE="LCLS2scSS"
  ENDCOMMENT

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

! HXR line (linac coordinates)

 !COMMENT
    ASSIGN, PRINT="LCLS2scH.print"
    BEAM, ENERGY=E0
    SET, SETSP, SETSPh ; SET, SETAL, ALOFF
    USE, (GUN,L0,LCLS2scC,LCLS2scH)
    PRINT, FULL
    SURVEY, X0=Xgun, Y0=Ygun, Z0=Zgun, TAPE="LCLS2scH_survey.tape"
    BEAM, ENERGY=Ei
    USE, (LCLS2scI,LCLS2scC,LCLS2scH)
   !SAVELINE, NAME="LCLS2scH", FILENAME="LCLS2scH.saveline"
    PRINT, FULL
    TWISS, BETA0=TWSSi, SAVE, TAPE="LCLS2scH_twiss.tape"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=ENERGY, &
      STYLE=100, SPLINE, FILE="LCLS2scH", VMIN=0, VMAX=5
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, &
      STYLE=100, SPLINE, FILE="LCLS2scH"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=DX,DY, &
      STYLE=100, SPLINE, FILE="LCLS2scH"
 !ENDCOMMENT

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

! HXR line to safety dump (linac coordinates)

  COMMENT
    ASSIGN, PRINT="LCLS2scHS.print"
    BEAM, ENERGY=E0
    SET, SETSP, SETSPh ; SET, SETAL, ALOFF
    USE, (GUN,L0,LCLS2scC,LCLS2scHS)
    PRINT, FULL
    SURVEY, X0=Xgun, Y0=Ygun, Z0=Zgun, TAPE="LCLS2scHS_survey.tape"
    BEAM, ENERGY=Ei
    USE, (LCLS2scI,LCLS2scC,LCLS2scHS)
   !SAVELINE, NAME="LCLS2scHS", FILENAME="LCLS2scHS.saveline"
    PRINT, FULL
    TWISS, BETA0=TWSSi, SAVE, TAPE="LCLS2scHS_twiss.tape"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=ENERGY, &
      STYLE=100, SPLINE, FILE="LCLS2scHS", VMIN=0, VMAX=5
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, &
      STYLE=100, SPLINE, FILE="LCLS2scHS"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=DX,DY, &
      STYLE=100, SPLINE, FILE="LCLS2scHS"
  ENDCOMMENT

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

! BSY dump line (linac coordinates)

 !COMMENT
    ASSIGN, PRINT="LCLS2scD.print"
    BEAM, ENERGY=E0
    SET, SETSP, SETSPd
    USE, (GUN,L0,LCLS2scC,LCLS2scD)
    PRINT, FULL
    SURVEY, X0=Xgun, Y0=Ygun, Z0=Zgun, TAPE="LCLS2scD_survey.tape"
    BEAM, ENERGY=Ei
    USE, (LCLS2scI,LCLS2scC,LCLS2scD)
    PRINT, FULL
    TWISS, BETA0=TWSSi, SAVE, TAPE="LCLS2scD_twiss.tape"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=ENERGY, &
      STYLE=100, SPLINE, FILE="LCLS2scD", VMIN=0, VMAX=5
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, &
      STYLE=100, SPLINE, FILE="LCLS2scD"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=DX,DY, &
      STYLE=100, SPLINE, FILE="LCLS2scD"
 !ENDCOMMENT

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

! DIAG0 diagnostic line (linac coordinates)

 !COMMENT
    ASSIGN, PRINT="DIAG0.print"
    BEAM, ENERGY=E0
    USE, (GUN,L0,HTR,DIAG0)
    PRINT, FULL
    SURVEY, X0=Xgun, Y0=Ygun, Z0=Zgun, TAPE="DIAG0_survey.tape"
    BEAM, ENERGY=Ei
    USE, (LCLS2scI,HTR,DIAG0)
    PRINT, FULL
    TWISS, BETA0=TWSSi, SAVE, TAPE="DIAG0_twiss.tape"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, &
      STYLE=100, SPLINE, FILE="DIAG0"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=DX,DY, &
      STYLE=100, SPLINE, FILE="DIAG0"
 !ENDCOMMENT

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

! Injector to A-line (linac coordinates)

  COMMENT
    ASSIGN, PRINT="LCLS2scA.print"
    BEAM, ENERGY=E0
    SET, SETSP, SETSPh ; SET, SETAL, ALON
    USE, (GUN,L0,LCLS2scC,LCLS2scA)
    PRINT, FULL
    SURVEY, X0=Xgun, Y0=Ygun, Z0=Zgun, TAPE="LCLS2scA_survey.tape"
    BEAM, ENERGY=Ei
    USE, (LCLS2scI,LCLS2scC,LCLS2scA)
    PRINT, FULL
    TWISS, BETA0=TWSSi, SAVE, TAPE="LCLS2scA_twiss.tape"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=ENERGY, STYLE=100, SPLINE, &
      FILE="LCLS2scA", RANGE=#S/ALWALL, TITLE="Injector to A-line", &
      VMIN=0, VMAX=5
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=rBETX,rBETY, STYLE=100, SPLINE, &
      FILE="LCLS2scA", RANGE=#S/ALWALL, TITLE="Injector to A-line"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=DX,DY, STYLE=100, SPLINE, &
      FILE="LCLS2scA", RANGE=#S/ALWALL, TITLE="Injector to A-line"
  ENDCOMMENT

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

! SXR from start of spreader (BSY coordinate system)

 !COMMENT
    ASSIGN, PRINT="BSY-LCLS2scS.print"
    BEAM, ENERGY=Ef
    SET, SETSP, SETSPs ; SET, SETCUS, CUSOFF
    USE, BSYLCLS2scS
    PRINT, FULL
    SURVEY, X0=Xf, Y0=Yf, Z0=Zf, THETA0=THETAf, PHI0=PHIf, PSI0=PSIf, &
      TAPE="BSY-LCLS2scS_survey.tape"
 !ENDCOMMENT

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

! SXR safety dump line from start of spreader (BSY coordinate system)

 !COMMENT
    ASSIGN, PRINT="BSY-LCLS2scSS.print"
    BEAM, ENERGY=Ef
    SET, SETSP, SETSPs ; SET, SETCUS, CUSOFF
    USE, BSYLCLS2scSS
    PRINT, FULL
    SURVEY, X0=Xf, Y0=Yf, Z0=Zf, THETA0=THETAf, PHI0=PHIf, PSI0=PSIf, &
      TAPE="BSY-LCLS2scSS_survey.tape"
 !ENDCOMMENT

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

! HXR from start of spreader (BSY coordinate system)

 !COMMENT
    ASSIGN, PRINT="BSY-LCLS2scH.print"
    BEAM, ENERGY=Ef
    SET, SETSP, SETSPh ; SET, SETAL, ALOFF
    USE, BSYLCLS2scH
    PRINT, FULL
    SURVEY, X0=Xf, Y0=Yf, Z0=Zf, THETA0=THETAf, PHI0=PHIf, PSI0=PSIf, &
      TAPE="BSY-LCLS2scH_survey.tape"
 !ENDCOMMENT

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

! HXR safety dump line from start of spreader (BSY coordinate system)

 !COMMENT
    ASSIGN, PRINT="BSY-LCLS2scHS.print"
    BEAM, ENERGY=Ef
    SET, SETSP, SETSPh ; SET, SETAL, ALOFF
    USE, BSYLCLS2scHS
    PRINT, FULL
    SURVEY, X0=Xf, Y0=Yf, Z0=Zf, THETA0=THETAf, PHI0=PHIf, PSI0=PSIf, &
      TAPE="BSY-LCLS2scHS_survey.tape"
 !ENDCOMMENT

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

! BSY dump line from start of spreader (BSY coordinate system)

 !COMMENT
    ASSIGN, PRINT="BSY-LCLS2scD.print"
    BEAM, ENERGY=Ef
    SET, SETSP, SETSPd
    USE, BSYLCLS2scD
    PRINT, FULL
    SURVEY, X0=Xf, Y0=Yf, Z0=Zf, THETA0=THETAf, PHI0=PHIf, PSI0=PSIf, &
      TAPE="BSY-LCLS2scD_survey.tape"
 !ENDCOMMENT

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

! HXR spreader to A-line (BSY coordinate system)

 !COMMENT
    ASSIGN, PRINT="BSY-LCLS2scA.print"
    BEAM, ENERGY=Ef
    SET, SETSP, SETSPh ; SET, SETAL, ALON
    USE, BSYLCLS2scA
    PRINT, FULL
    SURVEY, X0=Xf, Y0=Yf, Z0=Zf, THETA0=THETAf, PHI0=PHIf, PSI0=PSIf, &
      TAPE="BSY-LCLS2scA_survey.tape"
 !ENDCOMMENT

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

! Twiss plots (color)

 !COMMENT
    ASSIGN, PRINT="LCLS2sc.print"
    BEAM, ENERGY=E0
    USE, (GUN,L0)
    PRINT, FULL
    TWISS, COUPLE, BETA0=TWSS0, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=ENERGY, &
      TITLE="Gun + L0",&
      COLOUR=100, SPLINE=.F., FILE="LCLS2sc_color", VMIN=0, VMAX=0.12
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, &
      TITLE="Gun + L0",&
      COLOUR=100, SPLINE=.F., FILE="LCLS2sc_color", VMIN=0, VMAX=20
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPs ; SET, SETCUS, CUSOFF
    USE, (LCLS2scI,LCLS2scC,LCLS2scS)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=ENERGY, &
      RANGE=#S/ENDL1B, TITLE="Laser Heater + Coll0 + L1",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=#S/ENDL1B, TITLE="Laser Heater + Coll0 + L1",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=ENDL1B/BEGL2B, TITLE="BC1 + Coll1",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=ENERGY, &
      RANGE=BEGL2B/ENDL2B, TITLE="L2",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, &
      RANGE=BEGL2B/ENDL2B, TITLE="L2",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=ENDL2B/BEGL3B, TITLE="BC2 + Coll2",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=ENERGY, &
      RANGE=BEGL3B/ENDEXT, TITLE="L3 + Extension",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color", VMIN=0, VMAX=5
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, &
      RANGE=BEGL3B/ENDEXT, TITLE="L3 + Extension",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=ENDEXT/MQBP13, TITLE="Dogleg + BC3 + Match to Bypass",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, &
      RANGE=MQBP13/LTUSPLIT, TITLE="Bypass Line to SPREADER",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=LTUSPLIT/ENDSXX, TITLE="SPREADER to SXR Undulator",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=ENDSXX/#E, TITLE="SXR Undulator to Dump",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPh ; SET, SETAL, ALOFF
    USE, (LCLS2scI,LCLS2scC,LCLS2scH)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=LTUSPLIT/BEGHXR, TITLE="SPREADER to HXR Undulator",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=BEGHXR/#E, TITLE="HXR Undulator to Dump",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPd
    USE, (LCLS2scI,LCLS2scC,LCLS2scD)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=LTUSPLIT/#E, TITLE="SPREADER to BSY Dump",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    BEAM, ENERGY=Ei
    USE, (LCLS2scI,HTR,DIAG0)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=BEGDIAG0/#E, TITLE="DIAG0",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPs ; SET, SETCUS, CUSOFF
    USE, (LCLS2scI,LCLS2scC,LCLS2scSS)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=BEGSFTS/#E, TITLE="SXR Safety Dump",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPh ; SET, SETAL, ALOFF
    USE, (LCLS2scI,LCLS2scC,LCLS2scHS)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=BEGSFTH/#E, TITLE="HXR Safety Dump",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPh ; SET, SETAL, ALON
    USE, (LCLS2scI,LCLS2scC,LCLS2scA)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=rBETX,rBETY, VAXIS2=DX, &
      RANGE=Q50Q3[1]/ALWALL, TITLE="A-line", &
      COLOUR=100, SPLINE, FILE="LCLS2sc_color"
 !ENDCOMMENT

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

! Twiss plots (black & white)

  COMMENT
    ASSIGN, PRINT="LCLS2sc.print"
    BEAM, ENERGY=E0
    USE, (GUN,L0)
    PRINT, FULL
    TWISS, COUPLE, BETA0=TWSS0, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=ENERGY, &
      TITLE="Gun + L0",&
      STYLE=100, SPLINE=.F., FILE="LCLS2sc_color", VMIN=0, VMAX=0.12
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, &
      TITLE="Gun + L0",&
      STYLE=100, SPLINE=.F., FILE="LCLS2sc_color", VMIN=0, VMAX=20
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPs ; SET, SETCUS, CUSOFF
    USE, (LCLS2scI,LCLS2scC,LCLS2scS)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=ENERGY, &
      RANGE=#S/ENDL1B, TITLE="Laser Heater + Coll0 + L1",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=#S/ENDL1B, TITLE="Laser Heater + Coll0 + L1",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=ENDL1B/BEGL2B, TITLE="BC1 + Coll1",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=ENERGY, &
      RANGE=BEGL2B/ENDL2B, TITLE="L2",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, &
      RANGE=BEGL2B/ENDL2B, TITLE="L2",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=ENDL2B/BEGL3B, TITLE="BC2 + Coll2",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=ENERGY, &
      RANGE=BEGL3B/ENDEXT, TITLE="L3 + Extension",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color", VMIN=0, VMAX=5
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, &
      RANGE=BEGL3B/ENDEXT, TITLE="L3 + Extension",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=ENDEXT/MQBP13, TITLE="Dogleg + BC3 + Match to Bypass",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, &
      RANGE=MQBP13/LTUSPLIT, TITLE="Bypass Line to SPREADER",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=LTUSPLIT/ENDSXX, TITLE="SPREADER to SXR Undulator",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=ENDSXX/#E, TITLE="SXR Undulator to Dump",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPh ; SET, SETAL, ALOFF
    USE, (LCLS2scI,LCLS2scC,LCLS2scH)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=LTUSPLIT/BEGHXR, TITLE="SPREADER to HXR Undulator",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=BEGHXR/#E, TITLE="HXR Undulator to Dump",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPd
    USE, (LCLS2scI,LCLS2scC,LCLS2scD)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=LTUSPLIT/#E, TITLE="SPREADER to BSY Dump",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    BEAM, ENERGY=Ei
    USE, (LCLS2scI,HTR,DIAG0)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=BEGDIAG0/#E, TITLE="DIAG0",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPs ; SET, SETCUS, CUSOFF
    USE, (LCLS2scI,LCLS2scC,LCLS2scSS)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=BEGSFTS/#E, TITLE="SXR Safety Dump",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPh ; SET, SETAL, ALOFF
    USE, (LCLS2scI,LCLS2scC,LCLS2scHS)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=BEGSFTH/#E, TITLE="HXR Safety Dump",&
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPh ; SET, SETAL, ALON
    USE, (LCLS2scI,LCLS2scC,LCLS2scA)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=rBETX,rBETY, VAXIS2=DX, &
      RANGE=Q50Q3[1]/ALWALL, TITLE="A-line", &
      STYLE=100, SPLINE, FILE="LCLS2sc_color"
  ENDCOMMENT

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

 !CALL, FILENAME="LCLS2sc_area_plots.mad8"

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

  STOP

! ------------------------------------------------------------------------------
! working stuff
! ------------------------------------------------------------------------------

  COMMENT
    BEAM, ENERGY=E0
    USE, (GUN,L0,LCLS2scC)
   !VALUE, Zgun
    VALUE, Lastra
   !VALUE, DMSC0d[L]
   !VALUE, DPSC1d[L]
   !VALUE, DPSC2d[L]
   !VALUE, DPSC3d[L]
    MATCH, SURVEY, XS=Xgun, YS=Ygun, ZS=Zgun
     !VARY, Zgun,      STEP=1.E-6
      VARY, Lastra,    STEP=1.E-6
     !VARY, DMSC0d[L], STEP=1.E-6
     !VARY, DPSC1d[L], STEP=1.E-6
     !VARY, DPSC2d[L], STEP=1.E-6
     !VARY, DPSC3d[L], STEP=1.E-6
      WEIGHT, CIRC=1 !, ZS=1 !
      CONSTR, ASTRA,  CIRC=15.0
     !CONSTR, VV0H00, ZS=8.027407000E+00
     !CONSTR, ENDL1B, ZS=1.213386200E+02
     !CONSTR, ENDL2B, ZS=3.321632519E+02
     !CONSTR, ENDL3B, ZS=6.877196495E+02
      LMDIF, TOL=1.E-20, CALLS=10000
      MIGRAD, TOL=1.E-20, CALLS=10000
    ENDMATCH
   !VALUE, Zgun
    VALUE, Lastra
   !VALUE, DMSC0d[L]
   !VALUE, DPSC1d[L]
   !VALUE, DPSC2d[L]
   !VALUE, DPSC3d[L]
    BEAM, ENERGY=E0
    USE, (GUN,L0,LCLS2scC)
    PRINT, FULL
    SURVEY, X0=Xgun, Y0=Ygun, Z0=Zgun
    STOP
  ENDCOMMENT

  COMMENT
    SETPLOT, XSIZE=25, YSIZE=15
    ASSIGN, PRINT="LCLS2sc.print"
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPh ; SET, SETAL, ALOFF
    USE, (LCLS2scI,LCLS2scC,LCLS2scH)
    TWISS, BETA0=TWSSi, SAVE
    !PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY,&
    !  COLOUR=100, SPLINE, FILE="LCLS2sc_color", TITLE="R56 chicanes",&
    !  RANGE=DL21/TRIP4
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY,&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color", TITLE="Complete HXR",&
      RANGE=#S/DUMPFACE, VMIN=0,-3, VMAX=600,1
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=BKYSP0ha[1]/BXSP1hb[1], TITLE="HXR spreader dogleg",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color", VMIN=0,-1.19, VMAX=300,0.39
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=QBP35[1]/MUWALL, TITLE="HXR spreader to muon wall",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color", VMIN=0,-1.19, VMAX=300,0.39
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, &
      RANGE=Q50Q3[1]/MUWALL, TITLE="From HXR/BSY merge point to muon wall", &
      COLOUR=100, SPLINE, FILE="LCLS2sc_color", VMIN=0, VMAX=160
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=HXCEL46/DUMPFACE, TITLE="From last HXR undulator cells to dump",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color", VMIN=0,0, VMAX=120,1.59
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPs ; SET, SETCUS, CUSOFF
    USE, (LCLS2scI,LCLS2scC,LCLS2scS)
    TWISS, BETA0=TWSSi, SAVE
    !PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY,&
    !  COLOUR=100, SPLINE, FILE="LCLS2sc_color", TITLE="R56 chicanes",&
    !  RANGE=MM1B/DL2SC
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY,&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color", TITLE="Complete SXR",&
      RANGE=#S/DUMPFACEB, VMIN=0,-3, VMAX=600,1
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=BKYSP0sa[1]/BXSP3sb[1], TITLE="SXR spreader chicane",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color", VMIN=0,-1.19, VMAX=200,0.39
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=QBP35[1]/MUWALLB, TITLE="SXR spreader to muon wall",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color", VMIN=0,-1.39, VMAX=200,0.39
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY,&
      RANGE=MRGCUSXR/MM1B, TITLE="From Cu-linac/SXR merge point to LTUS",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color", VMIN=0, VMAX=160
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=SXCEL46/DUMPFACEB, TITLE="From last SXR undulator cells to dump",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color", VMIN=0,0, VMAX=160,1.59
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPd
    USE, (LCLS2scI,LCLS2scC,LCLS2scD)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, &
      RANGE=BEGSP/#E, TITLE="Spreader to BSY dump",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color", VMIN=0,0, VMAX=400,1.19
  ENDCOMMENT

  COMMENT
    SETPLOT, XSIZE=25, YSIZE=15
    ASSIGN, PRINT="LCLS2sc.print"
    BEAM, ENERGY=Ei
    USE, (LCLS2scI,LCLS2scC)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY,&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color",&
      TITLE="SC-linac QCM01 to end of L3",&
      RANGE=#S/ENDL3B, VMIN=0,-1, VMAX=400,0.6
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPh ; SET, SETAL, ALOFF
    USE, (LCLS2scI,LCLS2scC,LCLS2scH)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY,&
      RANGE=BKYSP0ha[1]/DUMPFACE, TITLE="HXR kicker to HXR main dump",&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color", VMIN=0,-2, VMAX=400,1
    BEAM, ENERGY=Ei
    SET, SETSP, SETSPs ; SET, SETCUS, CUSOFF
    USE, (LCLS2scI,LCLS2scC,LCLS2scS)
    TWISS, BETA0=TWSSi, SAVE
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY,&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color",&
      TITLE="SC-linac QCM01 to SXR kicker",&
      RANGE=#S/BKYSP4sb[1], VMIN=0,-2, VMAX=600,0.5
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY,&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color", &
      TITLE="SXR kicker to SXR main dump",&
      RANGE=BKYSP0sa[1]/DUMPFACEB, VMIN=0,-2, VMAX=250,1
    PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY,&
      COLOUR=100, SPLINE, FILE="LCLS2sc_color",&
      TITLE="SC-linac QCM01 to beginning of L2B",&
      RANGE=#S/ENDCOL1, VMIN=0,-0.8, VMAX=160,0.2
  ENDCOMMENT

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

  COMMENT
    BEAM, ENERGY=Ef
    USE, CCDLU
    MATCH, SURVEY
      VARY, BBCXDLU, STEP=1.E-6
      WEIGHT, XS=1
      CONSTR, CCDLUMID, XS=-10e-3
      LMDIF, TOL=1.E-20
      MIGRAD, TOL=1.E-20
    ENDMATCH
    Dmdw : DRIF, L=2.0
    USE, (Dmdw,CCDLU,Dmdw)
    SURVEY, Z0=-ZBCC/2-Dmdw[L], TAPE="survey.tape"
  ENDCOMMENT

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

  STOP
