source: MML/trunk/machine/SOLEIL/StorageRing/Lattices/lat_nano_176_234_122BPM_QSD.m @ 4

Last change on this file since 4 was 4, checked in by zhangj, 11 years ago

Initial import--MML version from SOLEIL@2013

File size: 24.2 KB
Line 
1function varargout = lat_nano_176_234_122BPM_QSD
2% betax = 5 m dans les sections droites longues
3% solamor2 - soleil lattice w/o ID
4% Lattice definition file
5% Lattice for SOLEIL: perfect lattice no magnetic errors
6
7% Compiled by Laurent Nadolski and Amor Nadji
8% 09/01/02, ALS
9% mai 2006 : mis a jour vraies cotes BPM, correcteurs, dipole (coins,
10% chamd de fuite et gradient)
11% A. Nadji et P. Brunelle
12% Controlroom : set linearpass for quad (closed orbit)
13%               No cavity; No Radiation PassMethod
14% April 20th 2007, Laurent S. nadolski
15% BPM downstream injection section had wrong location by
16% 30 mm, 2 FCOR in injection straight section was not at their proper
17% location
18% November 24th 2007, Laurent S. Nadolski
19% Bpms 5 on the wrong side of sextupole in cell 4, 8, 12 and 16
20% December 7th, 2007, Laurent S. Nadolski
21% Added KEM V & H, K1 & K2 markers modelled as thin element
22% October 1, 2008
23% Lattice with tunes 18.2020 and 10.3170
24% Octobre 27, 2008
25% Lattice with tunes 18.2020 and 10.3170
26% Lattice with chromaticities 2.0 and 2.0
27% March 4, 2009
28% FHCOR and FVCOR [1 1] steerer moved 2180 mm upstream,
29% closed to entrance of vertical kicker
30% March 2009 - New quadrupole model from MAT with intermediate length
31% June 2009 - magnetcoefficient with index June 9 was changed
32%             for sextupoles calibration
33%             for quadrupole Just all ranges for quad variation with fit are present
34% July 2009 - Add PX2 Chicane
35% Novembre 2010 - S11 added, QT0 removed
36% 18 April 2011 - Tunes update 0.2017,  0.3169 moved 0.1990  0.3169
37% 29 Mai 2011 - Add Scrapers + straight sections
38% July 2011 - Add PX2 as rbend, Nanoscopium, new circumference 354.09702 m
39% (200 um larger)
40
41global FAMLIST THERING GLOBVAL
42
43GLOBVAL.E0 = 2.7391e9; % Ring energy
44GLOBVAL.LatticeFile = mfilename;
45FAMLIST = cell(0);
46
47disp(['** Loading SOLEIL magnet lattice ', mfilename]);
48
49L0 = 3.540970204203009e+02;% design length [m]
50C0 = 2.99792458e8;           % speed of light [m/s]
51HarmNumber = 416;
52
53%% RF Cavity
54%              NAME   L     U[V]       f[Hz]          h        method
55CAV = rfcavity('RF' , 0.0 , 4.0e+6 , HarmNumber*C0/L0, HarmNumber ,'CavityPass');
56
57%% Marker and apertures
58SECT1  =  marker('SECT1', 'IdentityPass');
59SECT2  =  marker('SECT2', 'IdentityPass');
60SECT3  =  marker('SECT3', 'IdentityPass');
61SECT4  =  marker('SECT4', 'IdentityPass');
62DEBUT  =  marker('DEBUT', 'IdentityPass');
63FIN    =  marker('FIN', 'IdentityPass');
64
65%% SCRAPER
66HSCRAP =  marker('HSCRAP', 'IdentityPass');
67VSCRAP =  marker('VSCRAP', 'IdentityPass');
68
69%INJ = aperture('INJ',[-0.035 0.035 -0.0125 0.0125]*100,'AperturePass');
70
71%% Elements in Injection section
72PtINJ = marker('PtINJ', 'IdentityPass');
73K1 = corrector('K1',0.0,[0 0],'CorrectorPass');
74K2 = corrector('K2',0.0,[0 0],'CorrectorPass');
75K3 = corrector('K3',0.0,[0 0],'CorrectorPass');
76K4 = corrector('K4',0.0,[0 0],'CorrectorPass');
77
78%% BPM
79BPM    =  marker('BPM', 'IdentityPass');
80
81%% QUADRUPOLES (compensation de l'effet des defauts de focalisation des
82LQC = 0.180100E+00*2 ;
83LQL = 0.248100E+00*2 ;
84
85QPassMethod = 'StrMPoleSymplectic4Pass';
86
87Q1   =  quadrupole('Q1' , LQC, -0.1163982E+01, QPassMethod);
88Q2   =  quadrupole('Q2' , LQL,  0.1684902E+01, QPassMethod);
89Q3   =  quadrupole('Q3' , LQC, -0.6879196E+00, QPassMethod);
90Q4   =  quadrupole('Q4' , LQC, -0.1210454E+01, QPassMethod);
91Q5   =  quadrupole('Q5' , LQC,  0.1699787E+01, QPassMethod);
92Q6   =  quadrupole('Q6' , LQC, -0.1172340E+01, QPassMethod);
93Q7   =  quadrupole('Q7' , LQL,  0.2016438E+01, QPassMethod);
94Q8   =  quadrupole('Q8' , LQC, -0.1324658E+01, QPassMethod);
95Q9   =  quadrupole('Q9' , LQC, -0.1375764E+01, QPassMethod);
96Q10  =  quadrupole('Q10', LQC,  0.1734734E+01, QPassMethod);
97Q11  =  quadrupole('Q11', LQC, -0.1693858E+01, QPassMethod);
98Q12  =  quadrupole('Q12', LQL,  0.1694249E+01, QPassMethod);
99QSD  =  quadrupole('QSD', 1e-12,  0.0E+01, QPassMethod);
100
101%% SEXTUPOLES CHROMATICITES NULLES dans TracyII
102%avec defauts de focalisation des dipoles
103%P. Brunelle 02/05/06
104F = 1e8;
105Finv = 1/F;
106SPassMethod = 'StrMPoleSymplectic4Pass';
107
108S1  =  sextupole('S1' , Finv,  0.300*5*F, SPassMethod);
109S2  =  sextupole('S2' , Finv, -0.715*5*F, SPassMethod);
110S3  =  sextupole('S3' , Finv, -0.338*5*F, SPassMethod);
111S4  =  sextupole('S4' , Finv,  0.697*5*F, SPassMethod);
112S5  =  sextupole('S5' , Finv, -0.672*5*F, SPassMethod);
113S6  =  sextupole('S6' , Finv,  0.667*5*F, SPassMethod);
114S7  =  sextupole('S7' , Finv, -0.992*5*F, SPassMethod);
115S8  =  sextupole('S8' , Finv,  0.778*5*F, SPassMethod);
116S9  =  sextupole('S9' , Finv, -0.791*5*F, SPassMethod);
117S10 =  sextupole('S10', Finv,  0.468*5*F, SPassMethod);
118S11 =  sextupole('S11', Finv,  0.300*5*F, SPassMethod);
119S12 =  sextupole('S12', Finv,  1.000E-10*F, SPassMethod); % to be drawn by drawlattice
120
121%% Skew quadrupoles
122SQPassMethod = SPassMethod;
123QT  =  skewquad('SkewQuad', 1e-8, 0.0, SQPassMethod);
124QTPX2    =  skewquad('QTPX2', 1e-10, 0.0, SPassMethod); % PX2
125
126%% Slow feedback correctors
127COR =  corrector('COR',0.0,[0 0],'CorrectorPass');
128
129%% Machine study kickers
130KEMH =  corrector('KEMH',0.0,[0 0],'CorrectorPass');
131KEMV =  corrector('KEMV',0.0,[0 0],'CorrectorPass');
132
133%% PX2C H-correctors
134% Tuners
135PX2 =  corrector('PX2C',0.0,[0 0],'CorrectorPass');
136% Main magnets
137CHIPX2D1 = rbend2('PX2', 0.026, -2.25e-3,  0.00e-3, -2.25e-3, 0,0,'BndMPoleSymplectic4Pass');
138CHIPX2D2 = rbend2('PX2', 0.052,  4.50e-3, -2.25e-3,  2.25e-3, 0,0,'BndMPoleSymplectic4Pass');
139CHIPX2D3 = rbend2('PX2', 0.026, -2.25e-3,  2.25e-3,  0.00e-3, 0,0,'BndMPoleSymplectic4Pass');
140PX2C= [QTPX2 PX2];
141
142%% NANOC magnets for nanoscopium
143% Tuners
144CHINANO   = corrector('NANOC',0.0,[0 0],'CorrectorPass'); % tuning magnet
145% Main magnets
146CHINANOD1   =  rbend2('NANO', 0.069, -0.50e-3,  0.00e-3, -0.50e-3, 0,0,'BndMPoleSymplectic4Pass');
147CHINANOD2   =  rbend2('NANO', 0.069, -5.38e-3, -0.50e-3, -5.88e-3, 0,0,'BndMPoleSymplectic4Pass');
148CHINANOD3   =  rbend2('NANO', 0.138, 11.88e-3, -5.88e-3, +6.00e-3, 0,0,'BndMPoleSymplectic4Pass');
149CHINANOD4   =  rbend2('NANO', 0.069, -6.00e-3,  6.00e-3,  0.00e-3, 0,0,'BndMPoleSymplectic4Pass');
150
151%% HU640
152HCMHU640 =  corrector('HCMHU640',0.0,[0 0],'CorrectorPass');
153VCMHU640 =  corrector('VCMHU640',0.0,[0 0],'CorrectorPass');
154
155%% Fast feedback correctors
156FCOR =  corrector('FCOR',0.0,[0 0],'CorrectorPass');
157
158%% Feedforward correctors
159FFWDCOR =  corrector('FFWDCOR',0.0,[0 0],'CorrectorPass');
160
161%% Slow correctors in sextupole magnets
162SX1   = [S1  COR  QT];
163SX2   = [S2  COR  QT];
164SX3   = [S3  COR  QT];
165SX4   = [S4  COR  QT];
166SX5   = [S5  COR  QT];
167SX6   = [S6  COR  QT];
168SX7   = [S7  COR  QT];
169SX8   = [S8  COR  QT];
170SX9   = [S9  COR  QT];
171SX10  = [S10 COR  QT];
172SX11  = [S11 COR  QT];
173SX12  = [S12 COR  QT];
174
175
176%% DIPOLES
177% {** 1.3815 factor to fit with BETA ??? strange **}
178%theta = 2*pi/32;
179%fullgap = 0.105*0.724*2/6*1.3815*0.;
180% BEND  =  rbend2('BEND', L, theta, theta/2, theta/2, 0.0, ...
181%                 fullgap,'BendLinearFringeTiltPass');
182theta = 2*pi/32;
183%theta2 = theta/2;
184thetae = theta/2 - 0.6e-3;
185thetas = theta/2 + 0.9e-3;
186K = 0.00204;
187fullgap = 0.037*0.724*2;
188%BEND  =  rbend2('BEND', 1.05243, theta, thetae, thetas, K,fullgap,'BendLinearPass');
189BEND  =  rbend2('BEND', 1.05243, theta, thetae, thetas, K,fullgap,'BndMPoleSymplectic4Pass');
190
191%% IDS
192% file='/Users/nadolski/Documents/Travail/codes/tracy/maille/soleil/w50/kick_w50_g55_p60.txt';  % made with RADIA
193% nslice=10;
194% [SWSV50 SWSV50Length] = idtable('SWSV50', nslice,file, (GLOBVAL.E0)/1e9,'IdTablePass');
195%
196% SDWSV50 = drift('SDWSV50',  3.141452-SWSV50Length/2, 'DriftPass');
197
198
199%% DRIFT SPACES
200
201SD1a = drift('SD1a',  1.4125, 'DriftPass');
202SD1b = drift('SD1b',  0.7575, 'DriftPass');
203SD2 = drift('SD2',  0.369900, 'DriftPass');
204SD3 = drift('SD3',   0.181900, 'DriftPass');
205SD5 = drift('SD5',  0.179900, 'DriftPass');
206SD6 = drift('SD6',  0.79000, 'DriftPass');
207SD7 = drift('SD7',  0.419900, 'DriftPass');
208SD8 = drift('SD8',  0.1799000, 'DriftPass');
209SD12= drift('SD12', 0.44990, 'DriftPass');
210SD12u= drift('SD12', 0.2, 'DriftPass'); % upstream V V-scraper % TO BE UPDATED
211SD12d= drift('SD12', 0.44990-0.2, 'DriftPass'); % downstream H-scraper
212SD1d = drift('SD1d',  0.5170, 'DriftPass');
213SD14a = drift('SD14a', 0.38500000, 'DriftPass');
214SD9a = drift('SD9a',  0.204200  , 'DriftPass');
215SD10a = drift('SD10a', 0.172300 , 'DriftPass');
216SDAC1 = drift('SDAC1', 1.48428  , 'DriftPass');
217SD13a= drift('SD13a', 3.141452  , 'DriftPass');
218SD1e = drift('SD1e',  5.6589, 'DriftPass');
219SD1c1 = drift('SD1c1',  0.8410, 'DriftPass'); % K3 - FCOR
220SD1c2 = drift('SD1c2',  0.601, 'DriftPass');  % FCOR KEMH
221SD1c3u= drift('SD1c3u', 0.683, 'DriftPass');  % KEMH - VSCRAPER
222SD1c3d= drift('SD1c3u', 1.560-0.683, 'DriftPass');  % VSCRAPER - K4
223SD91 = drift('SD91',  0.251240, 'DriftPass');
224SD41 = drift('SD41',  0.2521, 'DriftPass');
225SD42 = drift('SD42',  0.205, 'DriftPass');
226SD92 = drift('SD92',  0.204300, 'DriftPass');
227SD93 = drift('SD93',  0.251300  , 'DriftPass');
228SD43 = drift('SD43', 0.2051     , 'DriftPass');
229SD141 = drift('SD141', 0.431900, 'DriftPass');
230SDB1 = drift('SDB1', 0.29100, 'DriftPass');
231SDB2 = drift('SDB2', 0.16680000, 'DriftPass');
232SDB3 = drift('SDB3', 0.252,  'DriftPass');
233SDB4 = drift('SDB4', 0.2776 ,'DriftPass');
234SDB5 = drift('SDB5', 0.205  ,'DriftPass');
235SDB6 = drift('SDB6', 0.119800 ,'DriftPass');
236SDB7 = drift('SDB7', 0.166900 , 'DriftPass');
237SDB8 = drift('SDB8', 0.252 , 'DriftPass');
238SDB9 = drift('SDB9', 0.119800 ,'DriftPass');
239SDB10= drift('SDB10',0.166900 , 'DriftPass');
240SDB11= drift('SDB11',0.2519, 'DriftPass');
241SDB12= drift('SDB12',0.2049, 'DriftPass');
242SDB13= drift('SDB13',0.119800, 'DriftPass');
243SDB14= drift('SDB14',0.1668000, 'DriftPass');
244SDB15= drift('SDB15',0.252 , 'DriftPass');
245SDB17= drift('SDB17',0.205 , 'DriftPass');
246SDB18= drift('SDB18',0.1199000 , 'DriftPass');
247SDC1 = drift('SDC1' , 0.241900 ,  'DriftPass');
248SDC2 = drift('SDC2' , 0.079 ,  'DriftPass');
249SDC3 = drift('SDC3' , 0.07845, 'DriftPass');
250SDC4 = drift('SDC4' , 0.3358,  'DriftPass');
251SDC5 = drift('SDC5' , 0.0846,  'DriftPass');
252SDC6 = drift('SDC6' , 0.079,   'DriftPass');
253SDC7 = drift('SDC7' , 0.342 ,  'DriftPass');
254SDC8 = drift('SDC8' , 0.241900 ,  'DriftPass');
255SDC9 = drift('SDC9' , 0.079  , 'DriftPass');
256DRFT10= drift('DRFT10',0.07845, 'DriftPass');
257DRFT11= drift('DRFT11',0.2419000  , 'DriftPass');
258DRFT12= drift('DRFT12',0.3358 , 'DriftPass');
259DRFT13= drift('DRFT13',0.0846 , 'DriftPass');
260DRFT14= drift('DRFT14',0.0788 , 'DriftPass');
261DRFT15= drift('DRFT15',0.3422 , 'DriftPass');
262DRFT16= drift('DRFT16',0.241900  , 'DriftPass');
263DRFT17= drift('DRFT17',0.079  , 'DriftPass');
264DRFT18= drift('DRFT18',0.07845, 'DriftPass');
265DRFT19= drift('DRFT19',0.24190  , 'DriftPass');
266SDC20= drift('SDC20',0.241900  , 'DriftPass');
267SDC21= drift('SDC21',0.079  , 'DriftPass');
268SDC22= drift('SDC22',0.29090  , 'DriftPass');
269SDC24= drift('SDC24',1.379  , 'DriftPass');
270%SDC23a= drift('SDC23a',0.632  , 'DriftPass'); % BPM - K1
271SDC23b= drift('SDC23b',1.983  , 'DriftPass'); % K1 - KEMV
272SDC23c= drift('SDC23c',1.019  , 'DriftPass'); % KEMV - K2
273SDC23d= drift('SDC23d',0.676  , 'DriftPass'); % K2 - FCOR
274SDC23e= drift('SDC23a',0.147  , 'DriftPass'); % BPM - FCOR [1 1]
275SDC23f= drift('SDC23a',0.485  , 'DriftPass'); % FCOR [1 1] next SD
276
277% HU640 straight section
278SDHU640a = drift('SDHU640a',  1.7394, 'DriftPass');
279SDHU640b = drift('SDHU640b',  0.6400, 'DriftPass');
280SDHU640c = drift('SDHU640c',  3.2795, 'DriftPass');
281SDHU640d = drift('SDHU640d',  3.1195, 'DriftPass');
282SDHU640e = drift('SDHU640e',  0.6400, 'DriftPass');
283SDHU640f = drift('SDHU640f',  1.8994, 'DriftPass');
284
285% PX2 straights
286SDPX2a= drift('SDPX2a', 0.363902-FAMLIST{CHIPX2D1}.ElemData.Length/2, 'DriftPass'); % BPM - CHI.1
287SDPX2b= drift('SDPX2b', 2.857550-FAMLIST{CHIPX2D1}.ElemData.Length/2-FAMLIST{CHIPX2D2}.ElemData.Length/2, 'DriftPass'); % CHI.1 - CHI.2
288SDPX2c= drift('SDPX2c', 0.203902-FAMLIST{CHIPX2D1}.ElemData.Length/2, 'DriftPass'); % CHI.3 - BPM
289
290% Nanoscopium straigths (upstream)
291SDNANO1 = drift('SDNANO1',  0.4501-FAMLIST{CHINANOD1}.ElemData.Length/2, 'DriftPass'); % BPM - CHI.1
292SDNANO2 = drift('SDNANO2',  0.5529-FAMLIST{CHINANOD1}.ElemData.Length/2, 'DriftPass'); % CHI.1 - FFWDCOR
293SDNANO3 = drift('SDNANO3',  2.5630, 'DriftPass'); % FFWDCOR - FFWDCOR
294SDNANO4 = drift('SDNANO4',  0.4330-FAMLIST{CHINANOD2}.ElemData.Length/2, 'DriftPass'); % FFWDCOR - CHI.2
295SDNANO5 = drift('SDNANO5',  0.2683-FAMLIST{CHINANOD2}.ElemData.Length/2, 'DriftPass'); % CHI.2 - BPM
296SDNANO6 = drift('SDNANO6',  0.0780, 'DriftPass'); % BPM - FCOR
297SDNANO6a= drift('SDNANO6a', 0.5017-0.0780-FAMLIST{Q11}.ElemData.Length/2, 'DriftPass'); % BPM - Q11.1
298SDNANO7 = drift('SDNANO7',  0.4100-FAMLIST{Q11}.ElemData.Length/2-FAMLIST{S12}.ElemData.Length/2, 'DriftPass'); % Q11.1 - S12
299SDNANO8 = drift('SDNANO8',  0.4800-FAMLIST{Q12}.ElemData.Length/2-FAMLIST{S12}.ElemData.Length/2, 'DriftPass'); % S12 - Q11
300% Nanoscopium straigths (downstream)
301SDNANO9 = drift('SDNANO9',  0.4628-0.0780-FAMLIST{Q11}.ElemData.Length/2, 'DriftPass'); % Q11.2 - FOFB
302SDNANO10= drift('SDNANO10', 0.3072-FAMLIST{CHINANOD3}.ElemData.Length/2, 'DriftPass'); % BPM - CHI.3
303SDNANO11= drift('SDNANO11', 0.4330-FAMLIST{CHINANOD3}.ElemData.Length/2, 'DriftPass'); % FFWDCOR - FFWDCOR
304
305
306%% STRAIGHT SECTIONS (between BPMs)
307% 4 long straight sections (12 m, available part 10.50 m)
308
309%SDL01 (injection) is split in upstream and downstrem parts
310SDL01u = [SDC23e  FCOR SDC23f K1 SDC23b KEMV SDC23c K2 SDC23d SDC24];
311SDL01d = [QSD SD1a   PtINJ   SD1b   K3  SD1c1 FCOR  SD1c2  KEMH SD1c3u VSCRAP SD1c3d K4 SD1d];
312% SDL05 HU640 straight section
313HU640upstream   = [SDHU640a VCMHU640 SDHU640b HCMHU640 SDHU640c];
314HU640downstream = [SDHU640d HCMHU640 SDHU640e VCMHU640 SDHU640f];
315SDL05  = [HU640upstream QSD HU640downstream]; % DESIRS HU640
316SDL09  = [SD1e QSD SD1e];
317% TOMOGRAPHY U18 CRYO + NANOSCOPIUM U20
318SDL13u  = [SDNANO1 CHINANO CHINANOD1 SDNANO2 FFWDCOR SDNANO3 FFWDCOR SDNANO4 CHINANOD2 CHINANO SDNANO5 ...
319           BPM SDNANO6 FCOR SDNANO6a Q11 SDNANO7 SX12 SDNANO8];
320SDL13d  = [SDNANO8 SX12 SDNANO7 Q11 SDNANO9 FCOR SDNANO6 BPM  ...
321           SDNANO10 CHINANO CHINANOD3 SDNANO11 FFWDCOR SDNANO3 FFWDCOR SDNANO2 CHINANOD4 CHINANO SDNANO1];
322SDL13 = [SDL13u Q12 QSD SDL13d];
323%SDL13  = [SD1e SD1e]; % NANOSCOPIUM U20 + TOMOGRAPHY U18 CRYO
324
325% 12 medium straigt sections (7 m, available part for IDs 5.46 m)
326SDM02 = [SD13a QSD CAV SD13a]; % CRYOMODULE #2
327SDM03 = [SD13a QSD SD13a]; % CRYOMUDULE #1 not put in the model for simplicity
328SDM04 = [SD13a QSD SD13a]; % PLEIADES HU256 + HU80
329SDM06 = [SD13a QSD SD13a]; % PUMA future Wiggler
330%SDM06 = [SDWSV50 SWSV50 SDWSV50]; % PUMA future Wiggler
331SDM07 = [SD13a QSD SD13a]; % DEIMOS HU52+EMPHU65
332SDM08 = [SD13a QSD SD13a]; % TEMPO HU80+HU44
333SDM10 = [SD13a QSD SD13a]; % HERMES HU64+HU42
334SDM11 = [SDPX2a PX2C CHIPX2D1 SDPX2b PX2C QSD CHIPX2D2 SDPX2b CHIPX2D3 PX2C SDPX2c]; % PX2 U24
335SDM12 = [SD13a QSD SD13a]; % ANTARES HU256 + HU60
336SDM14 = [SD13a QSD SD13a]; % SEXTANTS (ex microFocus) HU44 + HU80
337SDM15 = [SD13a QSD SD13a]; % CASSIOPEE HU256 + HU80
338SDM16 = [SD13a QSD SD13a]; % LUCIA HU52
339
340% 8 short straigt sections (3.6 m, available part for IDs 2.8 m)
341SDC02 = [SDAC1 QSD SDAC1];% LIGNE ALPHA
342SDC03 = [SDAC1 QSD SDAC1];% PSICHE WSV50
343SDC06 = [SDAC1 QSD SDAC1];% CRISTAL U20
344SDC07 = [SDAC1 QSD SDAC1];% GALAXIES U20
345SDC10 = [SDAC1 QSD SDAC1];% PX1 U20
346SDC11 = [SDAC1 QSD SDAC1];% SWING U20
347SDC14 = [SDAC1 QSD SDAC1];% SIXS U20
348SDC15 = [SDAC1 QSD SDAC1];% SIRIUS HU34
349
350
351%% Lattice
352% Superperiods
353
354% SUPERPERIOD #1
355SUP1  = [...
356    BPM  SDB1   Q1     SD2    SX1   SD3     Q2 ...
357    SDB2  BPM    SD14a   Q3      SD5    SX2    SD6 ...
358    BEND    SD7     Q4  SD8     SX3    ...
359    SDB3  BPM     SD9a   Q5     SD12u HSCRAP SD12d  SX4 ...
360    SDB4  BPM     SD10a    Q5     SD91     ...
361    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
362    SD7     Q6      SD5    SX5     SD41    ...
363    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
364    SDC1 FCOR SDC2   BPM    SDM02 BPM ...
365    SDC3    FCOR   SDC1 ...
366    Q8      SD2    SX8     SD3    Q7  SDB7 ...
367    BPM   SD42     SX7      SD5     Q6     SD7 ...
368    BEND   SD7    Q9    SD8     SX9  SDB8 ...
369    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
370    FCOR SDC5  BPM   SDC02 ...
371    BPM   SDC6  FCOR  SDC7 SX10    SD8    Q10    SD91 ...
372    BPM   SD42  SX9      SD8     Q9     SD7    ...
373    BEND   SD7    Q6    SD5     SX7    SD41   ...
374    BPM  SDB9  Q7      SD3    SX8    SD2   Q8 SDC8 ...
375    FCOR  SDC9  BPM     SDM03  ...
376    BPM  DRFT10   FCOR  DRFT11  Q8     SD2   SX8   SD3   Q7 ...
377    SDB10  BPM   SD42    SX7    SD5   Q6      SD7  ...
378    BEND    SD7     Q9     SD8     SX9  SDB11    ...
379    BPM    SD92   Q10     SD8     SX10 DRFT12 ...
380    FCOR  DRFT13  BPM    SDC03   ...
381    BPM  DRFT14  FCOR   DRFT15   SX10   SD8     Q10    SD93 ...
382    BPM  SDB12  SX9    SD8   Q9      SD7 ...
383    BEND    SD7    Q6      SD5    SX7    SD41 ...
384    BPM  SDB13   Q7      SD3    SX8     SD2    Q8  DRFT16 ...
385    FCOR DRFT17  BPM    SDM04   ...
386    BPM   DRFT18  FCOR  DRFT19   Q8     SD2     SX6    SD3    Q7 ...
387    SDB14  BPM    SD43    SX5     SD5    Q6      SD7    ...
388    BEND   SD7   Q4      SD8     SX3  SDB15 ...
389    BPM     SD9a   Q5      SD12   ...
390    SX4  SDB4  BPM     SD10a Q5     SD93 ...
391    BPM  SDB17  SX3     SD8    Q4     SD7   ...
392    BEND    SD6     SX2      SD5     Q3     SD141 ...
393    BPM  SDB18  Q2     SD3   SX1     SD2     Q1 ...
394    SDC20 FCOR  SDC21 BPM];
395
396% SUPERPERIOD #2
397SUP2  = [  ...
398    BPM SDC2 FCOR SDC1   ...
399    Q1     SD2    SX1   SD3     Q2 ...
400    SDB7  BPM    SD14a   Q3      SD5    SX2    SD6 ...
401    BEND    SD7     Q4  SD8     SX3    ...
402    SDB3  BPM     SD9a   Q5     SD12  SX4 ...
403    SDB4  BPM     SD10a    Q5     SD93     ...
404    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
405    SD7     Q6      SD5    SX5     SD41    ...
406    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
407    SDC1 FCOR SDC2   BPM    SDM06  BPM ...
408    SDC2    FCOR   SDC1 ...
409    Q8      SD2    SX8     SD3    Q7  SDB7 ...
410    BPM   SDB5     SX7      SD5     Q6     SD7 ...
411    BEND   SD7    Q9    SD8     SX9  SDB3 ...
412    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
413    FCOR SDC5  BPM   SDC06 ...
414    BPM   DRFT14  FCOR  DRFT15 SX10    SD8    Q10    SD93 ...
415    BPM   SDB12  SX9      SD8     Q9     SD7    ...
416    BEND   SD7    Q6    SD5     SX7    SD41   ...
417    BPM  SDB6  Q7      SD3    SX8    SD2   Q8 SDC1 ...
418    FCOR  SDC2  BPM     SDM07  ...
419    BPM  SDC2   FCOR  SDC1  Q8     SD2   SX8   SD3   Q7 ...
420    SDB7  BPM   SDB5    SX7    SD5   Q6      SD7  ...
421    BEND    SD7     Q9     SD8     SX9   SDB3    ...
422    BPM    SD9a   Q10     SD8     SX10  SDC4 ...
423    FCOR  SDC5  BPM    SDC07   ...
424    BPM  DRFT14  FCOR   DRFT15   SX10   SD8     Q10    SD93 ...
425    BPM  SDB12  SX9    SD8   Q9      SD7 ...
426    BEND    SD7    Q6      SD5    SX7    SD41 ...
427    BPM  SDB6   Q7      SD3    SX8     SD2    Q8  SDC1 ...
428    FCOR SDC2  BPM    SDM08   ...
429    BPM   SDC2  FCOR  SDC1   Q8     SD2     SX6    SD3    Q7 ...
430    SDB7  BPM    SD42    SX5     SD5    Q6      SD7    ...
431    BEND   SD7   Q4      SD8     SX3  SDB3 ...
432    BPM     SD9a   Q5      SD12   ...
433    SX4   SDB4  BPM     SD10a   Q5     SD93 ...
434    BPM  SD42  SX3     SD8    Q4     SD7   ...
435    BEND    SD6     SX2      SD5     Q3     SD141 ...
436    BPM  SDB18  Q2     SD3   SX1     SD2     Q1 ...
437    SDC1 FCOR  SDC2   BPM];
438
439% SUPERPERIOD #3
440SUP3  = [  ...
441    BPM SDC2 FCOR SDC1   ...
442    Q1     SD2    SX1   SD3     Q2 ...
443    SDB7  BPM    SD14a   Q3      SD5    SX2    SD6 ...
444    BEND    SD7     Q4  SD8     SX3    ...
445    SDB3  BPM     SD9a   Q5     SD12  SX4 ...
446    SDB4  BPM     SD10a    Q5     SD93     ...
447    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
448    SD7     Q6      SD5    SX5     SD41    ...
449    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
450    SDC1 FCOR SDC2   BPM    SDM10  BPM ...
451    SDC2    FCOR   SDC1 ...
452    Q8      SD2    SX8     SD3    Q7  SDB7 ...
453    BPM   SDB5     SX7      SD5     Q6     SD7 ...
454    BEND   SD7    Q9    SD8     SX9  SDB3 ...
455    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
456    FCOR SDC5  BPM   SDC10 ...
457    BPM   DRFT14  FCOR  DRFT15 SX10    SD8    Q10    SD93 ...
458    BPM   SDB12  SX9      SD8     Q9     SD7    ...
459    BEND   SD7    Q6    SD5     SX7    SD41   ...
460    BPM  SDB6  Q7      SD3    SX8    SD2   Q8 SDC1 ...
461    FCOR  SDC2  BPM     SDM11  ...
462    BPM  SDC2   FCOR  SDC1  Q8     SD2   SX8   SD3   Q7 ...
463    SDB7  BPM   SDB5    SX7    SD5   Q6      SD7  ...
464    BEND    SD7     Q9     SD8     SX9   SDB3    ...
465    BPM    SD9a   Q10     SD8     SX10  SDC4 ...
466    FCOR  SDC5  BPM    SDC11   ...
467    BPM  DRFT14  FCOR   DRFT15   SX10   SD8     Q10    SD93 ...
468    BPM  SDB12  SX9    SD8   Q9      SD7 ...
469    BEND    SD7    Q6      SD5    SX7    SD41 ...
470    BPM  SDB6   Q7      SD3    SX8     SD2    Q8  SDC1 ...
471    FCOR SDC2  BPM    SDM12   ...
472    BPM   SDC2  FCOR  SDC1   Q8     SD2     SX6    SD3    Q7 ...
473    SDB7  BPM    SD42    SX5     SD5    Q6      SD7    ...
474    BEND   SD7   Q4      SD8     SX3  SDB3 ...
475    BPM     SD9a   Q5      SD12   ...
476    SX4   SDB4  BPM     SD10a    Q5     SD93 ...
477    BPM  SD42  SX3     SD8    Q4     SD7   ...
478    BEND    SD6     SX2      SD5     Q3     SD141 ...
479    BPM  SDB18  Q2     SD3   SX11     SD2     Q1 ...
480    SDC1 FCOR  SDC2   BPM];
481
482% SUPERPERIOD #4
483SUP4  = [  ...
484    BPM SDC2 FCOR SDC1   ...
485    Q1     SD2    SX11   SD3     Q2 ...
486    SDB7  BPM    SD14a   Q3      SD5    SX2    SD6 ...
487    BEND    SD7     Q4  SD8     SX3    ...
488    SDB3  BPM     SD9a   Q5     SD12  SX4 ...
489    SDB4  BPM     SD10a    Q5     SD93     ...
490    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
491    SD7     Q6      SD5    SX5     SD41    ...
492    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
493    SDC1 FCOR SDC2   BPM    SDM14  BPM ...
494    SDC2    FCOR   SDC1 ...
495    Q8      SD2    SX8     SD3    Q7  SDB7 ...
496    BPM   SDB5     SX7      SD5     Q6     SD7 ...
497    BEND   SD7    Q9    SD8     SX9  SDB3 ...
498    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
499    FCOR SDC5  BPM   SDC14 ...
500    BPM   DRFT14  FCOR  DRFT15 SX10    SD8    Q10    SD93 ...
501    BPM   SDB12  SX9      SD8     Q9     SD7    ...
502    BEND   SD7    Q6    SD5     SX7    SD41   ...
503    BPM  SDB6  Q7      SD3    SX8    SD2   Q8 SDC1 ...
504    FCOR  SDC2  BPM     SDM15  ...
505    BPM  SDC2   FCOR  SDC1  Q8     SD2   SX8   SD3   Q7 ...
506    SDB7  BPM   SDB5    SX7    SD5   Q6      SD7  ...
507    BEND    SD7     Q9     SD8     SX9   SDB3    ...
508    BPM    SD9a   Q10     SD8     SX10  SDC4 ...
509    FCOR  SDC5  BPM    SDC15   ...
510    BPM  DRFT14  FCOR   DRFT15   SX10   SD8     Q10    SD93 ...
511    BPM  SDB12  SX9    SD8   Q9      SD7 ...
512    BEND    SD7    Q6      SD5    SX7    SD41 ...
513    BPM  SDB6   Q7      SD3    SX8     SD2    Q8  SDC1 ...
514    FCOR SDC2  BPM    SDM16   ...
515    BPM   SDC2  FCOR  SDC1   Q8     SD2     SX6    SD3    Q7 ...
516    SDB7  BPM    SD42    SX5     SD5    Q6      SD7    ...
517    BEND   SD7   Q4      SD8     SX3  SDB3 ...
518    BPM     SD9a   Q5      SD12   ...
519    SX4   SDB4  BPM     SD10a    Q5     SD93 ...
520    BPM  SD42  SX3     SD8    Q4     SD7   ...
521    BEND    SD6     SX2      SD5     Q3     SD141 ...
522    BPM  SDB18  Q2     SD3   SX1     SD2     Q1 ...
523    SDC22 BPM];
524
525%THE STORAGE RING
526ELIST = [...
527    DEBUT ...
528    SECT1 SDL01d SUP1 ...
529    SECT2 SDL05 SUP2 ...
530    SECT3 SDL09 SUP3 ...
531    SECT4 SDL13 SUP4 SDL01u  ...
532    FIN];
533
534buildlat(ELIST);
535
536% Set all magnets to same energy
537THERING = setcellstruct(THERING,'Energy',1:length(THERING),GLOBVAL.E0);
538
539ATIndexList = atindex;
540
541% set nanoscopium triplets upstream and downstream of SDL13
542THERING = setNanoscopium(THERING,ATIndexList);
543
544% set PX2 tuner chicane
545%THERING{ATIndexList.PX2C(1)}.KickAngle(1) =  -2.25e-3; % rad
546%THERING{ATIndexList.PX2C(2)}.KickAngle(1) = 2*2.25e-3; % rad
547%THERING{ATIndexList.PX2C(3)}.KickAngle(1) =  -2.25e-3; % rad
548
549%% set NANOSCOPIUM tuner magnets
550THERING{ATIndexList.NANOC(1)}.KickAngle(1) =  -5.00e-6*0; % rad
551THERING{ATIndexList.NANOC(2)}.KickAngle(1) =   2.25e-6*0; % rad
552THERING{ATIndexList.NANOC(3)}.KickAngle(1) =  -1.25e-6*0; % rad
553THERING{ATIndexList.NANOC(4)}.KickAngle(1) =  -2.25e-6*0; % rad
554
555evalin('caller','global THERING FAMLIST GLOBVAL');
556atsummary;
557
558
559if nargout
560    varargout{1} = THERING;
561end
562
563function THERING= setNanoscopium(THERING,ATIndexList)
564
565QP1N = -0.1272138E+01;
566QP2N =  0.1860390E+01;
567QP3N = -0.1142906E+01;
568THERING = setquad(THERING, ATIndexList.Q1(6), QP1N);
569THERING = setquad(THERING, ATIndexList.Q1(7), QP1N);
570THERING = setquad(THERING, ATIndexList.Q2(6), QP2N);
571THERING = setquad(THERING, ATIndexList.Q2(7), QP2N);
572THERING = setquad(THERING, ATIndexList.Q3(6), QP3N);
573THERING = setquad(THERING, ATIndexList.Q3(7), QP3N);
574
575function THERING = setquad(THERING, Idx, K)
576
577THERING{Idx}.K = K;
578THERING{Idx}.PolynomB(2) = K;
579fprintf('%s %03d %+f %+f\n', THERING{Idx}.FamName, Idx, THERING{Idx}.K, THERING{Idx}.PolynomB(2));
Note: See TracBrowser for help on using the repository browser.