TITLE, "LCLS: LCLS17MAR09 design" ! *** OPTICS=LCLS17MAR09 *** OPTION, -INTER, -ECHO, WARN ASSIGN, ECHO="LCLS17MAR09.echo" ! ============================================================================== ! Element naming conventions with the first 1-3 characters meaning: ! --------------------------------------------------------------------------- ! SOL.. = SOLenoid magnet (not fully modeled in this file - zero-length, etc) ! Q.... = Quadrupole magnet (normal quad, and always split into two halves) ! SQ... = Skew-Quadrupole magnet (45-deg rotated quad, always split into two halves) ! CQ... = Correction Quadrupole magnet (nominally set to zero field, always split) ! BX... = Horizontal Bend magnet (always split in two with suffixes "A" and "B") ! BY... = Vertical Bend magnet (always split in two with suffixes "A" and "B") ! WS... = Wire-Scanner transverse beam profile monitor ! PR... = screen-type Profile Monitor (transverse beam profile) ! YAG.. = YAG-screen profile monitor (transverse beam profile) ! BPM.. = Beam Position Monitor (various resolutions, see TYPE=...) ! RFB.. = RF Beam position monitor (<1 micron rms resolution) ! OTR.. = Optical Transition Radiation transverse beam profile monitor ! CTR.. = Coherent Transition Radiation measurement ! XC... = X-Corrector steering dipole ! YC... = Y-Corrector steering dipole ! SC... = Steering Coil package (X- and Y-Corrector dipole set) ! BL... = Bunch Length monitor (various types) ! IM... = Bunch charge (I=current) Monitor (e.g. toroid) ! TD... = Tune-up Dump (insertable copper block to stop beam) ! CE... = Collimator for Energy cuts (adjustable) ! CX... = Collimator for X position cuts (adjustable) ! CY... = Collimator for Y position cuts (adjustable) ! PC... = Protection Collimator (fixed aperture) ! VV... = Vacuum Valve ! FC... = Faraday Cup (measure charge) ! CR... = Cerenkov radiator ! AM... = Alignment Mirror ! PH... = Phase detector ! RST.. = Radiation STopper ! BFW.. = Beam Finder Wire in FEL undulator for segment alignment ! BTM.. = Burn-Through Monitor BCS device ! ============================================================================== ! ============================================================================== ! Modification History ! ------------------------------------------------------------------------------ ! 17-MAR-2009, M. Woodley ! Switch locations of YCUE1 and XCUE1 ... YCUE1 becomes YCUE2 (per P. Emma); ! change IM61 from INST to MARK (this toroid is no longer used and will now ! become "non MAD" in the Oracle "Elements" table); measured locations of ! some LTU/DMP correctors; add WSDL31 and WSDUMP ! 10-OCT-2008, P. Emma ! Eliminate old "ST1" safety-dump stopper (but keeping a marker there with its ! empty can) and rename old "ST2" to "ST1". Note that the new "ST2" (was "ST3") ! is not in the safety-dump line, but is in the x-ray line. ! 30-SEP-2008, M. Woodley ! Change all vacuum valves from INST to MARK (these devices will now become ! "non MAD" in the Oracle "Elements" table); rename "PVALVE" to "VV999"; ! remove references to XRAYBL ! 25-SEP-2008, M. Woodley ! Change all DBMARKers from INST back to MARK, since MARKs now show up in ! the Excel SYMBOLS file; change BPMBSY51 (used to be BPM460051T) from MONI ! to MARK ... the physical device is still there, but it won't be read out ! 18-SEP-2008, M. Woodley ! For XAL model generation: ! - split and change names of the 52-line wiggler sections (from B52WIG1-4 ! to B52WIG1A-B, B52WIG2A-B, B52WIG3A-B) ! - add TILT to definition of SQ01; ! for SYMBOLS file generation: ! - add CALL (normally commented out) to makeSymbols.mad ! 18-SEP-2008, M. Woodley ! Fix structure counts in computation of "gfac3"; fix Q52Q2 (don't divide ! length by 2, change polarity to "QD") ! 11-SEP-2008, P. Emma ! Update TWSS0 beta's based on real measurements and re-fit QA01-QE04 for match ! at OTR2 with laser-heater chicane and undulator ON (BETX=BETY=12 m at HTRUND). ! All XCs, YCs, and BPMs with "**4600...", "**9200...", and "**9210..." names ! now changed to "**BSY...". ! 10-SEP-2008, P. Emma ! Set TDKIK to 24" long (was 0). Also change "I50I1A" to IMBSY34 (TORO CA11 34). ! Also move a few dumpline components (BPM & corr's) slightly and swap IMDUMP ! with IMBCS4 per Rago. ! 08-AUG-2008, P. Emma ! Change names of 6 old BSY BPMs from BPM920020 to BPMBSY61, etc, and 4 old ! correctors from XC920020T --> XCCA1160, etc. ! 30-JUL-2008, H.-D. Nuhn ! Adjust z-locations of BFW01-BFW33, QU01-QU33, and BPM01-BPM03 to include ! precise length measurements. The adjusted lengths are: ! DF0: LQu-0.0417 -> LQu-0.04241 ! No quad + correction to maintain symmetry ! Lbr1: 6.96E-2 -> 6.889E-2 ! und-seg to quad [m] ! Lbr3: 9.117E-2 -> 9.111E-2 ! quad to BPM [m] ! Lbrwm: 3.6881E-2 -> 7.1683E-2 ! BFW to radiation monitor [m] ! 13-JUL-2008, P. Emma ! Set BYD1,2,3 to FINT = 0.57, based on magnetic measurements. Set up L3 MUX ! to get nearly 45-deg per S28 wire (all new quad settings from QM22 through ! QVM4). Update PCMUON ID. Move XCM13/YCM12 center to 14" downstream of QM13 ! center as done in tunnel in July to allow L2 feedback and QM13 quad scans. ! Change BXH1-4 FINT from 0.5 (guess) to 0.400 (measured) and increase Leff ! of BXH1-4 from 0.110 m (R. Carr from 2005) to 0.1244 m (measured). ! 25-MAR-2008, H.-D. Nuhn ! Remove Radiation Monitors (RDM) in the Undulator section. They will be ! handled as Non-MAD elements. ! 06-MAR-2008, P. Emma ! Move laser heater components by ~1" adjustments per Joe Steiber and remove ! YAG04 in prep. for Nov. '08 laser-heater installation. Matching now done ! and used here with laser-heater chicane AND undulator ON (FINT=0.5). Also ! switch BBh1 fit to use only DL1 at Ei=135 MeV (was L0b,DL1 at 64 MeV). ! 21-FEB-2008, P. Emma ! Move Q24701B, BPM24701, and BPM24901 based on tunnel tape measurements. ! (~1" move of Q24701B plus re-fit strength). Rename sec-28 wires and move ! RFB08 a bit. Add and update a few DBMARKers. Move XCEM4 0.402839 m upstream ! for Kay Fox. Change all DBMARKers from MARK to INST so that they show up ! in the EXCEL symbols file. Move YCDL1, XCDL3, YCDL3, YCDL4 per K. Fox ! E-mail of 2/21/08. ! 04-NOV-2007, P. Emma ! Move CX31, CY32, CX35, CY36, PCTDKIK1, PCTDKIK2, PCTDKIK3, and PCTDKIK4 ! downstream by half their length so that they have the right Z in the EXCEL ! files. Also modify LCLS_L3.xsif file (see comments there). ! 21-OCT-2007, P. Emma ! Locate YC5, XC6, XCA0, and YCA0 properly after installed. Move components ! in and around safety dump for J. Langton (new version of XRAYBL file). ! 04-OCT-2007, P. Emma ! Remove accidental extra YCA0 just after QA0. ! 28-SEP-2007, P. Emma ! Move many components in the BC2, L3, LTU, and dump areas based on input from ! R.F. Boyce, P. Cutino, T. Montagne, and J. Langton. WS21-24 become marker ! points named DWS21-24 (no longer in baseline design due to money limits). ! Some components in BC2 are left up to 0.3 mm offset in z (too small for ! effort). Remove K25_1c, 1d, and K28_5d 10-ft sections (not re-installed ! anymore - makes 164 10-ft, 25% power sections in L3 rather than 167). ! Add PH03 and remove MUSPLR. Added ST1, 2, 3, and severak BTM's plus moved ! SFTDMP from Z' = 717.514485 m to 719.7361 m. Also added 52-line optics as ! another output file. Also BX21-24 FINT changed from 0.5 to 0.633 ! (measured Sep. 2007). Also removed (descoped) CX37 and CY38 (now drifts ! DCX37 & DCY38). BYKIK becomes two series magnets -> BYKIK1 & BYKIK2. ! PCTDKIK now in 4 pieces (PCTDKIK1, 2, 3, 4). CTRWIG, PRXRAY, BYW1, BYW2, ! and BYW3 all descoped. Reduced LSPONT from 2.5 m to 1.5 m, removed VV35 ! and replaced with PVALVE (rename to VV35 soon?). BX21-24 Leff changed from ! 0.540 m to 0.549 m based on magnetic measurements (no z-shifts). Removed ! PRTDUND (descoped) and set PCMUO to 46" long (was 36" long). ! 07-APR-2007, P. Emma ! Move a few and add some components in the dump and safety dump for J. Langton. ! 17-MAR-2007, P. Emma ! Move a few BC2 components for Steve Score (IMBC2I, VV21, BPM24701, QM21, QM22). ! Set Leff of BYD1-3 to 1.452 m (was 1.399951 m) from J. Tanabe. ! 06-MAR-2007, P. Emma ! Change 'Q150kG' pole-tip radius to 16 mm (was 11.5 mm). Changed fit routine ! "MBChETA" to "USE, (L0b,DL1)". Was mistakenly (?) set to "USE, DL1", but ! with TWSS0 (64 MeV). ! 20-FEB-2007, P. Emma ! BXG bend radius changed from 0.1967 m to 0.1963 m based on magnetic ! measurements (per D. Dowell - FINAL!). Refit QG02 & QG03 and move DBMARK81 ! from Z = 2018.712185 m to Z = 2018.712486 m. ! 15-FEB-2007, P. Emma ! BXG bend radius changed from 0.193188 m to 0.1967 m based on magnetic ! measurements (per D. Dowell). Refit QG02 & QG03 and move DBMARK81 from ! Z = 2018.714822 m to Z = 2018.712185 m. ! 11-FEB-2007, P. Emma ! BXG effective length changed from 0.2660 to 0.2866 m based on magnetic ! measurements. Requires moving bend center a bit and re-fitting QG02-03. ! This also moves DBMARK81 (BXG entrance) upbeam from Z = 2018.725244 m to ! Z = 2018.714822 m. Remove "GTL_ON" flag (no longer used). ! 10-FEB-2007, P. Emma ! BXG edge angle changed from 26.76 to 24.25 degrees, and FINT from 0.45 ! to 0.492, and BXS edge angle from 7.5 to 7.29 degrees, all based on magnetic ! measurements. Move XC08/YC08 upbeam by 0.03 m, XCS1/YCS1 upbeam by 0.04 m, ! XC10/YC10 downbeam by 0.03 m, YC21303 downbeam by 0.1 m, all based on tunnel ! tape measurements. Change Q150kG quad Leff from 0.300 to 0.316 m (per R. Carr). ! Adjust zpos of QA11, Q21201, Q21301, QM14, and QM15 per Hans Imfeld ! list of final (constrained) alignment results (search for "dz_"). Move ! OTRS1 upbeam 2 cm until more precise number available (no adjustment left). ! Add DBMARK98 (SDMP) to list of reference points in z. ! 15-DEC-2006, P. Emma ! Move WS21,22,23 upbeam by 4 feet each to reduce possible quad-reflected dark ! charge. Set BXS effective length to 0.5435 m (was 0.5 m) after measurement ! and re-adjust QS01 and QS02 settings to compensate. ! 14-DEC-2006, H.D. Nuhn ! Add two inline valves in the undulator line: ! (1) VVU10 between US09 and US10, ! (2) VVU25 between US24 and US25. ! The exact locations are expected to require slight adjustment as ! the design is finalized. ! 10-DEC-2006, P. Emma ! Move BXKIK to 25-3d where it will fit after removing the 25-3d RF acc. ! structure. Also add OTR22 near BXKIK. Move XC01/YC01 1/8" (3.175 mm) upbeam. ! Change BXS FINT from 0.45 to 0.391, based on magnetic measurements (no associated ! quad setting changes necessary). Adjust post-BC2 component locations per S. Score. ! Move BPM2 to 0.892574 m from cathode per K. Fox. Move (~6 in.) XC24202, YC24203, ! YC24403, YC24503, YC24603, XC24702 per T. Osier (all in L2-linac file). ! 26-NOV-2006, P. Emma ! Move nomimal beam waist to between WS02 and OTR2, rather than at WS02, then ! rematch, which slightly changes many nearby quad settings. Add BL22. Also ! reduce effective length of the 12 "Q150kG" quads from 0.46092 m to 0.300 m ! in prep. for better number (with dLQA2 parameter). Finally, add x-ray ! beamline input file: XRAYBL.xsif. Move IMBC2O from QM22 area to upbeam of ! BXKIK (TCAV3 center still not agreeing with Jose?). ! 01-NOV-2006, H.D. Nuhn ! Name all 33 undulator segments individually: US01-US33. Use new names ! GIRD01-GIRD33 and USTBK01-USTBK33 to improve clarity of undulator line. ! 24-OCT-2006, P. Emma ! Remove QG01 quad from GTL beamline permanently. Change BX11,12,13,14 FINT ! from 0.5 to 0.387 (measured). ! 15-OCT-2006, P. Emma ! Set the new BSY correctors (XC6, YC5, XCA0, and YCA0) to more realistic ! locations based on Jim Turner's tunnel inspection. Move some BC2 stuff for ! Steve Score. Also move WS21,22,23 for Jose Chan. ! 21-SEP-2006, P. Emma ! Set BX01,02 FINT and FINTX to 0.45 based on mag. measurements (was 0.5). ! Adjust collimator gaps a bit, including PCPM1,2. Also move YAG03,04,S1,S2 ! 0.323" upstream so that YAG crystal center is defined as the MAD location, ! not the mirror as before (YAG01,02,G1 are a different design). ! 15-AUG-2006, P. Emma ! Set BYD1,2,3 full pole gap (hor. in this case) to 43 mm (was 23 mm). Remove ! IMPM toroid from safety dumpline - not needed. Set BPMUE1,2,3 res. to 10 um ! (was 5). Lengthen BC2 bends from 50 cm to 54 cm (CSR emit increase only 1%), ! but do not change overall length or R56. Add VV22 vacuum valve after BC2. ! 07-AUG-2006, M. Woodley ! Change "DVBm25cm" and "DVBm25cmc" to "DVB25cm" and "DVB25cmc" because of 8 ! character element name limit in skeleton decks (names that are longer than ! 8 characters are OK if they are unique in their first 8 characters ... they ! will be truncated at 8 characters in the skeleton decks); add new Database ! MARKer points to delineate skeleton deck boundaries; reinstate LI30 ! wraparound quads (QUAD LI30 615 and QUAD LI30 715) as quadrupoles (NOTE: ! uses negative drifts!); change "T850034T" to "I50I1A"; eliminate use of MAD ! element CLASS definitions ("inheritance"); add VALUE commands for MATRIX ! elements; add SAVELINE commands for use in skeleton deck generation ! 18-JUL-2006, H.D. Nuhn ! Corrected placement of all undulator break section components. Added marker ! for radiation monitor. Modified RF BPM to zero length, located at the center ! of the dipole cavity. ! 16-JUL-2006, P. Emma ! Move a few components in the VVX2 to BPMM14 region per J. Langton. ! 22-JUN-2006, P. Emma ! Move OTR11 36 mm downbeam, per J. Langton. Fix comments in undulator area and ! prepare for small adjustments of RFBPMs, etc from H.-D. Nuhn (temporarily change ! RFBPM length from 5 to 4 inches so that "Lbr2s" drift length is > 0). Set ! energy in safety-dump file to right value, rather than 6 MeV. Also eliminate ! TD21 (post BC2 dump) as unnecessary. ! 15-MAY-2006, P. Emma ! Adjust WS01,2,3 positions to match drawings and fix small errors in MAD file, ! and move BPM10 upbeam ~1 inch to its electrical center (center of strip length), ! all per R.F. Boyce. Remove GSDMP (gun-spec. dump) - not a real device. ! 09-MAY-2006, P. Emma ! Move SOL2 downstream by 3 mm per R.F. Boyce. Move PH02 upbeam by 0.1017 m, ! XC21302 upbeam by 14.2 mm, BL12 upbeam by 152.4 mm, and YC21303 upbeam by ! 63 mm, all per Joe Steiber. ! 26-APR-2006, P. Emma ! Move XC04-YC04 and XC05-YC05, per P. Stephens. ! ------------------------------------------------------------------------------ ! 23-MAR-2006, P. Emma ! Remove FCS1 as should have been done last time. Slide IMBC1O upbeam ! about 1 inch per Tom Borden. Move SC7, QA01, QA02, PH01, QE03, ! QE04, IM02, and VV02 per R.F. Boyce (2-inch is maximum move of these). ! 16-MAR-2006, P. Emma ! Replace laser-heater undulator SBEN's with MATRIX element. Changes vert. ! focusing causing QA01/02 25% stringer with much smaller betaY in L0-b. ! SUM(L) gets 6 microns shorter at BXH4B-exit. Add 4 BCS toroids (IMBCS1, ! IMBCS2, IMBCS3, IMBCS4). First two are DL2 comparator and 2nd two are ! main dump comparator. Remove OTRH1,2 until Nov. '07 installation. Add ! temporary YAG04 (until Nov. '07) very near future OTRH2 location. ! Change K of Laser-htr und. to 765-nm resonance (was 800 nm). Move SC2 ! to 2.366320 m in SUM(L) from cathode (was 2.65 then 2.5 m but won't fit). ! Adjust undulator BPMs, BFWs, and quads to Heinz-Deiter's spacing, add ! XCUn and YCUn (n=1-33) steering coils to each undulator quad center. ! Adjust undulator quad length from 7.4 cm to 7.8 cm (ESD 1.4-102) keeping ! all integrated gradients at 3.000 T. Add BL12, ceramic-gap type bunch ! length moinitor, just after BC1 (per T. Borden). Add PH02 phase monitor ! cavity after BC1 (per T. Borden). Move XC21302, YC21303, QM14, and QM15 ! per T. Borden, and put BPMM14 inside QM14. Place SCM15 (as XCM14/YCM15) ! between QM14 and QM15 (were seperate magnets on either side of doublet). ! Remove PRTD11 (not easily added to old SLC FF TD-23 stopper). Remove ! RFB01-06 from LTU (ID too small and RFB07-08 do the job). Swap YAGS2 ! and OTRS1 positions and adjust their locations to fit. Add R(5,6) of ! laser-heater undulator. Swap VV04 & SC8 and tweak Z per Wing. Tweak ! BPMS3, YAGS2, and OTRS1 positions per Wing. HTRMID renamed to HTRUND. ! Also moved SC11, SCA11, SCA12, YC21203, and XC21202 in LCLS_L1.xsif per ! P. Stephens. Finally, removed VV0A per Leif, and moved YC21303 upbeam ! of WS13 to make room for McCormick's fast ion chamber in front of TD11. ! 21-FEB-2006, P. Emma ! TCAV0 flange to flange is 0.6680236 m (was 0.55 m). Adjust z-pos of ! BPMS1, IMS1, BPMS3 and XC08/YCO8 per Wing and Cecile. Adjust SC3, YAG03, ! TCAV0, SC6, and add VV0a, all per P. Stephens. Add BFW's to undulator. ! 11-FEB-2006, P. Emma ! Change BXS gap to 34 mm for Rago to fit chamber (no X-focus effect). ! Add serial numbers for Q21201-601 for post-Aug-2006 magnets. Change ! BC1 dipole gap (43->43.28 mm). ! 04-FEB-2006, P. Emma ! Move DL1 and SAB devices per Cecile and Wing and move SOL2-center to ! 171.4 cm downstream of cathode (per Cecile and M. Palrang). Also change ! BC1 and BC2 dipole gaps (30->43 mm and 25.4->33.35 mm, respectively). ! 25-JAN-2006, P. Emma ! Move VV03 ~12 cm. ! 17-JAN-2006, P. Emma ! Fix a few corrector types to be consistemt with PRD 1.1-007-r1 (especially ! make SC2 type-1s-L0a (0.003 kG-m max.). Also add HGAPs and edge angles ! to BXKIK and BYKIK (does nothing but document, since these are off). Loosen ! HTRMID fit from exactly 10 m BETAX,Y to 8 "0.91Q17.7") and all LCAV's have type ("10ft", "9.4ft", ! and "DUALFEED"). Add type to BYD1,2,3. Remove BPM7 and YAG04. ! 23-NOV-2005, P. Emma ! Change QM11,12,13,14,15 to ETA-type quads, rather than QE-types. Was ! changed in PRD months ago, but somehow I failed to change it here. Adjust ! component locations in the X-band area per Jose Chan's drawings and ! add VVX1 and VVX2 around X-band structure. Remove BL31,32,33 (EO & ! unknown diagnostics). ! 14-NOV-2005, P. Emma ! Give all undulator quads thir own name (QU01...QU33). Move TDUND to ! dwnstr. side of RFB08 to have beam on RFB07 & 08 with TDUND stopper IN. ! Modify 135-MeV spectrometer to get more x-separation with linac ! (per Cecile). ! 09-NOV-2005, P. Emma ! Add YCM11 and use x/y corrector packages for type-1 correctors. ! Make various small adjustments to elements to be consistent ! with drawings. Add IMS1 toroid, YAGS2, and FCS1. ! 19-OCT-2005, P. Emma ! Correct the lengths of L0-a and L0-b based on Jose's new data. ! 18-OCT-2005, P. Emma ! Use 3.25Q20 quads for QUE1 and QUE2. Remove BLE02,3 (EO bunch length). ! Also add QG02/QG03 gun-spectrometer R-matrix fitting. ! 15-OCT-2005, P. Emma ! Setup file so that we always get output files for all of the branch lines: ! 1) 6-MeV spectrometer (GSPEC-...) ! 2) 135-MeV spectrometer (SPEC-...) ! 3) safety dump line (SFTDMP-...) ! 4) LTU-only (LTU-...) ! 5) entire LCLS to main dump (LCLS...) ! 13-OCT-2005, P. Emma ! Replace QUE1 and QUE2 with SLC FF Q18 magnets, and QDMP with 3.25Q20 magnets ! from the FFTB dumpline. All 3 were Q80kG types which are now not needed. Also ! add BPMQd in QDMP quad. Move YCD3 upbeam a few meters and add XCD3. ! 08-OCT-2005, P. Emma ! Small location variations of some components in the L0a L0b area per ! J. Langton and Paul Stephens. Add ZLIN00 ref. at L0-a entr. flange face. ! BX01/02 gap set to 30 mm, from 35 mm. ! 07-OCT-2005, P. Emma ! Add gun spectrometer (see GTL_ON) and adjusted L0a,b lengths and GTL ! positions. Removed BPM1, BPM4, and BPMG2 (can't fit them in, and not needed). ! 25-SEP-2005, P. Emma ! Add idealized and as-built L1-linac files, the latter to split L1-linac ! structures to add correctors at proper locations. The former is used ! for Elegant tracking where spitting the structures is undesireable. Also ! add VV21 valve in front of BC2 (added Sep. 27, 2005). ! 24-SEP-2005, P. Emma ! Adjust safety dump section to show locations of tripped off bends (i.e, ! (BYD1->DYD1, BYD2->DYD2, BYD3->DYD3), fix LBdm to include curvature, ! remove PCPM2 from main dump line (should be only in safety dump line), ! and name lower (main dump branch) aperture of PCPM1 as PCMP1L (lower ! hole of two-hole collimator on main and safety dump). ! 29-AUG-2005, P. Emma ! Change BX11,12,13,14 gap to 30 mm (was 1.05 inches). Updated corrector ! class table (under 13-JUL-2005) and adjusted class of all XC's and YC's. ! Also update QS01,2,3 K-values from Cecile. ! 19-AUG-2005, P. Emma ! Add 135-MeV spectrometer beamline (when BX01 is switched off). Based ! on Cecile's "Final_Aug05.MAD" file. Search for DL1_ON to turn on or off ! the spectrometer. Also add solenoid bucking coil, SOL1BK. ! 01-AUG-2005, P. Emma ! Shorten BXH1,2,3,4 bends from 0.126 m to 0.110 m. Set Q21301 to remnant ! integrated-gradient of 0.12 kG. Replace QB with a "QE" magnet (water ! cooled) rather than an "ET" magnet, which could get too hot and change ! alignment. Finally, adjust 21-1b,c,d z-positions so that their upstream ! ends are not moved w.r.t. existing locations (~9 mm upstr. shift due to all ! eyelets being 0.353" upstream of the "division lines" (per P. Stephens). ! 23-JUL-2005, P. Emma ! Add 9-foot long, 0.4-inch ID muon collimator after TDKIK beam-abort ! dump in LTU based on Stan Mao's PRD 1.9-100, pg. 9 (May 6, 2004). ! 22-JUL-2005, P. Emma ! Add back final undulator quadrupole after last segment to facilitate ! alignment of this last segment. Refit dump area to slightly larger ! betaX,Y and etaY, but still 1E-5 dE/E & sigE/E resolution. ! 16-JUL-2005, P. Emma ! Replace Q24701 & 901 with double QE magnets and QM21 & QM22 with FFTB ! style 46-cm magnets to allow 30-50 GeV SLC operations. Replace QE31-36 ! quads with "QE" type (were FFTB type). ! 15-JUL-2005, P. Emma ! Replace RFBUE1 & 2 with strip-line BPMs of ID>36 mm (BPMUE1 & 2) to stay ! clear of x-ray beam. QUE1 & 2 also must have ID>36 mm, so magnet-type was ! changed for these also, along with QDMP. Also introduce new LTU magnet ! types (Q150kG: ID=23 mm, Q80kG: ID=36 mm). ! Replace QA11 & QA12 with ET quads (were QE's). ! 13-JUL-2005, P. Emma ! Replace XC21202 (original XCOR) near Q21201 and put back XC21302 and ! YC21303 which were removed when the 21-2/3a RF sections were removed. ! Move TCAV3 to 25-2d for better sigZ resolution and adjust MUY in L3 to ! get back to 270-deg between TCAV3 and OTR30 (plus small MUX L3 tweak ! to get BX24A -> BX31A = n*360 deg - was 25 deg off?). Also add QEM3V ! "1.259Q3.5" injector-type vernier quad near QEM3 for slice emit-meas ! in the LTU on OTR33. Also change LCLS corrector types to: ! class-G: |BL| < 0.0010 kG-m (RF gun area corrector) ! class-1: |BL| < 0.0060 kG-m (injector corrector) ! class-4: |BL| < 0.0600 kG-m (nominal linac corrector) ! class-5: |BL| < 0.1200 kG-m (strong linac corrector) ! 09-JUL-2005, P. Emma ! Change XCA11,12, YCA11,12 to type-0 (was type-1 due to wrap-around), ! change YC5,XC6,XCA0 to type-2 (was no type before - don't know why), ! change XCE31,YCE32,XCE33,YCE34,XCE35,YCE36 to type-1 (was type-2 because ! type-2 was cut at 0.02 kG-m - 0.025 kG-m cut is better). ! 06-JUL-2005, P. Emma ! Rename TCAV1 to TCAV0 (in injector) and TCAVH to TCAV3 (in L3). Replace ! old 0.4-m BYW1,2,3,4 with SLC 3-bend wiggler with two 0.233681-m long ! magnets and one 0.467362-m long magnet, each seperated by 0.17373 m. ! Also convert BXKIK and BYKIK to SBEN (from DRIFT) using ANGLE=1E-12 ! so these show up in the EXCEL symbols files as turned off bends. ! Also remove PCDMP1, which was actually the same as PCPM1 and separate ! PCPM1 and PCPM2 as far as possible in safety dump. Then set BXPM1,2,3 ! to reduced field with 5.2-cm gaps (rather than 3.81 cm gaps). ! 29-JUN-2005, P. Emma ! Replace QA11 and QA12 L1-linac quadrupoles with QE-type magnets rather ! than QA-types. There are no more QA-types in the LCLS design. ! 27-JUN-2005, P. Emma ! Update undulator drifts lengths to 0.470 and 0.898 m (short,short,long). ! Forces "UNDSTOP" to be redefined as "UNDTERM" at slightly new z-location. ! 18-JUN-2005, P. Emma ! Move L0-a downstream about 8 cm, lengthen L0-a and L0-b due to dual feed ! modifications, add Cecile's dual-feed "DLFDa" and "DLFDb" marker points, ! and move components around between L0-a and L0-b. ! 02-JUN-2005, P. Emma ! Add comment to each fast-feedback corrector and identify loop number. ! Add spoiler to beam abort system (SBD). ! 31-MAY-2005, P. Emma ! Adjust QE04 through QM01 section z-locations by a few mm to back out ! 06-MAY-2005 changes and to accomodate new BPM lengths (per Leif and Wing Ng). ! 25-MAY-2005, P. Emma ! Move entire FEL undulator upstream by 2 m, remove odd break lengths in ! first 3 breaks, shorten section between end of undulator and start of ! dump by 5 m, and shorten section between beginning of dump line and ! dump's vertical bend magnets by 2 m. Also move saftey-dump disaster ! monitor ("SFTDMP") upstream by 1.5 m to allow room for X-ray PPS stoppers. ! (Note the reference points named: "UNDBEG","UNDEND", "DMPBEG", and "DUMP" ! are all removed now, and replaced by "UNDSTART", "UNDSTOP", "DLSTART", and ! "EOL", with different Z-locations.) Remove 1st QF quad from start of undulator, ! which requires rematching, forcing the CX37 and CY38 collimators to move. ! Also, moved the RFB07 to get 3 BPMs in a row over the 7-m drift from the ! last undulator matching quad to the first undulator segment. Finally, add ! BXKIK horizontal kicker magnet just downbeam of sec-25 TCAV for off-axis ! bunch length meas on 25-9 screen. ! 06-MAY-2005, P. Emma ! Adjust QE04 through QM01 section z-locations by a few mm due to unfortunate ! adjustments by designers when they changed the length of RST1. ! 04-MAY-2005, P. Emma ! Reverse the Nov. 05, beta swap by (approximately) reversing the signs ! of the 6 quads: QA01-2, and QE01-4, in order to get betaX back to 30 m ! from 12 m at the L0-b input coupler. This so we can measure slice ! x-emittance at WS02 wth QE03. ! 05-APR-2005, P. Emma ! Change safety dump layout to Saleski's Nov. 10, 2004 layout, including ! BYPM1-3 becoming BXPM1-3 for horizontal safety bends. PCDMP1 moved ~1 m ! to be consistent with new PCPM1 location (same collimator body). ! 23-MAR-2005, P. Emma ! Make TCAV1 and TCAVH into LCAV types, rather than DRIFTs, so that the ! xtffs2symbols.m program recognizes them and places them in the EXCEL file. ! 21-MAR-2005, P. Emma ! Move elements around in the QE04-QM01 area by a few cm based on the CAD ! layout by Wing Ng and Leif Eriksson. Re-fit WS01-03 beta/alpha. ! 01-MAR-2005, P. Emma ! Set bore radius of Xgamma injector quads to 16 mm (was 13.75 mm), per ! Schmerge EXCEL list, and also R. Carr vendor bid document. ! 17-FEB-2005, P. Emma ! Rematch injector to Cecile's new 1-nC Parmela run (not much different) ! called 'LCLS_end_L0a_nominal.dat'. Remove L0SHIFT and move move L0WAKE ! to just after L0a and rename it L0aWAKE, since we start tracking at end ! of L0a now, rather than L0b. ! 03-FEB-2005, P. Emma ! Use new SPPS-chicane-like tweaker quads ("2.1Q5.87") in BC1 and BC2 ! and adjust the locations of CQ11,12 quads to dZ=0.40005 m from BX11-center ! to CQ11-center (and from BX14-center to CQ12-center, backwards), for ! Joe Stieber's BC1 interference problems. BC2 not engineered yet, but ! CQ21 and CQ22 now moved to 2-m from outer bends (was asymmetric - ! see 13-NOV-2001). Move BPM3 upstr. 2 cm (per Cecile). Move S2 upstr. ! 5 mm (per Cecile). Add VV02 and rename old-VV02 and old-VV03 to VV03 ! and VV04 (per Cecile). ! 18-JAN-2005, P. Emma ! The steering correctors I would like to have well calibrated ! (in kG-m of integrated dipole field) prior to installation at ! the level of <1% accuracy, if possible. (sent to Rago in Fall 2004) ! DL1-Area: XC05 & YC05 ! BC1-Area: XCA12 & YCA11 ! BC2-Area: XC24702 & YC24703 ! LTU-Area: XCVM2 & YCVM1 ! 01-DEC-2004, P. Emma ! Move BC1-area devices per Bill Brooks list: ! 1) YCM12 relocated downstream to 21.233 m (was 21.055 m) ! 2) XCM13 relocated downstream to 21.904 m (was 21.726 m) ! 3) IMBC1O relocated upstream to 22.500 m (was 26.576 m) ! 4) OTR12 relocated upstream to 23.900 m (was 24.195 m) ! 5) XCM14 relocated upstream to 26.988 m (was 27.242 m) ! 6) YCM15 relocated downstream to 28.000 m (was 27.599 m) ! 22-NOV-2004, P. Emma ! Move gun/injector devices in z to be consistent with Cecile's list. This ! moves most devices from the gun solenoid, S1, to BPM5 in quad QA02. Also ! update "LQx" quad length from 10.7 cm to 10.8 cm, per J. Schmerge. ! 17-NOV-2004, P. Emma ! Move entire injector beamline 12.100 mm downstream in a parallel direction ! to the main linac axis. This because the Q20901 quad (not in this file ! but used as a tunnel reference) was found to have a MAD-file z-location ! 12.100 mm too far upstream and the injector was already laid out, so we will ! preserve the 3.428107-m distance between Q20901-center and the point of ! intersection of the LCLS injector (with BX01 off) with the SLAC linac, by ! moving the injector beamline 12.100 mm downstream (see ZOFFINJ). ! 04-NOV-2004, P. Emma ! Set cathode distances to L0-a and L0-b structure centers and the QA01 and ! QA02 quadrupole centers so that they agree with Cecile's Parmela files. ! Cathode to L0-a CENTER = 2.925052 m ! Cathode to QA01 CENTER = 4.652654 m ! Cathode to QA02 CENTER = 4.957554 m ! Cathode to L0-b CENTER = 6.866150 m (Cecile's file changed to this L0-b value) ! Also (approximately) reverse signs of the 6 quads: QA01-2, and QE01-4, in order ! to get betaX from 30 m down to 12 m at the L0-b input coupler so the RF kick ! there produces ~6% x-emiitance growth rather than ~15% (according to Cecile). ! Add L0a 3-m RF section to injector, rather than the 3-m drift that was used. ! Set laser-heater chicane bends to 12.6 cm (added 2.6 cm) using "dLbh" parameter. ! Finally, add mid-points to the L0-a and L0-b RF sections to more easily see ! their (x,y,z) coordinates. ! 21-OCT-2004, P. Emma ! Set laser-heater chicane dispersion to 2.5 cm (was 2.0 cm) for Roger Carr ! and Lynn Bentson (QE01-QE04 quads get somewhat weaker). Also update FEL ! undulator quad effective lengths to 7.4 cm (was 5 cm) and set gradients ! to 40.54 T/m (was 60 T/m) to keep the 3.0 T integrated gradients. ! 08-OCT-2004, P. Emma ! Move CQ11 and CQ12 BC1 quads to exact location as in Joe Stieber's drawings ! (519E-6 m shifts). Move OTR11, CE11, and BPMS11 (in BC1) to same as Joe's ! drawings (~few cm shifts) and use same diagnostics package in BC2, but with ! a short drift preceeding it, which might be changed later. Also shortened ! PCMUON from 5 to 3 feet, according to Lew Keller's new design and added ! Lew's powered magnetic muon spoiler in the saftey-dump line. Add "TILT" to ! QSM1 (got lost?), since it is a skew-quad (but nominally off). Fixed ! 'LCLS_L3.xsif file', which had typo using K25_2b,c,d where K25_1b,c,d actually ! are (no actual effect though, since these are identical sections). ! 24-SEP-2004, P. Emma ! Set final energy to 13.64 GeV for new undulator parameter of K=3.500 and 6.8-mm ! gap. This puts BC2 energy at 4.300 GeV (from 4.540 GeV), which adds one spare ! klystron to the L2-linac. L2-phase now -41.4 deg (rather than -40.8 deg) and ! L3-linac phase now at crest (0 deg rather than -13.6 deg). Also specify half-gap ! widths for all LTU collimators (lengths already specified). Finally, remove ! soft-bend in dumpline (replaced with slightly less drift length such that ! "DUMP" face coordinates remains unchanged - Y & Z). ! 21-SEP-2004, P. Emma ! Move CQ11 and CQ12 closer together by ~15 cm each (i.e., each ~15-cm farther ! from their adjacent dipole. Now each is exactly 30 cm in Z from adjacent dipole. ! Also calculate BMIN1 based on drift, rather than the reverse. ! 16-SEP-2004, P. Emma ! Move Q21201 downstream by 0.035512 m for better fit of X-band structure. ! Move X-band structure upstream by 0.016491 m for Bill Brooks. Move IMBC1I ! toroid from BX11 face to just 8 cm downstream of Q21201. Move YC21203 and ! XCM11 to between Q21201 and QM11 as 4-coil combined x/y corrector. Verified ! all 22 "ZLIN..." markers, from ZLIN01 to "DUMP" - all OK. Remove PRWIG, ! since it is now called PRXRAY and placed in the Y-wiggler. ! 17-AUG-2004, P. Emma ! Comment out Z0=-14.101382 survey line because I don't remember what it's for. ! Turn on realistic L2 and L3 linac XSIF-files, rather than idealized files. ! 13-AUG-2004, P. Emma ! Move QM11 downstream by 0.1828 m to make a bit more room for the 60-cm ! X-band structure. ! 22-JUN-2004, P. Emma ! Change BC1 length for longer central drift to accomodate diagnostics. ! Joe Steiber says: move BX12 moved -0.165100 m (-6.5") and BX13 moved ! +0.165100 m (+6.5"). This gives us 0.508584 m (20.023") to work with. ! This requires a new BC1 bend angle. ! 05-MAY-2004, P. Emma ! Change QM11, QM12, and QM13 to QE-type quads, rather than 1Q5.6-types and ! increase surrounding drifts accordingly (0.0481 m quad length difference). ! This should have been done a few months ago, but somehow got missed. Now ! there are no more 1Q5.6 quads anywhere in the LCLS. Re-order BC1 and BC2 ! diagnostics BPM, coll, OTR and spread to get 10-cm space between each. ! 04-MAY-2004, P. Emma ! Add 7 "fixed points" in the LTU/undulator/dump-line area to document precise ! locations for future beamline comparisons. These fixed points (as those termed ! "ZLIN..." in the linac) are to be maintained in X,Y,Z,THETA,PHI, and PSI, ! unless an intentional change is made and clearly documented in the comments ! above (and below - see "ZLIN..." section). ZLIN08a removed since it was no ! longer in the beamline anywhere. ! 19-APR-2004, P. Emma ! Adjust matching upbeam and downbeam of BC2 to get slightly better phase advances ! across WS21-24 wires. Also reversed K1 signs of QM22 and Q24901 quads to get ~30% ! weaker strengths (were the tightest alignment tol quads in the area). Finally, ! slide OTR30 downstream by 4 cm to center it between XCDL3-exit and QDL33-entrance. ! (Also put MDL2M fitting above ML3DL2 - was above MDL2T). ! 16-APR-2004, P. Emma ! Re-model FEL undulator with R-matrix to include natural y-focusing and ! set =30 m using 60 T/m QF and QD gradients (H.-D. Nuhn). Also add ! 1st three undulator special break lengths, then re-match and save. ! Change nominal FEL e- energy to 14.077 GeV with K = 3.630 (H.-D. Nuhn). ! 13-APR-2004, P. Emma ! Undulator "center" is now at 583 m from S100 rather than 532 m. This also ! changes "YF" from 0.009755 m to 0.009738 m to get S100 at Y=0 and changes the ! BY1/BY2 bend angles slightly. This change should have been made on 08MAR04 ! but was missed. Also change LTU coordinates print and survey output file names ! from FFTBLCLS... to LTU-LCLS..., as preferred by T. Montagne. Also move MVBEND ! fitting subroutine to just before ML3DL2, rather than just before MUNDP. Also ! add S100_HEIGHT to Earth's radius to refine vertical bend determination (added ! late: April 16, 2004). ! 24-MAR-2004, P. Emma ! Add one undulator RFBPM just after last undulator segment (not linac ! responsibility) and set undulator RFBPMs at proper positions rather than ! in centers of quads. Move IMUNDO downstream of undulator-exit by ~15 m ! (was < 1 m) and move dump-system upstream by ~8 m so that VV36 is 404 m ! downstream of the RSY-wall. Change PCMUON from 4-ft length to 5-ft length. ! Change BC1-screen to OTR and rename it from PR11 to OTR11. Make all 11 ! injector quads (E>60 MeV) into "XGamma" type (10.7 cm long). Add L0b ! 3-m RF section for 64->135 MeV acc. (still ignore L0a), and move TWSS0 ! beam location to L0a-exit (Parmela TWISS output at L0a-exit now). ! 08-MAR-2004, P. Emma ! Lengthen LTU emittance diagnostic section by ~34 m to get undulator to start ! at 517 m from S100. Also add ~40-m undulator exit section with minimal, ! low-cost elements, to possibly be used as a future undulator extension. ! Note, S100 to outer face of research-yard (RSY) wall is 935 ft exactly, ! or 284.988000 m (updated Sep. 29, 2004 -PE). Also add slice-Y-emit meas ! OTR33 (renamed old slice-E-spread OTR33 to OTR30). ! 02-MAR-2004, P. Emma ! Move dump upbeam about 6 m and move final safety permanent magnets ! downbeam about 20 m and add 2 PC's upbeam of BYPM dipoles. ! 26-FEB-2004, P. Emma, J. Schmerge ! Rename some injector elements from gun to 21-1b section. ! 23-FEB-2004, P. Emma ! Shift injector elements around according to Lynn Bentson's changes. These ! changes are restricted to the area from gun to entrance of L1-linac. ! 22-JAN-2004, P. Emma ! Redefine staion-100 (S100) as Y=0 as suggested by Catherine LeCocq. ! Also dump LTU file starting near 50Q1, rather than at 50B1. Note ! S100 is 77.643680 m above its local sea level. ! 13-JAN-2004, P. Emma ! Adjust alignment coordinates of LTU area to Catherine LeCocq's conventions. ! This sets the station-100 (S100) height at Y=77.643680 m, the pitch at ! -4.760 mrad (unchanged) and the Earth's mean radius at R=6372.508025 km. ! These changes slightly adjust the height of the undulator and the angles ! of the vertical bends (BY1 and BY2). Also we changed LTU to allow space to ! keep the existing VAT valve at the start of FFTB/LTU (see below). ! Added 30 cm between WALL and YCVM1, subtracted 6 cm from the drift between ! YCVM1 and QVM1, or: ! Device Old Coordinate/m New Coordinate/m ! YCVM1 176.11 176.41 ! QVM1 176.74 176.98 ! QVM2 177.70 177.94 ! XCVM2 178.18 178.42 ! BV1 178.63 178.87 ! These moves allow us to keep an existing VAT valve at the start of FFTB/LTU. ! 05-JAN-2004, P. Emma ! Move single beam dumper (BYKIK and TDKIK) from last bend module (DX37-38) ! into 2nd bend module (DX33-34) so that dump will be inside BSY enclosure ! where shielding requirements are much easier. This limits the spontaneuos ! undulator to <5 m in length (was limited to <12 m). ! 15-DEC-2003, P. Emma ! Add laser-heater undulator model to include focusing effects - rematch. ! 06-DEC-2003, P. Emma ! Move correctors, etc. to realistic location in LTU according to Davies ! list. ! 01-DEC-2003, P. Emma ! Use effective path length for BX31,32,35,36 bends rather than effective ! core length (adds 8.3 microns to bend length). Change optical fitting ! in DL2 to ignore vertical E-wiggler-chicane (EWIG). Lengthen heater ! undulator by 0.025 m for a 10.5 period length (=0.525 m), and re-match. ! 19-NOV-2003, P. Emma ! Change e- dump for Stan Mao. Reduce length of powered Y-bends from ! 1.5 m to 1.4 m, use 5-deg total powered-bends with 3 bends rather than ! 4, use 3 perm-magnet bends rather than 2, and re-fit optics. ! 14-NOV-2003, P. Emma ! SLide BX01/BX02 bends farther apart by 24" total, move QM01,2,3,4 to ! accomodate this, and fit BETX<1.7 m, BETY<8 m at OTR4 which is now ! just upbeam of QB. All this for Lynn Bentson. ! 13-NOV-2003, P. Emma ! Add Laser-Heater System (LHS), including chicane, between QE02 and QE03. ! L0-b slides upbeam by 12 cm, QE03-04 slide downbeam ~1.5 m, TCAV fits ! after LHS, WS01-WS03 separation goes from 4.33 m to 3.9 m (see LWS01_03), ! QE01-04 quads become 10-cm new-GTF types, OTR3 gone, WS02 does not move. ! 10-NOV-2003, P. Emma ! Add 8 RF-BPMs ("RFB...") just upstream of 30-m undulator extension. Add ! 5 new toroids ("IM...") just before BX31, just after BX36 (comparator), ! at TDUND, just after FEL-undulator, and in dump line. Add X-ray stripe ! vertical chicane and screens for E-spread meas. in LTU. Add EO, OTR, and CTR ! bunch length monitors just after BX36. Point to possible future spontaneous ! undulator location in LTU (no real device in baseline for now). Also ! set LTU coordinates from station-100 (S100) and set vertical bends to get ! level system at center of FEL-undulator, including 30-m extension (11-Nov-03). ! 04-NOV-2003, P. Emma ! Update corrector placements in LTU based on simulated steering. ! Add YCA0 to BSY (near QA0 upstream of WALL), if easy to add. ! 28-OCT-2003, P. Emma ! Replace old FFTB-DL2 design with much longer LTU (Linac-To-Undulator) ! beamline, with multiple undulator branch point options. Also add ! 129-m undulator model with 30-m pre-extension and e- dump line. ! Change nominal energy at 1.5 Angtsroms to 14.100 GeV with ! =25 m in undulator. ! 16-OCT-2003, P. Emma ! Add a few BPMs in the DL1 area for better steering and move a few ! DL1 XCORs and YCORs approximately to where Lynn's drawing show them. ! Also remove CE01 from near QB in DL1. ! 06-OCT-2003, P. Emma, C. Limborg ! Replace QA01 and QA02 15-cm long L0-quads with two 6-cm long GTF-type ! quads. Setup matching using initial beta functions at L0a-exit from Cecile. ! Add to naming convention above: "CX" as x collimator and "CY" as y ! collimator. ! 16-JUL-2003, P. Emma ! Improve location of X and Y correctors and BPMs in the DL1, and BC1 ! areas, based on simulated steering. Only done from QE01 to undulator, ! not including L0-linac area, and no moves made in BC2 or DL2 areas, ! but 2 XCOR's and 2 YCOR's removed from centers of BC1 and BC2 ! chicanes, because Elegant steering shows they were not needed, and ! BPMWIG was added just dnstr of SC-wiggler which has small aperture. ! NOTE: Do not use XC460034, XC460036, or XC921010, AND YC460035, ! YC460037, or YC921010 for steering: Get BAD results in Elegant. ! 15-JUL-2003, P. Emma ! Add QA01 & QA02 quads to injector at 64 MeV point according to Cecile's ! new 135-MeV injector design. ! 09-JUL-2003, P. Emma ! Readjust parameters for 135 MeV injector output. New RF phases, reduced ! X-band voltage (22->19 MV), X-band phase now at -160 deg, new BC1 & BC2 ! strengths, loosened jitter tolerances, especially for X-band RF phase ! (was 0.3 deg, now 0.5 deg). No elements were moved, except 2 quads added ! in injector at 64 MeV point. Only operational were parameters changed. ! 10-JUN-2003, P. Emma ! Move OTR6 close to WS03 (was 1-m dnstr.), rename B1WA... to BW1A..., ! remove OTR adjacent to OTR4 (was almost identical), add WS04 back near OTR4, ! SC-wig gap increased by 2 (to 1-in), add PRTD11, PRTD21, PRTD31 screens on ! TD11, TD21, and TD31, add dump of expected fit-OFF penalty functions, plus ! clean up and update of fits results. ! 01-MAY-2003, P. Emma ! Lengthen BC2 bends from 0.4 m to 0.5 m, increase center BC2 drift from 0.5 m ! to 1 m, and take up this length by reducing the two drifts after B24B. Bend ! magnet name changes from 1D15.7 to 1D19.7. Also add MTWSSC fit call in ! string of fit routines. ! 17-MAR-2003, M. Woodley ! Shorten DM23B drift length to compensate for fix of 14-AUG-2002; rematch ! L3 optics; add "instrumentation section" (~31 m long ) comprised of ! undulator FODO cells immediately upstream of undulator ! 14-AUG-2002, P. Emma ! Fixed bug where BC2 drifts were LDo?/cos(0), rather than ../cos(AB21); ! also update settings around BC2 after new fit ! 10-APR-2002, M. Woodley ! Correct location of 901 quads in LI25-28 (!); change BC2 bends from 1D30.5 ! to 1D15.7; change K21X name to K21_X; remove WS04 (use OTR8); remove WS11 ! (use PR11 OTR); add PR12 OTR in BC1/ED1; remove WS25 (use PR21 OTR); ! replace WS31 with PR32 OTR; add PR33 OTR in DL2/ED2; add TYPE information ! for PROFs (PHOSPHOR or OTR) and MONIs (resolution); create seperate ! (external) input files for L2 and L3 ... one set contains "idealized" ! layouts with non-split accelerator sections and correctors located at ! structure entrances, while a second set contains the as-built layouts with ! split structures, wraparound correctors, etc. ! 14-FEB-2002, M. Woodley ! Add diagnostics in L0/DL1 area per D. Dowell spreadsheet; run optics such ! that "sumL" is accumulated distance from cathode ! 15-JAN-2002, M. Woodley ! For parts list generation: change wire scanners to WIREs; change profile ! monitors to PROFs; change bunch length monitors to BLMOs; change charge ! monitors to IMONs; change collimators to RCOLs; change dumps to INSTs; ! added TYPE="SC_WIGG" to wiggler SBEN definitions; split DW2 in half and ! added WIGbeg, WIGmid, WIGend MARKers ! 29-NOV-2001, P. Emma ! New input beam from Cecile with 120 MV/m at gun, 18 MV/m in L0a, and ! 30.5 MV/m in L0b. Now converging beam at L0-exit. Beta's in DL1 and ! BC1 now more like 07-NOV-01, but L1 FODO sign-flipped w.r.t. 07-NOV. ! Still need better L1-entrance and L2-entrance matching conversion. ! 26-NOV-2001, P. Emma ! Tweak matching through DL1 and BC1 to reduce CSR? ! 15-NOV-2001, M. Woodley ! New DL1/injector design: 35 degee off-axis injection, load-lock/gun/L0 ! moved upstream, more space between L0 sections, larger betas at WS02, ! fewer quads to match through DL1 bend, reverse polarity of L1 quads; add ! 55 cm transverse deflecting structure; rematch to Emma's latest BC1 ! optics ! 13-NOV-2001, P. Emma ! Move BC2 CQ21 and CQ22 to better locations within BC2 (mostly CQ21 goes ! 4 m past B21 to get bigger etaX/betaX ratio) ... rematch BC2 area ! 07-NOV-2001, P. Emma ! Move BC2 superconducting wiggler upstream by one quad to get betaX smaller ! in wiggler (reduces ISR emittance growth, plus allows better BC2 CSR ! match); make all drifts, which are downstream of and close to bends, of ! TYPE="CSR"; set MUX from B24 to B31 = 0 for better BC2-DL2 CSR emittance ! cancellation ! 23-OCT-2001, P. Emma ! Add a pre-BC2 one-period superconducting wiggler to kill the CSR micro- ! bunching ! 13-AUG-2001, P. Emma ! Replace double-chicanes with single, long chicanes to beat high-frequency ! CSR ! 02-JAN-2001, P. Emma ! Tweak R56 of BC2-2 from 3.60 mm to 3.55 mm to get 22 um rms final bunch ! length, rather than 21 um; clean up this file ! 06-DEC-2000, P. Emma ! Re-match end-of-L0 quads to Patrick's 100000-particle Parmela beta ! functions ... had to increase drifts between QE01-2,3,4 and reduce BMIN0 ! from 1 m to 0.733855 m (WS02 sig=50 microns now) which moves WS01-2-3 ! closer together accordingly - plus slightly shorter LMED so that length to ! DL1END is unchanged ... this now allows matching either JR beam or PKR ! beam ! 25-OCT-2000, P. Emma ! Tweak basic compression parameters to get more spare klystrons (L1phase ! from -38.479 deg to -37.824 deg, L2phase from -42.963 to -42.528 deg, ! R56(BC1) from (24.012+11.500) mm to (24.807+11.900) mm, R56(BC2) from ! (18.40+3.50) mm to (18.923+3.600) mm ... TRACKED in Elegant: gives 16% CSR ! emittance growth total ! 22-OCT-2000, M. Woodley ! Change sign of BC1 and BC2 chicanes (bend away from the aisle); adjust ! horizontal phase advance of L3 to get 3*360 degrees between last bend ! of BC2 and center of QL32 in DL2; define CSR drifts for translation to ! ELEGANT; change "INJ45" back to "DL1" ! 21-OCT-2000, P. Emma ! Change BC2 beta's to reduce CSR emittance growth (betax=7 m, alphax=-1.1 ! at B28B-exit) and adjust both BC2 chicanes for same total R56, but ! R56(1)=18.4 mm, R56(2)=3.5 mm (~ 20-OCT values) ! 13-OCT-2000, P. Emma ! Change BC1 beta's to reduce CSR emittance growth (betax=1.2 m at B18B-exit) ! and adjust both BC1 chicanes for same total R56, but R56(1)=24.012 mm, ! R56(2)=11.500 mm; add a few MARKers, like XBEG and XEND ! 10-OCT-2000, M. Woodley ! Move DL1 line to 3 feet from injector tunnel wall; tweak length and ! location of X-band section; change BC1 to double chicane system; adjust ! horizontal phase advance of L2 to get 7*180 degrees between last bend ! of BC1 and last bend of BC2; add vertical bend system between DL2 dogleg ! and ED2 emittance diagnostic section to bring beamline level; R56=0 ! optics for DL2 dogleg ! 31-AUG-2000, P. Emma ! New compression parameters based on optimizer (e.g. sigZ(BC1)=200 um) ! 03-AUG-2000, P. Emma ! Match injector for Jamie Rosenzweig input beta functions (i.e. ! "thermal1_jr.sdds"); add X-band to BC1 entrance; re-tune BC1 & BC2 R56 to ! accomodate different initial beam ! 24-JUL-2000, M. Woodley ! Verify that all fitting results have been propagated into element ! definitions; define dummy quads for matching L1/L2/L3 phase advance per ! cell (coasting) ! 20-JUL-2000, P. Emma ! Add TCAVPROF screen near H25901; reset R56(BC2-1)=26.0 mm (BB21=10.9.. kG) ! 19-JUL-2000, M. Woodley ! Remove 25-5a section ... increase gradient on 25-5b; add 8' transverse ! deflecting cavity at 25-5a for bunch length measurement; adjust phase ! advance per cell of L3 linac from 30 to 33.4 degrees/cell to get 270 ! degrees of vertical phase advance between the transverse deflecting cavity ! at 25-5a and PR31 in DL2 ! 05-JUL-2000, P. Emma ! Added 1st-guess zero-length correctors to make ELEGANT steering work; ! reduce BC2-to-L3 quad strengths to reduce chromatic dilution and rematch; ! fix effective length of DL1 bends ! 27-APR-2000, M. Woodley ! From L0 exit to undulator entrance; 45 degree off-axis injection; location ! of injection line wrt off-axis tunnel per P. Stephens ! ============================================================================== ! initial conditions (exit of L0) injdeg := -35.0 !injector bend angle w.r.t. linac [degrees] E00 := 0.006 !beam energy after gun (GeV) E0i := 0.064 !beam energy between L0a and L0b sections (GeV) Ei := 0.135 !initial beam energy (GeV) (150->135 MeV on July 9, 2003) EBC1 := 0.250 !BC1 energy (GeV) EBC2 := 4.300 !BC2 energy (GeV) Ef := 13.640 !final beam energy (GeV) EMITXN := 1.00E-06 !normalized horizontal emittance (m) EMITYN := 1.00E-06 !normalized vertical emittance (m) BLENG := 0.83E-03 !bunch length (m) ESPRD := 2.00E-05 !slice rms energy spread at 135 MeV (1) ZOFFINJ:= 0.012100 !moves entire injector in main-linac z-direction by this amount (+12.100 mm Nov. 17, 2004) ! twiss parameters at L0a-exit: ! (Update these with output at L0a-exit - NOT L0b-exit anymore - March 29, 2004 - PE) ! TBETX := 17.239 !twiss beta x (m) ! OLD - from Cecile's 19 MV/m L0a and 24 MV/m L0b (Oct. 6, 2003) ! TALFX := -3.295 !twiss alpha x ! TBETY := 17.169 !twiss beta y (m) ! TALFY := -3.278 !twiss alpha y TBETX := 1.410 !twiss beta x (m) ! back-tracked from measured/matched OTR2 through post Aug. 11, 2008 QA01-QE04 real BDES settings TALFX := -2.613 !twiss alpha x TBETY := 6.706 !twiss beta y (m) TALFY := 0.506 !twiss alpha y ! Twiss at start of ED2 diagnostic section BX1 := 46.225914269746 !twiss beta x (m) AX1 := -1.084608324864 !twiss alpha x BY1 := 46.225914304669 !twiss beta y (m) AY1 := 1.084608327766 !twiss alpha y ! Dummy, fitted twiss parameters at cathode which yield the above twiss parameters at ! L0a-exit (for plotting purposes only - assumes only drift between cathode and L0a-exit) ! CBETX := 3.844367602819 ! consistemt with TWSS0 from Cecile's 19 MV/m L0a and 24 MV/m L0b (Oct. 6, 2003) ! CALFX := 3.546536553224 ! CBETY := 3.824602098386 ! CALFY := 3.530071369667 CBETX := 15.574222013212 ! consistent with back-tracked from matched OTR2 through post Aug. 11, 2008 QA01-QE04 real BDES CALFX := -3.081460532254 CBETY := 0.390930039559 CALFY := 0.551432669489E-2 ! match into LCLS undulator UBETX := 34.233825931612 ! twiss beta x (m) UALFX := 1.136104327233 ! twiss alpha x UBETY := 23.966898717584 ! twiss beta y (m) UALFY := -0.797118403589 ! twiss alpha y ! match in LTU (fitted) MBETX := 48.916343743109 !at MM1 twiss beta x (m) MALFX := 3.142045480135 !at MM1 twiss alpha x MBETY := 96.854994510320 !at MM1 twiss beta y (m) MALFY := 3.631316672149 !at MM1 twiss alpha y ! Parameters below are used to set LTU Y-bends so that beam is level w.r.t. gravity at center of FEL-undulator, including 30-m extension S100_PITCH := -4.760000E-3 ! pitch-down angle of linac at station-100 [rad] (0.27272791 deg) S100_HEIGHT := 77.643680 ! station-100 height above local sea level, from Catherine LeCocq, Jan. 22, 2004 [m] Z_S100_UNDH := 583.000000 ! undulator center is defined as 583 m from sta-100 meas. along und. Z-axis (~1/2 und+xtns) R_Earth := 6.372508025E6 ! total radius of Earth (gaussain sphere) from Catherine LeCocq, Jan. 2004 [m] VALUE, S100_PITCH,S100_HEIGHT,Z_S100_UNDH,R_Earth ! set up TWSS0, TWSSC, and TWSSU TWSSC : BETA0, ENERGY=E00, BETX=CBETX, ALFX=CALFX, BETY=CBETY, ALFY=CALFY TWSS0 : BETA0, ENERGY=E0i, BETX=TBETX, ALFX=TALFX, BETY=TBETY, ALFY=TALFY TWSSM : BETA0, ENERGY=Ef , BETX=MBETX, ALFX=MALFX, BETY=MBETY, ALFY=MALFY TWSSU : BETA0, ENERGY=Ef , BETX=UBETX, ALFX=UALFX, BETY=UBETY, ALFY=UALFY ! construct input beam matrix EMITX := EMITXN/(TWSS0[ENERGY]/EMASS) EMITY := EMITYN/(TWSS0[ENERGY]/EMASS) TGAMX := (1+TWSS0[ALFX]*TWSS0[ALFX])/TWSS0[BETX] TGAMY := (1+TWSS0[ALFY]*TWSS0[ALFY])/TWSS0[BETY] SIG11 := EMITX*TWSS0[BETX] SIG21 := -EMITX*TWSS0[ALFX] SIG22 := EMITX*TGAMX SIG33 := EMITY*TWSS0[BETY] SIG43 := -EMITY*TWSS0[ALFY] SIG44 := EMITY*TGAMY C21 := SIG21/SQRT(SIG11*SIG22) C43 := SIG43/SQRT(SIG33*SIG44) SIG0 : SIGMA0, SIGX=SQRT(SIG11), SIGPX=SQRT(SIG22), R21=C21, & SIGY=SQRT(SIG33), SIGPY=SQRT(SIG44), R43=C43, & SIGT=BLENG, SIGPT=ESPRD CGAMX := (1+TWSSC[ALFX]*TWSSC[ALFX])/TWSSC[BETX] CGAMY := (1+TWSSC[ALFY]*TWSSC[ALFY])/TWSSC[BETY] SIG11C := EMITX*TWSSC[BETX] SIG21C := -EMITX*TWSSC[ALFX] SIG22C := EMITX*CGAMX SIG33C := EMITY*TWSSC[BETY] SIG43C := -EMITY*TWSSC[ALFY] SIG44C := EMITY*CGAMY C21C := SIG21C/SQRT(SIG11C*SIG22C) C43C := SIG43C/SQRT(SIG33C*SIG44C) SIGC : SIGMA0, SIGX=SQRT(SIG11C), SIGPX=SQRT(SIG22C), R21=C21C, & SIGY=SQRT(SIG33C), SIGPY=SQRT(SIG44C), R43=C43C, & SIGT=BLENG, SIGPT=ESPRD BEAM, PARTICLE=ELECTRON, ENERGY=TWSSC[ENERGY], EX=EMITX, EY=EMITY, & SIGT=BLENG, SIGE=ESPRD ! conversion factors Cb : CONSTANT=1.0E10/CLIGHT !energy to magnetic rigidity GeV2MeV : CONSTANT=1000.0 !GeV to MeV in2m : CONSTANT=0.0254 !inches to meters mc2 : CONSTANT=510.99906E-6 !e- rest mass [GeV] ! Database MARKer points DBMARK80 : MARK !(LCLS GUN) RF gun cathode DBMARK81 : MARK !(BXG_entr) entrance of BXG DBMARK97 : MARK !(GUNSPECT) 6 MeV gun spectrometer dump DBMARK82 : MARK !(BX01entr) entrance of BX01 DBMARK98 : MARK !(135SPECT) 135-MeV spect. dump DBMARK83 : MARK !(BX02exit) exit of BX02 ... LCLS injection point DBMARK28 : MARK !(QM15exit) exit of QM15 ... just after TD11 DBMARK29 : MARK !(LI30 FV2) LI30 fast valve 2 ... start of BSY DBMARK14 : MARK !(50B1BEND) entrance of 50B1 DBMARK99 : MARK !(52-SL2 ) 52 SL2 DBMARK34 : MARK !(BX31entr) entrance of BX31 DBMARK36 : MARK !(WS31 ) center of WS31 DBMARK37 : MARK !(endUNMCH) end of undulator match DBMARK38 : MARK !(UND_DUMP) final undulator dump ! ============================================================================== ! Longitudinal misalignments observed after installation and difficult to fix: ! Added to MAD file (but not drawings) so that optics comes out right (1/11/07). ! ------------------------------------------------------------------------------ dz_QA11 := 3.42E-3 !quad is too far downstream when dz>0 dz_Q21201 :=-2.39E-3 !quad is too far downstream when dz>0 dz_Q21301 := 5.73E-3 !quad is too far downstream when dz>0 dz_QM14 := 2.17E-3 !quad is too far downstream when dz>0 dz_QM15 := 2.48E-3 !quad is too far downstream when dz>0 ! ============================================================================== ! QUADs ! ------------------------------------------------------------------------------ ! global QUAD parameters LQc := 0.1080 !eff. length of Everson-Tesla big-bore (ETB) quad [ETB: 2.5-kG GDLmax] (m) rQc := 0.0300 !pole-tip radius of Everson-Tesla big-bore (ETB) quad (m) LQE := 0.1068 !QE effective length (m) rQE := (1.085*in2m)/2 !QE pole-tip radius (m) LQx := 0.1080 !Everson-Tesla (ET) quads "1.259Q3.5" effective length (m) rQx := 0.01600 !Everson-Tesla (ET) quads "1.259Q3.5" pole-tip radius (m) LQF := 0.46092 !FFTB (0.91Q17.72) effective length (m) rQF := 0.023/2 !FFTB (0.91Q17.72) pole-tip radius (m) LQA := 0.31600 !Q150kG effective length [not known yet] (m) rQA := 0.016 !Q150kG pole-tip radius (m) LQD := 0.550 !FFTB dump quad (3.25Q20) effective length (m) rQD := (3.25*in2m)/2 !FFTB dump quad (3.25Q20) pole-tip radius (m) LQW := 0.248 !QW (wraparound quad) effective length (m) rQW := (4.625*in2m)/2 !QW (wraparound quad) pole-tip radius (m) dLQA2 := (0.46092 - LQA)/2 !used to adjust LQA adjacent drifts (m) ! global LCAV parameters SbandF := 2856.0 !rf frequency (MHz) XbandF := SbandF*4 !X-band rf frequency (MHz) DLWLX := 0.5948 !Xband structure length from input-coupler center to output-coupler center, each with tooling balls (m) DLWL10 := 3.0441 !"10 ft" (29 Sband wavelengths; 87 DLWG cavities) DLWL9 := 2.8692 !"9.41 ft" (27 1/3 Sband wavelengths; 82 DLWG cavities) DLWL7 := 2.1694 !"7 ft" (20 2/3 Sband wavelengths; 62 DLWG cavities) P25 := 1 !25% power factor P50 := SQRT(2) !50% power factor ! L0 energy profile (model the one 3-m L0b section only) L0phase := -1.1 !L0b S-band rf phase (deg) dEL0a := GeV2MeV*(E0i-E00) !total L0a energy gain (MeV) dEL0b := GeV2MeV*(Ei-E0i) !total L0b energy gain (MeV) PhiL0 := L0phase/360 !radians/2pi ! gfac0 := 3.130139 ! flange-to-flange length of dual-feed L0-a and L0-b RF structures [m] gfac0 := 3.095244 ! flange-to-flange length (121.86" Oct. 18, '05) of dual-feed L0-a and L0-b RF structures [m] gradL0a := dEL0a/(gfac0*COS(PhiL0*TWOPI)) gradL0b := dEL0b/(gfac0*COS(PhiL0*TWOPI)) ! L1 energy profile L1phase := -25.1 !L1 S-band rf phase (deg) L1Xphase :=-160.0 !L1 X-band rf phase (deg) dEL1 := GeV2MeV*(EBC1-Ei) !total L1 energy gain (MeV) dEL1X := 19.0 !L1 X-band amplitude (MeV) PhiL1 := L1phase/360 !radians/2pi PhiL1X := L1Xphase/360 !radians/2pi gfac1 := P50*DLWL9+P25*DLWL9+P25*DLWL10 gradL1 := (dEL1-dEL1X*COS(PhiL1X*TWOPI))/(gfac1*COS(PhiL1*TWOPI)) VALUE, gradL1 ! L2 energy profile L2phase := -41.4 !L2 rf phase (deg) dEL2 := GeV2MeV*(EBC2-EBC1) !total L2 energy gain (MeV) PhiL2 := L2phase/360 !radians/2pi gfac2 := 110*P25*DLWL10+1*P50*DLWL10 gradL2 := dEL2/(gfac2*COS(PhiL2*TWOPI)) VALUE, gradL2 ! L3 energy profile L3phase := 0.0 !L3 rf phase (deg) dEL3 := GeV2MeV*(Ef-EBC2) !total L3 energy gain (MeV) PhiL3 := L3phase/360 !radians/2pi gfac3 := 161*P25*DLWL10 + 12*P50*DLWL10 + 3*P25*DLWL9 + 4*P25*DLWL7 gradL3 := dEL3/(gfac3*COS(PhiL3*TWOPI)) VALUE, gradL3 L1X___1 : LCAV, TYPE="X1_Xband", FREQ=XbandF, L=DLWLX/2, & DELTAE=dEL1X/2 , PHI0=PhiL1X L1X___2 : LCAV, TYPE="X1_Xband", FREQ=XbandF, L=DLWLX/2, & DELTAE=dEL1X/2 , PHI0=PhiL1X ! L0 sections L0a___1 : LCAV, TYPE="DUALFEED", FREQ=SbandF, L=0.0586460, & DELTAE=gradL0a*0.0586460, PHI0=PhiL0 L0a___2 : LCAV, TYPE="DUALFEED", FREQ=SbandF, L=0.1993540, & DELTAE=gradL0a*0.1993540, PHI0=PhiL0 L0a___3 : LCAV, TYPE="DUALFEED", FREQ=SbandF, L=0.6493198, & DELTAE=gradL0a*0.6493198, PHI0=PhiL0 L0a___4 : LCAV, TYPE="DUALFEED", FREQ=SbandF, L=0.6403022, & DELTAE=gradL0a*0.6403022, PHI0=PhiL0 L0a___5 : LCAV, TYPE="DUALFEED", FREQ=SbandF, L=1.1518464, & DELTAE=gradL0a*1.1518464, PHI0=PhiL0 L0a___6 : LCAV, TYPE="DUALFEED", FREQ=SbandF, L=0.3348566, & DELTAE=gradL0a*0.3348566, PHI0=PhiL0 L0a___7 : LCAV, TYPE="DUALFEED", FREQ=SbandF, L=0.0609190, & DELTAE=gradL0a*0.0609190, PHI0=PhiL0 L0b___1 : LCAV, TYPE="DUALFEED", FREQ=SbandF, L=0.0586460, & DELTAE=gradL0b*0.0586460, PHI0=PhiL0 L0b___2 : LCAV, TYPE="DUALFEED", FREQ=SbandF, L=0.3371281, & DELTAE=gradL0b*0.3371281, PHI0=PhiL0 L0b___3 : LCAV, TYPE="DUALFEED", FREQ=SbandF, L=1.1518479, & DELTAE=gradL0b*1.1518479, PHI0=PhiL0 L0b___4 : LCAV, TYPE="DUALFEED", FREQ=SbandF, L=1.1515630, & DELTAE=gradL0b*1.1515630, PHI0=PhiL0 L0b___5 : LCAV, TYPE="DUALFEED", FREQ=SbandF, L=0.3351400, & DELTAE=gradL0b*0.3351400, PHI0=PhiL0 L0b___6 : LCAV, TYPE="DUALFEED", FREQ=SbandF, L=0.0609190, & DELTAE=gradL0b*0.0609190, PHI0=PhiL0 FLNGa1 : MARK ! upstream face of L0a entrance flange FLNGa2 : MARK ! downstream face of L0a exit flange FLNGb1 : MARK ! upstream face of L0b entrance flange FLNGb2 : MARK ! downstream face of L0b exit flange ! transverse deflecting cavities ! TCAV0 : DRIF, L=0.6680236/2 ! flange-to-flange (then split in two) ! TCAV3 : DRIF, L=2.438/2 TCAV0 : LCAV, TYPE="TRANS_DEFL", L=0.6680236/2 ! flange-to-flange (then split in two) TCAV3 : LCAV, TYPE="TRANS_DEFL", L=2.438/2 LKIK := 1.0601 ! kicker coil length per magnet (m) [41.737 in from SA-380-330-02, rev. 0] BXKIKA : SBEN, TYPE="XPULSED", L=LKIK/2, ANGLE=1E-12, HGAP=25.4E-3, & E1=0 , FINT=0.5, FINTX=0 BXKIKB : SBEN, TYPE="XPULSED", L=LKIK/2, ANGLE=1E-12, HGAP=25.4E-3, & FINT=0, E2=2E-12, FINTX=0.5 ! ============================================================================== ! BENDs ! ------------------------------------------------------------------------------ ! global BEND parameters dLBh:= 0.0144 !increase to lengthen BXH1-4 eff. length (m) LBh := 0.110+dLBh !5D3.9 "Z" length (m) laser-heater chicane bends approx. effective length (R. Carr, 01-AUG-05 -PE) GBh := 30E-3 !5D3.9 gap height (m) LB0 := 0.2032 !5D7.1 "Z" length (m) GB0 := 30E-3 !5D7.1 gap height (m) LB1 := 0.2032 !5D7.1 "Z" length (m) GB1 := 43.28E-3 !5D7.1 gap height (m) LB2 := 0.5490 !1D19.7 "Z" length (m) !changed from 0.540 m to 0.549 on Sep. 28, '07 based on magnetic measurements - PE GB2 := 33.35E-3 !1D19.7 gap height (m) LB3 := 2.623 !4D102.36T effective length (m) GB3 := 0.023 !4D102.36T gap height (m) LVB := 1.025 !3D39 vertical bend effective length (m) GVB := 0.034925 !vertical bend gap width (m) ! GTL ! === RBXG := 0.1963 ! BXG bend radius (measured) [m] ABXG := 85.0*RADDEG ! bend angle of BXG dipole [deg*RADDEG = rad] EBXG := 24.25*RADDEG ! BXG pole-face rot. edge angle of BXG dipole [deg*RADDEG = rad] GBXG := 0.043 ! BXG magnet full gap height (m) LBXG := RBXG*ABXG ! path length of BXG dipole when ON (= R*theta) [m] VALUE, LBXG BXGA : SBEN, L=LBXG/2, ANGLE=ABXG/2, & HGAP=GBXG/2, E1=EBXG, E2=0 , & FINT=0.492, FINTX=0 ! 1st-half of gun spectrometer bend (set to ~zero length and strength, with longitudinal position as the actual bend's center) BXGB : SBEN, L=LBXG/2, ANGLE=ABXG/2, & HGAP=GBXG/2, E1=0 , E2=EBXG, & FINT=0.0 , FINTX=0.492 ! 1st-half of gun spectrometer bend (set to ~zero length and strength, with longitudinal position as the actual bend's center) DXG0 : DRIF, L=RBXG*SIN(ABXG/2) ! drift, w/BXG off, from BXG entrance face to its z-projected center DXGA : SBEN, L=1E-9/2, ANGLE=0/2 ! 1st-half of gun-spec bend (set to ~zero length and strength, with longitudinal position as bend's center) DXGB : SBEN, L=1E-9/2, ANGLE=0/2 ! 2nd-half of gun-spec bend (set to ~zero length and strength, with longitudinal position as bend's center) DGS1 : DRIF, L=0.1900-LQGx/2-20E-6-0.0155757 DGS2 : DRIF, L=(0.2300-LQGx)/2+20E-6 DGS3 : DRIF, L=(0.2300-LQGx)/2-20E-6 DGS4 : DRIF, L= 0.1680-LQGx/2-0.00283 DGS5 : DRIF, L= 0.0300-0.02271 DGS6 : DRIF, L= 0.0240-0.00402 DGS7 : DRIF, L= 0.05 rQGx := 0.020 ! QG quadrupole pole-tip radius [m] LQGx := 0.076 ! QG quadrupole effective length [m] CQ01 : QUAD,L=1E-9/2,K1=0,TYPE="QSOL" !correction quad in 1st solenoid at gun (nominally set to 0) (set to ~zero length, with longitudinal position as the actual quad's center) SQ01 : QUAD,L=1E-9/2,K1=0,TILT,TYPE="QSOL" !correction skew-quad in 1st solenoid at gun (nominally set to 0) (set to ~zero length, with longitudinal position as the actual quad's center) QG02 : QUAD,L=LQGx/2,K1=-35.48540,APER=rQGx,TYPE="QG" QG03 : QUAD,L=LQGx/2,K1= 80.16051,APER=rQGx,TYPE="QG" XCG1 : HKIC,TYPE="class-G" XCG2 : HKIC,TYPE="class-G" YCG1 : VKIC,TYPE="class-G" YCG2 : VKIC,TYPE="class-G" SCG1 : LINE=(XCG1,YCG1) SCG2 : LINE=(XCG2,YCG2) BPMG1 : MONI, TYPE="25_um_res" CRG1 : INST ! Cerenkov radiator bunch length monitor YAGG1 : PROF, TYPE="YAG" ! 6-MeV spectrometer screen FCG1 : INST ! gun-spec. Faraday cup w/screen GSPECBEG: MARK GSPEC : LINE=(GSPECBEG,BXGA,BXGB,DGS1,QG02,SCG1,QG02, & DGS2,BPMG1,DGS3,QG03,SCG2,QG03,& DGS4,YAGG1,DGS5,CRG1,DGS6,FCG1,DGS7,DBMARK97) ! gun spectrometer from BXG to Farraday cup and dump ! 135-MeV Spectrometer ! ==================== KQS01 := 9.682244191676 KQS02 := -5.648980372134 QS01 : QUAD, TYPE="ETA", L=LQx/2, K1=KQS01, APER=rQx QS02 : QUAD, TYPE="ETA", L=LQx/2, K1=KQS02, APER=rQx DX01A : SBEN, L=LB0/2, ANGLE=1E-9 ! 1st half of BX01 magnet switched off here DX01B : SBEN, L=LB0/2, ANGLE=1E-9 ! 2nd half of BX01 magnet switched off here DS0 : DRIF, L=0.5583996 DS0a : DRIF, L=0.1691504 DS0b : DRIF, L=0.4615/2 DS1a : DRIF, L=0.0890085 DS1b : DRIF, L=0.1451215 DS1c : DRIF, L=0.171796 DS1d : DRIF, L=0.251824 DS2 : DRIF, L=0.478250 DS3a : DRIF, L=0.199626 DS3b : DRIF, L=0.200374 DS4 : DRIF, L=0.287275 DS6a : DRIF, L=0.2575952 DS6b : DRIF, L=0.2273298-0.008205 DS7 : DRIF, L=0.3801874+0.008205-0.02 DS8 : DRIF, L=0.1976126+0.02 DS9 : DRIF, L=0.3378194 SPECBEG : MARK BPMS1 : MONI, TYPE="20_um_res" BPMS2 : MONI, TYPE="20_um_res" BPMS3 : MONI, TYPE="20_um_res" VVS1 : MARK !135-MeV spectrometer vacuum valve YAGS1 : PROF, TYPE="YAG" !1st 135-MeV spectrometer YAG-screen - center of device in MAD is defined as center of YAG crystal, not mirror YAGS2 : PROF, TYPE="YAG" !2nd 135-MeV spectrometer YAG-screen - center of device in MAD is defined as center of YAG crystal, not mirror OTRS1 : PROF, TYPE="OTR" !135-MeV spectrometer OTR-screen SDMP : INST ! gun-spec. dump (exact location? - 11/09/05) XCS1 : HKIC,TYPE="class-1a" YCS1 : VKIC,TYPE="class-1a" XCS2 : HKIC,TYPE="class-1a" YCS2 : VKIC,TYPE="class-1a" SCS1 : LINE=(XCS1,YCS1) SCS2 : LINE=(XCS2,YCS2) LBS := 0.5435 !measured effective length along curved trajectory (m) GBS := 34E-3 !gap height (m) ABS := injdeg*RADDEG !injection line angle (rad) BXSEj := -7.29*RADDEG BXSA : SBEN, L=LBS/2 , HGAP=GBS/2, ANGLE=ABS/2, & E1=BXSEj, E2=0 , FINT=0.391 , FINTX=0 BXSB : SBEN, L=LBS/2 , HGAP=GBS/2, ANGLE=ABS/2, & E1=0 , E2=BXSEj , FINT=0 , FINTX=0.391 SPECBL : LINE=(SPECBEG,DX01A,DX01B,DS0,SCS1,DS0a,DS0b,DS1a,& VVS1,DS1b,YAGS1,DS1c,BPMS1,DS1d,BXSA,BXSB,DS2,& QS01,BPMS2,QS01,DS3a,SCS2,DS3b,QS02,QS02,DS4,& IMS1,DS6a,BPMS3,DS6b,YAGS2,DS7,OTRS1,DS8,& DS9,SDMP,DBMARK98) ! DL1 ! === DL1_ON := 1 !=1: nominal LCLS with BX01/02 bend magnet DL1 power-supply is ON, =0: 135-MeV spectrometer-mode with DL1 OFF ADL1 := injdeg*RADDEG !injection line angle (rad) AB0 := ADL1/2 !full bend angle (rad) LeffB0 := LB0*AB0/(2*SIN(AB0/2)) !full bend path length (m) AEB0 := AB0/2 !edge angles BX01A : SBEN, TYPE="5D7.1", L=LeffB0/2, HGAP=GB0/2, ANGLE=AB0/2, & E1=AEB0, FINT=0.45, FINTX=0 BX01B : SBEN, TYPE="5D7.1", L=LeffB0/2, HGAP=GB0/2, ANGLE=AB0/2, & E2=AEB0, FINT=0, FINTX=0.45 BX02A : SBEN, TYPE="5D7.1", L=LeffB0/2, HGAP=GB0/2, ANGLE=AB0/2, & E1=AEB0, FINT=0.45, FINTX=0 BX02B : SBEN, TYPE="5D7.1", L=LeffB0/2, HGAP=GB0/2, ANGLE=AB0/2, & E2=AEB0, FINT=0, FINTX=0.45 ! BC1 ! === Brho1 := Cb*EBC1 !beam rigidity at BC1 (kG-m) BB11 := -3.555805785115 !chicane-1 bend field (kG) - changed June 22, 2004 RB11 := Brho1/BB11 !chicane-1 bend radius (m) AB11 := ASIN(LB1/RB11) !full chicane bend angle (rad) AB11S := ASIN((LB1/2)/RB11) !"short" half chicane bend angle (rad) LB11S := RB11*AB11S !"short" half chicane bend path length (m) AB11L := AB11-AB11S !"long" half chicane bend angle (rad) LB11L := RB11*AB11L !"long" half chicane bend path length (m) ! BX11 gets an offset of 2.2 mm (theta*L/8) towards the wall ! BX12 gets an offset of 2.2 mm (theta*L/8) towards the aisle ! BX13 gets an offset of 2.2 mm (theta*L/8) towards the aisle ! BX14 gets an offset of 2.2 mm (theta*L/8) towards the wall BX11A : SBEN, TYPE="5D7.1", L=LB11S, ANGLE=+AB11S, HGAP=GB1/2, & E1=0, FINT=0.387, FINTX=0 BX11B : SBEN, TYPE="5D7.1", L=LB11L, ANGLE=+AB11L, HGAP=GB1/2, & FINT=0, E2=+AB11, FINTX=0.387 BX12A : SBEN, TYPE="5D7.1", L=LB11L, ANGLE=-AB11L, HGAP=GB1/2, & E1=-AB11, FINT=0.387, FINTX=0 BX12B : SBEN, TYPE="5D7.1", L=LB11S, ANGLE=-AB11S, HGAP=GB1/2, & FINT=0, E2=0, FINTX=0.387 BX13A : SBEN, TYPE="5D7.1", L=LB11S, ANGLE=-AB11S, HGAP=GB1/2, & E1=0, FINT=0.387, FINTX=0 BX13B : SBEN, TYPE="5D7.1", L=LB11L, ANGLE=-AB11L, HGAP=GB1/2, & FINT=0, E2=-AB11, FINTX=0.387 BX14A : SBEN, TYPE="5D7.1", L=LB11L, ANGLE=+AB11L, HGAP=GB1/2, & E1=+AB11, FINT=0.387, FINTX=0 BX14B : SBEN, TYPE="5D7.1", L=LB11S, ANGLE=+AB11S, HGAP=GB1/2, & FINT=0, E2=0, FINTX=0.387 ! magnet-to-magnet path lengths LD11 := 2.434900 !outer bend-to-bend "Z" distance (m) LD11o := LD11/COS(AB11) !outer bend-to-bend path length (m) (minus ~0.15 m 9/21/04) ! BC2 ! === Brho2 := Cb*EBC2 !beam rigidity at BC2 (kG-m) BB21 := -9.071122639275 !chicane bend field (kG) RB21 := Brho2/BB21 !chicane bend radius (m) AB21 := ASIN(LB2/RB21) !full chicane bend angle (rad) AB21S := ASIN((LB2/2)/RB21) !"short" half chicane bend angle (rad) LB21S := RB21*AB21S !"short" half chicane bend path length (m) AB21L := AB21-AB21S !"long" half chicane bend angle (rad) LB21L := RB21*AB21L !"long" half chicane bend path length (m) ! BX21 gets an offset of ~2.3 mm (theta*L/8) towards the wall ! BX22 gets an offset of ~2.3 mm (theta*L/8) towards the aisle ! BX23 gets an offset of ~2.3 mm (theta*L/8) towards the aisle ! BX24 gets an offset of ~2.3 mm (theta*L/8) towards the wall BX21A : SBEN, TYPE="1D19.7", L=LB21S, ANGLE=+AB21S, HGAP=GB2/2, & E1=0, FINT=0.633, FINTX=0 BX21B : SBEN, TYPE="1D19.7", L=LB21L, ANGLE=+AB21L, HGAP=GB2/2, & FINT=0, E2=+AB21, FINTX=0.633 BX22A : SBEN, TYPE="1D19.7", L=LB21L, ANGLE=-AB21L, HGAP=GB2/2, & E1=-AB21, FINT=0.633, FINTX=0 BX22B : SBEN, TYPE="1D19.7", L=LB21S, ANGLE=-AB21S, HGAP=GB2/2, & FINT=0, E2=0, FINTX=0.633 BX23A : SBEN, TYPE="1D19.7", L=LB21S, ANGLE=-AB21S, HGAP=GB2/2, & E1=0, FINT=0.633, FINTX=0 BX23B : SBEN, TYPE="1D19.7", L=LB21L, ANGLE=-AB21L, HGAP=GB2/2, & FINT=0, E2=-AB21, FINTX=0.633 BX24A : SBEN, TYPE="1D19.7", L=LB21L, ANGLE=+AB21L, HGAP=GB2/2, & E1=+AB21, FINT=0.633, FINTX=0 BX24B : SBEN, TYPE="1D19.7", L=LB21S, ANGLE=+AB21S, HGAP=GB2/2, & FINT=0, E2=0, FINTX=0.633 ! magnet-to-magnet path lengths LD21i := 1.0 - 2*0.1 !inner bend-to-bend "Z" distance (m) LD1 := 2.00-0.04-0.0045 !outer bend-to-bend "Z" distance (m) LD2 := 8.00-0.04-0.0508-0.0045 !outer bend-to-bend "Z" distance (m) LD3 := 8.00-0.04-0.0508-0.0045 !outer bend-to-bend "Z" distance (m) LD4 := 2.00-0.04-0.0045 !outer bend-to-bend "Z" distance (m) LDo1 := LD1/COS(AB21) !outer bend-to-bend path length (m) LDo2 := LD2/COS(AB21)-LQc !outer bend-to-bend path length (m) LDo3 := LD3/COS(AB21)-LQc !outer bend-to-bend path length (m) LDo4 := LD4/COS(AB21) !outer bend-to-bend path length (m) ! 52-line stuff B50B1A : SBEN,L=1.1320272,ANGLE=-0.86939816E-02,TYPE="50B1" B50B1B : SBEN,L=1.1320272,ANGLE=-0.86939816E-02,TYPE="50B1" B52AGFA : SBEN,L=0.40010029,ANGLE=-0.14360109E-02,& K1=0.43265282,TYPE="52AGF" B52AGFB : SBEN,L=0.40010029,ANGLE=-0.14360109E-02,& K1=0.43265282,TYPE="52AGF" B52WIG1A: SBEN,L=0.23367797/2,ANGLE=-0.23818663E-02/2,& TILT,TYPE="52WG1" B52WIG1B: SBEN,L=0.23367797/2,ANGLE=-0.23818663E-02/2,& TILT,TYPE="52WG1" B52WIG2A: SBEN,L=0.23368102,ANGLE=0.23818974E-02,& TILT,TYPE="52WG1" B52WIG2B: SBEN,L=0.23368102,ANGLE=0.23818974E-02,& TILT,TYPE="52WG1" B52WIG3A: SBEN,L=0.23367797/2,ANGLE=-0.23818663E-02/2,& TILT,TYPE="52WG1" B52WIG3B: SBEN,L=0.23367797/2,ANGLE=-0.23818663E-02/2,& TILT,TYPE="52WG1" Q52Q2 : QUAD,L=0.37224614,K1=-0.38544745,TYPE="52Q2" XC69 : HKIC,TYPE="52A1X" YC54T : VKIC,TYPE="52WIGT" YC59 : VKIC,TYPE="52A1Y" BPM52 : MONI,TYPE="20_um_res" BPM56 : MONI,TYPE="20_um_res" BPM64 : MONI,TYPE="20_um_res" BPM68 : MONI,TYPE="20_um_res" IM61 : MARK,TYPE="52I1" PR45 : INST,TYPE="50PR2" PR55 : INST,TYPE="52PR0" PR60 : INST,TYPE="52PR1" WS62 : INST,TYPE="52WS1" DRI14001: DRIF,L=0.7620000 DRI14002: DRIF,L=2.9725315 DRI14003: DRIF,L=0.91440000E-01 DRI14004: DRIF,L=0.2092970 DRI14005: DRIF,L=0.1737360 DRI14006: DRIF,L=0.1139068 DRI14007: DRIF,L=0.2255520 DRI14008: DRIF,L=0.1280160 DRI14009: DRIF,L=0.1219200 DRI14010: DRIF,L=0.1916339 T460061T: DRIF,L=0,TYPE="52I1" DRI14011: DRIF,L=0.1981200 DRI14012: DRIF,L=0.3230880 DRI14013: DRIF,L=0.4252539 SL1X : DRIF,L=0,TYPE="52SL1X" DRI14014: DRIF,L=0.7909590 SL1Y : DRIF,L=0,TYPE="52SL1Y" DRI14015: DRIF,L=1.0088270 DRI14016: DRIF,L=0.3139440 DRI14017: DRIF,L=2.2764689 SL2 : DRIF,L=0,TYPE="52SL2" ! Vertical bend system and DL2 AVB := (S100_PITCH + ASIN(Z_S100_UNDH/(R_Earth+S100_HEIGHT)))/2 !bend up twice this angle so e- is level in cnt. of und., incl. 30-m ext. VALUE, 2*AVB BY1A : SBEN, TYPE="3D39", L=LVB/2, ANGLE=AVB/2, HGAP=GVB/2, & E1=AVB/2, FINT=0.5, FINTX=0, TILT BY1B : SBEN, TYPE="3D39", L=LVB/2, ANGLE=AVB/2, HGAP=GVB/2, & FINT=0, E2=AVB/2, FINTX=0.5, TILT BY2A : SBEN, TYPE="VB", L=LVB/2, ANGLE=AVB/2, HGAP=GVB/2, & E1=AVB/2, FINT=0.5, FINTX=0, TILT BY2B : SBEN, TYPE="VB", L=LVB/2, ANGLE=AVB/2, HGAP=GVB/2, & FINT=0, E2=AVB/2, FINTX=0.5, TILT AB3P := 0.5*RADDEG*(+1) AB3M := 0.5*RADDEG*(-1) LeffB3 := LB3*AB3P/(2*SIN(AB3P/2)) !full bend eff. path length (m) BX31A : SBEN, TYPE="4D102.36T" , L=LeffB3/2 , ANGLE=AB3P/2, HGAP=GB3/2, & E1=AB3P/2, E2=0 , FINT=0.5, FINTX=0.0 BX31B : SBEN, TYPE="4D102.36T" , L=LeffB3/2 , ANGLE=AB3P/2, HGAP=GB3/2, & E1=0 , E2=AB3P/2, FINT=0.0, FINTX=0.5 BX32A : SBEN, TYPE="4D102.36T" , L=LeffB3/2 , ANGLE=AB3P/2, HGAP=GB3/2, & E1=AB3P/2, E2=0 , FINT=0.5, FINTX=0.0 BX32B : SBEN, TYPE="4D102.36T" , L=LeffB3/2 , ANGLE=AB3P/2, HGAP=GB3/2, & E1=0 , E2=AB3P/2, FINT=0.0, FINTX=0.5 DX33A : DRIFT, L=LB3/2 !optional bend for branch point DX33B : DRIFT, L=LB3/2 DX34A : DRIFT, L=LB3/2 DX34B : DRIFT, L=LB3/2 BX35A : SBEN, TYPE="4D102.36T" , L=LeffB3/2 , ANGLE=AB3M/2, HGAP=GB3/2, & E1=AB3M/2, E2=0 , FINT=0.5, FINTX=0.0 BX35B : SBEN, TYPE="4D102.36T" , L=LeffB3/2 , ANGLE=AB3M/2, HGAP=GB3/2, & E1=0 , E2=AB3M/2, FINT=0.0, FINTX=0.5 BX36A : SBEN, TYPE="4D102.36T" , L=LeffB3/2 , ANGLE=AB3M/2, HGAP=GB3/2, & E1=AB3M/2, E2=0 , FINT=0.5, FINTX=0.0 BX36B : SBEN, TYPE="4D102.36T" , L=LeffB3/2 , ANGLE=AB3M/2, HGAP=GB3/2, & E1=0 , E2=AB3M/2, FINT=0.0, FINTX=0.5 DX37A : DRIFT, L=LB3/2 !optional bend for branch point DX37B : DRIFT, L=LB3/2 DX38A : DRIFT, L=LB3/2 DX38B : DRIFT, L=LB3/2 ! Single beam dumper vertical kicker: ! ---------------------------------- BYKIK1A : SBEN, TYPE="YPULSED", L=LKIK/2, ANGLE=1E-12/2, HGAP=25.4E-3, & FINT=0.5, FINTX=0 , TILT BYKIK1B : SBEN, TYPE="YPULSED", L=LKIK/2, ANGLE=1E-12/2, HGAP=25.4E-3, & FINT=0 , FINTX=0.5, TILT BYKIK2A : SBEN, TYPE="YPULSED", L=LKIK/2, ANGLE=1E-12/2, HGAP=25.4E-3, & FINT=0.5, FINTX=0 , TILT BYKIK2B : SBEN, TYPE="YPULSED", L=LKIK/2, ANGLE=1E-12/2, HGAP=25.4E-3, & FINT=0 , FINTX=0.5, TILT TDKIK : INST, L=0.6096 !SBD vertical off-axis kicker dump (24 in long - 9/8/08) SPOILER : INST !SBD dump spoiler ! X-ray stripe 'wiggler' vertical 3-dipole chicane (from SLC BSY) LBxw := 0.233681 !"Z" length (m) ! GBxw := 1.05*in2m !gap height - SLC wiggler gap not known yet - used 1.05 inches for now - 7/6/05 -PE (m) Brhox := Cb*Ef !beam rigidity in LTU (kG-m) BBxw := -6.0 !X-ray chicane bend field (kG) - (eta matching in DL2 not fixed yet: small error - PE) RBxw := Brhox/BBxw !X-ray chicane bend radius (m) ABxw := ASIN(LBxw/RBxw) !full X-ray chicane bend angle (rad) ! ABxwS := ASIN((LBxw/2)/RBxw) !"short" half X-ray chicane bend angle (rad) ! LBxwS := RBxw*ABxwS !"short" half X-ray chicane bend path length (m) ! ABxwL := ABxw-ABxwS !"long" half X-ray chicane bend angle (rad) ! LBxwL := RBxw*ABxwL !"long" half X-ray chicane bend path length (m) ! ! BYw1A : SBEN, TYPE="5D7.1", L=LBxwS, ANGLE=+ABxwS, HGAP=GBxw/2, & ! E1=0, FINT=0.5, FINTX=0, TILT ! BYw1B : SBEN, TYPE="5D7.1", L=LBxwL, ANGLE=+ABxwL, HGAP=GBxw/2, & ! FINT=0, E2=+ABxw, FINTX=0.5, TILT ! BYw2A : SBEN, TYPE="5D7.1", L=LBxwL+LBxwS, ANGLE=-ABxw, HGAP=GBxw/2, & ! E1=-ABxw, FINT=0.5, FINTX=0, TILT ! BYw2B : SBEN, TYPE="5D7.1", L=LBxwS+LBxwL, ANGLE=-ABxw, HGAP=GBxw/2, & ! FINT=0, E2=-ABxw, FINTX=0.5, TILT ! BYw3A : SBEN, TYPE="5D7.1", L=LBxwL, ANGLE=+ABxwL, HGAP=GBxw/2, & ! E1=+ABxw, FINT=0.5, FINTX=0, TILT ! BYw3B : SBEN, TYPE="5D7.1", L=LBxwS, ANGLE=+ABxwS, HGAP=GBxw/2, & ! FINT=0, E2=0, FINTX=0.5, TILT DBYw1A: DRIF, L=LBxw/2 DBYw1B: DRIF, L=LBxw/2 DBYw2A: DRIF, L=LBxw DBYw2B: DRIF, L=LBxw DBYw3A: DRIF, L=LBxw/2 DBYw3B: DRIF, L=LBxw/2 LDw1o := 0.173736 SDw1o := LDw1o/COS(ABxw) Dw1o : DRIF, L=SDw1o, TYPE="CSR" ! Dump: ! ---- LBdm := 1.452 !effective vertical bend length of main dump bends - from J. Tanabe (m) GBdm := 0.043 !full gap (m) - this is a full gap 'width' for these vert. dipoles ABdm0 := (5.0*RADDEG)/3 LBpm := 0.944 !effective length of permanent magnet FFTB dump bends (m) Bpm0 := 4.3 !permanent magnetic field at full gap = 3.81 cm GBpm0 := 0.0381 !gap height as exists in FFTB in 2005 (m) Bpm := Bpm0*GBpm0/0.0520 !permanent magnetic field after opening gaps ABpm := LBpm*Bpm/Brhox LeffBdm := LBdm*ABdm0/(2*SIN(ABdm0/2)) !full bend path length (m) BYD1A : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, & E1=ABdm0/2, E2=0, FINT=0.57, FINTX=0.00, TILT BYD1B : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, & E1=0, E2=ABdm0/2, FINT=0.00, FINTX=0.57, TILT BYD2A : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, & E1=ABdm0/2, E2=0, FINT=0.57, FINTX=0.00, TILT BYD2B : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, & E1=0, E2=ABdm0/2, FINT=0.00, FINTX=0.57, TILT BYD3A : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, & E1=ABdm0/2, E2=0, FINT=0.57, FINTX=0.00, TILT BYD3B : SBEN, TYPE="1.69VD55.1", L=LeffBdm/2, ANGLE=ABdm0/2, HGAP=GBdm/2, & E1=0, E2=ABdm0/2 , FINT=0.00, FINTX=0.57, TILT BXPM1A : SBEN, TYPE="4D36-C" , L=LBpm/2, ANGLE=ABpm/2, HGAP=GBpm/2, & E1=0 , E2=0 , FINT=0.5, FINTX=0.0 BXPM1B : SBEN, TYPE="4D36-C" , L=LBpm/2, ANGLE=ABpm/2, HGAP=GBpm/2, & E1=0 , E2=1*ABpm, FINT=0.0, FINTX=0.5 BXPM2A : SBEN, TYPE="4D36-C" , L=LBpm/2, ANGLE=ABpm/2, HGAP=GBpm/2, & E1=1*ABpm, E2=0 , FINT=0.5, FINTX=0.0 BXPM2B : SBEN, TYPE="4D36-C" , L=LBpm/2, ANGLE=ABpm/2, HGAP=GBpm/2, & E1=0 , E2=2*ABpm, FINT=0.0, FINTX=0.5 BXPM3A : SBEN, TYPE="4D36-C" , L=LBpm/2, ANGLE=ABpm/2, HGAP=GBpm/2, & E1=2*ABpm, E2=0 , FINT=0.5, FINTX=0.0 BXPM3B : SBEN, TYPE="4D36-C" , L=LBpm/2, ANGLE=ABpm/2, HGAP=GBpm/2, & E1=0 , E2=3*ABpm, FINT=0.0, FINTX=0.5 ! DL1 ! KQA01 := -7.474220813631 ! OLD - no lsr-htr (for commissioning in Dec. '06 through July '07) & on-measured TWSS0 ! KQA02 := 8.137641193725 ! KQE01 := -2.215639104385 ! KQE02 := -0.241173314721 ! KQE03 := 7.613440306134 ! KQE04 := -6.985386854286 ! KQA01 := -12.492179751016 ! OLD - with 5.4-cm lamu lsr-htr and "MATRIX" focusing, but non-measured TWSS0 ! KQA02 := 11.022504569397 ! KQE01 := -3.089332618348 ! KQE02 := 0.090132722014 ! KQE03 := 6.822078966488 ! KQE04 := -5.731166555613 ! KQA01 := -6.1200 ! post Aug. 11, 2008 matching based on real measurements with heater/chicane not yet installed (64 & 135 MeV) ! KQA02 := 12.6808 ! KQE01 := -1.4046 ! KQE02 := -2.4546 ! KQE03 := 9.6624 ! KQE04 := -7.4610 KQA01 := -12.317411498864 ! new design with laser-heater ON (chicane and und, w/Betx=Bety=12 m), based on measured (back-tracked) TWSS0 KQA02 := 13.706906173749 KQE01 := -6.538179321052 KQE02 := 5.354060093454 KQE03 := 6.054674881291 KQE04 := -5.235476556481 KQM01 := 15.072053882204 KQM02 := -11.974604636345 KQM03 := -8.255421303054 KQM04 := 13.306105246908 KQB := 22.169701529353 QA01 : QUAD, TYPE="ETA", L=LQx/2, K1=KQA01, APER=rQx QA02 : QUAD, TYPE="ETA", L=LQx/2, K1=KQA02, APER=rQx QE01 : QUAD, TYPE="ETA", L=LQx/2, K1=KQE01, APER=rQx QE02 : QUAD, TYPE="ETA", L=LQx/2, K1=KQE02, APER=rQx QE03 : QUAD, TYPE="ETA", L=LQx/2, K1=KQE03, APER=rQx QE04 : QUAD, TYPE="ETA", L=LQx/2, K1=KQE04, APER=rQx QM01 : QUAD, TYPE="ETA", L=LQx/2, K1=KQM01, APER=rQx QM02 : QUAD, TYPE="ETA", L=LQx/2, K1=KQM02, APER=rQx QB : QUAD, TYPE="QE", L=LQE/2, K1=KQB , APER=rQE QM03 : QUAD, TYPE="ETA", L=LQx/2, K1=KQM03, APER=rQx QM04 : QUAD, TYPE="ETA", L=LQx/2, K1=KQM04, APER=rQx ! L1 KQL1 := 3.789198342593 QFL1 : QUAD, TYPE="QE", L=LQE/2, K1=+KQL1, APER=rQE QDL1 : QUAD, TYPE="QE", L=LQE/2, K1=-KQL1, APER=rQE KQA11 := -KQL1 KQA12 := 1.863910872552 QA11 : QUAD, TYPE="ETA", L=LQx/2, K1=KQA11, APER=rQx QA12 : QUAD, TYPE="ETA", L=LQx/2, K1=KQA12, APER=rQx ! BC1 KQ21201 := -9.357677119503 KQM11 := 7.960339117021 KQM12 := -8.366726970987 KQM13 := 9.860390676906 KCQ11 := 1E-12 KCQ12 := 1E-12 KQ21301 := -0.1347 ! turn this quad OFF for LCLS operations (this is meas'd remnant field of Gdl = 0.12 kG) KQM14 := 7.079239169293 KQM15 := -6.765038435385 Q21201 : QUAD, TYPE="QE", L=LQE/2, K1=KQ21201,APER=rQE ! (QE-072 after Aug 2006) gets moved downstream of pre-LCLS location by 1.101312 m (measured parallel to main linac axis) QM11 : QUAD, TYPE="ETA", L=LQx/2, K1=KQM11, APER=rQx CQ11 : QUAD, TYPE="ETB", L=LQc/2, K1=KCQ11, APER=rQc ! now ETB tweaker quad CQ12 : QUAD, TYPE="ETB", L=LQc/2, K1=KCQ12, APER=rQc ! now ETB tweaker quad QM12 : QUAD, TYPE="ETA", L=LQx/2, K1=KQM12, APER=rQx QM13 : QUAD, TYPE="ETA", L=LQx/2, K1=KQM13, APER=rQx Q21301 : QUAD, TYPE="QE", L=LQE/2, K1=KQ21301,APER=rQE ! (QE-004 after Aug 2006) gets moved downstream of pre-LCLS location by 1.247066 m (measured parallel to main linac axis), and turned off for LCLS QM14 : QUAD, TYPE="ETA", L=LQx/2, K1=KQM14, APER=rQx QM15 : QUAD, TYPE="ETA", L=LQx/2, K1=KQM15, APER=rQx ! L2 KQL2 := 0.708388522907 QFL2 : QUAD, TYPE="QE", L=LQE/2, K1=+KQL2, APER=rQE QDL2 : QUAD, TYPE="QE", L=LQE/2, K1=-KQL2, APER=rQE KQ21401 := 1.044881943081 ! (QE-002 after Aug 2006) KQ21501 := -0.833170329125 ! (use pre-Aug-2006 Q21201 magnet) KQ21601 := KQL2 ! (use pre-Aug-2006 Q21301 magnet) KQ21701 := -KQL2 KQ21801 := 0.721703961622 KQ21901 := -0.721930035688 KQ22201 := 0.711368406706 KQ22301 := -0.764179973154 KQ22401 := KQL2 KQ22501 := -KQL2 KQ22601 := KQL2 KQ22701 := -KQL2 KQ22801 := 0.748596129657 KQ22901 := -0.709657173604 KQ23201 := 0.721241098608 KQ23301 := -0.741011348313 KQ23401 := KQL2 KQ23501 := -KQL2 KQ23601 := KQL2 KQ23701 := -KQL2 KQ23801 := 0.770675623153 KQ23901 := -0.726878264576 KQ24201 := 0.779404953697 KQ24301 := -0.856812505218 KQ24401 := 1.025618689057 KQ24501 := -0.931675081162 KQ24601 := 0.603160584173 Q21401 : QUAD, TYPE="QE", L=LQE/2, K1=KQ21401, APER=rQE Q21501 : QUAD, TYPE="QE", L=LQE/2, K1=KQ21501, APER=rQE Q21601 : QUAD, TYPE="QE", L=LQE/2, K1=KQ21601, APER=rQE Q21701 : QUAD, TYPE="QE", L=LQE/2, K1=KQ21701, APER=rQE Q21801 : QUAD, TYPE="QE", L=LQE/2, K1=KQ21801, APER=rQE Q21901 : QUAD, TYPE="QE", L=LQE/2, K1=KQ21901, APER=rQE Q22201 : QUAD, TYPE="QE", L=LQE/2, K1=KQ22201, APER=rQE Q22301 : QUAD, TYPE="QE", L=LQE/2, K1=KQ22301, APER=rQE Q22401 : QUAD, TYPE="QE", L=LQE/2, K1=KQ22401, APER=rQE Q22501 : QUAD, TYPE="QE", L=LQE/2, K1=KQ22501, APER=rQE Q22601 : QUAD, TYPE="QE", L=LQE/2, K1=KQ22601, APER=rQE Q22701 : QUAD, TYPE="QE", L=LQE/2, K1=KQ22701, APER=rQE Q22801 : QUAD, TYPE="QE", L=LQE/2, K1=KQ22801, APER=rQE Q22901 : QUAD, TYPE="QE", L=LQE/2, K1=KQ22901, APER=rQE Q23201 : QUAD, TYPE="QE", L=LQE/2, K1=KQ23201, APER=rQE Q23301 : QUAD, TYPE="QE", L=LQE/2, K1=KQ23301, APER=rQE Q23401 : QUAD, TYPE="QE", L=LQE/2, K1=KQ23401, APER=rQE Q23501 : QUAD, TYPE="QE", L=LQE/2, K1=KQ23501, APER=rQE Q23601 : QUAD, TYPE="QE", L=LQE/2, K1=KQ23601, APER=rQE Q23701 : QUAD, TYPE="QE", L=LQE/2, K1=KQ23701, APER=rQE Q23801 : QUAD, TYPE="QE", L=LQE/2, K1=KQ23801, APER=rQE Q23901 : QUAD, TYPE="QE", L=LQE/2, K1=KQ23901, APER=rQE Q24201 : QUAD, TYPE="QE", L=LQE/2, K1=KQ24201, APER=rQE Q24301 : QUAD, TYPE="QE", L=LQE/2, K1=KQ24301, APER=rQE Q24401 : QUAD, TYPE="QE", L=LQE/2, K1=KQ24401, APER=rQE Q24501 : QUAD, TYPE="QE", L=LQE/2, K1=KQ24501, APER=rQE Q24601 : QUAD, TYPE="QE", L=LQE/2, K1=KQ24601, APER=rQE ! BC2 KQ24701 := -1.286030138047 KQM21 := 0.508115309359 KCQ21 := 1E-12 KCQ22 := 1E-12 KQM22 := -0.590418980634 KQ24901 := 1.082042245094 Q24701A: QUAD, TYPE="QE" , L=LQE/2, K1=KQ24701, APER=rQE ! in same location as pre-LCLS (with its BPM) Q24701B: QUAD, TYPE="QE" , L=LQE/2, K1=KQ24701, APER=rQE ! 10 cm between Q24701A & B QM21 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQM21, APER=rQF CQ21 : QUAD, TYPE="ETB" , L=LQc/2, K1=KCQ21, APER=rQc CQ22 : QUAD, TYPE="ETB" , L=LQc/2, K1=KCQ22, APER=rQc QM22 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQM22, APER=rQF Q24901A: QUAD, TYPE="QE" , L=LQE/2, K1=KQ24901, APER=rQE ! moved 2.397400 m downstream of original Q24901 position Q24901B: QUAD, TYPE="QE" , L=LQE/2, K1=KQ24901, APER=rQE ! 10 cm between Q24901A & B (BPM in this 2nd quad) ! L3 ! KQFL3 := 0.446670469684 ! was used for 12*2*pi MUX from BX24 to BX31 ! KQDL3 := -0.424793498653 ! was used for 12*2*pi MUX from BX24 to BX31 KQFL3 := 0.395798933782 ! gives psix = 50.76 deg, 44.64 deg, 45.00 deg between four LI28 wires KQDL3 := -0.395649286346 ! gives TCAV3 -> OTR30 right + WS28 psiy: 48.96 deg, 45.72 deg, 43.92 deg QFL3 : QUAD, TYPE="QE", L=LQE/2, K1=KQFL3, APER=rQE QDL3 : QUAD, TYPE="QE", L=LQE/2, K1=KQDL3, APER=rQE KQ25201 := 0.697993592575 KQ25301 := -0.478388226374 KQ25401 := 0.42896785871 KQ25501 := -0.399864956514 KQ25601 := KQFL3 KQ25701 := KQDL3 KQ25801 := 0.407168436855 KQ25901 := -0.388171234952 KQ26201 := 0.388578933647 KQ26301 := -0.405404843557 KQ26401 := KQFL3 KQ26501 := KQDL3 KQ26601 := KQFL3 KQ26701 := KQDL3 KQ26801 := 0.406308742855 KQ26901 := -0.388549789828 KQ27201 := 0.390161854669 KQ27301 := -0.406474370795 KQ27401 := KQFL3 KQ27501 := KQDL3 KQ27601 := KQFL3 KQ27701 := KQDL3 KQ27801 := 0.406495928662 KQ27901 := -0.388870517181 KQ28201 := 0.390352348197 KQ28301 := -0.406461529502 KQ28401 := KQFL3 KQ28501 := KQDL3 KQ28601 := KQFL3 KQ28701 := KQDL3 KQ28801 := 0.406649614831 KQ28901 := -0.389077444001 KQ29201 := 0.390429567548 KQ29301 := -0.406416613477 KQ29401 := KQFL3 KQ29501 := KQDL3 KQ29601 := KQFL3 KQ29701 := KQDL3 KQ29801 := 0.406588653506 KQ29901 := -0.389037213556 KQ30201 := 0.39027307525 KQ30301 := -0.406178588622 KQ30401 := KQFL3 KQ30501 := KQDL3 KQ30601 := KQFL3 KQ30615 := 0 KQ30701 := KQDL3 KQ30715 := 0 KQ30801 := 0.418743774352 Q25201 : QUAD, TYPE="QE", L=LQE/2, K1=KQ25201, APER=rQE Q25301 : QUAD, TYPE="QE", L=LQE/2, K1=KQ25301, APER=rQE Q25401 : QUAD, TYPE="QE", L=LQE/2, K1=KQ25401, APER=rQE Q25501 : QUAD, TYPE="QE", L=LQE/2, K1=KQ25501, APER=rQE Q25601 : QUAD, TYPE="QE", L=LQE/2, K1=KQ25601, APER=rQE Q25701 : QUAD, TYPE="QE", L=LQE/2, K1=KQ25701, APER=rQE Q25801 : QUAD, TYPE="QE", L=LQE/2, K1=KQ25801, APER=rQE Q25901 : QUAD, TYPE="QE", L=LQE/2, K1=KQ25901, APER=rQE Q26201 : QUAD, TYPE="QE", L=LQE/2, K1=KQ26201, APER=rQE Q26301 : QUAD, TYPE="QE", L=LQE/2, K1=KQ26301, APER=rQE Q26401 : QUAD, TYPE="QE", L=LQE/2, K1=KQ26401, APER=rQE Q26501 : QUAD, TYPE="QE", L=LQE/2, K1=KQ26501, APER=rQE Q26601 : QUAD, TYPE="QE", L=LQE/2, K1=KQ26601, APER=rQE Q26701 : QUAD, TYPE="QE", L=LQE/2, K1=KQ26701, APER=rQE Q26801 : QUAD, TYPE="QE", L=LQE/2, K1=KQ26801, APER=rQE Q26901 : QUAD, TYPE="QE", L=LQE/2, K1=KQ26901, APER=rQE Q27201 : QUAD, TYPE="QE", L=LQE/2, K1=KQ27201, APER=rQE Q27301 : QUAD, TYPE="QE", L=LQE/2, K1=KQ27301, APER=rQE Q27401 : QUAD, TYPE="QE", L=LQE/2, K1=KQ27401, APER=rQE Q27501 : QUAD, TYPE="QE", L=LQE/2, K1=KQ27501, APER=rQE Q27601 : QUAD, TYPE="QE", L=LQE/2, K1=KQ27601, APER=rQE Q27701 : QUAD, TYPE="QE", L=LQE/2, K1=KQ27701, APER=rQE Q27801 : QUAD, TYPE="QE", L=LQE/2, K1=KQ27801, APER=rQE Q27901 : QUAD, TYPE="QE", L=LQE/2, K1=KQ27901, APER=rQE Q28201 : QUAD, TYPE="QE", L=LQE/2, K1=KQ28201, APER=rQE Q28301 : QUAD, TYPE="QE", L=LQE/2, K1=KQ28301, APER=rQE Q28401 : QUAD, TYPE="QE", L=LQE/2, K1=KQ28401, APER=rQE Q28501 : QUAD, TYPE="QE", L=LQE/2, K1=KQ28501, APER=rQE Q28601 : QUAD, TYPE="QE", L=LQE/2, K1=KQ28601, APER=rQE Q28701 : QUAD, TYPE="QE", L=LQE/2, K1=KQ28701, APER=rQE Q28801 : QUAD, TYPE="QE", L=LQE/2, K1=KQ28801, APER=rQE Q28901 : QUAD, TYPE="QE", L=LQE/2, K1=KQ28901, APER=rQE Q29201 : QUAD, TYPE="QE", L=LQE/2, K1=KQ29201, APER=rQE Q29301 : QUAD, TYPE="QE", L=LQE/2, K1=KQ29301, APER=rQE Q29401 : QUAD, TYPE="QE", L=LQE/2, K1=KQ29401, APER=rQE Q29501 : QUAD, TYPE="QE", L=LQE/2, K1=KQ29501, APER=rQE Q29601 : QUAD, TYPE="QE", L=LQE/2, K1=KQ29601, APER=rQE Q29701 : QUAD, TYPE="QE", L=LQE/2, K1=KQ29701, APER=rQE Q29801 : QUAD, TYPE="QE", L=LQE/2, K1=KQ29801, APER=rQE Q29901 : QUAD, TYPE="QE", L=LQE/2, K1=KQ29901, APER=rQE Q30201 : QUAD, TYPE="QE", L=LQE/2, K1=KQ30201, APER=rQE Q30301 : QUAD, TYPE="QE", L=LQE/2, K1=KQ30301, APER=rQE Q30401 : QUAD, TYPE="QE", L=LQE/2, K1=KQ30401, APER=rQE Q30501 : QUAD, TYPE="QE", L=LQE/2, K1=KQ30501, APER=rQE Q30601 : QUAD, TYPE="QE", L=LQE/2, K1=KQ30601, APER=rQE Q30615A: QUAD, TYPE="QW", L=LQW/2, K1=KQ30615, APER=rQW Q30615B: QUAD, TYPE="QW", L=LQW/2, K1=KQ30615, APER=rQW Q30615C: QUAD, TYPE="QW", L=LQW/2, K1=KQ30615, APER=rQW Q30701 : QUAD, TYPE="QE", L=LQE/2, K1=KQ30701, APER=rQE Q30715A: QUAD, TYPE="QW", L=LQW/2, K1=KQ30715, APER=rQW Q30715B: QUAD, TYPE="QW", L=LQW/2, K1=KQ30715, APER=rQW Q30715C: QUAD, TYPE="QW", L=LQW/2, K1=KQ30715, APER=rQW Q30801 : QUAD, TYPE="QE", L=LQE/2, K1=KQ30801, APER=rQE ! BSY K50Q := 0.252164058501 KQ50Q1 := -K50Q KQ50Q2 := K50Q KQ50Q3 := -K50Q KQSM1 := 0 KQ5 := -0.159291446684 KQ6 := 0.234194141524 KQA0 := -0.201473658651 Q50Q1 : QUAD, TYPE="50Q1", L=0.093671, K1=KQ50Q1, APER=0.010325 Q50Q2 : QUAD, TYPE="50Q2", L=0.162151, K1=KQ50Q2, APER=0.010325 Q50Q3 : QUAD, TYPE="50Q3", L=0.143254, K1=KQ50Q3, APER=0.010325 QSM1 : QUAD, TYPE="FFTBQSM", L=0.101, K1=KQSM1, APER=0.0115, TILT Q5 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQ5, APER=rQF Q6 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQ6, APER=rQF QA0 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQA0, APER=rQF ! LTU vertical bend system quads: ! ------------------------------ KQVM1 := -0.978990884832 KQVM2 := 0.666842383965 KQVM3 := 0.757009388096 KQVM4 := -0.735502720623 KQVB := -0.42223036711 QVM1 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1= KQVM1, APER=rQF QVM2 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1= KQVM2, APER=rQF QVB1 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1= KQVB, APER=rQF QVB2 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=-KQVB, APER=rQF QVB3 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1= KQVB, APER=rQF QVM3 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1= KQVM3, APER=rQF QVM4 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1= KQVM4, APER=rQF ! LTU dog-leg bend system quads: ! ------------------------------ KQDL := 0.44267670105 KQT1 :=-0.420937827343 KQT2 := 0.839614778043 KQEM1 :=-0.3948193191 KQEM2 := 0.437029374266 KQEM3 :=-0.601204901993 KQEM4 := 0.425609607536 !!KQEM1 := 0.523067013378 ! set KQED2=0 and match QEM1-4 for slice-x-emit on OTR33: BETX,Y=20.6 m, ALFX,Y=0 (20.6=12*DE3[L]/5) - 9/9/08 !!KQEM2 :=-0.353726700311 !!KQEM3 := 0.476261669139 ! use nearby QEM3V quad to scan slice-x-emit on OTR33 !!KQEM4 :=-0.277924519027 KQUM1 := 0.438152708498 ! for =30 m undulator KQUM2 :=-0.387122017170 ! for =30 m undulator KQUM3 := 0.092751923581 ! for =30 m undulator KQUM4 := 0.340037095214 ! for =30 m undulator KQED2 := 0.402753198232*1 ! ED2 FODO quad strength (set =0 for slice-emit on OTR33) QDL31 : QUAD, TYPE="Q150kG", L=LQA/2, K1=KQDL, APER=rQA QDL32 : QUAD, TYPE="Q150kG", L=LQA/2, K1=KQDL, APER=rQA QDL33 : QUAD, TYPE="Q150kG", L=LQA/2, K1=KQDL, APER=rQA QDL34 : QUAD, TYPE="Q150kG", L=LQA/2, K1=KQDL, APER=rQA QT11 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF QT12 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT2, APER=rQF QT13 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF QT21 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF QT22 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT2, APER=rQF QT23 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF QT31 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF QT32 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT2, APER=rQF QT33 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF QT41 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF QT42 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT2, APER=rQF QT43 : QUAD, TYPE="0.91Q17.72", L=LQF/2, K1=KQT1, APER=rQF QE31 : QUAD, TYPE="ETA", L=LQx/2, K1=+KQED2, APER=rQx QE32 : QUAD, TYPE="ETA", L=LQx/2, K1=-KQED2, APER=rQx QE33 : QUAD, TYPE="ETA", L=LQx/2, K1=+KQED2, APER=rQx QE34 : QUAD, TYPE="ETA", L=LQx/2, K1=-KQED2, APER=rQx QE35 : QUAD, TYPE="ETA", L=LQx/2, K1=+KQED2, APER=rQx QE36 : QUAD, TYPE="ETA", L=LQx/2, K1=-KQED2, APER=rQx QEM1 : QUAD, TYPE="Q150kG", L=LQA/2, K1=KQEM1, APER=rQA QEM2 : QUAD, TYPE="Q150kG", L=LQA/2, K1=KQEM2, APER=rQA QEM3 : QUAD, TYPE="Q150kG", L=LQA/2, K1=KQEM3, APER=rQA QEM3V : QUAD, TYPE="ETA", L=LQx/2, K1=0, APER=rQx QEM4 : QUAD, TYPE="Q150kG", L=LQA/2, K1=KQEM4, APER=rQA QUM1 : QUAD, TYPE="Q150kG", L=LQA/2, K1=KQUM1, APER=rQA QUM2 : QUAD, TYPE="Q150kG", L=LQA/2, K1=KQUM2, APER=rQA QUM3 : QUAD, TYPE="Q150kG", L=LQA/2, K1=KQUM3, APER=rQA QUM4 : QUAD, TYPE="Q150kG", L=LQA/2, K1=KQUM4, APER=rQA ! LTU stuff: ! --------- LPCTDKIK:= 0.8128 ! length of each if 4 muon protection collimator after TDKIK (0.875" ID w/pipe) PCTDKIK1: ECOL,L=LPCTDKIK,XSIZE=11.1125E-3,YSIZE=11.1125E-3 ! muon collimator after SBD TDKIK in-line dump PCTDKIK2: ECOL,L=LPCTDKIK,XSIZE=11.1125E-3,YSIZE=11.1125E-3 ! muon collimator after SBD TDKIK in-line dump PCTDKIK3: ECOL,L=LPCTDKIK,XSIZE=11.1125E-3,YSIZE=11.1125E-3 ! muon collimator after SBD TDKIK in-line dump PCTDKIK4: ECOL,L=LPCTDKIK,XSIZE=11.1125E-3,YSIZE=11.1125E-3 ! muon collimator after SBD TDKIK in-line dump DTDUND1 : DRIFT, L=0.5+0.127+1.087896-0.003189 ! drift before pre-undulator tune-up dump DTDUND2 : DRIFT, L=0.37935 ! drift after pre-undulator tune-up dump PCMUON : ECOL,L=1.1684,XSIZE=8.64E-03/2,YSIZE=4.32E-03/2 ! muon scattering collimator after pre-undulator tune-up dump (ID from Rago: 7/18/08) DVV35 : DRIFT, L=1.780-0.254-1.087896+0.003189 ! drift after pre-undulator vacuum valve VV999 : MARK ! new vacuum valve just upbeam of undulator VV36 : MARK ! treaty-point vacuum valve just downbeam of undulator VV37 : MARK ! vac. valve in dumpline VV38 : MARK ! vac. valve in safety-dump line ! Undulator: ! --------- gamf := Ef/mc2 ! Lorentz energy factor in undulator [ ] Kund := 3.500; ! Undulator parameter (rms) [ ] lamu := 0.030; ! Undulator period [m] GQF := 38.461538; ! Undulator F-quad gradient [T/m] (3 T integrated gradient) GQD := -38.461538; ! Undulator D-quad gradient [T/m] (3 T integrated gradient) LQu := 0.078; ! Undulator quadrupole effective length [m] Lseg := 3.400; ! Undulator segment length [m] Lue := 0.035 ! Undulator termination length (approx) [m] Lund := Lseg - 2*Lue; ! Undulator segment length without terminations [m] Lundh := Lund/2 shrt := 0.470; ! Standard short break length [m] long := 0.898; ! Standard long break length [m] LRFBu := 0 ! undulator RF-BPM only implemented as zero length monitor Lbr1 := 6.889E-2 ! und-seg to quad [m] Lbr3 := 9.111E-2 ! quad to BPM [m] Lbr4 := 5.8577E-2 ! Radiation monitor to segment [m] Lbrwm := 7.1683E-2 ! BFW to radiation monitor [m] Lbrs := shrt-LRFBu-LQu-Lbr1-Lbr3-Lbr4-Lbrwm; ! Standard short break length (BPM-to-quad distance) [m] LBUVV2 := 0.2 ! drift length after inline vaccum valve LBUVV1 := Lbrl - LBUVV2 ! drift length before inline vaccum valve Lbrl := long-LRFBu-LQu-Lbr1-Lbr3-Lbr4-Lbrwm; ! Standard long break length (BPM-to-quad distance) [m] kqund := (Kund*2*pi/lamu/sqrt(2)/gamf)^2 ! natural undulator focusing "k" in y-plane [m^-2] kQF := 1E-9*GQF*clight/Ef; ! QF undulator quadrupole focusing "k" [m^-2] kQD := 1E-9*GQD*clight/Ef; ! QD undulator quadrupole focusing "k" [m^-2] VALUE, Lundh,Lbrs,Lbrl,kqund,gamf,kQF,kQD QU01 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad (even numbers are QF's, odd are QD's) QU02 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU03 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad QU04 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU05 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad QU06 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU07 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad QU08 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU09 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad QU10 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU11 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad QU12 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU13 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad QU14 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU15 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad QU16 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU17 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad QU18 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU19 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad QU20 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU21 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad QU22 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU23 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad QU24 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU25 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad QU26 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU27 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad QU28 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU29 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad QU30 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU31 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad QU32 : QUAD, TYPE="QUND", L=LQu/2, K1=kQF ! undulator quad QU33 : QUAD, TYPE="QUND", L=LQu/2, K1=kQD ! undulator quad RFBU00 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU01 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU02 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU03 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU04 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU05 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU06 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU07 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU08 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU09 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU10 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU11 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU12 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU13 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU14 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU15 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU16 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU17 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU18 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU19 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU20 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU21 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU22 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU23 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU24 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU25 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU26 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU27 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU28 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU29 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU30 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU31 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU32 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs RFBU33 : MONI, L=LRFBu, TYPE="01_um_res" ! undulator BPMs BFW00 : INST ! Beam Finder Wire BFW01 : INST ! Beam Finder Wire BFW02 : INST ! Beam Finder Wire BFW03 : INST ! Beam Finder Wire BFW04 : INST ! Beam Finder Wire BFW05 : INST ! Beam Finder Wire BFW06 : INST ! Beam Finder Wire BFW07 : INST ! Beam Finder Wire BFW08 : INST ! Beam Finder Wire BFW09 : INST ! Beam Finder Wire BFW10 : INST ! Beam Finder Wire BFW11 : INST ! Beam Finder Wire BFW12 : INST ! Beam Finder Wire BFW13 : INST ! Beam Finder Wire BFW14 : INST ! Beam Finder Wire BFW15 : INST ! Beam Finder Wire BFW16 : INST ! Beam Finder Wire BFW17 : INST ! Beam Finder Wire BFW18 : INST ! Beam Finder Wire BFW19 : INST ! Beam Finder Wire BFW20 : INST ! Beam Finder Wire BFW21 : INST ! Beam Finder Wire BFW22 : INST ! Beam Finder Wire BFW23 : INST ! Beam Finder Wire BFW24 : INST ! Beam Finder Wire BFW25 : INST ! Beam Finder Wire BFW26 : INST ! Beam Finder Wire BFW27 : INST ! Beam Finder Wire BFW28 : INST ! Beam Finder Wire BFW29 : INST ! Beam Finder Wire BFW30 : INST ! Beam Finder Wire BFW31 : INST ! Beam Finder Wire BFW32 : INST ! Beam Finder Wire BFW33 : INST ! Beam Finder Wire XCU01 : HKICK ! undulator X-steering coil in quad XCU02 : HKICK ! undulator X-steering coil in quad XCU03 : HKICK ! undulator X-steering coil in quad XCU04 : HKICK ! undulator X-steering coil in quad XCU05 : HKICK ! undulator X-steering coil in quad XCU06 : HKICK ! undulator X-steering coil in quad XCU07 : HKICK ! undulator X-steering coil in quad XCU08 : HKICK ! undulator X-steering coil in quad XCU09 : HKICK ! undulator X-steering coil in quad XCU10 : HKICK ! undulator X-steering coil in quad XCU11 : HKICK ! undulator X-steering coil in quad XCU12 : HKICK ! undulator X-steering coil in quad XCU13 : HKICK ! undulator X-steering coil in quad XCU14 : HKICK ! undulator X-steering coil in quad XCU15 : HKICK ! undulator X-steering coil in quad XCU16 : HKICK ! undulator X-steering coil in quad XCU17 : HKICK ! undulator X-steering coil in quad XCU18 : HKICK ! undulator X-steering coil in quad XCU19 : HKICK ! undulator X-steering coil in quad XCU20 : HKICK ! undulator X-steering coil in quad XCU21 : HKICK ! undulator X-steering coil in quad XCU22 : HKICK ! undulator X-steering coil in quad XCU23 : HKICK ! undulator X-steering coil in quad XCU24 : HKICK ! undulator X-steering coil in quad XCU25 : HKICK ! undulator X-steering coil in quad XCU26 : HKICK ! undulator X-steering coil in quad XCU27 : HKICK ! undulator X-steering coil in quad XCU28 : HKICK ! undulator X-steering coil in quad XCU29 : HKICK ! undulator X-steering coil in quad XCU30 : HKICK ! undulator X-steering coil in quad XCU31 : HKICK ! undulator X-steering coil in quad XCU32 : HKICK ! undulator X-steering coil in quad XCU33 : HKICK ! undulator X-steering coil in quad YCU01 : VKICK ! undulator Y-steering coil in quad YCU02 : VKICK ! undulator Y-steering coil in quad YCU03 : VKICK ! undulator Y-steering coil in quad YCU04 : VKICK ! undulator Y-steering coil in quad YCU05 : VKICK ! undulator Y-steering coil in quad YCU06 : VKICK ! undulator Y-steering coil in quad YCU07 : VKICK ! undulator Y-steering coil in quad YCU08 : VKICK ! undulator Y-steering coil in quad YCU09 : VKICK ! undulator Y-steering coil in quad YCU10 : VKICK ! undulator Y-steering coil in quad YCU11 : VKICK ! undulator Y-steering coil in quad YCU12 : VKICK ! undulator Y-steering coil in quad YCU13 : VKICK ! undulator Y-steering coil in quad YCU14 : VKICK ! undulator Y-steering coil in quad YCU15 : VKICK ! undulator Y-steering coil in quad YCU16 : VKICK ! undulator Y-steering coil in quad YCU17 : VKICK ! undulator Y-steering coil in quad YCU18 : VKICK ! undulator Y-steering coil in quad YCU19 : VKICK ! undulator Y-steering coil in quad YCU20 : VKICK ! undulator Y-steering coil in quad YCU21 : VKICK ! undulator Y-steering coil in quad YCU22 : VKICK ! undulator Y-steering coil in quad YCU23 : VKICK ! undulator Y-steering coil in quad YCU24 : VKICK ! undulator Y-steering coil in quad YCU25 : VKICK ! undulator Y-steering coil in quad YCU26 : VKICK ! undulator Y-steering coil in quad YCU27 : VKICK ! undulator Y-steering coil in quad YCU28 : VKICK ! undulator Y-steering coil in quad YCU29 : VKICK ! undulator Y-steering coil in quad YCU30 : VKICK ! undulator Y-steering coil in quad YCU31 : VKICK ! undulator Y-steering coil in quad YCU32 : VKICK ! undulator Y-steering coil in quad YCU33 : VKICK ! undulator Y-steering coil in quad DF0 : DRIFT, L=LQu-0.04241 ! No quad + correction to maintain symmetry DB0 : DRIFT, L=0.5653-Lbr1-LQu-Lbr3-LRFBu ! sets UNDSTOP to Jim Welch's Z' value DB1 : DRIFT, L=Lbr1 ! drift from segment to quad DB3 : DRIFT, L=Lbr3 ! drift from quad to BPM DB4 : DRIFT, L=Lbr4 ! Radiation monitor to segment drift DBWM : DRIFT, L=Lbrwm ! BFW to radiation monitor drift DBRS : DRIFT, L=Lbrs ! standard short undulator drift from BPM to segment DBRL : DRIFT, L=Lbrl ! standard long undulator drift from BPM to segment DT : DRIFT, L=Lue ! undulator segment small terminations modeled as drift MUQ : MARK ! undulator quad center marker for beta matching in all quads DBUVV1 : DRIFT, L=LBUVV1 ! drift before inline vaccum valve DBUVV2 : DRIFT, L=LBUVV2 ! drift after inline vaccum valve VVU10 : MARK ! inline vacuum valve in undulator chamber before girder 10 VVU25 : MARK ! inline vacuum valve in undulator chamber before girder 25 DBRL10 : LINE=(DBUVV1,VVU10,DBUVV2) ! long undulator drift from BPM to segment with inline value DBRL25 : LINE=(DBUVV1,VVU25,DBUVV2) ! long undulator drift from BPM to segment with inline value ! undulator segment modeled as R-matrix to include vertical natural focusing over all but its edge terminations: USEGH : MATRIX, L=Lundh, & RM(1,1) = 1.0, & RM(1,2) = Lundh, & RM(2,1) = 0.0, & RM(2,2) = 1.0, & RM(3,3) = cos(Lundh*sqrt(kqund)), & RM(3,4) = sin(Lundh*sqrt(kqund))/sqrt(kqund), & RM(4,3) = -sin(Lundh*sqrt(kqund))*sqrt(kqund), & RM(4,4) = cos(Lundh*sqrt(kqund)) US01 : USEGH US02 : USEGH US03 : USEGH US04 : USEGH US05 : USEGH US06 : USEGH US07 : USEGH US08 : USEGH US09 : USEGH US10 : USEGH US11 : USEGH US12 : USEGH US13 : USEGH US14 : USEGH US15 : USEGH US16 : USEGH US17 : USEGH US18 : USEGH US19 : USEGH US20 : USEGH US21 : USEGH US22 : USEGH US23 : USEGH US24 : USEGH US25 : USEGH US26 : USEGH US27 : USEGH US28 : USEGH US29 : USEGH US30 : USEGH US31 : USEGH US32 : USEGH US33 : USEGH VALUE, USEGH[RM(1,2)],Lundh VALUE, USEGH[RM(3,3)],cos(Lundh*sqrt(kqund)) VALUE, USEGH[RM(3,4)],sin(Lundh*sqrt(kqund))/sqrt(kqund) VALUE, USEGH[RM(4,3)],-sin(Lundh*sqrt(kqund))*sqrt(kqund) VALUE, USEGH[RM(4,4)],cos(Lundh*sqrt(kqund)) USTBK01 : LINE=(DT,US01,US01,DT) USTBK02 : LINE=(DT,US02,US02,DT) USTBK03 : LINE=(DT,US03,US03,DT) USTBK04 : LINE=(DT,US04,US04,DT) USTBK05 : LINE=(DT,US05,US05,DT) USTBK06 : LINE=(DT,US06,US06,DT) USTBK07 : LINE=(DT,US07,US07,DT) USTBK08 : LINE=(DT,US08,US08,DT) USTBK09 : LINE=(DT,US09,US09,DT) USTBK10 : LINE=(DT,US10,US10,DT) USTBK11 : LINE=(DT,US11,US11,DT) USTBK12 : LINE=(DT,US12,US12,DT) USTBK13 : LINE=(DT,US13,US13,DT) USTBK14 : LINE=(DT,US14,US14,DT) USTBK15 : LINE=(DT,US15,US15,DT) USTBK16 : LINE=(DT,US16,US16,DT) USTBK17 : LINE=(DT,US17,US17,DT) USTBK18 : LINE=(DT,US18,US18,DT) USTBK19 : LINE=(DT,US19,US19,DT) USTBK20 : LINE=(DT,US20,US20,DT) USTBK21 : LINE=(DT,US21,US21,DT) USTBK22 : LINE=(DT,US22,US22,DT) USTBK23 : LINE=(DT,US23,US23,DT) USTBK24 : LINE=(DT,US24,US24,DT) USTBK25 : LINE=(DT,US25,US25,DT) USTBK26 : LINE=(DT,US26,US26,DT) USTBK27 : LINE=(DT,US27,US27,DT) USTBK28 : LINE=(DT,US28,US28,DT) USTBK29 : LINE=(DT,US29,US29,DT) USTBK30 : LINE=(DT,US30,US30,DT) USTBK31 : LINE=(DT,US31,US31,DT) USTBK32 : LINE=(DT,US32,US32,DT) USTBK33 : LINE=(DT,US33,US33,DT) QBLK01 : LINE=(QU01,XCU01,MUQ,YCU01,QU01) QBLK02 : LINE=(QU02,XCU02,MUQ,YCU02,QU02) QBLK03 : LINE=(QU03,XCU03,MUQ,YCU03,QU03) QBLK04 : LINE=(QU04,XCU04,MUQ,YCU04,QU04) QBLK05 : LINE=(QU05,XCU05,MUQ,YCU05,QU05) QBLK06 : LINE=(QU06,XCU06,MUQ,YCU06,QU06) QBLK07 : LINE=(QU07,XCU07,MUQ,YCU07,QU07) QBLK08 : LINE=(QU08,XCU08,MUQ,YCU08,QU08) QBLK09 : LINE=(QU09,XCU09,MUQ,YCU09,QU09) QBLK10 : LINE=(QU10,XCU10,MUQ,YCU10,QU10) QBLK11 : LINE=(QU11,XCU11,MUQ,YCU11,QU11) QBLK12 : LINE=(QU12,XCU12,MUQ,YCU12,QU12) QBLK13 : LINE=(QU13,XCU13,MUQ,YCU13,QU13) QBLK14 : LINE=(QU14,XCU14,MUQ,YCU14,QU14) QBLK15 : LINE=(QU15,XCU15,MUQ,YCU15,QU15) QBLK16 : LINE=(QU16,XCU16,MUQ,YCU16,QU16) QBLK17 : LINE=(QU17,XCU17,MUQ,YCU17,QU17) QBLK18 : LINE=(QU18,XCU18,MUQ,YCU18,QU18) QBLK19 : LINE=(QU19,XCU19,MUQ,YCU19,QU19) QBLK20 : LINE=(QU20,XCU20,MUQ,YCU20,QU20) QBLK21 : LINE=(QU21,XCU21,MUQ,YCU21,QU21) QBLK22 : LINE=(QU22,XCU22,MUQ,YCU22,QU22) QBLK23 : LINE=(QU23,XCU23,MUQ,YCU23,QU23) QBLK24 : LINE=(QU24,XCU24,MUQ,YCU24,QU24) QBLK25 : LINE=(QU25,XCU25,MUQ,YCU25,QU25) QBLK26 : LINE=(QU26,XCU26,MUQ,YCU26,QU26) QBLK27 : LINE=(QU27,XCU27,MUQ,YCU27,QU27) QBLK28 : LINE=(QU28,XCU28,MUQ,YCU28,QU28) QBLK29 : LINE=(QU29,XCU29,MUQ,YCU29,QU29) QBLK30 : LINE=(QU30,XCU30,MUQ,YCU30,QU30) QBLK31 : LINE=(QU31,XCU31,MUQ,YCU31,QU31) QBLK32 : LINE=(QU32,XCU32,MUQ,YCU32,QU32) QBLK33 : LINE=(QU33,XCU33,MUQ,YCU33,QU33) GIRD01 : LINE=(BFW01,DBWM,DB4,USTBK01,DB1,QBLK01,DB3,RFBU01) GIRD02 : LINE=(BFW02,DBWM,DB4,USTBK02,DB1,QBLK02,DB3,RFBU02) GIRD03 : LINE=(BFW03,DBWM,DB4,USTBK03,DB1,QBLK03,DB3,RFBU03) GIRD04 : LINE=(BFW04,DBWM,DB4,USTBK04,DB1,QBLK04,DB3,RFBU04) GIRD05 : LINE=(BFW05,DBWM,DB4,USTBK05,DB1,QBLK05,DB3,RFBU05) GIRD06 : LINE=(BFW06,DBWM,DB4,USTBK06,DB1,QBLK06,DB3,RFBU06) GIRD07 : LINE=(BFW07,DBWM,DB4,USTBK07,DB1,QBLK07,DB3,RFBU07) GIRD08 : LINE=(BFW08,DBWM,DB4,USTBK08,DB1,QBLK08,DB3,RFBU08) GIRD09 : LINE=(BFW09,DBWM,DB4,USTBK09,DB1,QBLK09,DB3,RFBU09) GIRD10 : LINE=(BFW10,DBWM,DB4,USTBK10,DB1,QBLK10,DB3,RFBU10) GIRD11 : LINE=(BFW11,DBWM,DB4,USTBK11,DB1,QBLK11,DB3,RFBU11) GIRD12 : LINE=(BFW12,DBWM,DB4,USTBK12,DB1,QBLK12,DB3,RFBU12) GIRD13 : LINE=(BFW13,DBWM,DB4,USTBK13,DB1,QBLK13,DB3,RFBU13) GIRD14 : LINE=(BFW14,DBWM,DB4,USTBK14,DB1,QBLK14,DB3,RFBU14) GIRD15 : LINE=(BFW15,DBWM,DB4,USTBK15,DB1,QBLK15,DB3,RFBU15) GIRD16 : LINE=(BFW16,DBWM,DB4,USTBK16,DB1,QBLK16,DB3,RFBU16) GIRD17 : LINE=(BFW17,DBWM,DB4,USTBK17,DB1,QBLK17,DB3,RFBU17) GIRD18 : LINE=(BFW18,DBWM,DB4,USTBK18,DB1,QBLK18,DB3,RFBU18) GIRD19 : LINE=(BFW19,DBWM,DB4,USTBK19,DB1,QBLK19,DB3,RFBU19) GIRD20 : LINE=(BFW20,DBWM,DB4,USTBK20,DB1,QBLK20,DB3,RFBU20) GIRD21 : LINE=(BFW21,DBWM,DB4,USTBK21,DB1,QBLK21,DB3,RFBU21) GIRD22 : LINE=(BFW22,DBWM,DB4,USTBK22,DB1,QBLK22,DB3,RFBU22) GIRD23 : LINE=(BFW23,DBWM,DB4,USTBK23,DB1,QBLK23,DB3,RFBU23) GIRD24 : LINE=(BFW24,DBWM,DB4,USTBK24,DB1,QBLK24,DB3,RFBU24) GIRD25 : LINE=(BFW25,DBWM,DB4,USTBK25,DB1,QBLK25,DB3,RFBU25) GIRD26 : LINE=(BFW26,DBWM,DB4,USTBK26,DB1,QBLK26,DB3,RFBU26) GIRD27 : LINE=(BFW27,DBWM,DB4,USTBK27,DB1,QBLK27,DB3,RFBU27) GIRD28 : LINE=(BFW28,DBWM,DB4,USTBK28,DB1,QBLK28,DB3,RFBU28) GIRD29 : LINE=(BFW29,DBWM,DB4,USTBK29,DB1,QBLK29,DB3,RFBU29) GIRD30 : LINE=(BFW30,DBWM,DB4,USTBK30,DB1,QBLK30,DB3,RFBU30) GIRD31 : LINE=(BFW31,DBWM,DB4,USTBK31,DB1,QBLK31,DB3,RFBU31) GIRD32 : LINE=(BFW32,DBWM,DB4,USTBK32,DB1,QBLK32,DB3,RFBU32) GIRD33 : LINE=(BFW33,DBWM,DB4,USTBK33,DB1,QBLK33,DB3,RFBU33) UNDCL : LINE=(DBRS, GIRD01,DBRS,GIRD02,DBRS,GIRD03, & DBRL, GIRD04,DBRS,GIRD05,DBRS,GIRD06, & DBRL, GIRD07,DBRS,GIRD08,DBRS,GIRD09, & DBRL10,GIRD10,DBRS,GIRD11,DBRS,GIRD12, & DBRL, GIRD13,DBRS,GIRD14,DBRS,GIRD15, & DBRL, GIRD16,DBRS,GIRD17,DBRS,GIRD18, & DBRL, GIRD19,DBRS,GIRD20,DBRS,GIRD21, & DBRL, GIRD22,DBRS,GIRD23,DBRS,GIRD24, & DBRL25,GIRD25,DBRS,GIRD26,DBRS,GIRD27, & DBRL, GIRD28,DBRS,GIRD29,DBRS,GIRD30, & DBRL, GIRD31,DBRS,GIRD32,DBRS,GIRD33) UND : LINE=(UNDSTART,DF0,DB3,RFBU00,UNDCL,DB0,UNDTERM) ! Undulator exit section: ! ---------------------- DUE1a : DRIFT,L=10.720575-8.930036 DUE1d : DRIFT,L=8.930036+0.411634 DUE1b : DRIFT,L= 0.5-0.411634+0.038094 DUE1c : DRIFT,L= 0.455460-0.038094 DUE2a : DRIFT,L= 0.455460+0.139704+0.129836 DUE2b : DRIFT,L=10.609500-0.17858 DUE2c : DRIFT,L= 0.455460+0.050796+0.048744 DUE3a : DRIFT,L= 0.455460-0.139956 DUE3b : DRIFT,L= 0.144120 DUE3c : DRIFT,L=11.919836 DUE4 : DRIFT,L= 0.5 DUE5A : DRIFT,L= 1.020814-0.0762-0.009011 DUE5C : DRIFT,L= 0.33362-0.00362 DUE5D : DRIFT,L= 0.145566+0.0762+0.012631 KQUE1 := 0.104402672527 ! [=30 m] KQUE2 := -0.034721612961 ! [=30 m] QUE1 : QUAD, TYPE="3.25Q20", L=LQD/2, K1= KQUE1, APER=rQD QUE2 : QUAD, TYPE="3.25Q20", L=LQD/2, K1= KQUE2, APER=rQD UEbeg : MARK UEend : MARK ! Dump: ! ---- KQDmp := -0.112488747732 ! [=30 m] QDmp1 : QUAD,TYPE="3.25Q20",L=LQD/2,K1=KQDmp,APER=rQD QDmp2 : QUAD,TYPE="3.25Q20",L=LQD/2,K1=KQDmp,APER=rQD Ddmpv := -0.73352263654 LDS := 0.300-0.026027*2 LDSC := 0.499225-0.026027+0.1124278-0.008032 DDmp1 : DRIFT, L=0.30 D2d : DRIFT, L=0.75 DDmp3 : DRIFT, L=0.75 DSB0a : DRIFT, L=0.111120 DSB0b : DRIFT, L=0.21491 DSB0c : DRIFT, L=0.235534+0.031167 DSB0d : DRIFT, L=0.278039-0.031167 DS : DRIFT, L=LDS DSc : DRIFT, L=LDSC DD1a : DRIFT, L=2.6512616 DD1b : DRIFT, L=6.8896877-LQD/2-Ddmpv+0.017094407653 DD1f : DRIFT, L=0.266645-0.017094407653 DD1c : DRIFT, L=0.4+0.2920945-0.266645-2*0.0381452 DD1d : DRIFT, L=0.25-0.0079372 DD1e : DRIFT, L=0.25+0.0079372 DD2a : DRIFT, L=0.4+0.0634916+0.0115084 DD2b : DRIFT, L=8.425460-LQD/2+Ddmpv-0.15-0.0634916-0.049684-0.0115084 DD3a : DRIFT, L=0.3+0.049684+0.001583 DD3b : DRIFT, L=0.3-0.001583-0.1447026 DD3c : DRIFT, L=2.580+0.1447026-0.2441932 DD3d : DRIFT, L=0.2441932 DD3e : DRIFT, L=0.2857474-0.2441932 DPM1a : DRIFT, L=6.851618-0.694995 DPM1b : DRIFT, L=1.820699-LSTPR/2+0.163401-0.1174 DST0 : DRIFT, L=0.1112 DMUSPL : DRIFT, L=3*0.3048+2.893089-LSTPR-3.288089+0.1174-0.1112-0.1174 DST1 : DRIFT, L=0.1112 DPM1c : DRIFT, L=4.7074-LSTPR/2+3.4214+0.1174-0.1112 DPM1d : DRIFT, L=0.50+0.112-0.296712+0.008013 DPM1 : DRIFT, L=0.30/cos(ABpm) DPM2 : DRIFT, L=0.30/cos(2*ABpm) DSFT : DRIFT, L=11.934976 DPM2e : DRIFT, L=0.076213 DMPend : MARK OTRDMP : PROF, TYPE="OTR" !Dump screen LPCPM : = 0.076 PCPM1L : ECOL, L=LPCPM/cos(3*ABdm0),XSIZE=0.0250,YSIZE=0.0250 BTM1L : INST ! Burn-Through-Monitor behind PCPM1L PCPM2L : ECOL, L=LPCPM/cos(3*ABdm0),XSIZE=0.0250,YSIZE=0.0250 BTM2L : INST ! Burn-Through-Monitor behind PCPM2L ! Safety Dump: ! ----------- SFTBEG : MARK ! start of safety dump (entrance of turned-off BYD1) PCPM0 : ECOL, L=LPCPM,XSIZE=0.0168,YSIZE=0.0103 ! added Sep. 13, 2007 per J. Langton PCPM1 : ECOL, L=LPCPM,XSIZE=0.0168,YSIZE=0.0103 PCPM2 : ECOL, L=LPCPM,XSIZE=0.0198,YSIZE=0.0121 BTM0 : INST ! Burn-Through-Monitor behind PCPM1L BTM1 : INST ! Burn-Through-Monitor behind PCPM1L BTM2 : INST ! Burn-Through-Monitor behind PCPM1L DYD1 : DRIFT, L=LBdm*cos(1*ABdm0/2) DYD2 : DRIFT, L=LBdm*cos(3*ABdm0/2) DYD3 : DRIFT, L=LBdm*cos(5*ABdm0/2) DSS1 : DRIFT, L=LDS*cos(1*ABdm0) DSS2 : DRIFT, L=LDS*cos(2*ABdm0) DScS1 : DRIFT, L=LDSC*cos(3*ABdm0)/2+0.188398+0.004 DScS2 : DRIFT, L=LDSC*cos(3*ABdm0)/2-0.188398-0.004 BTMSFT : INST ! Burn-Through-Monitor behind saftey-dump ! ============================================================================== ! DRIFTs ! ------------------------------------------------------------------------------ ! L1/2/3 FODO cells D9 : DRIF, L=DLWL9 D10 : DRIF, L=DLWL10 DAQ1 : DRIF, L=0.0342 DAQ2 : DRIF, L=0.027 ! injector geometry LGGUN := 7.51*0.3048 LGL0 := 2*3.0441+1.0 LGBEND := 0.95 + 2*0.3048 ! add 12" to either side of QB for more room (22JAN04 - PE) LGEMIT := 9.000328707307 LGMATCH := 1.5134597681 DGGUN : DRIF, L=LGGUN DGL0 : DRIF, L=LGL0 ! L0 LOADLOCK : DRIF, L=LGGUN-1.42 DL00 : DRIF, L=-LOADLOCK[L] !from cathode back to u/s end of loadlock DL01a : DRIF, L=0.19601-LSOL1/2 DL01a1 : DRIF, L=0.07851 DL01a2 : DRIF, L=0.11609 DL01a3 : DRIF, L=0.10461 DL01a4 : DRIF, L=0.0170+0.0014 DL01a5 : DRIF, L=0.0132-0.00223 DL01b : DRIF, L=0.0825 DL01c : DRIF, L=0.1340-0.00353-0.003175 DL01d : DRIF, L=0.1008464-0.0155757 DL01h : DRIF, L=0.0581886 DL01e : DRIF, L=0.2286-DXG0[L]-0.00536+0.0155757 DL01f : DRIF, L=0.1353+0.00708 DL01f2 : DRIF, L=0.0277+0.00167 DL01g : DRIF, L=0.0740-0.00341 DL02a1 : DRIF, L=0.066356+0.0021436-0.008205 DL02a2 : DRIF, L=0.104580+0.008205 DL02a3 : DRIF, L=0.098776-LQx/2+0.028834 DL02b1 : DRIF, L=0.169672-LQx/2-0.028834+0.007646 DL02b2 : DRIF, L=0.185928-LQx/2-0.007646+0.001610 DL02c : DRIF, L=0.121498-LQx/2-0.001610 ! Heater-Chicane: ! LSRHTR_ON := 1E-12 !set to 1E-12 for laser heater bends & undulator OFF and 1.0 for ON (nominal) LSRHTR_ON := 1 !set to 1E-12 for laser heater bends & undulator OFF and 1.0 for ON (nominal) Brhoh := Cb*Ei !beam rigidity at heater (kG-m) BBh1 := -4.751481741801*LSRHTR_ON !heater-chicane bend field for 35-mm etaX_pk (kG) RBh1 := Brhoh/BBh1 !heater-chicane bend radius (m) ABh1 := ASIN(LBh/RBh1) !heater-chicane bend angle (rad) ABh1S := ASIN((LBh/2)/RBh1) !"short" half heater-chicane bend angle (rad) LBh1S := RBh1*ABh1S !"short" half heater-chicane bend path length (m) ABh1L := ABh1-ABh1S !"long" half heater-chicane bend angle (rad) LBh1L := RBh1*ABh1L !"long" half heater-chicane bend path length (m) Dh00 : DRIF, L=0.13453045-dLBh/2 Dh01 : DRIF, L=(0.155-dLBh)/COS(ABh1), TYPE="CSR" Dh02a : DRIF, L=0.06717020-dLBh/2, TYPE="CSR" Dh03a : DRIF, L=0.09290825, TYPE="CSR" Dh03b : DRIF, L=0.08401830, TYPE="CSR" Dh02b : DRIF, L=0.09503020-dLBh/2, TYPE="CSR" Dh06 : DRIF, L=0.13010070-dLBh/2, TYPE="CSR" HTRUND : INST BXh1A : SBEN, TYPE="5D3.9", L=LBh1S, ANGLE=+ABh1S, HGAP=GBh/2, & E1=0, FINT=0.400, FINTX=0 BXh1B : SBEN, TYPE="5D3.9", L=LBh1L, ANGLE=+ABh1L, HGAP=GBh/2, & FINT=0, E2=+ABh1, FINTX=0.400 BXh2A : SBEN, TYPE="5D3.9", L=LBh1L, ANGLE=-ABh1L, HGAP=GBh/2, & E1=-ABh1, FINT=0.400, FINTX=0 BXh2B : SBEN, TYPE="5D3.9", L=LBh1S, ANGLE=-ABh1S, HGAP=GBh/2, & FINT=0, E2=0, FINTX=0.400 BXh3A : SBEN, TYPE="5D3.9", L=LBh1S, ANGLE=-ABh1S, HGAP=GBh/2, & E1=0, FINT=0.400, FINTX=0 BXh3B : SBEN, TYPE="5D3.9", L=LBh1L, ANGLE=-ABh1L, HGAP=GBh/2, & FINT=0, E2=-ABh1, FINTX=0.400 BXh4A : SBEN, TYPE="5D3.9", L=LBh1L, ANGLE=+ABh1L, HGAP=GBh/2, & E1=+ABh1, FINT=0.400, FINTX=0 BXh4B : SBEN, TYPE="5D3.9", L=LBh1S, ANGLE=+ABh1S, HGAP=GBh/2, & FINT=0, E2=0, FINTX=0.400 ! Laser-Heater Undulator Model: lam := 0.054 ! laser-heater undulator period [m] lamr := 758E-9 ! heater laser wavelength [m] gami := Ei/mc2 ! Lorentz energy factor in laser-heater undulator [ ] K_und := LSRHTR_ON*sqrt(2*(lamr*2*gami^2/lam - 1)) ! undulator K for laser heater und. Lhun := 0.506263 ! length of laser-heater undulator kqlh := (K_und*2*pi/lam/sqrt(2)/gami)^2 ! natural undulator focusing "k" in y-plane [m^-2] VALUE,gami,kqlh,K_und LHBEG : MARK LHEND : MARK ! laser-heater undulator modeled as R-matrix to include vertical natural focusing: LH_UND : MATRIX, 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,6) = Lhun/2/(gami^2)*(1+(K_und^2)/2) VALUE, LH_UND[RM(1,2)],Lhun/2 VALUE, LH_UND[RM(3,3)],cos(Lhun/2*sqrt(kqlh)) VALUE, LH_UND[RM(3,4)],sin(Lhun/2*sqrt(kqlh))/sqrt(kqlh) VALUE, LH_UND[RM(4,3)],-sin(Lhun/2*sqrt(kqlh))*sqrt(kqlh) VALUE, LH_UND[RM(4,4)],cos(Lhun/2*sqrt(kqlh)) ! VALUE, LH_UND[RM(5,6)],Lhun/2/(gami^2)*(1+(K_und^2)/2) ! DL1 LWS01_03 := 3.827458 ! distance from WS01 to WS03 wire centers [m] (changed 06MAY05 -PE) BMIN0 := LWS01_03/SQRT(3)/2 ! betaX=betaY at WS02 where waist is located (12NOV03 -PE) VALUE, BMIN0 MRK0 : MARK DE00 : DRIF, L=0.024994 DE00a: DRIF, L=0.070613-LQx/2 DE01a: DRIF, L=0.130373-LQx/2 DE01b: DRIF, L=0.176359-LQx/2 DE01c: DRIF, L=0.094781 DE02 : DRIF, L=0.0897395-LQx/2 DE03a: DRIF, L=0.16832-LQx/2 DE03b: DRIF, L=0.047581 DE03c: DRIF, L=0.190499-LQx/2 DE04 : DRIF, L=0.197688-LQx/2 DE05 : DRIF, L=0.151968 DE05a: DRIF, L=DE05[L]/2 DE05c: DRIF, L=0.104470 DE06b: DRIF, L=0.2478024 DE06a: DRIF, L=LWS01_03/2-DE05[L]-DE05c[L]-DE06b[L] DE06d: DRIF, L=0.1638307 DE06e: DRIF, L=LWS01_03/2-DE05[L]-DE06d[L] DE07 : DRIF, L=0.2045007-LQx/2+0.305E-3 DE08 : DRIF, L=0.2318721-LQx/2-0.03 DE08a: DRIF, L=0.153330+0.03 DE08b: DRIF, L=0.170620-LQx/2 DE09 : DRIF, L=0.27745-LQx/2 DB00a: DRIF, L=0.399700, TYPE="CSR" DB00b: DRIF, L=0.161, TYPE="CSR" DB00c: DRIF, L=0.219100-LQE/2, TYPE="CSR" DB00d: DRIF, L=0.342-LQE/2, TYPE="CSR" DB00e: DRIF, L=0.4378, TYPE="CSR" DM00 : DRIF, L=0.203400-ZOFFINJ+0.03, TYPE="CSR" ! move entire injector ~12 mm dntr. (Nov. 17, 2004 - PE) DM00a: DRIF, L=0.224683-LQx/2-0.03, TYPE="CSR" DM01 : DRIF, L=0.142367-LQx/2, TYPE="CSR" DM01a: DRIF, L=0.262800-LQx/2, TYPE="CSR" DM02 : DRIF, L=0.194200-LQx/2 DM02a: DRIF, L=0.157448 ! L1 DAQA1 : DRIF, L=0.033450+dz_QA11 DAQA2 : DRIF, L=0.033450-dz_QA11 DAQA3 : DRIF, L=0.033450 DAQA4 : DRIF, L=0.033450 ! BC1 LWW1 := 1.656196 ! WS11-12 drift length and therefore ~ beam size BMIN1 := LWW1/SQRT(3) ! betaX,Y at WS12 DL1Xa : DRIF, L=0.093369 DL1Xb : DRIF, L=0.2 DM10a : DRIF, L=0.227400-0.022322 DM10c : DRIF, L=0.122322+dz_Q21201 DM10x : DRIF, L=0.083617-dz_Q21201 DM11 : DRIF, L=0.272500+0.006383 DM12 : DRIF, L=0.127801 DBQ1 : DRIF, L=(0.400381-LB1/2-LQc/2)/COS(AB11), TYPE="CSR" D11o : DRIF, L=LD11o-(DBQ1[L]+LQc)-2E-7, TYPE="CSR" DDG0 : DRIF, L=0.1698-0.084915+0.0508-0.0045, TYPE="CSR" ! additional drift in BC2 center prior to diag. package DDGA : DRIF, L=0.084915+0.0508-0.0045, TYPE="CSR" ! additional drift in BC2 center prior to diag. package DDG1 : DRIF, L=0.2891-0.04046, TYPE="CSR" ! BC1 and BC2 diag. package drifts (BX*2B to BPM) DDG2 : DRIF, L=0.1240+0.04046, TYPE="CSR" ! BC1 and BC2 diag. package drifts (BPM to CE) DDG3 : DRIF, L=0.1460+0.036606, TYPE="CSR" ! BC1 and BC2 diag. package drifts (CE to OTR) DDG4 : DRIF, L=0.2711-0.036606, TYPE="CSR" ! BC1 and BC2 diag. package drifts (OTR to BX*3A) DM13a : DRIF, L=0.323450/2, TYPE="CSR" DM13b : DRIF, L=0.323450/2, TYPE="CSR" DM14a : DRIF, L=0.25-0.07615, TYPE="CSR" DM14b : DRIF, L=0.15638875-0.0254+0.07615, TYPE="CSR" DM14c : DRIF, L=0.15638875+0.0254, TYPE="CSR" DM15a : DRIF, L=0.252872-0.1524, TYPE="CSR" DM15b : DRIF, L=0.2836740-0.0826, TYPE="CSR" DM15c : DRIF, L=0.1524+0.0826, TYPE="CSR" DWW1a : DRIF, L=LWW1 DWW1b : DRIF, L=0.295 DWW1c1: DRIF, L=0.812030-0.295-0.1017 DWW1c2: DRIF, L=LWW1-1.427096+0.1017-0.0142-0.014199 DWW1d : DRIF, L=0.346099 DWW1e : DRIF, L=0.297366 DM16 : DRIF, L=0.25+dz_Q21301 DM17a : DRIF, L=0.2658341-dz_Q21301 DM16a : DRIF, L=0.0 DM16b : DRIF, L=0.0 DM17b : DRIF, L=0.4008829 DM17c : DRIF, L=0.385417+dz_QM14 DM18a : DRIF, L=0.228300-dz_QM14 DM18b : DRIF, L=0.228200+dz_QM15 DM19 : DRIF, L=0.099400-dz_QM15 ! L2 and L3 DAQ3 : DRIF, L=0.3533 DAQ4 : DRIF, L=2.5527 DAQ5 : DRIF, L=2.841-0.3048-1.2192 DAQ6 : DRIF, L=0.2373 DAQ6A : DRIF, L=0.2373+0.3048+1.2192 DAQ7 : DRIF, L=0.2748 DAQ8 : DRIF, L=2.6312 DAQ8A : DRIF, L=0.5+0.003200 DAQ8B : DRIF, L=2.1312-0.003200 DAQ12 : DRIF, L=0.2286 DAQ13 : DRIF, L=0.0231 DAQ14 : DRIF, L=0.2130 DAQ15 : DRIF, L=0.0087 DAQ16 : DRIF, L=0.2274 DAQ17 : DRIF, L=3.9709 D255a : DRIF, L=0.06621-0.001510 D255b : DRIF, L=0.11184+0.001510 D255c : DRIF, L=0.17805-0.275500+0.25 D255d : DRIF, L=0.03420+0.275500 D256a : DRIF, L=2.350-1.1919-0.559100 D256b : DRIF, L=0.559100 D256e : DRIF, L=1.019800-0.540500 D256c : DRIF, L=0.540500-0.40505 D256d : DRIF, L=0.21115 ! BC2 DM21Z : DRIF, L=0.0828006-0.027 DM21A : DRIF, L=0.3199994 DM21H : DRIF, L=0.193 DM21B : DRIF, L=0.6340002 DM21C : DRIF, L=0.3202404 DM21D : DRIF, L=0.139536 DM21E : DRIF, L=0.1996034-0.0045 DM20 : DRIF, L=0.034200 DBQ2a : DRIF, L=LDo1, TYPE="CSR" D21oa : DRIF, L=LDo2, TYPE="CSR" D21i : DRIF, L=LD21i/2, TYPE="CSR" D21ob : DRIF, L=LDo3, TYPE="CSR" DBQ2b : DRIF, L=LDo4, TYPE="CSR" D21w : DRIF, L=0.311000-0.0045, TYPE="CSR" D21x : DRIF, L=0.208700, TYPE="CSR" D21y : DRIF, L=0.114235, TYPE="CSR" DM23B : DRIF, L=0.050405, TYPE="CSR" DM24A : DRIF, L=0.129440, TYPE="CSR" DM24B : DRIF, L=0.178000, TYPE="CSR" DM24D : DRIF, L=0.070700, TYPE="CSR" DM24C : DRIF, L=0.106300, TYPE="CSR" DM25 : DRIF, L=0.160400 ! BSY DRIF0105 : DRIF, L=0.134786 DRIF0106 : DRIF, L=0.140208 DRIF0107 : DRIF, L=1.605264 DRIF0108 : DRIF, L=0.0184 DRIF0109 : DRIF, L=2.688336 DRIF0110 : DRIF, L=0.35052 DRIF0111 : DRIF, L=2.93 DRIF0112 : DRIF, L=0.5411 DRIF0113 : DRIF, L=2.0764 DRIF0114 : DRIF, L=4.843132 DRIF0115 : DRIF, L=0.382923 DRIF0116 : DRIF, L=0.128016 DRIF0117 : DRIF, L=0.950976 DRIF0118 : DRIF, L=0.192024 DRIF0119 : DRIF, L=0.466344 DRIF0120 : DRIF, L=0.331248 DRIF0121 : DRIF, L=0.566 DRIF0122 : DRIF, L=0.247 DRIF0123 : DRIF, L=0.459 DRIF0124 : DRIF, L=0.487899 DRIF0125 : DRIF, L=0.204216 DRIF0126 : DRIF, L=0.377343 D50B1 : DRIF, L=1.132027 DR19 : DRIF, L=0.76197 DR20 : DRIF, L=17.808583 DR21 : DRIF, L=9.09461 DR22 : DRIF, L=0.578 DR23 : DRIF, L=0.1524 A4DXL : DRIF, L=0.08335 DR23A : DRIF, L=0.0233 DR23B : DRIF, L=0.134 A4DYL : DRIF, L=0.08335 DR24 : DRIF, L=0.0684 PMV : DRIF, L=0.3429 DR25 : DRIF, L=0.2032 DR25A : DRIF, L=0.255 FPM1 : DRIF, L=0.83085 PM1 : DRIF, L=0.600075 DR26 : DRIF, L=2.708228 DR27 : DRIF, L=4.901982 DR28 : DRIF, L=65.897951 D10D : DRIF, L=4.29893 DMB01 : DRIF, L=3.687288 DMB02 : DRIF, L=0.27604 H1DL : DRIF, L=0.08335 DM03 : DRIF, L=0.110211 V1DL : DRIF, L=0.08335 DM04 : DRIF, L=0.49955 DM05 : DRIF, L=0.660502 DM08 : DRIF, L=0.686013 DM09 : DRIF, L=0.550794 DM10B : DRIF, L=0.423278 DQSM1 : DRIF, L=0.23738 DYC5 : DRIF, L=0.307342 I4A : DRIF, L=0.32385-0.205742 I4B : DRIF, L=0.32385 I5 : DRIF, L=0.32385 DM12A : DRIF, L=0.044958 I6 : DRIF, L=0.32385 DM12B : DRIF, L=0.459314 DM12C : DRIF, L=0.31 DXC6 : DRIF, L=0.68 DM2 : DRIF, L=0.561408 D2L : DRIF, L=0.6096 DM3 : DRIF, L=0.1524 ST60L : DRIF, L=0.6096 DM4 : DRIF, L=8.622041 DXCA0 : DRIF, L=0.31 DYCA0 : DRIF, L=0.356220-0.076799 ST61L : DRIF, L=0.6096 DM5 : DRIF, L=0.561379 DM6 : DRIF, L=0.567588 DMONI : DRIF, L=0.009525 WALL : DRIF, L=16.764 ! LTU dz_adjust := 47.825 D10cm : DRIF, L=0.10 D10cma : DRIF, L=0.127 DC10cm : DRIF, L=0.10, TYPE="CSR" D21cm : DRIF, L=0.21 D25cm : DRIF, L=0.25 D29cma : DRIF, L=0.29+0.023878+0.1000244+0.1704396 D30cm : DRIF, L=0.30 D32cm : DRIF, L=0.32 D32cma : DRIF, L=0.32+0.0253999+0.0750601 D32cmb : DRIF, L=0.32-0.056221+0.4000244 D32cmc : DRIF, L=0.32-0.0254+0.00586 D32cmd : DRIF, L=0.32-0.056221+0.4000244+0.2404381 D34cm : DRIF, L=0.34 D40cm : DRIF, L=0.40 D40cma : DRIF, L=0.40+1.407939 D40cmb : DRIF, L=0.40+0.090013 D40cmC : DRIF, L=0.40, TYPE="CSR" D40cmd : DRIF, L=0.40+0.090013-0.000473 D40cme : DRIF, L=0.40+0.090013+0.010447 D40cmf : DRIF, L=0.40+0.090013-0.065013 D50cm : DRIF, L=0.50 D31A : DRIF, L=0.40+dLQA2+0.090005 D31B : DRIF, L=0.40+dLQA2+0.4900025-0.4000244 D32A : DRIF, L=0.40+dLQA2 D32B : DRIF, L=0.40+dLQA2 D33A : DRIF, L=0.21+dLQA2+0.380004-0.1000244-0.1704396 D33B : DRIF, L=0.40+dLQA2+0.4900025-0.4000244-0.2404381 D34A : DRIF, L=0.40+dLQA2+0.09-0.00046 D34B : DRIF, L=0.25+dLQA2+0.2399776-0.2404376 DEM1A : DRIF, L=0.40+dLQA2-0.10046 DEM1B : DRIF, L=4.00+dLQA2*2 DEM2B : DRIF, L=0.40+dLQA2+0.02954 DEM3A : DRIF, L=0.40+dLQA2-0.10046 DEM3B : DRIF, L=0.30+dLQA2+0.402839 DEM4A : DRIF, L=0.40+dLQA2-0.402839+(0.402839)+0.02954 DUM1A : DRIF, L=0.40+dLQA2+0.0254-0.00586 DUM1B : DRIF, L=0.40+dLQA2 DUM2A : DRIF, L=0.40+dLQA2-0.0253999-0.0750601 DUM2B : DRIF, L=0.40+dLQA2 DUM3A : DRIF, L=0.40+dLQA2+0.125-0.21546 DUM3B : DRIF, L=0.40+dLQA2 DUM4A : DRIF, L=0.40+dLQA2+0.0254+0.00414 DUM4B : DRIF, L=0.40+dLQA2+0.127 DYCVM1 : DRIF, L=0.40 DQVM1 : DRIF, L=0.34 DVB25cm: DRIF, L=0.5-0.25 DVB25cmc: DRIF, L=0.5-0.25 DQVM2 : DRIF, L=0.5 DXCVM2 : DRIF, L=0.25 DVB1 : DRIF, L=8.0-2*0.3125, TYPE="CSR" DVB1m40cm: DRIF, L=8.0-0.4-2*0.3125, TYPE="CSR" DVB2 : DRIF, L=4.0, TYPE="CSR" DVB2m80cm: DRIF, L=4.0-0.4-0.4, TYPE="CSR" DVBe : DRIF, L=0.5, TYPE="CSR" DVBem25cm: DRIF, L=0.5-0.25, TYPE="CSR" DVBem15cm: DRIF, L=0.150+0.00381+0.018803, TYPE="CSR" D10cmb : DRIF, L=0.1064869 D25cma : DRIF, L=0.25-0.00381-0.018803-0.0064869, TYPE="CSR" DQEA : DRIF, L=0.40+(LQF-LQx)/2-0.15046 DQEAa : DRIF, L=0.40+(LQF-LQx)/2-0.14046 DQEAb : DRIF, L=0.40+(LQF-LQx)/2-0.12046 DQEAc : DRIF, L=0.40+(LQF-LQx)/2+0.02954 DQEBx : DRIF, L=0.32+(LQF-LQx)/2+0.33655-0.0768665+0.04 DQEBy : DRIF, L=0.32+(LQF-LQx)/2+0.33655-0.0768665+0.04 DQEC : DRIF, L=4.6+dz_adjust/12+(LQF-LQx)/2 DE3 : DRIF, L=4.6+dz_adjust/12+0.15046 DE3a : DRIF, L=4.6+dz_adjust/12+0.14046 DE3m40cm: DRIF, L=4.6-0.4+dz_adjust/12+0.15046 DE3m80cm: DRIF, L=4.6-0.4-0.4+dz_adjust/12-0.02954 DE3m80cma: DRIF, L=4.6-0.4-0.4+dz_adjust/12+0.15046 DE3m80cmb: DRIF, L=4.6-0.4-0.4+dz_adjust/12+0.12046 DQEBx2 : DRIF, L=4.6-0.4-0.4+dz_adjust/12-0.33655+0.0768665-0.04 DQEBy2 : DRIF, L=4.6-0.4+dz_adjust/12-0.33655+0.0768665-0.04 DDL10 : DRIF, L=12.86072 DDL10m70cm: DRIF, L=12.86072-0.4-0.3-0.09+0.00046 DDL10u : DRIF, L=0.5 DDL10um25cm: DRIF, L=0.5-0.25-0.2399776+0.2404376 DDL10v : DRIF, L=12.86072-0.5 DDL1a : DRIF, L=5.820626-LKIK/2 DDL1c : DRIF, L=0.609226-LKIK/2 DDL1b : DRIF, L=5.421642-LKIK/2 DSPLR : DRIF, L=0.43036 D30cma : DRIF, L=0.257426 DPC1 : DRIF, L=0.266697 DPC2 : DRIF, L=0.266697 DPC3 : DRIF, L=0.266697 DPC4 : DRIF, L=0.266697+0.339613-0.8128/2 DDL1dm30cm : DRIF, L=0.379160-0.262228 ! allow possible new spontaneous undulator here DDL1cm40cm: DRIF, L=6.03036-0.43036-0.6096/2 LSPONT := 1.5 ! length of possible spontaneous undulator (<=5 m now that TDKIK is also there) SPONTUA: DRIF, L=LSPONT/2 SPONTUB: DRIF, L=LSPONT/2 DDL20 : DRIF, L= 0.5 DDL30 : DRIF, L= 1.0 DDL30m40cm: DRIF, L= 1.0-0.4 DDL10w : DRIF, L=12.86072-2*LDw1o-3*(LBxw)-1.1, TYPE="CSR" DDL10x : DRIF, L=0.250000-0.033681-0.090005, TYPE="CSR" DDL10e : DRIF, L=12.86072, TYPE="CSR" DDL10em50cm: DRIF, L=12.86072-0.25-0.25-0.090002-0.313878, TYPE="CSR" DDL10em80cm: DRIF, L=12.86072-0.4-0.4-0.433783, TYPE="CSR" DDL20e : DRIF, L= 0.5, TYPE="CSR" DDL30e : DRIF, L= 1.0, TYPE="CSR" DDL30em40cm: DRIF, L=1.0-0.4-0.090013, TYPE="CSR" DDL30em40cma: DRIF, L=1.0-0.4-0.090013+0.000473, TYPE="CSR" DDL30em40cmb: DRIF, L=1.0-0.4-0.090013-0.010447, TYPE="CSR" DDL30em40cmc: DRIF, L=1.0-0.4-0.090013+0.065013, TYPE="CSR" D25cmb : DRIF, L=0.25+0.0127 D25cmc : DRIF, L=0.25-0.0127 DMM1m90cm: DRIF, L=2.0-0.25-0.25-0.4+0.10046 DMM3m80cm: DRIF, L=10.0-0.4-0.4+2.0+0.07092 DMM4m90cm: DRIF, L=3.6-0.30-LQx-(0.402839)-0.02954 DMM5 : DRIF, L= 2.0+dLQA2 DU1m80cm : DRIF, L= 4.550 DU2m120cm: DRIF, L= 4.730 DU3m80cm : DRIF, L= 8.0-0.4-0.4-0.125+0.21546 DU4m120cm: DRIF, L= 2.800-1.407939-0.0254-0.00414 DU5m80cm : DRIF, L= 0.5 DMUON2 : DRIFT, L=1.406800 DMUON1 : DRIFT, L=0.154859 DMUON3 : DRIFT, L=0.310592 DWSDL31a : DRIFT, L=0.096237 !0.096779-0.000542 DWSDL31b : DRIFT, L=0.153763 !0.153221+0.000542 DWSDUMPa : DRIFT, L=0.44156 !0.5-0.058217-0.000222-0.000001 DWSDUMPb : DRIFT, L=2.038949 !1.980509+0.058217+0.000222+0.000001 ! ============================================================================== ! MARKERs ! ------------------------------------------------------------------------------ ! wire scanners WS01 : WIRE !DL1- emittance WS02 : WIRE !DL1- emittance WS03 : WIRE !DL1- emittance WS04 : WIRE !DL1- energy spread WS11 : WIRE !BC1+ emittance WS12 : WIRE !BC1+ emittance WS13 : WIRE !BC1+ emittance ! WS21 : WIRE !LI24 emittance ! WS22 : WIRE !LI24 emittance ! WS23 : WIRE !LI24 emittance ! WS24 : WIRE !BC2- emittance DWS21 : MARK !someday will be a wire-scanner again? DWS22 : MARK !someday will be a wire-scanner again? DWS23 : MARK !someday will be a wire-scanner again? DWS24 : MARK !someday will be a wire-scanner again? WS27644: WIRE !LI27 emittance (existing; moved) WS28144: WIRE !LI28 emittance WS28444: WIRE !LI28 emittance WS28744: WIRE !LI28 emittance (existing; moved) WS31 : WIRE !LTU emittance WS32 : WIRE !LTU emittance WS33 : WIRE !LTU emittance WS34 : WIRE !LTU emittance WSDL31 : WIRE WSDUMP : WIRE ! profile monitors YAG01 : PROF, TYPE="YAG" !gun (15.5 in from cathode, per J. Schmerge, June 17, 2003; -PE) YAG02 : PROF, TYPE="YAG" !gun (need proper positions still - June 10, 2003) YAG03 : PROF, TYPE="YAG" !after L0-a (~ 60 MeV) - center of device in MAD is defined as center of YAG crystal, not mirror YAG04 : PROF, TYPE="YAG" !temporarily (Dec. '06 - July '07) placed in laser-heater region (135 MeV) - center of device in MAD is defined as center of YAG crystal, not mirror PH01 : INST !phase measurement RF cavity between L0-a and L0-b PH02 : INST !phase measurement RF cavity after BC1 PH03 : INST !phase measurement RF cavity after BC2 VV01 : MARK !vacuum valve near gun VV02 : MARK !vacuum valve in injector VV03 : MARK !vacuum valve in injector VV04 : MARK !vacuum valve in injector VVX1 : MARK, TYPE="MANUAL" !vacuum valve before X-band structure VVX2 : MARK, TYPE="MANUAL" !vacuum valve after X-band structure VV21 : MARK !vacuum valve in front of BC2 VV22 : MARK !vacuum valve after BC2 RST1 : INST !radiation stopper near WS02 in injector OTRH1 : PROF, TYPE="OTR" !Laser-heater OTR screen just upbeam of heater-undulator (12NOV03 - PE) OTRH2 : PROF, TYPE="OTR" !Laser-heater OTR screen just dnbeam of heater-undulator (12NOV03 - PE) ! DOTRH1 : MARK !Laser-heater OTR screen PLACE-HOLDER just upbeam of heater-undulator (not installed until summer 2008) ! DOTRH2 : MARK !Laser-heater OTR screen PLACE-HOLDER just dnbeam of heater-undulator (not installed until summer 2008) OTR1 : PROF, TYPE="OTR" !DL1-emit OTR2 : PROF, TYPE="OTR" !DL1-emit OTR3 : PROF, TYPE="OTR" !DL1-emit OTR4 : PROF, TYPE="OTR" !DL1 slice and proj. energy spread OTR11 : PROF, TYPE="OTR" !BC1 energy spread OTR12 : PROF, TYPE="OTR" !BC1 emittance OTR21 : PROF, TYPE="OTR" !BC2 energy spread OTR22 : PROF, TYPE="OTR" !post-BC2 beam size OTR_TCAV : PROF, TYPE="OTR" !LI25 longitudinal diagnostics OTR30 : PROF, TYPE="OTR" !LTU slice energy spread (90 deg from TCAV3) OTR33 : PROF, TYPE="OTR" !LTU slice emittance (~90 deg from TCAV3) ! bunch length monitors BL11 : BLMO !BC1+ (CSR-based relative bunch length monitor) BL12 : BLMO !BC1+ (ceramic gap-based relative bunch length monitor) BL21 : BLMO !BC2+ (CSR-based relative bunch length monitor) BL22 : BLMO !BC2+ (ceramic gap-based relative bunch length monitor) ! bunch charge monitors (toroids) IM01 : IMON !L0 IM02 : IMON !L0 IMS1 : IMON !135-MeV spectrometer IM03 : IMON !DL1- IMBC1I : IMON !BC1 input toriod (comparator with IMBC1O) IMBC1O : IMON !BC1 output toroid (comparator with IMBC1I) IMBC2I : IMON !BC2 input toroid (comparator with IMBC2O) IMBC2O : IMON !BC2 output toroid (comparator with IMBC2I) IM31 : IMON !LTU: upstr. of BX31 (comparator with IM36) IM36 : IMON !LTU: dnstr. of BX36 (comparator with IM31) IMUNDI : IMON !FEL-undulator input toroid (comparator with IMUNDO) IMUNDO : IMON !FEL-undulator output toroid (comparator with IMUNDI) IMDUMP : IMON !in dump line after Y-bends and quad (comparator with IMUNDO) ! BCS toroids (from Saleski request) IMBCS1 : IMON !LTU: upstr. of BX31 (comparator with IMBCS2) IMBCS2 : IMON !LTU: dnstr. of BX36 (comparator with IMBCS1) IMBCS3 : IMON !pre-dump magnet toroid with >42-mm ID stay-clear (comparator with IMBCS4) IMBCS4 : IMON !in dump line, after Y-bends, with >48-mm ID stay-clear (comparator with IMBCS3) ! other diagnostics FC01 : INST !L0 Faraday cup w/screen AM00 : INST !gun laser normal incidence mirror AM01 : INST !alignment mirror CR01 : INST !Cerenkov radiator bunch length monitor ! collimators CE11 : RCOL !adjustable energy (x) collimator in middle of BC1 chicane CE21 : RCOL !adjustable energy (x) collimator in middle of BC2 chicane ! dumps TD11 : INST !BC1+ insertable block ! miscellany LSOL1 := 0.200 L0beg : MARK SOL1BK : SOLENOID,L=1E-9,KS=0 !gun-bucking-solenoid (set to ~zero length and strength, with longitudinal unknown for now) CATHODE : INST SOL1 : SOLENOID,L=LSOL1/2,KS=1E-9 !gun-solenoid (set to zero strength) SOL2 : SOLENOID,L=1E-9,KS=1E-9 !2nd-solenoid (set to ~zero length and strength, with longitudinal position as the actual solenoid's center) L0end : MARK L0aWAKE : MARK EMAT : MARK ! for Elegant only to remove energy error in DL1 bends DL1beg : MARK DLFDa : MARK ! dual-feed input coupler location at start of L0-a RF structure L0aMID : MARK OUTCPa : MARK ! output coupler location at end of L0-a RF structure L0bBEG : MARK DLFDb : MARK ! dual-feed input coupler location at start of L0-b RF structure L0bMID : MARK OUTCPb : MARK ! output coupler location at end of L0-b RF structure CNT0 : MARK DL1end : MARK L1beg : MARK L1end : MARK BC1mrk : MARK XBEG : MARK !before X-band RF, but after L1 XEND : MARK !after X-band RF, but before BC1 BC1beg : MARK CNT1 : MARK !ELEGANT will correct the orbit here for CSR-steering BC1end : MARK BC1fin : MARK L2beg : MARK LI21beg : MARK LI21end : MARK LI22beg : MARK LI22end : MARK LI23beg : MARK LI23end : MARK LI24beg : MARK LI24end : MARK L2end : MARK BC2mrk : MARK BC2beg : MARK CNT2 : MARK !ELEGANT will correct the orbit here for CSR-steering BC2end : MARK BC2fin : MARK L3beg : MARK LI25beg : MARK LI25end : MARK LI26beg : MARK LI26end : MARK LI27beg : MARK LI27end : MARK LI28beg : MARK LI28end : MARK LI29beg : MARK LI29end : MARK LI30beg : MARK RWWAKEss : MARK !will be resistive wall wake of stainless steel in ELEGANT LI30end : MARK L3end : MARK BSYbeg : MARK CNTV : MARK !ELEGANT will correct the orbit here for CSR-steering CNTw : MARK !ELEGANT will correct the orbit here for CSR-steering CNT3a : MARK !ELEGANT will correct the orbit here for CSR-steering CNT3b : MARK !ELEGANT will correct the orbit here for CSR-steering EOBLM : MARK !future electro-optic bunch length monitor? RWWAKEAl : MARK !will be resistive wall wake of aluminum in ELEGANT PFILT1 : MARK ! BSY stuff (exists) FFTBORGN : MARK S100 : MARK C50PC20 : MARK I40IW1 : MARK M40B1 : MARK P460031T : MARK P460032T : MARK C50PC30 : MARK ! I50I1A : MARK IMBSY34 : MARK W460042T : MARK P460045T : MARK PM3 : MARK B2 : MARK D10B : MARK PC90 : MARK I3 : MARK P950020T : MARK IV4 : MARK D2 : MARK ST60 : MARK ST61 : MARK SS1 : MARK SS3 : MARK MM1 : MARK MM2 : MARK MM3 : MARK ! Permanent reference points in the linac (and LTU: Z') Z-coordinate system (in meters) ! (NOTE: Z' is measured parallel to the undulator axis which is at an angle of ! 2*AVB [=4.668514 mrad on May 4, 2004] w.r.t. the linac axis): ! (Note Q20-901 is at 2029.4060 m in drawing ID-380-802-00 pg. 2 - this does not agree ! with Woodley/Seeman database at 2029.3939 m. We assume drawing is right -PE, June 11, 2004) ! ============================================================================================ ZLIN00 : MARK ! face of L0-a entrance flange : Z=2019.106625 (= 1.459000 m from cathode parallel to injector line, X = 9.612087) ! DBMARK98 : MARK ! (135SPECT)135-MeV spect. dump: Z=2036.774471 ZLIN01 : MARK ! entrance to 21-1b : Z=2035.035130 (= 20*101.600 m + 3.0441 m - 0.00897 m: 8/1/05) ZLIN02 : MARK ! center of QUAD LI21 201 : (not used anymore since Q21201 is a few mm off) [was Z=2045.436400 pre 1/11/07] ZLIN03 : MARK ! center of QUAD LI21 301 : (not used anymore since Q21301 is a few mm off) [was Z=2057.855466 pre 1/11/07] ZLIN04 : MARK ! entrance to 21-3b : Z=2059.732900 ZLIN05 : MARK ! start of LI22 : Z=2133.600000 ZLIN06 : MARK ! start of LI23 : Z=2235.200000 ZLIN07 : MARK ! start of LI24 : Z=2336.800000 ZLIN08 : MARK ! center of QUAD LI24 701 (A) : Z=2410.786000 (not moved) ZLIN09 : MARK ! start of LI25 : Z=2438.400000 ZLIN10 : MARK ! start of LI26 : Z=2540.000000 ZLIN11 : MARK ! start of LI27 : Z=2641.600000 ZLIN12 : MARK ! start of LI28 : Z=2743.200000 ZLIN13 : MARK ! start of LI29 : Z=2844.800000 ZLIN14 : MARK ! start of LI30 : Z=2946.400000 ZLIN15 : MARK ! station-100 (or "S100") : Z=3048.000000 (Z' = 0.000000 m, X'= 0.000000 m, Y'= 0.000000 m) BSYEND : MARK ! FFTB side of muon plug wall : Z=3224.022426 (Z' = 176.020508 m, X'= 0.000000 m, Y'=-0.821761 m) VBIN : MARK ! start of vert. bend system : Z=3226.684266 (Z' = 178.682319 m, X'= 0.000000 m, Y'=-0.834188 m) VBOUT : MARK ! end of vert. bend system : Z=3252.866954 (Z' = 204.865007 m, X'= 0.000000 m, Y'=-0.895305 m) UNDSTART : MARK ! start of undulator system : Z=3562.999159 (Z' = 515.000592 m, X'=-1.250000 m, Y'=-0.895305 m) UNDTERM : MARK ! ~end of undulator system : Z=3695.441716 (Z' = 647.444592 m, X'=-1.250000 m, Y'=-0.895305 m) DLSTART : MARK ! start of dumpline : Z=3734.383707 (Z' = 686.387007 m, X'=-1.250000 m, Y'=-0.895305 m) EOL : MARK ! near entrance face of dump : Z=3763.781501 (Z' = 715.774454 m, X'=-1.250000 m, Y'=-3.180529 m) SFTDMP : INST ! safety dump when BYD's trip : Z=NA (Z' = 719.120100 m, X'=-1.517688 m, Y'=-0.895305 m) DUMPFACE : INST ! entrance face of main e- dump (same as EOL) BTMDUMP : INST ! Burn-Through-Monitor of main e- dump ! ============================================================================== ! existing XCORs ! ------------------------------------------------------------------------------ ! XC460009T : HKIC ! XC460026T : HKIC ! XC460034T : HKIC !do not use to steer ... bad results in Elegant ! XC460036T : HKIC !do not use to steer ... bad results in Elegant ! XC920020T : HKIC ! XC921010T : HKIC !do not use to steer ... bad results in Elegant XCBSY09 : HKIC ! names changed from above to these (Sep. 2008) XCBSY26 : HKIC XCBSY34 : HKIC !do not use to steer ... bad results in Elegant XCBSY36 : HKIC !do not use to steer ... bad results in Elegant XCBSY60 : HKIC XCBSY81 : HKIC !do not use to steer ... bad results in Elegant ! ============================================================================== ! new XCORs ! ------------------------------------------------------------------------------ XC00 : HKIC,TYPE="class-S" XC01 : HKIC,TYPE="class-G" XC02 : HKIC,TYPE="c-1s-L0a" XC03 : HKIC,TYPE="class-1s" XC04 : HKIC,TYPE="class-1s" ! fast-feedback (loop-1) XC05 : HKIC,TYPE="class-1s" ! calibrated to <1% XC06 : HKIC,TYPE="class-1t" XC07 : HKIC,TYPE="class-1a" ! fast-feedback (loop-1) XC08 : HKIC,TYPE="class-1a" XC09 : HKIC,TYPE="class-1a" XC10 : HKIC,TYPE="class-1a" XC11 : HKIC,TYPE="class-1s" XCA11 : HKIC,TYPE="class-1s" XCA12 : HKIC,TYPE="class-1s" ! calibrated to <1% XC21202: HKIC,TYPE="type-4" ! pulled off structure and replaced on beamline? XC21302: HKIC,TYPE="type-4" ! pulled off structure and replaced on beamline? XCM11 : HKIC,TYPE="class-1x" XCM13 : HKIC,TYPE="class-1a" XCM14 : HKIC,TYPE="class-1a" XC6 : HKIC,TYPE="class-4" XCA0 : HKIC,TYPE="class-4" XCVB2 : HKIC,TYPE="class-4" XCVM2 : HKIC,TYPE="class-5c" ! calibrated to <1% XCVM3 : HKIC,TYPE="class-5" XCDL1 : HKIC,TYPE="class-4" XCDL2 : HKIC,TYPE="class-4" XCDL3 : HKIC,TYPE="class-4" XCDL4 : HKIC,TYPE="class-4f" ! fast-feedback (loop-4) XCQT12 : HKIC,TYPE="class-5" XCQT22 : HKIC,TYPE="class-5" XCQT32 : HKIC,TYPE="class-5f" ! fast-feedback (loop-4) XCQT42 : HKIC,TYPE="class-5" XCEM2 : HKIC,TYPE="class-4" XCEM4 : HKIC,TYPE="class-4" XCE31 : HKIC,TYPE="class-4" XCE33 : HKIC,TYPE="class-4" XCE35 : HKIC,TYPE="class-4" XCUM1 : HKIC,TYPE="class-4f" ! fast-feedback (loop-5) XCUM4 : HKIC,TYPE="class-4f" ! fast-feedback (loop-5) XCUE1 : HKIC,TYPE="class-4" XCD3 : HKIC,TYPE="class-5" XCDD : HKIC,TYPE="class-5" ! ============================================================================== ! existing YCORs ! ------------------------------------------------------------------------------ ! YC460010T : VKIC ! YC460027T : VKIC !do not use to steer ... bad results in Elegant ! YC460035T : VKIC !do not use to steer ... bad results in Elegant ! YC460037T : VKIC ! YC920020T : VKIC ! YC921010T : VKIC !do not use to steer ... bad results in Elegant YCBSY10 : VKIC ! names changed from above to these (Sep. 2008) YCBSY27 : VKIC !do not use to steer ... bad results in Elegant YCBSY35 : VKIC !do not use to steer ... bad results in Elegant YCBSY37 : VKIC YCBSY62 : VKIC YCBSY82 : VKIC !do not use to steer ... bad results in Elegant ! ============================================================================== ! new YCORs ! ------------------------------------------------------------------------------ YC00 : VKIC,TYPE="class-S" YC01 : VKIC,TYPE="class-G" YC02 : VKIC,TYPE="c-1s-L0a" YC03 : VKIC,TYPE="class-1s" YC04 : VKIC,TYPE="class-1s" ! fast-feedback (loop-1) YC05 : VKIC,TYPE="class-1s" ! calibrated to <1% YC06 : VKIC,TYPE="class-1t" YC07 : VKIC,TYPE="class-1a" ! fast-feedback (loop-1) YC08 : VKIC,TYPE="class-1a" YC09 : VKIC,TYPE="class-1a" YC10 : VKIC,TYPE="class-1a" YC11 : VKIC,TYPE="class-1s" YCA11 : VKIC,TYPE="class-1s" ! calibrated to <1% YCA12 : VKIC,TYPE="class-1s" YC21203 : VKIC,TYPE="type-4" YC21303 : VKIC,TYPE="type-4" ! pulled off structure and replaced on beamline? YCM11 : VKIC,TYPE="class-1x" YCM12 : VKIC,TYPE="class-1a" YCM15 : VKIC,TYPE="class-1a" YC5 : VKIC,TYPE="class-4" YCA0 : VKIC,TYPE="class-4" ! add new YCOR here, if easy (PE, Nov. 4, 2003) YCVB1 : VKIC,TYPE="class-4" YCVB3 : VKIC,TYPE="class-4" YCVM1 : VKIC,TYPE="class-5c" ! calibrated to <1% YCVM4 : VKIC,TYPE="class-5" YCDL1 : VKIC,TYPE="class-4" YCDL2 : VKIC,TYPE="class-4" YCDL3 : VKIC,TYPE="class-4" YCDL4 : VKIC,TYPE="class-4" YCQT12 : VKIC,TYPE="class-5" YCQT22 : VKIC,TYPE="class-5" YCQT32 : VKIC,TYPE="class-5f" ! fast-feedback (loop-4) YCQT42 : VKIC,TYPE="class-5f" ! fast-feedback (loop-4) YCEM1 : VKIC,TYPE="class-4" YCEM3 : VKIC,TYPE="class-4" YCE32 : VKIC,TYPE="class-4" YCE34 : VKIC,TYPE="class-4" YCE36 : VKIC,TYPE="class-4" YCUM2 : VKIC,TYPE="class-4f" ! fast-feedback (loop-5) YCUM3 : VKIC,TYPE="class-4f" ! fast-feedback (loop-5) YCUE2 : VKIC,TYPE="class-4" YCD3 : VKIC,TYPE="class-5" YCDD : VKIC,TYPE="class-5" ! ============================================================================== ! existing BPMs ! ------------------------------------------------------------------------------ BPM21201 : MONI, TYPE="20_um_res" BPM21301 : MONI, TYPE="20_um_res" BPM21401 : MONI, TYPE="10_um_res" BPM21501 : MONI, TYPE="10_um_res" BPM21601 : MONI, TYPE="10_um_res" BPM21701 : MONI, TYPE="10_um_res" BPM21801 : MONI, TYPE="10_um_res" BPM21901 : MONI, TYPE="10_um_res" BPM22201 : MONI, TYPE="10_um_res" BPM22301 : MONI, TYPE="10_um_res" BPM22401 : MONI, TYPE="10_um_res" BPM22501 : MONI, TYPE="10_um_res" BPM22601 : MONI, TYPE="10_um_res" BPM22701 : MONI, TYPE="10_um_res" BPM22801 : MONI, TYPE="10_um_res" BPM22901 : MONI, TYPE="10_um_res" BPM23201 : MONI, TYPE="10_um_res" BPM23301 : MONI, TYPE="10_um_res" BPM23401 : MONI, TYPE="10_um_res" BPM23501 : MONI, TYPE="10_um_res" BPM23601 : MONI, TYPE="10_um_res" BPM23701 : MONI, TYPE="10_um_res" BPM23801 : MONI, TYPE="10_um_res" BPM23901 : MONI, TYPE="10_um_res" BPM24201 : MONI, TYPE="10_um_res" BPM24301 : MONI, TYPE="10_um_res" BPM24401 : MONI, TYPE="10_um_res" BPM24501 : MONI, TYPE="10_um_res" BPM24601 : MONI, TYPE="10_um_res" BPM24701 : MONI, TYPE="10_um_res" BPM24901 : MONI, TYPE="10_um_res" BPM25201 : MONI, TYPE="10_um_res" BPM25301 : MONI, TYPE="10_um_res" BPM25401 : MONI, TYPE="10_um_res" BPM25501 : MONI, TYPE="10_um_res" BPM25601 : MONI, TYPE="10_um_res" BPM25701 : MONI, TYPE="10_um_res" BPM25801 : MONI, TYPE="10_um_res" BPM25901 : MONI, TYPE="10_um_res" BPM26201 : MONI, TYPE="10_um_res" BPM26301 : MONI, TYPE="10_um_res" BPM26401 : MONI, TYPE="10_um_res" BPM26501 : MONI, TYPE="10_um_res" BPM26601 : MONI, TYPE="10_um_res" BPM26701 : MONI, TYPE="10_um_res" BPM26801 : MONI, TYPE="10_um_res" BPM26901 : MONI, TYPE="10_um_res" BPM27201 : MONI, TYPE="10_um_res" BPM27301 : MONI, TYPE="10_um_res" BPM27401 : MONI, TYPE="10_um_res" BPM27501 : MONI, TYPE="10_um_res" BPM27601 : MONI, TYPE="10_um_res" BPM27701 : MONI, TYPE="10_um_res" BPM27801 : MONI, TYPE="10_um_res" BPM27901 : MONI, TYPE="10_um_res" BPM28201 : MONI, TYPE="10_um_res" BPM28301 : MONI, TYPE="10_um_res" BPM28401 : MONI, TYPE="10_um_res" BPM28501 : MONI, TYPE="10_um_res" BPM28601 : MONI, TYPE="10_um_res" BPM28701 : MONI, TYPE="10_um_res" BPM28801 : MONI, TYPE="10_um_res" BPM28901 : MONI, TYPE="10_um_res" BPM29201 : MONI, TYPE="10_um_res" BPM29301 : MONI, TYPE="10_um_res" BPM29401 : MONI, TYPE="10_um_res" BPM29501 : MONI, TYPE="10_um_res" BPM29601 : MONI, TYPE="10_um_res" BPM29701 : MONI, TYPE="10_um_res" BPM29801 : MONI, TYPE="10_um_res" BPM29901 : MONI, TYPE="10_um_res" BPM30201 : MONI, TYPE="10_um_res" BPM30301 : MONI, TYPE="10_um_res" BPM30401 : MONI, TYPE="10_um_res" BPM30501 : MONI, TYPE="10_um_res" BPM30601 : MONI, TYPE="10_um_res" BPM30701 : MONI, TYPE="10_um_res" BPM30801 : MONI, TYPE="10_um_res" BPM304001T : MONI, TYPE="10_um_res" ! BPM460029T : MONI, TYPE="10_um_res" ! BPM460039T : MONI, TYPE="10_um_res" ! BPM460051T : MONI, TYPE="10_um_res" BPMBSY29 : MONI, TYPE="10_um_res" BPMBSY39 : MONI, TYPE="10_um_res" BPMBSY51 : MARK ! BPM920020T : MONI, TYPE="10_um_res" ! BPM920030T : MONI, TYPE="10_um_res" ! BPM920050T : MONI, TYPE="10_um_res" ! BPM921010T : MONI, TYPE="10_um_res" ! BPM921020T : MONI, TYPE="10_um_res" ! BPM921030T : MONI, TYPE="10_um_res" BPMBSY61 : MONI, TYPE="10_um_res" ! rename these 6 BSY BPMs on Aug. 8, 2008 BPMBSY63 : MONI, TYPE="10_um_res" BPMBSY83 : MONI, TYPE="10_um_res" BPMBSY85 : MONI, TYPE="10_um_res" BPMBSY88 : MONI, TYPE="10_um_res" BPMBSY92 : MONI, TYPE="10_um_res" ! ============================================================================== ! new BPMs ! ------------------------------------------------------------------------------ BPM2 : MONI, TYPE="25_um_res" BPM3 : MONI, TYPE="25_um_res" BPM5 : MONI, TYPE="25_um_res" BPM6 : MONI, TYPE="10_um_res" BPM8 : MONI, TYPE="10_um_res" BPM9 : MONI, TYPE="25_um_res" BPM10 : MONI, TYPE="25_um_res" BPM11 : MONI, TYPE="25_um_res" BPM12 : MONI, TYPE="25_um_res" BPM13 : MONI, TYPE="25_um_res" BPM14 : MONI, TYPE="25_um_res" BPM15 : MONI, TYPE="25_um_res" BPMA11 : MONI, TYPE="20_um_res" BPMA12 : MONI, TYPE="20_um_res" BPMS11 : MONI, TYPE="20_um_res" BPMM12 : MONI, TYPE="20_um_res" BPMM14 : MONI, TYPE="20_um_res" BPMS21 : MONI, TYPE="40_um_res" BPMVM1 : MONI, TYPE="05_um_res" BPMVM2 : MONI, TYPE="05_um_res" BPMVB1 : MONI, TYPE="05_um_res" BPMVB2 : MONI, TYPE="05_um_res" BPMVB3 : MONI, TYPE="05_um_res" BPMVB4 : MONI, TYPE="05_um_res" BPMVM3 : MONI, TYPE="05_um_res" BPMVM4 : MONI, TYPE="05_um_res" BPMDL1 : MONI, TYPE="05_um_res" BPMDL2 : MONI, TYPE="05_um_res" BPMDL3 : MONI, TYPE="05_um_res" BPMDL4 : MONI, TYPE="05_um_res" BPMT12 : MONI, TYPE="05_um_res" BPMT22 : MONI, TYPE="05_um_res" BPMT32 : MONI, TYPE="05_um_res" BPMT42 : MONI, TYPE="05_um_res" BPME31 : MONI, TYPE="05_um_res" BPME32 : MONI, TYPE="05_um_res" BPME33 : MONI, TYPE="05_um_res" BPME34 : MONI, TYPE="05_um_res" BPME35 : MONI, TYPE="05_um_res" BPME36 : MONI, TYPE="05_um_res" BPMEM1 : MONI, TYPE="05_um_res" BPMEM2 : MONI, TYPE="05_um_res" BPMEM3 : MONI, TYPE="05_um_res" BPMEM4 : MONI, TYPE="05_um_res" BPMUM1 : MONI, TYPE="05_um_res" BPMUM2 : MONI, TYPE="05_um_res" BPMUM3 : MONI, TYPE="05_um_res" BPMUM4 : MONI, TYPE="05_um_res" RFB07 : MONI, TYPE="01_um_res" RFB08 : MONI, TYPE="01_um_res" BPMUE1 : MONI, TYPE="10_um_res" BPMUE2 : MONI, TYPE="10_um_res" BPMUE3 : MONI, TYPE="10_um_res" BPMQD : MONI, TYPE="20_um_res" BPMDD : MONI, TYPE="20_um_res" ! Collimators ! =========== CEDL1 : RCOL,L=0.08,XSIZE=2.5E-3,YSIZE=20E-3 ! XSIZE (or YSIZE) is the collimator half-gap (Tungsten body with Nitanium-Nitrite surface?) CEDL3 : RCOL,L=0.08,XSIZE=2.5E-3,YSIZE=20E-3 CX31 : RCOL,L=0.08,XSIZE=2.2E-3,YSIZE=20E-3 ! 2.2 mm half-gap in X and Y here (beta_max=67 m) keeps worst case radius: r = sqrt(x^2+y^2) < 2 mm in undulator (beta_max=35 m) CY32 : RCOL,L=0.08,YSIZE=2.2E-3,XSIZE=20E-3 CX35 : RCOL,L=0.08,XSIZE=2.2E-3,YSIZE=20E-3 CY36 : RCOL,L=0.08,YSIZE=2.2E-3,XSIZE=20E-3 ! CX37 : RCOL,L=0.08,XSIZE=2.3E-3,YSIZE=20E-3 ! CY38 : RCOL,L=0.08,YSIZE=3.2E-3,XSIZE=20E-3 DCX37 : DRIFT,L=0.08 ! de-scoped in 2007 until ? DCY38 : DRIFT,L=0.08 ! de-scoped in 2007 until ? TDUND : INST !LTU insertable block at und. extension entrance (w/ screen) LSTPR : = 0.3046 ST0 : DRIFT,L=LSTPR !Empty can of uninstalled X-ray insertable stopper (was "ST1" in ~2007) BTMST0 : DRIFT ! Non-existent Burn-Through-Monitor behind empty ST0 can ST1 : INST, L=LSTPR !X-ray insertable stopper (was "ST2" in ~2007) BTMST1 : INST ! Burn-Through-Monitor behind ST1 ! ============================================================================== ! external files ! ------------------------------------------------------------------------------ ! load idealized (design) L1, L2, and L3 lattices ... ! CALL, FILENAME="LCLS_L1e.xsif" ! CALL, FILENAME="LCLS_L2e.xsif" ! CALL, FILENAME="LCLS_L3e.xsif" ! ... or actual (as built) L1, L2, and L3 lattices CALL, FILENAME="LCLS_L1.xsif" CALL, FILENAME="LCLS_L2.xsif" CALL, FILENAME="LCLS_L3.xsif" ! ============================================================================== ! BEAMLINEs ! ------------------------------------------------------------------------------ L1c : LINE=(D9,DAQ1,QFL1,QFL1,DAQ1,& D9,DAQ1,QDL1,QDL1,DAQ1) L2c : LINE=(4*D10,DAQ1,QFL2,QFL2,DAQ2,& 4*D10,DAQ1,QDL2,QDL2,DAQ2) L3c : LINE=(4*D10,DAQ1,QFL3,QFL3,DAQ2,& 4*D10,DAQ1,QDL3,QDL3,DAQ2) SC0 : LINE=(XC00,YC00) SC1 : LINE=(XC01,YC01) SC2 : LINE=(XC02,YC02) SC3 : LINE=(XC03,YC03) SC4 : LINE=(XC04,YC04) SC5 : LINE=(XC05,YC05) SC6 : LINE=(XC06,YC06) SC7 : LINE=(XC07,YC07) SC8 : LINE=(XC08,YC08) SC9 : LINE=(XC09,YC09) SC10 : LINE=(XC10,YC10) SC11 : LINE=(XC11,YC11) SCA11 : LINE=(XCA11,YCA11) SCA12 : LINE=(XCA12,YCA12) SCM11 : LINE=(XCM11,YCM11) SCM13 : LINE=(XCM13,YCM12) SCM15 : LINE=(XCM14,YCM15) GUNBXG: LINE=(DL00,LOADLOCK,L0beg,SOL1BK,DBMARK80,CATHODE,DL01a,& SOL1,CQ01,CQ01,SC0,SQ01,SQ01,SOL1,& DL01a1,VV01,DL01a2,AM00,DL01a3,AM01,DL01a4,& YAG01,DL01a5,FC01,DL01b,IM01,DL01c,& SC1,DL01h,BPM2,DL01d,DBMARK81) BXGL0a: LINE=(DXG0,DXGA,DXGB,DL01e,BPM3,& DL01f,CR01,DL01f2,YAG02,DL01g,ZLIN00,FLNGa1,L0a___1,DLFDa,& L0a___2,SOL2,L0a___3,SC2,L0a___4,L0aMID,L0a___5,SC3,L0a___6,& OUTCPa,L0a___7,FLNGa2,L0aWAKE) GUNL0a: LINE=(GUNBXG,BXGL0a) L0b : LINE=(L0bBEG,DL02a1,YAG03,DL02a2,DL02a3,QA01,QA01,DL02b1,& PH01,DL02b2,QA02,BPM5,QA02,DL02c,FLNGb1,L0b___1,DLFDb,& L0b___2,SC4,L0b___3,L0bMID,L0b___4,SC5,L0b___5,OUTCPb,& L0b___6,FLNGb2,L0end) LSRHTR: LINE=(LHBEG,BXh1A,BXh1B,Dh01,BXh2A,BXh2B,Dh02a,OTRH1,Dh03a,LH_UND,& HTRUND,LH_UND,Dh03b,OTRH2,Dh02b,BXh3A,BXh3B,Dh01,& BXh4A,BXh4B,LHEND) DL1A : LINE=(EMAT,DL1beg,DE00,DE00a,& QE01,BPM6,QE01,DE01a,IM02,DE01b,VV02,DE01c,QE02,QE02,& Dh00,LSRHTR,Dh06,TCAV0,SC6,TCAV0,& DE02,QE03,BPM8,QE03,DE03a,DE03b,SC7,DE03c,& QE04,BPM9,QE04,DE04,& WS01,DE05,OTR1,DE05c,VV03,DE06a,RST1,DE06b,WS02,& DE05a,MRK0,DE05a,OTR2,DE06d,BPM10,DE06e,WS03,DE05,OTR3,DE07,& QM01,BPM11,QM01,DE08,SC8,DE08a,VV04,DE08b,& QM02,BPM12,QM02,DE09,DBMARK82) DL1B : LINE=(BX01A,BX01B,DB00a,OTR4,DB00b,SC9,DB00c,& QB,BPM13,QB,DB00d,WS04,DB00e,BX02A,BX02B,CNT0,DBMARK83,& DM00,SC10,DM00a,QM03,BPM14,QM03,DM01,DM01a,& QM04,BPM15,QM04,DM02,IM03,DM02a,DL1end) DL1 : LINE=(DL1A,DL1B) ! This is nominal LCLS DL1 layout with BX01/BX02 bends on DIAG1 : LINE=(DDG1,BPMS11,DDG2,CE11,DDG3,OTR11,DDG4) BC1c : LINE=(BC1BEG,BX11A,BX11B,DBQ1,& CQ11,CQ11,D11o,& BX12A,BX12B,DIAG1,& BX13A,BX13B,D11o,& CQ12,CQ12,DBQ1,& BX14A,BX14B,CNT1,BC1END) BC1i : LINE=(DL1Xa,VVX1,DL1Xb,XBEG,L1X___1,SCM11,L1X___2,XEND,DM10a,VVX2,& DM10c,Q21201,BPM21201,ZLIN02,Q21201,DM10x,IMBC1I,& DM11,QM11,QM11,DM12) BC1e : LINE=(DM13a,BL11,DM13b,& QM12,QM12,DM14a,DM14b,IMBC1O,DM14c,& QM13,BPMM12,QM13,DM15a,BL12,DM15b,SCM13,DM15c,& WS11,DWW1a,WS12,DWW1b,OTR12,DWW1c1,PH02,DWW1c2,XC21302,& DWW1d,YC21303,DWW1e,WS13,DM16,Q21301,BPM21301,ZLIN03,& Q21301,DM17a,DM17b,TD11,DM17c,QM14,BPMM14,QM14,& DM18a,SCM15,DM18b,QM15,QM15,DBMARK28,DM19) BC1 : LINE=(BC1mrk,& BC1i,BC1c,BC1e,& BC1fin) L2 : LINE=(L2beg,& LI21,LI22,LI23,LI24,& L2end) DIAG2 : LINE=(DDG1,BPMS21,DDG2,CE21,DDG3,OTR21,DDG4) BC2C1 : LINE=(BC2BEG,BX21A,BX21B,DBQ2a,& CQ21,CQ21,D21oa,& BX22A,BX22B,DDG0,DIAG2,DDGA,& BX23A,BX23B,D21ob,& CQ22,CQ22,DBQ2b,& BX24A,BX24B,CNT2,BC2END) BC2 : LINE=(BC2mrk,& DM20,Q24701A,ZLIN08,Q24701A,D10cma,Q24701B,BPM24701,Q24701B,& DM21Z,DM21A,DWS24,DM21H,IMBC2I,DM21B,VV21,DM21C,& QM21,QM21,DM21D,DM21E,BC2C1,D21w,D21x,BL21,D21y,DM23B,& QM22,QM22,DM24A,VV22,DM24B,DM24D,Q24901A,BPM24901,Q24901A,& DM24C,Q24901B,Q24901B,DM25,BC2fin) L3 : LINE=(L3beg,& LI25,LI26,LI27,LI28,LI29,LI30,& L3end,DBMARK29) B12WAL: LINE=(D50B1 ,D50B1 ,& DR19 ,P460045T ,DR20 ,BPMBSY51 ,DR21 ,& DR22 ,DR23 ,A4DXL ,XCBSY60 ,A4DXL ,& DR23A ,BPMBSY61 ,DR23B ,A4DYL ,YCBSY62 ,& A4DYL ,DR24 ,PMV ,PMV ,DR25 ,& DR25A ,BPMBSY63 ,FPM1 ,PM1 ,PM1 ,& DR26 ,PM3 ,DR27 ,B2 ,DR28 ,& D10D ,D10B ,DMB01 ,PC90 ,DMB02 ,& H1DL ,XCBSY81 ,H1DL ,DM03 ,V1DL ,& YCBSY82 ,V1DL ,DM04 ,I3 ,DM05 ,& P950020T ,DM08 ,IV4 ,DM09 ,BPMBSY83 ,& DM10B ,QSM1 ,QSM1 ,DQSM1 ,Q5 ,& BPMBSY85 ,Q5 ,DYC5 ,I4A ,I4B ,& I5 ,I5 ,DM12A ,I6 ,I6 ,& DM12B ,YC5 ,DM12C ,XC6 ,DXC6 ,& Q6 ,& BPMBSY88 ,Q6 ,DM2 ,D2L ,D2 ,& D2L ,DM3 ,ST60L ,ST60 ,ST60L ,& DM4 ,XCA0 ,DXCA0 ,YCA0 ,DYCA0 ,& ST61L ,ST61 ,ST61L ,DM5 ,QA0 ,& BPMBSY92 ,QA0 ,DM6 ,DMONI ,& DMONI ,WALL ,BSYend ) B52LIN: LINE=(B50B1A ,B50B1B ,DRI14001 ,PR45 ,DRI14002 ,& BPM52 ,DRI14003 ,B52AGFA ,B52AGFB ,DRI14004 ,& B52WIG1A ,B52WIG1B ,DRI14005 ,B52WIG2A ,YC54T ,& B52WIG2B ,DRI14005 ,B52WIG3A ,B52WIG3B ,DRI14006 ,& PR55 ,DRI14007 ,BPM56 ,DRI14008 ,Q52Q2 ,& Q52Q2 ,DRI14009 ,PR60 ,DRI14010 ,IM61 ,& DRI14011 ,WS62 ,DRI14012 ,YC59 ,DRI14013 ,& SL1X ,BPM64 ,DRI14014 ,SL1Y ,DRI14015 ,& BPM68 ,DRI14016 ,XC69 ,DRI14017 ,SL2 ,& DBMARK99) BSY : LINE=(BSYbeg ,& DRIF0105,Q50Q1 ,Q50Q1 ,DRIF0106,BPM304001T,& DRIF0107,FFTBORGN,DRIF0108,S100 ,ZLIN15 ,DRIF0109,& XCBSY09,DRIF0110,YCBSY10,DRIF0111,C50PC20 ,& DRIF0112,I40IW1 ,DRIF0113,M40B1 ,DRIF0114,& XCBSY26,DRIF0110,YCBSY27,DRIF0115,Q50Q2 ,& Q50Q2 ,DRIF0116,BPMBSY29,DRIF0117,P460031T,& DRIF0118,P460032T,DRIF0119,C50PC30 ,DRIF0120,& IMBSY34,DRIF0121,XCBSY34,DRIF0122,YCBSY35,& DRIF0123,XCBSY36,DRIF0110,YCBSY37,DRIF0124,& Q50Q3 ,Q50Q3 ,DRIF0125,BPMBSY39,DRIF0125,& W460042T,DRIF0126,DBMARK14) ECELL : LINE=(QE31,DQEC,DQEC,QE32,QE32,DQEC,DQEC,QE31) VBEND : LINE=(VBin,& BY1A,BY1B,DVB1,QVB1,BPMVB1,QVB1,D40cmC,YCVB1, & DVB2m80cm,XCVB2,D40cmC,QVB2,BPMVB2,QVB2,DVB2, & QVB3,BPMVB3,QVB3,D40cmC,YCVB3,DVB1m40cm,BY2A,BY2B,CNTV, & VBout) VBSYS : LINE=(DYCVM1,& YCVM1,DQVM1,QVM1,BPMVM1,QVM1,DQVM2,& QVM2,BPMVM2,QVM2,DXCVM2,XCVM2,DVB25cm,& VBEND,DVB25cmc,& XCVM3,D25cm,QVM3,BPMVM3,QVM3,DVBem25cm,& YCVM4,D25cm,QVM4,BPMVM4,QVM4,DVBem15cm,IM31,D10cmb,IMBCS1,& D25cma) EWIG : LINE=(DBYw1A,DBYw1B,Dw1o,DBYw2A,DBYw2B,Dw1o,DBYw3A,DBYw3B,& CNTw) DL21 : LINE=(DBMARK34,BX31A,BX31B,DDL10w,EWIG, & DWSDL31a,WSDL31,DWSDL31b,DDL10x, & XCDL1,D31A,QDL31,BPMDL1,QDL31,D31B,YCDL1,D32cmb,CEDL1, & DDL10em80cm,BX32A,BX32B,CNT3a) DL22 : LINE=(DX33A,DX33B,DDL1a,BYKIK1A,BYKIK1B,DDL1c,DDL1c,& BYKIK2A,BYKIK2B,DDL1b,XCDL2,D32A,QDL32,BPMDL2,& QDL32,D32B,YCDL2,DSPLR,SPOILER,DDL1cm40cm,TDKIK,D30cma,& PCTDKIK1,DPC1,PCTDKIK2,DPC2,PCTDKIK3,DPC3,PCTDKIK4,DPC4,& SPONTUA,SPONTUB,DDL1dm30cm,DX34A,DX34B) DL23 : LINE=(BX35A,BX35B,DDL10em50cm,OTR30,D29cma,XCDL3,D33A, & QDL33,BPMDL3,QDL33,D33B,YCDL3,D32cmd,CEDL3, & DDL10em80cm,BX36A,BX36B,CNT3b) DL24 : LINE=(DX37A,DX37B,D30cm,IMBCS2,DDL10m70cm,XCDL4,D34A,QDL34,& BPMDL4,QDL34,D34B,YCDL4,DDL10um25cm,DDL10v,DX38A,DX38B) TRIP1 : LINE=(DDL20e,QT11,QT11,DDL30em40cm,XCQT12,D40cmb,QT12, & BPMT12,QT12,D40cmb,YCQT12,DDL30em40cm,QT13,QT13,DDL20e) TRIP2 : LINE=(DDL20,QT21,QT21,DDL30em40cm,XCQT22,D40cmb,QT22, & BPMT22,QT22,D40cmb,YCQT22,DDL30em40cm,QT23,QT23,DDL20) TRIP3 : LINE=(DDL20e,QT31,QT31,DDL30em40cma,XCQT32,D40cmd,QT32, & BPMT32,QT32,D40cme,YCQT32,DDL30em40cmb,QT33,QT33,DDL20e) TRIP4 : LINE=(DDL20,QT41,QT41,DDL30em40cmc,XCQT42,D40cmf,QT42, & BPMT42,QT42,D40cmb,YCQT42,DDL30em40cm,QT43,QT43,DDL20) DOGLG2A:LINE=(DL21,TRIP1,SS1,DL22,TRIP2) DOGLG2B:LINE=(DL23,TRIP3,SS3,DL24,TRIP4) EDMCH : LINE=(D25cmb,IM36,D25cmc,DMM1m90cm,YCEM1, & DEM1A,QEM1,BPMEM1,QEM1,DEM1B,QEM2,BPMEM2,QEM2,DEM2B, & XCEM2,DMM3m80cm,YCEM3,DEM3A,QEM3,BPMEM3,QEM3, & DEM3B,QEM3V,QEM3V,DMM4m90cm,XCEM4,DEM4A,QEM4,BPMEM4,& QEM4,DMM5) EDSYS : LINE=(DBMARK36,WS31,D40cm,DE3m80cma, & XCE31,DQEA,QE31,BPME31,QE31,DQEBx,CX31,DQEBx2, & DE3a,YCE32,DQEAa,QE32,BPME32,QE32,DQEBy,CY32, & DQEBy2,WS32,D40cm,DE3m80cmb,XCE33,DQEAb, & QE33,BPME33,QE33,DQEC,OTR33,DE3m40cm,YCE34,DQEA,QE34, & BPME34,QE34,DQEC,WS33,D40cm,DE3m80cm,XCE35, & DQEAc,QE35,BPME35,QE35,DQEBx,CX35,DQEBx2,DE3, & YCE36,DQEA,QE36,BPME36,QE36,DQEBy,CY36,DQEBy2, & WS34,D40cm) UNMCH : LINE=(DU1m80cm,DCX37,D32cmc,XCUM1,DUM1A,QUM1,BPMUM1,QUM1,DUM1B, & D32cm,DU2m120cm,DCY38,D32cma,YCUM2,DUM2A,QUM2, & BPMUM2,QUM2,DUM2B,DU3m80cm,YCUM3,DUM3A, & QUM3,BPMUM3,QUM3,DUM3B,D40cma,EOBLM,DU4m120cm, & XCUM4,DUM4A,QUM4,BPMUM4,QUM4,DUM4B,RFB07,DU5m80cm, & IMUNDI,D40cm,RWWAKEAl,DMUON2,DVV35,RFB08,DTDUND1,& TDUND,DTDUND2,PCMUON,DMUON1,VV999,DMUON3,MM3,PFILT1,& DBMARK37) ! Undulator exit and Dumps: ! ======================== UNDEXIT : LINE=(UEbeg,DUE1a,VV36,DUE1d,IMUNDO,DUE1b,BPMUE1,DUE1c,& QUE1,QUE1,DUE2a,XCUE1,DUE2b,YCUE2,DUE2c,QUE2,QUE2,& DUE3a,BPMUE2,DUE3b,PCPM0,BTM0,DUE3c,DUE4,DUE5A,& YCD3,DUE5C,XCD3,DUE5D,UEend,DLstart,& DSB0a,VV37,DSB0b,BPMUE3,DSB0c,IMBCS3,DSB0d) DUMPLINE: LINE=(BYD1A,BYD1B,DS,BYD2A,BYD2B,DS, & BYD3A,BYD3B,DSc,PCPM1L,BTM1L,DD1a,IMDUMP,DD1b,YCDD,& DD1f,PCPM2L,BTM2L,DD1c,QDmp1,QDmp1,DD1d,BPMQD,DD1e,& QDmp2,QDmp2,DD2a,XCDD,DD2b,IMBCS4,DD3a,BPMDD,DD3b,& OTRDMP,DWSDUMPa,WSDUMP,DWSDUMPb,& DUMPFACE,DMPend,DD3d,EOL,DD3e,BTMDUMP,& DBMARK38) PERMDUMP: LINE=(SFTBEG,DYD1,DSS1,DYD2,DSS2,DYD3,DScS1,VV38,DScS2,& PCPM1,BTM1,DPM1b,ST0,DST0,BTMST0,DMUSPL,ST1,DST1,BTMST1,& DPM1c,PCPM2,BTM2,DPM1d,BXPM1A,BXPM1B,DPM1,BXPM2A,BXPM2B,& DPM2,BXPM3A,BXPM3B,DSFT,SFTDMP,DPM2e,BTMSFT,DMPend) LTU : LINE=(MM1,DOGLG2A,DOGLG2B,MM2,EDMCH,EDSYS,UNMCH) BSYLTU : LINE=(RWWAKEss,BSY,B12WAL,VBSYS,LTU,UND,UNDEXIT,DUMPLINE) LCLS : LINE=(DL1,L1,BC1,L2,BC2,L3,BSYLTU) ! ============================================================================== ! SUBROUTINEs ! ------------------------------------------------------------------------------ ML1c : SUBROUTINE ! match L1 phase advance per cell (coasting) VALUE, KQL1 USE, L1c CELL VARY, KQL1, STEP=1.E-5, LOWER=0, UPPER=100 CONSTR, #E, MUX=MU_L1, MUY=MU_L1 !LMDIF !MIGRAD ENDMATCH VALUE, 1.448192E-25 ! =expected penalty function with fitting OFF VALUE, KQL1 ENDSUBROUTINE ! ------------------------------------------------------------------------------ ML2c : SUBROUTINE ! match L2 phase advance per cell (coasting) VALUE, KQL2 USE, L2c CELL VARY, KQL2, STEP=1.E-5, LOWER=0, UPPER=100 CONSTR, #E, MUX=MU_L2, MUY=MU_L2 !LMDIF !MIGRAD ENDMATCH VALUE, 2.277840E-24 ! =expected penalty function with fitting OFF VALUE, KQL2 ENDSUBROUTINE ! ------------------------------------------------------------------------------ ML3c : SUBROUTINE ! match L3 phase advance per cell (coasting) VALUE, KQFL3,KQDL3 USE, L3c CELL VARY, KQFL3, STEP=1.E-5, LOWER=0 , UPPER=100 VARY, KQDL3, STEP=1.E-5, LOWER=-100, UPPER=0 CONSTR, #E, MUX=MUX_L3, MUY=MUY_L3 !LMDIF !MIGRAD ENDMATCH VALUE, 1.809822E-13 ! =expected penalty function with fitting OFF VALUE, KQFL3,KQDL3 ENDSUBROUTINE ! ------------------------------------------------------------------------------ MTWSSC : SUBROUTINE ! find Twiss at cathode ! (NOTE: optics between cathode and DL1beg is meaningless ... used only to ! initialize sumL and show beamline layout) VALUE, CBETX,CALFX,CBETY,CALFY USE, GUNL0a MATCH, ENERGY=E00, BETX=CBETX, ALFX=CALFX, BETY=CBETY, ALFY=CALFY VARY, CBETX, STEP=1.E-4, LOWER=0.1, UPPER=100 VARY, CALFX, STEP=1.E-4, LOWER=-10, UPPER=10 VARY, CBETY, STEP=1.E-4, LOWER=0.1, UPPER=100 VARY, CALFY, STEP=1.E-4, LOWER=-10, UPPER=10 CONSTR, #E, BETX=TBETX, ALFX=TALFX, BETY=TBETY, ALFY=TALFY !LMDIF !MIGRAD ENDMATCH VALUE, 1.434054E-15 ! =expected penalty function with fitting OFF VALUE, CBETX,CALFX,CBETY,CALFY ENDSUBROUTINE ! ------------------------------------------------------------------------------ MGSPEC : SUBROUTINE ! match gun spectrometer VALUE, QG02[K1],QG03[K1] USE, (GUNBXG,GSPEC) MATCH, BETA0=TWSSC VARY, QG02[K1], STEP=1.E-4, LOWER=-100, UPPER=+100 VARY, QG03[K1], STEP=1.E-4, LOWER=-100, UPPER=+100 RMATRIX, YAG01/YAGG1, RM(1,2)=0, WEIGHT(1,2)=6, & RM(3,4)=0, WEIGHT(3,4)=6 !LMDIF !MIGRAD ENDMATCH VALUE, 3.013681E-13 ! =expected penalty function with fitting OFF VALUE, QG02[K1],QG03[K1] ENDSUBROUTINE ! ------------------------------------------------------------------------------ MBChETA : SUBROUTINE ! set Heater-chicane peak dispersion VALUE, BBh1,ABh1 USE, (DL1) MATCH, ENERGY=Ei VARY, BBh1, STEP=1.E-5, LOWER=-8, UPPER=8 CONSTR, HTRUND, DX=-0.035486*LSRHTR_ON ! want 35 mm X-offset - need 35.486 mm of etaX to get it !LMDIF !MIGRAD ENDMATCH VALUE, 1.088755E-20 ! =expected penalty function with fitting OFF VALUE, BBh1,ABh1 ENDSUBROUTINE ! ------------------------------------------------------------------------------ MBSYS : SUBROUTINE ! match DL1 bend system dispersion VALUE, KQB USE, (L0b,DL1) MATCH, BETA0=TWSS0 VARY, KQB, STEP=1.E-5, LOWER=-39, UPPER=+39 RMATRIX, DE09/BX02B, RM(1,6)=0 !LMDIF !MIGRAD ENDMATCH VALUE, 2.099758E-22 ! =expected penalty function with fitting OFF VALUE, KQB ENDSUBROUTINE ! ------------------------------------------------------------------------------ MED0 : SUBROUTINE ! match from exit of L0 into ED0 VALUE, KQA01,KQA02,KQE01,KQE02,KQE03,KQE04 USE, (GUNL0a,L0b,DL1) MATCH, BETA0=TWSSC VARY, KQA01, STEP=1.E-5, LOWER=-39, UPPER=+39 VARY, KQA02, STEP=1.E-5, LOWER=-39, UPPER=+39 VARY, KQE01, STEP=1.E-5, LOWER=-39, UPPER=+39 VARY, KQE02, STEP=1.E-5, LOWER=-39, UPPER=+39 VARY, KQE03, STEP=1.E-5, LOWER=-39, UPPER=+39 VARY, KQE04, STEP=1.E-5, LOWER=-39, UPPER=+39 CONSTR, MRK0, BETX=BMIN0,ALFX=0.,BETY=BMIN0,ALFY=0. CONSTR, HTRUND, BETX<12,BETX>8,BETY<12,BETY>8 !LMDIF !MIGRAD !SIMPLEX ENDMATCH VALUE, 1.900871E-09 ! =expected penalty function with fitting OFF (htr fully ON) VALUE, KQA01,KQA02,KQE01,KQE02,KQE03,KQE04 ENDSUBROUTINE ! ------------------------------------------------------------------------------ MED2L1 : SUBROUTINE ! match from ED0 through injection bend system to L1 VALUE, KQM01,KQM02,KQM03,KQM04 USE, (L0b,DL1,L1) MATCH, BETA0=TWSS0 VARY, KQM01, STEP=1.E-5, LOWER=-39,UPPER=+39 VARY, KQM02, STEP=1.E-5, LOWER=-39,UPPER=+39 VARY, KQM03, STEP=1.E-5, LOWER=-39,UPPER=+39 VARY, KQM04, STEP=1.E-5, LOWER=-39,UPPER=+39 CONSTR, QA11[1], BETY=BET11, BETX=BET12 CONSTR, QA12[1], BETY=BET12, BETX=BET11 CONSTR, QM03[1], BETY<10 CONSTR, OTR4, BETX<1.7, BETY>8.0 !MIGRAD !SIMPLEX ENDMATCH VALUE, 8.576116E-02 ! =expected penalty function with fitting OFF VALUE, KQM01,KQM02,KQM03,KQM04 ENDSUBROUTINE ! ------------------------------------------------------------------------------ MSPEC : SUBROUTINE ! match 135-MeV spectrometer VALUE, KQS01,KQS02,KQM01,KQM02 USE, (L0b,DL1A,SPECBL) MATCH, BETA0=TWSS0 VARY, KQS01, STEP=1.E-5, LOWER=-40, UPPER=+40 ! nominal fit at YAGS2 VARY, KQS02, STEP=1.E-5, LOWER=-40, UPPER=+40 ! nominal fit at YAGS2 !! VARY, KQM01, STEP=1.E-5, LOWER=-40,UPPER=+40 ! only use when 3-keV resolution on OTR required !! VARY, KQM02, STEP=1.E-5, LOWER=-40,UPPER=+40 ! only use when 3-keV resolution on OTR required WEIGHT, BETX=10 ! all fits CONSTR, YAGS2, BETX<0.120,BETY>5,BETY<12 ! nominal fit at YAGS2 !! CONSTR, OTRS1, BETX<0.07,BETY>5,BETY<12 ! only use when 3-keV resolution on OTR required CONSTR, YAGS2, DX<-0.9*E0i/Ei ! nominal fit at YAGS2 !! CONSTR, OTRS1, DX=-1.0*E0i/Ei ! only use when 3-keV resolution on OTR required !! CONSTR, DS2, BETX<35 ! only use when 3-keV resolution on OTR required !! CONSTR, BPM12, BETY<35 ! only use when 3-keV resolution on OTR required !LMDIF !MIGRAD ENDMATCH VALUE, 1.377848E-02 ! =expected penalty function with fitting OFF VALUE, KQS01,KQS02,KQM01,KQM02 ENDSUBROUTINE ! ------------------------------------------------------------------------------ MBC1R56 : SUBROUTINE ! match BC1 R56 VALUE, BB11,AB11,AB11S,LB11S,AB11L,LB11L USE, BC1c MATCH, ENERGY=EBC1 VARY, BB11, STEP=1.E-5, LOWER=-16, UPPER=0 RMATRIX, #S/#E, RM(5,6)=0.03905 !LMDIF !MIGRAD ENDMATCH VALUE, 1.020712E-28 ! =expected penalty function with fitting OFF VALUE, BB11,AB11,AB11S,LB11S,AB11L,LB11L ENDSUBROUTINE ! ------------------------------------------------------------------------------ MBC1e : SUBROUTINE ! match through BC1 chicane into emittance measurement system VALUE, KQA12,KQ21201,KQM11,KQM12,KQM13 USE, (L0b,DL1,L1,BC1) MATCH, BETA0=TWSS0 VARY, KQA12, STEP=1.E-5, LOWER=-100, UPPER=+100 VARY, KQ21201, STEP=1.E-5, LOWER=-100, UPPER=0 VARY, KQM11, STEP=1.E-5, LOWER=-100, UPPER=+100 VARY, KQM12, STEP=1.E-5, LOWER=-100, UPPER=+100 VARY, KQM13, STEP=1.E-5, LOWER=-100, UPPER=+100 CONSTR, BX14B, BETX<4.0, ALFX<-0.0 CONSTR, WS12, BETX=BMIN1, ALFX=0, BETY=BMIN1, ALFY=0 !LMDIF !MIGRAD ENDMATCH VALUE, 1.520512E-13 ! =expected penalty function with fitting OFF VALUE, KQA12,KQ21201,KQM11,KQM12,KQM13 ENDSUBROUTINE ! ------------------------------------------------------------------------------ MBC1L2 : SUBROUTINE ! match BC1 to L2 VALUE, KQM14,KQM15,KQ21401,KQ21501 USE, (L0b,DL1,L1,BC1,LI21) MATCH, BETA0=TWSS0 !! VARY, KQ21301, STEP=1.E-5, LOWER=-10,UPPER=0 ! leave this quad OFF - unhook cables? VARY, KQM14, STEP=1.E-5, LOWER=0 ,UPPER=10 VARY, KQM15, STEP=1.E-5, LOWER=-10,UPPER=0 VARY, KQ21401, STEP=1.E-5, LOWER=0 ,UPPER=10 VARY, KQ21501, STEP=1.E-5, LOWER=-10,UPPER=0 CONSTR, QM15[1], BETY10 CONSTR, Q24701A[2], BETY<50 CONSTR, Q24701A[2], BETX<50 CONSTR, Q24901A[2], BETY<75 !LMDIF !MIGRAD ENDMATCH VALUE, 6.532261E-03 ! =expected penalty function with fitting OFF VALUE, KQ24501,KQ24601,KQ24701,KQM21 ENDSUBROUTINE ! ------------------------------------------------------------------------------ MBC2L3 : SUBROUTINE ! match BC2 to L3 VALUE, KQM22,KQ24901,KQ25201,KQ25301,KQ25401,KQ25501 USE, (L0b,DL1,L1,BC1,L2,BC2,LI25) MATCH, BETA0=TWSS0 VARY, KQM22, STEP=1.E-5 , LOWER=-0.65, UPPER=0 VARY, KQ24901, STEP=1.E-5 !, LOWER=-10 , UPPER=0 VARY, KQ25201, STEP=1.E-5 !, LOWER=0 , UPPER=10 VARY, KQ25301, STEP=1.E-5 !, LOWER=-10 , UPPER=0 VARY, KQ25401, STEP=1.E-5 !, LOWER=0 , UPPER=10 VARY, KQ25501, STEP=1.E-5 !, LOWER=-10 , UPPER=0 CONSTR, Q25201[1], BETX<60 CONSTR, Q25301[1], BETY<64 CONSTR, Q25401[1], BETX=BET31, BETY=BET32 CONSTR, Q25501[1], BETX=BET33, BETY=BET34 CONSTR, Q25601[1], BETX=BET31, BETY=BET32 CONSTR, Q25701[1], BETX=BET33, BETY=BET34 CONSTR, Q25801[1], BETX=BET31, BETY=BET32 !LMDIF !MIGRAD ENDMATCH VALUE, 1.442784E-02 ! =expected penalty function with fitting OFF VALUE, KQM22,KQ24901,KQ25201,KQ25301,KQ25401,KQ25501 ENDSUBROUTINE ! ------------------------------------------------------------------------------ ML26 : SUBROUTINE ! match LI26 betas VALUE, KQ25801,KQ25901,KQ26201,KQ26301 USE, (L0b,DL1,L1,BC1,L2,BC2,L3) MATCH, BETA0=TWSS0 VARY, KQ25801, STEP=1.E-5 !, LOWER=0 , UPPER=100 VARY, KQ25901, STEP=1.E-5 !, LOWER=-100, UPPER=0 VARY, KQ26201, STEP=1.E-5 !, LOWER=0 , UPPER=100 VARY, KQ26301, STEP=1.E-5 !, LOWER=-100, UPPER=0 CONSTR, Q26301[1], BETX=BET33, BETY=BET34 CONSTR, Q26401[1], BETX=BET31, BETY=BET32 CONSTR, Q26501[1], BETX=BET33, BETY=BET34 CONSTR, Q26601[1], BETX=BET31, BETY=BET32 CONSTR, Q26701[1], BETX=BET33, BETY=BET34 CONSTR, Q26801[1], BETX=BET31, BETY=BET32 !LMDIF !MIGRAD ENDMATCH VALUE, 1.522531E-02 ! =expected penalty function with fitting OFF VALUE, KQ25801,KQ25901,KQ26201,KQ26301 ENDSUBROUTINE ! ------------------------------------------------------------------------------ ML27 : SUBROUTINE ! match LI27 betas VALUE, KQ26801,KQ26901,KQ27201,KQ27301 USE, (L0b,DL1,L1,BC1,L2,BC2,L3) MATCH, BETA0=TWSS0 VARY, KQ26801, STEP=1.E-5 !, LOWER=0 , UPPER=100 VARY, KQ26901, STEP=1.E-5 !, LOWER=-100, UPPER=0 VARY, KQ27201, STEP=1.E-5 !, LOWER=0 , UPPER=100 VARY, KQ27301, STEP=1.E-5 !, LOWER=-100, UPPER=0 CONSTR, Q27301[1], BETX=BET33, BETY=BET34 CONSTR, Q27401[1], BETX=BET31, BETY=BET32 CONSTR, Q27501[1], BETX=BET33, BETY=BET34 CONSTR, Q27601[1], BETX=BET31, BETY=BET32 CONSTR, Q27701[1], BETX=BET33, BETY=BET34 CONSTR, Q27801[1], BETX=BET31, BETY=BET32 !LMDIF !MIGRAD ENDMATCH VALUE, 5.351428E-03 ! =expected penalty function with fitting OFF VALUE, KQ26801,KQ26901,KQ27201,KQ27301 ENDSUBROUTINE ! ------------------------------------------------------------------------------ ML28 : SUBROUTINE ! match LI28 betas VALUE, KQ27801,KQ27901,KQ28201,KQ28301 USE, (L0b,DL1,L1,BC1,L2,BC2,L3) MATCH, BETA0=TWSS0 VARY, KQ27801, STEP=1.E-5 !, LOWER=0 , UPPER=100 VARY, KQ27901, STEP=1.E-5 !, LOWER=-100, UPPER=0 VARY, KQ28201, STEP=1.E-5 !, LOWER=0 , UPPER=100 VARY, KQ28301, STEP=1.E-5 !, LOWER=-100, UPPER=0 CONSTR, Q28301[1], BETX=BET33, BETY=BET34 CONSTR, Q28401[1], BETX=BET31, BETY=BET32 CONSTR, Q28501[1], BETX=BET33, BETY=BET34 CONSTR, Q28601[1], BETX=BET31, BETY=BET32 CONSTR, Q28701[1], BETX=BET33, BETY=BET34 CONSTR, Q28801[1], BETX=BET31, BETY=BET32 !LMDIF !MIGRAD ENDMATCH VALUE, 2.676795E-03 ! =expected penalty function with fitting OFF VALUE, KQ27801,KQ27901,KQ28201,KQ28301 ENDSUBROUTINE ! ------------------------------------------------------------------------------ ML29 : SUBROUTINE ! match LI29 betas VALUE, KQ28801,KQ28901,KQ29201,KQ29301 USE, (L0b,DL1,L1,BC1,L2,BC2,L3) MATCH, BETA0=TWSS0 VARY, KQ28801, STEP=1.E-5 !, LOWER=0 , UPPER=100 VARY, KQ28901, STEP=1.E-5 !, LOWER=-100, UPPER=0 VARY, KQ29201, STEP=1.E-5 !, LOWER=0 , UPPER=100 VARY, KQ29301, STEP=1.E-5 !, LOWER=-100, UPPER=0 CONSTR, Q29301[1], BETX=BET33, BETY=BET34 CONSTR, Q29401[1], BETX=BET31, BETY=BET32 CONSTR, Q29501[1], BETX=BET33, BETY=BET34 CONSTR, Q29601[1], BETX=BET31, BETY=BET32 CONSTR, Q29701[1], BETX=BET33, BETY=BET34 CONSTR, Q29801[1], BETX=BET31, BETY=BET32 !LMDIF !MIGRAD ENDMATCH VALUE, 1.515926E-03 ! =expected penalty function with fitting OFF VALUE, KQ28801,KQ28901,KQ29201,KQ29301 ENDSUBROUTINE ! ------------------------------------------------------------------------------ ML30 : SUBROUTINE ! match LI30 betas VALUE, KQ29801,KQ29901,KQ30201,KQ30301 USE, (L0b,DL1,L1,BC1,L2,BC2,L3) MATCH, BETA0=TWSS0 VARY, KQ29801, STEP=1.E-5 !, LOWER=0 , UPPER=100 VARY, KQ29901, STEP=1.E-5 !, LOWER=-100, UPPER=0 VARY, KQ30201, STEP=1.E-5 !, LOWER=0 , UPPER=100 VARY, KQ30301, STEP=1.E-5 !, LOWER=-100, UPPER=0 CONSTR, Q30301[1], BETX=BET33, BETY=BET34 CONSTR, Q30401[1], BETX=BET31, BETY=BET32 CONSTR, Q30501[1], BETX=BET33, BETY=BET34 CONSTR, Q30601[1], BETX=BET31, BETY=BET32 CONSTR, Q30701[1], BETX=BET33, BETY=BET34 CONSTR, Q30801[1], BETX=BET31, BETY=BET32 !LMDIF !MIGRAD ENDMATCH VALUE, 1.694700E-01 ! =expected penalty function with fitting OFF VALUE, KQ29801,KQ29901,KQ30201,KQ30301 ENDSUBROUTINE ! ------------------------------------------------------------------------------ MVBEND : SUBROUTINE ! Match dispersion in vertical bend module VALUE, KQVB USE, VBEND MATCH, ENERGY=Ef VARY, KQVB, STEP=1.E-5, LOWER=-1.65, UPPER=1.65 RMATRIX, #S/#E, RM(3,6)=0, RM(4,6)=0 TMATRIX, #S/#E, TM(5,6,6)=0, WEIGHT(5,6,6)=0 !LMDIF !MIGRAD ENDMATCH VALUE, 2.632497E-28 ! =expected penalty function with fitting OFF VALUE, KQVB ENDSUBROUTINE ! ------------------------------------------------------------------------------ MDL2M : SUBROUTINE ! find periodic beta's through bend cells USE, DL23 VALUE, MBETX, MALFX, MBETY, MALFY MATCH, BETA0=TWSSM VARY, MBETX, STEP=1.E-5, UPPER=100, LOWER=0.01 VARY, MALFX, STEP=1.E-5, UPPER=20 , LOWER=-20 VARY, MBETY, STEP=1.E-5, UPPER=100, LOWER=0.01 VARY, MALFY, STEP=1.E-5, UPPER=20 , LOWER=-20 CONSTR, #E, BETX=MBETX, BETY=MBETY, ALFX=-MALFX, ALFY=-MALFY CONSTR, BPMDL3, BETX<5 !LMDIF !MIGRAD ENDMATCH VALUE, 2.248941E-09 ! =expected penalty function with DL23 fitting OFF VALUE, MBETX, MALFX, MBETY, MALFY ENDSUBROUTINE ! ------------------------------------------------------------------------------ ML3DL2 : SUBROUTINE ! match L3 to LTU USE, (L0b,LCLS) VALUE, K50Q,KQ5,KQ6,KQA0,KQVM1,KQVM2,KQVM3,KQVM4 MATCH, BETA0=TWSS0 VARY, K50Q, STEP=1.E-5, LOWER= 0. , UPPER=+1.65 VARY, KQ5, STEP=1.E-5, LOWER=-1.65, UPPER= 0. VARY, KQ6, STEP=1.E-5, LOWER= 0. , UPPER=+1.65 VARY, KQA0, STEP=1.E-5, LOWER=-1.65, UPPER=+1.65 VARY, KQVM1, STEP=1.E-5, LOWER=-1.65, UPPER=+1.65 VARY, KQVM2, STEP=1.E-5, LOWER=-1.65, UPPER=+1.65 VARY, KQVM3, STEP=1.E-5, LOWER=-1.65, UPPER=+1.65 VARY, KQVM4, STEP=1.E-5, LOWER=-1.65, UPPER=+1.65 CONSTR, Q5[1], BETY<700. CONSTR, Q6[1], BETX<700. CONSTR, QVM1[1], BETY<100. CONSTR, QVM2[1], BETX<100. CONSTR, QVM3[1], BETX<100. CONSTR, QVM4[1], BETY<100. CONSTR, MM1, BETX=MBETX, ALFX=MALFX, BETY=MBETY, ALFY=MALFY !MIGRAD !SIMPLEX ENDMATCH VALUE, 5.576250E-15 ! =expected penalty function with fitting OFF VALUE, K50Q,KQ5,KQ6,KQA0,KQVM1,KQVM2,KQVM3,KQVM4 ENDSUBROUTINE ! ------------------------------------------------------------------------------ MDL2B : SUBROUTINE ! match DL2 dogleg dispersion USE, DL23 VALUE, KQDL MATCH, BETA0=TWSSM VARY, KQDL, STEP=1.E-5, UPPER=1.04, LOWER=0 RMATRIX, #S/#E, RM(1,6)=0, RM(2,6)=0 TMATRIX, #S/#E, TM(5,6,6)=0, WEIGHT(5,6,6)=0 !LMDIF !MIGRAD ENDMATCH VALUE, 6.275200E-17 ! =expected penalty function with DL23 fitting OFF VALUE, KQDL ENDSUBROUTINE ! ------------------------------------------------------------------------------ MDL2T : SUBROUTINE ! Match with triplet between bend-cells USE, DOGLG2B VALUE, KQT1, KQT2 MATCH, BETA0=TWSSM VARY, KQT1 , STEP=1.E-5, UPPER=1.65, LOWER=-1.65 VARY, KQT2 , STEP=1.E-5, UPPER=1.65, LOWER=-1.65 CONSTR,SS3,BETX=MBETX,BETY=MBETY,ALFX=MALFX,ALFY=MALFY !LMDIF !MIGRAD !SIMPLEX ENDMATCH VALUE, 2.154821E-09 ! =expected penalty function with DOGLG2B fitting OFF VALUE, KQT1, KQT2 ENDSUBROUTINE ! ------------------------------------------------------------------------------ MECELL : SUBROUTINE ! Match FODO quad strength for 45-deg wire-to-wire phase adv. USE, ECELL VALUE, KQED2 CELL VARY, KQED2, STEP=1.E-5, LOWER=0, UPPER=100 CONSTR, #E, MUX=45/360 !LMDIF !MIGRAD ENDMATCH VALUE, 6.356059E-19 ! =expected penalty function with fitting OFF VALUE, KQED2 ENDSUBROUTINE ! ------------------------------------------------------------------------------ MED2P : SUBROUTINE ! Find periodic beta's through LTU emit-diag section USE, EDSYS VALUE, BX1, AX1, BY1, AY1 MATCH, ENERGY=Ef, BETX=BX1, ALFX=AX1, BETY=BY1, ALFY=AY1 VARY, BX1, STEP=1.E-5, UPPER=100, LOWER=0.01 VARY, AX1, STEP=1.E-5, UPPER=20 , LOWER=-20 VARY, BY1, STEP=1.E-5, UPPER=100, LOWER=0.01 VARY, AY1, STEP=1.E-5, UPPER=20 , LOWER=-20 CONSTR, WS31, BETX=BX1, BETY=BY1 CONSTR, WS32, BETX=BX1, BETY=BY1 CONSTR, WS33, BETX=BX1, BETY=BY1 CONSTR, WS34, BETX=BX1, BETY=BY1 !LMDIF !MIGRAD ENDMATCH VALUE, 1.334540E-14 ! =expected penalty function with fitting OFF VALUE, BX1, AX1, BY1, AY1 ENDSUBROUTINE ! ------------------------------------------------------------------------------ MED2DL2 : SUBROUTINE ! Match between bend cells and emit-diag section USE, LTU VALUE, KQEM1, KQEM2, KQEM3, KQEM4 MATCH, ENERGY=Ef, BETX=MBETX, ALFX=MALFX, BETY=MBETY, ALFY=MALFY VARY, KQEM1 , STEP=1.E-5, UPPER=0.85, LOWER=-0.85 VARY, KQEM2 , STEP=1.E-5, UPPER=0.85, LOWER=-0.85 VARY, KQEM3 , STEP=1.E-5, UPPER=0.85, LOWER=-0.85 VARY, KQEM4 , STEP=1.E-5, UPPER=0.85, LOWER=-0.85 CONSTR,WS31,BETX=BX1,BETY=BY1,ALFX=AX1,ALFY=AY1 !!CONSTR,OTR33,BETX=12*DE3[L]/5,BETY=12*DE3[L]/5,ALFX=0,ALFY=0 ! for slice-emit on OTR33 with KQED2=0 !LMDIF !MIGRAD ENDMATCH VALUE, 1.711345E-12 ! =expected penalty function with fitting OFF VALUE, KQEM1, KQEM2, KQEM3, KQEM4 ENDSUBROUTINE ! ------------------------------------------------------------------------------ MUNDP : SUBROUTINE ! find proper periodic betas in undulator USE, UND VALUE, UBETX, UALFX, UBETY, UALFY MATCH, BETA0=TWSSU VARY, UBETX, STEP=1.E-5, LOWER=0.1 VARY, UALFX, STEP=1.E-5 VARY, UBETY, STEP=1.E-5, LOWER=0.1 VARY, UALFY, STEP=1.E-5 CONSTR,#S/#E,PATTERN="MUQ",BETX<35.1,BETY<30.7 ! =30 m !! CONSTR,#S/#E,PATTERN="MUQ",BETX<15.5,BETY<15.0 ! =10 m !LMDIF !MIGRAD ENDMATCH VALUE, 8.911117E-01 ! =expected penalty function with fitting OFF VALUE, UBETX, UALFX, UBETY, UALFY ENDSUBROUTINE ! ------------------------------------------------------------------------------ MUNDM : SUBROUTINE ! match betas at entrance to undulator USE, LTU VALUE, KQUM1, KQUM2, KQUM3, KQUM4 MATCH, ENERGY=Ef, BETX=MBETX, ALFX=MALFX, BETY=MBETY, ALFY=MALFY VARY, KQUM1 , STEP=1.E-5, UPPER=0.85, LOWER=-0.85 VARY, KQUM2 , STEP=1.E-5, UPPER=0.85, LOWER=-0.85 VARY, KQUM3 , STEP=1.E-5, UPPER=0.85, LOWER=-0.85 VARY, KQUM4 , STEP=1.E-5, UPPER=0.85, LOWER=-0.85 CONSTR, #E, BETX=UBETX, ALFX=UALFX, BETY=UBETY, ALFY=UALFY !LMDIF !MIGRAD ENDMATCH VALUE, 2.549013E-12 ! =expected penalty function with fitting OFF VALUE, KQUM1, KQUM2, KQUM3, KQUM4 ENDSUBROUTINE ! ------------------------------------------------------------------------------ MDUMP : SUBROUTINE ! match e- dump USE, (UND,UNDEXIT,DUMPLINE) VALUE, KQUE1,KQUE2,KQDMP MATCH, BETA0=TWSSU VARY, KQUE1, STEP=1.E-5, UPPER=1.65/2, LOWER=-1.65/2 VARY, KQUE2, STEP=1.E-5, UPPER=1.65/2, LOWER=-1.65/2 VARY, KQDMP, STEP=1.E-5, UPPER=1.65/2, LOWER=-1.65/2 !! VARY, Ddmpv, STEP=1.E-4, UPPER=5, LOWER=-5 CONSTR, DSB0a/#E, BETY<150, BETX<350 CONSTR, OTRDMP, DY>0.58, BETY<0.6, BETX>100 CONSTR, #E, DY<0.45 !LMDIF !MIGRAD ENDMATCH VALUE, 9.306033E-01 ! =expected penalty function with fitting OFF VALUE, KQUE1,KQUE2,KQDMP ENDSUBROUTINE ! ------------------------------------------------------------------------------ L2K1in : SUBROUTINE ! initialize L2 quad K1s to FODO cell values SET, KQ21401, KQL2 SET, KQ21501, -KQL2 SET, KQ21601, KQL2 SET, KQ21701, -KQL2 SET, KQ21801, KQL2 SET, KQ21901, -KQL2 SET, KQ22201, KQL2 SET, KQ22301, -KQL2 SET, KQ22401, KQL2 SET, KQ22501, -KQL2 SET, KQ22601, KQL2 SET, KQ22701, -KQL2 SET, KQ22801, KQL2 SET, KQ22901, -KQL2 SET, KQ23201, KQL2 SET, KQ23301, -KQL2 SET, KQ23401, KQL2 SET, KQ23501, -KQL2 SET, KQ23601, KQL2 SET, KQ23701, -KQL2 SET, KQ23801, KQL2 SET, KQ23901, -KQL2 SET, KQ24201, KQL2 SET, KQ24301, -KQL2 SET, KQ24401, KQL2 SET, KQ24501, -KQL2 SET, KQ24601, KQL2 ENDSUBROUTINE ! ------------------------------------------------------------------------------ L2K1out : SUBROUTINE ! output L2 quad K1s VALUE, KQ21401 VALUE, KQ21501 VALUE, KQ21601 VALUE, KQ21701 VALUE, KQ21801 VALUE, KQ21901 VALUE, KQ22201 VALUE, KQ22301 VALUE, KQ22401 VALUE, KQ22501 VALUE, KQ22601 VALUE, KQ22701 VALUE, KQ22801 VALUE, KQ22901 VALUE, KQ23201 VALUE, KQ23301 VALUE, KQ23401 VALUE, KQ23501 VALUE, KQ23601 VALUE, KQ23701 VALUE, KQ23801 VALUE, KQ23901 VALUE, KQ24201 VALUE, KQ24301 VALUE, KQ24401 VALUE, KQ24501 VALUE, KQ24601 ENDSUBROUTINE ! ------------------------------------------------------------------------------ L3K1in : SUBROUTINE ! initialize L3 quad K1s to FODO cell values SET, KQ25201, KQFL3 SET, KQ25301, KQDL3 SET, KQ25401, KQFL3 SET, KQ25501, KQDL3 SET, KQ25601, KQFL3 SET, KQ25701, KQDL3 SET, KQ25801, KQFL3 SET, KQ25901, KQDL3 SET, KQ26201, KQFL3 SET, KQ26301, KQDL3 SET, KQ26401, KQFL3 SET, KQ26501, KQDL3 SET, KQ26601, KQFL3 SET, KQ26701, KQDL3 SET, KQ26801, KQFL3 SET, KQ26901, KQDL3 SET, KQ27201, KQFL3 SET, KQ27301, KQDL3 SET, KQ27401, KQFL3 SET, KQ27501, KQDL3 SET, KQ27601, KQFL3 SET, KQ27701, KQDL3 SET, KQ27801, KQFL3 SET, KQ27901, KQDL3 SET, KQ28201, KQFL3 SET, KQ28301, KQDL3 SET, KQ28401, KQFL3 SET, KQ28501, KQDL3 SET, KQ28601, KQFL3 SET, KQ28701, KQDL3 SET, KQ28801, KQFL3 SET, KQ28901, KQDL3 SET, KQ29201, KQFL3 SET, KQ29301, KQDL3 SET, KQ29401, KQFL3 SET, KQ29501, KQDL3 SET, KQ29601, KQFL3 SET, KQ29701, KQDL3 SET, KQ29801, KQFL3 SET, KQ29901, KQDL3 SET, KQ30201, KQFL3 SET, KQ30301, KQDL3 SET, KQ30401, KQFL3 SET, KQ30501, KQDL3 SET, KQ30601, KQFL3 SET, KQ30701, KQDL3 SET, KQ30801, KQFL3 ENDSUBROUTINE ! ------------------------------------------------------------------------------ L3K1out : SUBROUTINE ! output L3 quad K1s VALUE, KQ25201 VALUE, KQ25301 VALUE, KQ25401 VALUE, KQ25501 VALUE, KQ25601 VALUE, KQ25701 VALUE, KQ25801 VALUE, KQ25901 VALUE, KQ26201 VALUE, KQ26301 VALUE, KQ26401 VALUE, KQ26501 VALUE, KQ26601 VALUE, KQ26701 VALUE, KQ26801 VALUE, KQ26901 VALUE, KQ27201 VALUE, KQ27301 VALUE, KQ27401 VALUE, KQ27501 VALUE, KQ27601 VALUE, KQ27701 VALUE, KQ27801 VALUE, KQ27901 VALUE, KQ28201 VALUE, KQ28301 VALUE, KQ28401 VALUE, KQ28501 VALUE, KQ28601 VALUE, KQ28701 VALUE, KQ28801 VALUE, KQ28901 VALUE, KQ29201 VALUE, KQ29301 VALUE, KQ29401 VALUE, KQ29501 VALUE, KQ29601 VALUE, KQ29701 VALUE, KQ29801 VALUE, KQ29901 VALUE, KQ30201 VALUE, KQ30301 VALUE, KQ30401 VALUE, KQ30501 VALUE, KQ30601 VALUE, KQ30701 VALUE, KQ30801 ENDSUBROUTINE ! ------------------------------------------------------------------------------ OTHERDL2 : SUBROUTINE ! load DL2 optics with DX=DPX=0 between bending units SET, K50Q, 0.354439262413 SET, KQ5, -0.210581118288 SET, KQ6, 0.223866943041 SET, KQA0, -0.275265663783E-2 SET, KDL21, -1.389852338149 SET, KDL22, 1.564149176723 SET, KDL23, 1.564012934631 SET, KDL24, -1.492327023478 SET, KQM31, 1.051236645382 SET, KQM32, -1.637469425492 SET, KQM33, -1.366792669428 SET, KQM34, 0.585600683467 ENDSUBROUTINE ! ============================================================================== ! COMMANDs ! ------------------------------------------------------------------------------ SETPLOT, XSIZE=25.4, YSIZE=20.32 OPTION, ECHO BET11 := 10.090395936353 BET12 := 2.470673595371 BET21 := 43.876719659503 BET22 := 16.019619746515 ! BET31 := 53.481287866029 ! BET32 := 35.468087644847 ! BET33 := 29.55797372867 ! BET34 := 63.601589300188 BET31 := 61.868125327071 BET32 := 36.40742728964 BET33 := 36.353377790534 BET34 := 61.956709274457 ! BET31 := 69.818359882868 ! for WS28 45 deg/wire ! BET32 := 37.0062095289 ! BET33 := 42.5680425597 ! BET34 := 60.952049693321 ! do fitting ASSIGN, PRINT="LCLS17MAR09.fit" COMMENT SET, MU_L1, 75/360 ML1c USE, L1c SAVEBETA, TWSSL1, QFL1[1] TWISS SET, BET11, TWSSL1[BETX] SET, BET12, TWSSL1[BETY] VALUE, BET11,BET12 ENDCOMMENT COMMENT SET, MU_L2, 55.500/360 ML2c USE, L2c SAVEBETA, TWSSL2, QFL2[1] TWISS SET, BET21, TWSSL2[BETX] SET, BET22, TWSSL2[BETY] VALUE, BET21,BET22 ENDCOMMENT COMMENT ! SET, MUX_L3, 36.175/360 !July 13, 2005 - set for n*360 deg BX24A to BX31A (TCAV3 -> 25-2d) SET, MUX_L3, 30.175/360 !July 13, 2008 - set for best WS28 45-deg mux phase advances SET, MUY_L3, 30.130/360 !July 13, 2005 - set for 3*90 deg TCAV3[1] to OTR30 (TCAV3 -> 25-2d) ML3c USE, L3c SAVEBETA, TWSSFL3, QFL3[1] SAVEBETA, TWSSDL3, QDL3[1] TWISS SET, BET31, TWSSFL3[BETX] SET, BET32, TWSSFL3[BETY] SET, BET33, TWSSDL3[BETX] SET, BET34, TWSSDL3[BETY] VALUE, BET31,BET32,BET33,BET34 ENDCOMMENT MTWSSC MGSPEC MBChETA MBSYS MED0 MED2L1 MSPEC MBC1R56 MBC1e !**!L2K1in !use ONLY when you're changing L2 phase advance per cell MBC1L2 ML22 ML23 ML24 !L2K1out MBC2R56 MBC2i !**!L3K1in !use ONLY when you're changing L3 phase advance per cell MBC2L3 ML26 ML27 ML28 ML29 ML30 !L3K1out MVBEND MDL2M ML3DL2 MDL2B MDL2T MECELL MED2P MED2DL2 MUNDP MUNDM MDUMP ! generate output files and plots (optics) and survey coordinates ! (NOTE: Y-PITCH is not included here for simplicity - for linac coordinates, read in pitched plane of linac) XLL := 10.9474 ! X at loadlock start [m] ZLL := 2032.0-14.8125+ZOFFINJ ! Z at loadlock start (move injector ~12 mm dnstr. - Nov. 17, 2004, -PE) [m] Xi := XLL+LOADLOCK[L]*SIN(ADL1) ! subtract from upbeam side of loadlock to get to cathode [m] Zi := ZLL+LOADLOCK[L]*COS(ADL1) ! subtract from upbeam side of loadlock to get to cathode [m] XF := 0 ! hor. position is on linac axis, which is zero here [m] THETAF := 0 ! no yaw at S100 PSIF := 0 ! no roll at S100 YF := 0.009738 ! Y near 50Q1 (~2 m upbeam S100) in undulator coordinates (for LTU engineers) ZF := -2.085977 ! Z near 50Q1 (~2 m upbeam S100) in undulator coordinates (for LTU engineers) PHIF := 2*AVB ! S100 pitch in undulator coordinates (for LTU engineers) VALUE, ADL1,Xi,Zi ! Generate output files for SYMBOLS file creation: ! =============================================== !CALL, FILENAME="makeSymbols.mad" ! Generate output files for entire machine: ! ======================================== ASSIGN, PRINT="LCLS-17MAR09.print" USE, (GUNL0a,L0b,LCLS) PRINT, FULL TWISS, BETA0=TWSSC, SAVE, TAPE="LCLS-17MAR09_twiss.tape", & RTAPE="LCLS-17MAR09_rmat.tape" SURVEY, THETA0=ADL1, X0=Xi, Z0=Zi, TAPE="LCLS-17MAR09_survey.tape" !SELECT, OPTICS, FULL !ENVELOPE, SIGMA0=SIGC, SAVE, TAPE="LCLS-17MAR09_envelope.tape" !SAVELINE, NAME="LSFEL", FILENAME="LCLS-17MAR09.saveline" ! Make plots for various sections of the machine: ! ============================================== PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, & STYLE=100, SPLINE=.T., & RANGE=DL1beg/#E, TITLE="Cathode to Main Dump", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX, & STYLE=100, SPLINE=.F., & RANGE=CATHODE/DL1beg, TITLE="L0-to-DL1 dog-leg", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX, & STYLE=100, SPLINE=.T., & RANGE=LHbeg/LHend, TITLE="Laser-Heater", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX, & STYLE=100, SPLINE=.T., & RANGE=L0bBEG/DL1end, TITLE="L0-to-DL1 dog-leg", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, & STYLE=100, SPLINE=.T., & RANGE=L1beg/L1end, TITLE="L1-linac", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX, & STYLE=100, SPLINE=.T., & RANGE=BC1mrk/BC1fin, TITLE="BC1-chicane", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, & STYLE=100, SPLINE=.T., & RANGE=L2beg/L2end, TITLE="L2-linac", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX, & STYLE=100, SPLINE=.T., & RANGE=BC2mrk/BC2fin, TITLE="BC2-chicane", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, & STYLE=100, SPLINE=.T., & RANGE=L3beg/L3end, TITLE="L3-linac", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS=BETX,BETY, & STYLE=100, SPLINE=.T., & RANGE=BSYbeg/BSYend, TITLE="BSY", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, & STYLE=100, SPLINE=.T., & RANGE=MM1/MM2, TITLE="DL2-dogleg", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, & STYLE=100, SPLINE=.T., & RANGE=MM2/MM3, TITLE="Undulator emittance diagnostics", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, & STYLE=100, SPLINE=.T., & RANGE=BSYend/#E, TITLE="muon-plug-to-DUMP", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, & STYLE=100, SPLINE=.T., & RANGE=BSYend/MM1, TITLE="Vertical Bend System", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, & STYLE=100, SPLINE=.T., & RANGE=UNDSTART/UNDTERM, TITLE="undulator", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX,DY, & STYLE=100, SPLINE=.T., & RANGE=UEbeg/DMPend, TITLE="undulator exit and e- dump", & FILE="LCLS-17MAR09" ! Generate output files for 6-MeV Gun Spectrometer: ! ================================================ ASSIGN, PRINT="GSPEC-17MAR09.print" USE, (GUNBXG,GSPEC) PRINT, FULL TWISS, BETA0=TWSSC, SAVE, TAPE="GSPEC-17MAR09_twiss.tape" SURVEY, THETA0=ADL1, X0=Xi, Z0=Zi, TAPE="GSPEC-17MAR09_survey.tape" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX, & STYLE=100, SPLINE=.T., & RANGE=#S/#E, TITLE="Cathode through 6-MeV Gun Spectrometer", & FILE="LCLS-17MAR09" !PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX, & ! STYLE=100, SPLINE=.T., & ! RANGE=GSPECBEG/#E, TITLE="Gun spectrometer", & ! FILE="LCLS-17MAR09" !SAVELINE, NAME="LSGUN", FILENAME="GSPEC-17MAR09.saveline" ! Generate output files for 135-MeV Spectrometer: ! ============================================== ASSIGN, PRINT="SPEC-17MAR09.print" USE, (GUNL0a,L0b,DL1A,SPECBL) PRINT, FULL TWISS, BETA0=TWSSC, SAVE, TAPE="SPEC-17MAR09_twiss.tape" SURVEY, THETA0=ADL1, X0=Xi, Z0=Zi, TAPE="SPEC-17MAR09_survey.tape" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX, & STYLE=100, SPLINE=.T., & RANGE=DL1beg/#E, TITLE="Cathode through 135-MeV Spectrometer", & FILE="LCLS-17MAR09" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX, & STYLE=100, SPLINE=.T., & RANGE=SPECBEG/#E, TITLE="BXS Entrance to 135-MeV Spectrometer", & FILE="LCLS-17MAR09" !SAVELINE, NAME="LSINJ", FILENAME="SPEC-17MAR09.saveline" ! Generate special 'BSY' survey coordinates including Y-pitch-down angle at Station-100 (S100) ! (NOTE: map onto alignment reference at QSM1 center) ! Generate output files for LTU: ! ============================= ASSIGN, PRINT="BSY-LCLS-17MAR09.print" BEAM, ENERGY=Ef USE, (BSY,B12WAL,VBSYS,LTU,UND,UNDEXIT,DUMPLINE) PRINT, FULL SURVEY, X0=XF, Y0=YF, Z0=ZF, THETA0=THETAF, PHI0=PHIF, PSI0=PSIF, & TAPE="BSY-LCLS-17MAR09_survey.tape" ! Generate output files for 52-LINE: ! ================================= ASSIGN, PRINT="BSY-52LINE-17MAR09.print" BEAM, ENERGY=Ef USE, (BSY,B52LIN) PRINT, FULL TWISS, BETA0=TWSSU, SAVE, TAPE="BSY-52LINE-17MAR09_twiss.tape" SURVEY, X0=XF, Y0=YF, Z0=ZF, THETA0=THETAF, PHI0=PHIF, PSI0=PSIF, & TAPE="BSY-52LINE-17MAR09_survey.tape" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX, & STYLE=100, SPLINE=.T., & RANGE=#S/#E, TITLE="50B1 to SL2", & FILE="LCLS-17MAR09" ! Generate output files for safety dump: ! ===================================== ASSIGN, PRINT="BSY-SFTDMP-17MAR09.print" BEAM, ENERGY=Ef USE, (BSY,B12WAL,VBSYS,LTU,UND,UNDEXIT,PERMDUMP) PRINT, FULL TWISS, BETA0=TWSSU, SAVE, TAPE="BSY-SFTDMP-17MAR09_twiss.tape" SURVEY, X0=XF, Y0=YF, Z0=ZF, THETA0=THETAF, PHI0=PHIF, PSI0=PSIF, & TAPE="BSY-SFTDMP-17MAR09_survey.tape" PLOT, TABLE=TWISS, HAXIS=S, VAXIS1=BETX,BETY, VAXIS2=DX, & STYLE=100, SPLINE=.T., & RANGE=SFTBEG/#E, TITLE="Turned-off BYD1 to Safety Dump", & FILE="LCLS-17MAR09" ! ------------------------------------------------------------------------------ COMMENT ! check horizontal phase advance between last bends of BC1 and BC2 USE, (L0b,LCLS) SAVEBETA, TBC1, BX14A SAVEBETA, TBC2, BX24A TWISS, BETA0=TWSS0 ! horizontal phase advance between BC1/BC2 CSR kicks (180 deg desired) VALUE, 360*(TBC2[MUX]-TBC1[MUX]-3) ENDCOMMENT ! ------------------------------------------------------------------------------ COMMENT ! check phase advance between wire-scanners WS21 through WS24 USE, (L0b,LCLS) SAVEBETA, TWS21, DWS21 SAVEBETA, TWS22, DWS22 SAVEBETA, TWS23, DWS23 SAVEBETA, TWS24, DWS24 TWISS, BETA0=TWSS0 VALUE, 360*(TWS22[MUX]-TWS21[MUX]) VALUE, 360*(TWS23[MUX]-TWS22[MUX]) VALUE, 360*(TWS24[MUX]-TWS23[MUX]) VALUE, 360*(TWS22[MUY]-TWS21[MUY]) VALUE, 360*(TWS23[MUY]-TWS22[MUY]) VALUE, 360*(TWS24[MUY]-TWS23[MUY]) ENDCOMMENT ! ------------------------------------------------------------------------------ COMMENT ! check horizontal phase advance between last BC2 bend and center of first ! DL2 bend system and vertical phase advance between transverse deflecting ! cavity and OTR30 USE, (L0b,LCLS) SAVEBETA, TBC2, BX24A SAVEBETA, TTCAV, TCAV3[1] SAVEBETA, TDL2, BX31A[1] SAVEBETA, TOTR30, OTR30 TWISS, BETA0=TWSS0 ! horizontal phase advance between last BC2 bend and first bend of DL2 ! system (want 2N*pi, N=0,1,2,...) VALUE, 360*(TDL2[MUX]-TBC2[MUX]-3) ! vertical phase advance from transverse deflecting cavity to OTR30 (want ! (2N+1)*(pi/2), N=0,1,2,...) VALUE, 360*(TOTR30[MUY]-TTCAV[MUY]-3) ! twiss at OTR30, including horizontal eta/beta ratio VALUE, TOTR30[BETY],TOTR30[BETX],TOTR30[DX],TOTR30[DX]/TOTR30[BETX] ENDCOMMENT ! ------------------------------------------------------------------------------ STOP