source: MML/trunk/machine/SOLEIL/StorageRing/Lattices/lat_nano_17_25_122BPM.m @ 17

Last change on this file since 17 was 17, checked in by zhangj, 10 years ago

To have a stable version on the server.

  • Property svn:executable set to *
File size: 24.3 KB
Line 
1function varargout = lat_nano_17_25_122BPM
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.1162513E+01, QPassMethod);
88Q2   =  quadrupole('Q2' , LQL,  0.1684635E+01, QPassMethod);
89Q3   =  quadrupole('Q3' , LQC, -0.6900854E+00, QPassMethod);
90Q4   =  quadrupole('Q4' , LQC, -0.1209553E+01, QPassMethod);
91Q5   =  quadrupole('Q5' , LQC,  0.1699387E+01, QPassMethod);
92Q6   =  quadrupole('Q6' , LQC, -0.1173207E+01, QPassMethod);
93Q7   =  quadrupole('Q7' , LQL,  0.2016571E+01, QPassMethod);
94Q8   =  quadrupole('Q8' , LQC, -0.1325158E+01, QPassMethod);
95Q9   =  quadrupole('Q9' , LQC, -0.1377265E+01 , QPassMethod);
96Q10  =  quadrupole('Q10', LQC,  0.1735168E+01 , QPassMethod);
97Q11  =  quadrupole('Q11', LQC, -0.1695592E+01 , QPassMethod);
98Q12  =  quadrupole('Q12', LQL,  0.1695717E+01, QPassMethod);
99
100%% SEXTUPOLES CHROMATICITES NULLES dans TracyII
101%avec defauts de focalisation des dipoles
102%P. Brunelle 02/05/06
103F = 1e8;
104Finv = 1/F;
105SPassMethod = 'StrMPoleSymplectic4Pass';
106
107S1  =  sextupole('S1' , Finv,  0.300*5*F, SPassMethod);
108S2  =  sextupole('S2' , Finv, -0.715*5*F, SPassMethod);
109S3  =  sextupole('S3' , Finv, -0.338*5*F, SPassMethod);
110S4  =  sextupole('S4' , Finv,  0.697*5*F, SPassMethod);
111S5  =  sextupole('S5' , Finv, -0.672*5*F, SPassMethod);
112S6  =  sextupole('S6' , Finv,  0.667*5*F, SPassMethod);
113S7  =  sextupole('S7' , Finv, -0.992*5*F, SPassMethod);
114S8  =  sextupole('S8' , Finv,  0.778*5*F, SPassMethod);
115S9  =  sextupole('S9' , Finv, -0.791*5*F, SPassMethod);
116S10 =  sextupole('S10', Finv,  0.468*5*F, SPassMethod);
117S11 =  sextupole('S11', Finv,  0.300*5*F, SPassMethod);
118S12 =  sextupole('S12', Finv,  1.000E-10*F, SPassMethod); % to be drawn by drawlattice
119
120%% Skew quadrupoles
121SQPassMethod = SPassMethod;
122QT  =  skewquad('SkewQuad', 1e-8, 0.0, SQPassMethod);
123QTPX2    =  skewquad('QTPX2', 1e-10, 0.0, SPassMethod); % PX2
124
125%% Slow feedback correctors
126COR =  corrector('COR',0.0,[0 0],'CorrectorPass');
127
128%% Machine study kickers
129KEMH =  corrector('KEMH',0.0,[0 0],'CorrectorPass');
130KEMV =  corrector('KEMV',0.0,[0 0],'CorrectorPass');
131
132%% PX2C H-correctors
133% Tuners
134PX2 =  corrector('PX2C',0.0,[0 0],'CorrectorPass');
135% Main magnets
136CHIPX2D1 = rbend2('PX2', 0.026, -2.25e-3,  0.00e-3, -2.25e-3, 0,0,'BndMPoleSymplectic4Pass');
137CHIPX2D2 = rbend2('PX2', 0.052,  4.50e-3, -2.25e-3,  2.25e-3, 0,0,'BndMPoleSymplectic4Pass');
138CHIPX2D3 = rbend2('PX2', 0.026, -2.25e-3,  2.25e-3,  0.00e-3, 0,0,'BndMPoleSymplectic4Pass');
139PX2C= [QTPX2 PX2];
140
141%% NANOC magnets for nanoscopium
142% Tuners
143CHINANO   = corrector('NANOC',0.0,[0 0],'CorrectorPass'); % tuning magnet
144% Main magnets
145CHINANOD1   =  rbend2('NANO', 0.069, -0.50e-3,  0.00e-3, -0.50e-3, 0,0,'BndMPoleSymplectic4Pass');
146CHINANOD2   =  rbend2('NANO', 0.069, -5.38e-3, -0.50e-3, -5.88e-3, 0,0,'BndMPoleSymplectic4Pass');
147CHINANOD3   =  rbend2('NANO', 0.138, 11.88e-3, -5.88e-3, +6.00e-3, 0,0,'BndMPoleSymplectic4Pass');
148CHINANOD4   =  rbend2('NANO', 0.069, -6.00e-3,  6.00e-3,  0.00e-3, 0,0,'BndMPoleSymplectic4Pass');
149
150%% HU640
151HCMHU640 =  corrector('HCMHU640',0.0,[0 0],'CorrectorPass');
152VCMHU640 =  corrector('VCMHU640',0.0,[0 0],'CorrectorPass');
153
154%% Fast feedback correctors
155FCOR =  corrector('FCOR',0.0,[0 0],'CorrectorPass');
156
157%% Feedforward correctors
158FFWDCOR =  corrector('FFWDCOR',0.0,[0 0],'CorrectorPass');
159
160%% Slow correctors in sextupole magnets
161SX1   = [S1  COR  QT];
162SX2   = [S2  COR  QT];
163SX3   = [S3  COR  QT];
164SX4   = [S4  COR  QT];
165SX5   = [S5  COR  QT];
166SX6   = [S6  COR  QT];
167SX7   = [S7  COR  QT];
168SX8   = [S8  COR  QT];
169SX9   = [S9  COR  QT];
170SX10  = [S10 COR  QT];
171SX11  = [S11 COR  QT];
172SX12  = [S12 COR  QT];
173
174
175%% DIPOLES
176% {** 1.3815 factor to fit with BETA ??? strange **}
177%theta = 2*pi/32;
178%fullgap = 0.105*0.724*2/6*1.3815*0.;
179% BEND  =  rbend2('BEND', L, theta, theta/2, theta/2, 0.0, ...
180%                 fullgap,'BendLinearFringeTiltPass');
181theta = 2*pi/32;
182%theta2 = theta/2;
183thetae = theta/2 - 0.6e-3;
184thetas = theta/2 + 0.9e-3;
185K = 0.00204;
186fullgap = 0.037*0.724*2;
187%BEND  =  rbend2('BEND', 1.05243, theta, thetae, thetas, K,fullgap,'BendLinearPass');
188BEND  =  rbend2('BEND', 1.05243, theta, thetae, thetas, K,fullgap,'BndMPoleSymplectic4Pass');
189
190%% IDS
191% file='/Users/nadolski/Documents/Travail/codes/tracy/maille/soleil/w50/kick_w50_g55_p60.txt';  % made with RADIA
192% nslice=10;
193% [SWSV50 SWSV50Length] = idtable('SWSV50', nslice,file, (GLOBVAL.E0)/1e9,'IdTablePass');
194%
195% SDWSV50 = drift('SDWSV50',  3.141452-SWSV50Length/2, 'DriftPass');
196
197
198%% DRIFT SPACES
199
200SD1a = drift('SD1a',  1.4125, 'DriftPass');
201SD1b = drift('SD1b',  0.7575, 'DriftPass');
202SD2 = drift('SD2',  0.369900, 'DriftPass');
203SD3 = drift('SD3',   0.181900, 'DriftPass');
204SD5 = drift('SD5',  0.179900, 'DriftPass');
205SD6 = drift('SD6',  0.79000, 'DriftPass');
206SD7 = drift('SD7',  0.419900, 'DriftPass');
207SD8 = drift('SD8',  0.1799000, 'DriftPass');
208SD12= drift('SD12', 0.44990, 'DriftPass');
209SD12u= drift('SD12', 0.2, 'DriftPass'); % upstream V V-scraper % TO BE UPDATED
210SD12d= drift('SD12', 0.44990-0.2, 'DriftPass'); % downstream H-scraper
211SD12x= drift('SD12', 0.36566-LQC/2, 'DriftPass'); % upstream H-scraper external
212SD12y= drift('SD12', 0.44990-(0.36566-LQC/2), 'DriftPass'); % downstream H-scraper
213SD1d = drift('SD1d',  0.5170, 'DriftPass');
214SD14a = drift('SD14a', 0.38500000, 'DriftPass');
215SD9a = drift('SD9a',  0.204200  , 'DriftPass');
216SD10a = drift('SD10a', 0.172300 , 'DriftPass');
217SDAC1 = drift('SDAC1', 1.48428  , 'DriftPass');
218SD13a= drift('SD13a', 3.141452  , 'DriftPass');
219SD1e = drift('SD1e',  5.6589, 'DriftPass');
220SD1c1 = drift('SD1c1',  0.8410, 'DriftPass'); % K3 - FCOR
221SD1c2 = drift('SD1c2',  0.601, 'DriftPass');  % FCOR KEMH
222SD1c3u= drift('SD1c3u', 0.683, 'DriftPass');  % KEMH - VSCRAPER
223SD1c3d= drift('SD1c3u', 1.560-0.683, 'DriftPass');  % VSCRAPER - K4
224SD91 = drift('SD91',  0.251240, 'DriftPass');
225SD41 = drift('SD41',  0.2521, 'DriftPass');
226SD42 = drift('SD42',  0.205, 'DriftPass');
227SD92 = drift('SD92',  0.204300, 'DriftPass');
228SD93 = drift('SD93',  0.251300  , 'DriftPass');
229SD43 = drift('SD43', 0.2051     , 'DriftPass');
230SD141 = drift('SD141', 0.431900, 'DriftPass');
231SDB1 = drift('SDB1', 0.29100, 'DriftPass');
232SDB2 = drift('SDB2', 0.16680000, 'DriftPass');
233SDB3 = drift('SDB3', 0.252,  'DriftPass');
234SDB4 = drift('SDB4', 0.2776 ,'DriftPass');
235SDB5 = drift('SDB5', 0.205  ,'DriftPass');
236SDB6 = drift('SDB6', 0.119800 ,'DriftPass');
237SDB7 = drift('SDB7', 0.166900 , 'DriftPass');
238SDB8 = drift('SDB8', 0.252 , 'DriftPass');
239SDB9 = drift('SDB9', 0.119800 ,'DriftPass');
240SDB10= drift('SDB10',0.166900 , 'DriftPass');
241SDB11= drift('SDB11',0.2519, 'DriftPass');
242SDB12= drift('SDB12',0.2049, 'DriftPass');
243SDB13= drift('SDB13',0.119800, 'DriftPass');
244SDB14= drift('SDB14',0.1668000, 'DriftPass');
245SDB15= drift('SDB15',0.252 , 'DriftPass');
246SDB17= drift('SDB17',0.205 , 'DriftPass');
247SDB18= drift('SDB18',0.1199000 , 'DriftPass');
248SDC1 = drift('SDC1' , 0.241900 ,  'DriftPass');
249SDC2 = drift('SDC2' , 0.079 ,  'DriftPass');
250SDC3 = drift('SDC3' , 0.07845, 'DriftPass');
251SDC4 = drift('SDC4' , 0.3358,  'DriftPass');
252SDC5 = drift('SDC5' , 0.0846,  'DriftPass');
253SDC6 = drift('SDC6' , 0.079,   'DriftPass');
254SDC7 = drift('SDC7' , 0.342 ,  'DriftPass');
255SDC8 = drift('SDC8' , 0.241900 ,  'DriftPass');
256SDC9 = drift('SDC9' , 0.079  , 'DriftPass');
257DRFT10= drift('DRFT10',0.07845, 'DriftPass');
258DRFT11= drift('DRFT11',0.2419000  , 'DriftPass');
259DRFT12= drift('DRFT12',0.3358 , 'DriftPass');
260DRFT13= drift('DRFT13',0.0846 , 'DriftPass');
261DRFT14= drift('DRFT14',0.0788 , 'DriftPass');
262DRFT15= drift('DRFT15',0.3422 , 'DriftPass');
263DRFT16= drift('DRFT16',0.241900  , 'DriftPass');
264DRFT17= drift('DRFT17',0.079  , 'DriftPass');
265DRFT18= drift('DRFT18',0.07845, 'DriftPass');
266DRFT19= drift('DRFT19',0.24190  , 'DriftPass');
267SDC20= drift('SDC20',0.241900  , 'DriftPass');
268SDC21= drift('SDC21',0.079  , 'DriftPass');
269SDC22= drift('SDC22',0.29090  , 'DriftPass');
270SDC24= drift('SDC24',1.379  , 'DriftPass');
271%SDC23a= drift('SDC23a',0.632  , 'DriftPass'); % BPM - K1
272SDC23b= drift('SDC23b',1.983  , 'DriftPass'); % K1 - KEMV
273SDC23c= drift('SDC23c',1.019  , 'DriftPass'); % KEMV - K2
274SDC23d= drift('SDC23d',0.676  , 'DriftPass'); % K2 - FCOR
275SDC23e= drift('SDC23a',0.147  , 'DriftPass'); % BPM - FCOR [1 1]
276SDC23f= drift('SDC23a',0.485  , 'DriftPass'); % FCOR [1 1] next SD
277
278% HU640 straight section
279SDHU640a = drift('SDHU640a',  1.7394, 'DriftPass');
280SDHU640b = drift('SDHU640b',  0.6400, 'DriftPass');
281SDHU640c = drift('SDHU640c',  3.2795, 'DriftPass');
282SDHU640d = drift('SDHU640d',  3.1195, 'DriftPass');
283SDHU640e = drift('SDHU640e',  0.6400, 'DriftPass');
284SDHU640f = drift('SDHU640f',  1.8994, 'DriftPass');
285
286% PX2 straights
287SDPX2a= drift('SDPX2a', 0.363902-FAMLIST{CHIPX2D1}.ElemData.Length/2, 'DriftPass'); % BPM - CHI.1
288SDPX2b= drift('SDPX2b', 2.857550-FAMLIST{CHIPX2D1}.ElemData.Length/2-FAMLIST{CHIPX2D2}.ElemData.Length/2, 'DriftPass'); % CHI.1 - CHI.2
289SDPX2c= drift('SDPX2c', 0.203902-FAMLIST{CHIPX2D1}.ElemData.Length/2, 'DriftPass'); % CHI.3 - BPM
290
291% Nanoscopium straigths (upstream)
292SDNANO1 = drift('SDNANO1',  0.4501-FAMLIST{CHINANOD1}.ElemData.Length/2, 'DriftPass'); % BPM - CHI.1
293SDNANO2 = drift('SDNANO2',  0.5529-FAMLIST{CHINANOD1}.ElemData.Length/2, 'DriftPass'); % CHI.1 - FFWDCOR
294SDNANO3 = drift('SDNANO3',  2.5630, 'DriftPass'); % FFWDCOR - FFWDCOR
295SDNANO4 = drift('SDNANO4',  0.4330-FAMLIST{CHINANOD2}.ElemData.Length/2, 'DriftPass'); % FFWDCOR - CHI.2
296SDNANO5 = drift('SDNANO5',  0.2683-FAMLIST{CHINANOD2}.ElemData.Length/2, 'DriftPass'); % CHI.2 - BPM
297SDNANO6 = drift('SDNANO6',  0.0780, 'DriftPass'); % BPM - FCOR
298SDNANO6a= drift('SDNANO6a', 0.5017-0.0780-FAMLIST{Q11}.ElemData.Length/2, 'DriftPass'); % BPM - Q11.1
299SDNANO7 = drift('SDNANO7',  0.4100-FAMLIST{Q11}.ElemData.Length/2-FAMLIST{S12}.ElemData.Length/2, 'DriftPass'); % Q11.1 - S12
300SDNANO8 = drift('SDNANO8',  0.4800-FAMLIST{Q12}.ElemData.Length/2-FAMLIST{S12}.ElemData.Length/2, 'DriftPass'); % S12 - Q11
301% Nanoscopium straigths (downstream)
302SDNANO9 = drift('SDNANO9',  0.4628-0.0780-FAMLIST{Q11}.ElemData.Length/2, 'DriftPass'); % Q11.2 - FOFB
303SDNANO10= drift('SDNANO10', 0.3072-FAMLIST{CHINANOD3}.ElemData.Length/2, 'DriftPass'); % BPM - CHI.3
304SDNANO11= drift('SDNANO11', 0.4330-FAMLIST{CHINANOD3}.ElemData.Length/2, 'DriftPass'); % FFWDCOR - FFWDCOR
305
306
307%% STRAIGHT SECTIONS (between BPMs)
308% 4 long straight sections (12 m, available part 10.50 m)
309
310%SDL01 (injection) is split in upstream and downstrem parts
311SDL01d = [SD1a   PtINJ   SD1b   K3  SD1c1 FCOR  SD1c2  KEMH SD1c3u VSCRAP SD1c3d   K4     SD1d];
312SDL01u = [SDC23e  FCOR SDC23f K1 SDC23b KEMV SDC23c K2 SDC23d SDC24];
313% SDL05 HU640 straight section
314HU640upstream   = [SDHU640a VCMHU640 SDHU640b HCMHU640 SDHU640c];
315HU640downstream = [SDHU640d HCMHU640 SDHU640e VCMHU640 SDHU640f];
316SDL05  = [HU640upstream HU640downstream]; % DESIRS HU640
317SDL09  = [SD1e SD1e];
318% TOMOGRAPHY U18 CRYO + NANOSCOPIUM U20
319SDL13u  = [SDNANO1 CHINANO CHINANOD1 SDNANO2 FFWDCOR SDNANO3 FFWDCOR SDNANO4 CHINANOD2 CHINANO SDNANO5 ...
320           BPM SDNANO6 FCOR SDNANO6a Q11 SDNANO7 SX12 SDNANO8];
321SDL13d  = [SDNANO8 SX12 SDNANO7 Q11 SDNANO9 FCOR SDNANO6 BPM  ...
322           SDNANO10 CHINANO CHINANOD3 SDNANO11 FFWDCOR SDNANO3 FFWDCOR SDNANO2 CHINANOD4 CHINANO SDNANO1];
323SDL13 = [SDL13u Q12 SDL13d];
324%SDL13  = [SD1e SD1e]; % NANOSCOPIUM U20 + TOMOGRAPHY U18 CRYO
325
326% 12 medium straigt sections (7 m, available part for IDs 5.46 m)
327SDM02 = [SD13a CAV SD13a]; % CRYOMODULE #2
328SDM03 = [SD13a SD13a]; % CRYOMUDULE #1 not put in the model for simplicity
329SDM04 = [SD13a SD13a]; % PLEIADES HU256 + HU80
330SDM06 = [SD13a SD13a]; % PUMA future Wiggler
331%SDM06 = [SDWSV50 SWSV50 SDWSV50]; % PUMA future Wiggler
332SDM07 = [SD13a SD13a]; % DEIMOS HU52+EMPHU65
333SDM08 = [SD13a SD13a]; % TEMPO HU80+HU44
334SDM10 = [SD13a SD13a]; % HERMES HU64+HU42
335SDM11 = [SDPX2a PX2C CHIPX2D1 SDPX2b PX2C CHIPX2D2 SDPX2b CHIPX2D3 PX2C SDPX2c]; % PX2 U24
336SDM12 = [SD13a SD13a]; % ANTARES HU256 + HU60
337SDM14 = [SD13a SD13a]; % SEXTANTS (ex microFocus) HU44 + HU80
338SDM15 = [SD13a SD13a]; % CASSIOPEE HU256 + HU80
339SDM16 = [SD13a SD13a]; % LUCIA HU52
340
341% 8 short straigt sections (3.6 m, available part for IDs 2.8 m)
342SDC02 = [SDAC1 SDAC1];% LIGNE ALPHA
343SDC03 = [SDAC1 SDAC1];% PSICHE WSV50
344SDC06 = [SDAC1 SDAC1];% CRISTAL U20
345SDC07 = [SDAC1 SDAC1];% GALAXIES U20
346SDC10 = [SDAC1 SDAC1];% PX1 U20
347SDC11 = [SDAC1 SDAC1];% SWING U20
348SDC14 = [SDAC1 SDAC1];% SIXS U20
349SDC15 = [SDAC1 SDAC1];% SIRIUS HU34
350
351
352%% Lattice
353% Superperiods
354
355% SUPERPERIOD #1
356SUP1  = [...
357    BPM  SDB1   Q1     SD2    SX1   SD3     Q2 ...
358    SDB2  BPM    SD14a   Q3      SD5    SX2    SD6 ...
359    BEND    SD7     Q4  SD8     SX3    ...
360    SDB3  BPM     SD9a   Q5     SD12u HSCRAP SD12d  SX4 ...
361    SDB4  BPM     SD10a    Q5     SD91     ...
362    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
363    SD7     Q6      SD5    SX5     SD41    ...
364    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
365    SDC1 FCOR SDC2   BPM    SDM02 BPM ...
366    SDC3    FCOR   SDC1 ...
367    Q8      SD2    SX8     SD3    Q7  SDB7 ...
368    BPM   SD42     SX7      SD5     Q6     SD7 ...
369    BEND   SD7    Q9    SD8     SX9  SDB8 ...
370    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
371    FCOR SDC5  BPM   SDC02 ...
372    BPM   SDC6  FCOR  SDC7 SX10    SD8    Q10    SD91 ...
373    BPM   SD42  SX9      SD8     Q9     SD7    ...
374    BEND   SD7    Q6    SD5     SX7    SD41   ...
375    BPM  SDB9  Q7      SD3    SX8    SD2   Q8 SDC8 ...
376    FCOR  SDC9  BPM     SDM03  ...
377    BPM  DRFT10   FCOR  DRFT11  Q8     SD2   SX8   SD3   Q7 ...
378    SDB10  BPM   SD42    SX7    SD5   Q6      SD7  ...
379    BEND    SD7     Q9     SD8     SX9  SDB11    ...
380    BPM    SD92   Q10     SD8     SX10 DRFT12 ...
381    FCOR  DRFT13  BPM    SDC03   ...
382    BPM  DRFT14  FCOR   DRFT15   SX10   SD8     Q10    SD93 ...
383    BPM  SDB12  SX9    SD8   Q9      SD7 ...
384    BEND    SD7    Q6      SD5    SX7    SD41 ...
385    BPM  SDB13   Q7      SD3    SX8     SD2    Q8  DRFT16 ...
386    FCOR DRFT17  BPM    SDM04   ...
387    BPM   DRFT18  FCOR  DRFT19   Q8     SD2     SX6    SD3    Q7 ...
388    SDB14  BPM    SD43    SX5     SD5    Q6      SD7    ...
389    BEND   SD7   Q4      SD8     SX3  SDB15 ...
390    BPM     SD9a   Q5      SD12   ...
391    SX4  SDB4  BPM     SD10a Q5     SD93 ...
392    BPM  SDB17  SX3     SD8    Q4     SD7   ...
393    BEND    SD6     SX2      SD5     Q3     SD141 ...
394    BPM  SDB18  Q2     SD3   SX1     SD2     Q1 ...
395    SDC20 FCOR  SDC21 BPM];
396
397% SUPERPERIOD #2
398SUP2  = [  ...
399    BPM SDC2 FCOR SDC1   ...
400    Q1     SD2    SX1   SD3     Q2 ...
401    SDB7  BPM    SD14a   Q3      SD5    SX2    SD6 ...
402    BEND    SD7     Q4  SD8     SX3    ...
403    SDB3  BPM     SD9a   Q5     SD12  SX4 ...
404    SDB4  BPM     SD10a    Q5     SD93     ...
405    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
406    SD7     Q6      SD5    SX5     SD41    ...
407    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
408    SDC1 FCOR SDC2   BPM    SDM06  BPM ...
409    SDC2    FCOR   SDC1 ...
410    Q8      SD2    SX8     SD3    Q7  SDB7 ...
411    BPM   SDB5     SX7      SD5     Q6     SD7 ...
412    BEND   SD7    Q9    SD8     SX9  SDB3 ...
413    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
414    FCOR SDC5  BPM   SDC06 ...
415    BPM   DRFT14  FCOR  DRFT15 SX10    SD8    Q10    SD93 ...
416    BPM   SDB12  SX9      SD8     Q9     SD7    ...
417    BEND   SD7    Q6    SD5     SX7    SD41   ...
418    BPM  SDB6  Q7      SD3    SX8    SD2   Q8 SDC1 ...
419    FCOR  SDC2  BPM     SDM07  ...
420    BPM  SDC2   FCOR  SDC1  Q8     SD2   SX8   SD3   Q7 ...
421    SDB7  BPM   SDB5    SX7    SD5   Q6      SD7  ...
422    BEND    SD7     Q9     SD8     SX9   SDB3    ...
423    BPM    SD9a   Q10     SD8     SX10  SDC4 ...
424    FCOR  SDC5  BPM    SDC07   ...
425    BPM  DRFT14  FCOR   DRFT15   SX10   SD8     Q10    SD93 ...
426    BPM  SDB12  SX9    SD8   Q9      SD7 ...
427    BEND    SD7    Q6      SD5    SX7    SD41 ...
428    BPM  SDB6   Q7      SD3    SX8     SD2    Q8  SDC1 ...
429    FCOR SDC2  BPM    SDM08   ...
430    BPM   SDC2  FCOR  SDC1   Q8     SD2     SX6    SD3    Q7 ...
431    SDB7  BPM    SD42    SX5     SD5    Q6      SD7    ...
432    BEND   SD7   Q4      SD8     SX3  SDB3 ...
433    BPM     SD9a   Q5      SD12   ...
434    SX4   SDB4  BPM     SD10a   Q5     SD93 ...
435    BPM  SD42  SX3     SD8    Q4     SD7   ...
436    BEND    SD6     SX2      SD5     Q3     SD141 ...
437    BPM  SDB18  Q2     SD3   SX1     SD2     Q1 ...
438    SDC1 FCOR  SDC2   BPM];
439
440% SUPERPERIOD #3
441SUP3  = [  ...
442    BPM SDC2 FCOR SDC1   ...
443    Q1     SD2    SX1   SD3     Q2 ...
444    SDB7  BPM    SD14a   Q3      SD5    SX2    SD6 ...
445    BEND    SD7     Q4  SD8     SX3    ...
446    SDB3  BPM     SD9a   Q5     SD12  SX4 ...
447    SDB4  BPM     SD10a    Q5     SD93     ...
448    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
449    SD7     Q6      SD5    SX5     SD41    ...
450    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
451    SDC1 FCOR SDC2   BPM    SDM10  BPM ...
452    SDC2    FCOR   SDC1 ...
453    Q8      SD2    SX8     SD3    Q7  SDB7 ...
454    BPM   SDB5     SX7      SD5     Q6     SD7 ...
455    BEND   SD7    Q9    SD8     SX9  SDB3 ...
456    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
457    FCOR SDC5  BPM   SDC10 ...
458    BPM   DRFT14  FCOR  DRFT15 SX10    SD8    Q10    SD93 ...
459    BPM   SDB12  SX9      SD8     Q9     SD7    ...
460    BEND   SD7    Q6    SD5     SX7    SD41   ...
461    BPM  SDB6  Q7      SD3    SX8    SD2   Q8 SDC1 ...
462    FCOR  SDC2  BPM     SDM11  ...
463    BPM  SDC2   FCOR  SDC1  Q8     SD2   SX8   SD3   Q7 ...
464    SDB7  BPM   SDB5    SX7    SD5   Q6      SD7  ...
465    BEND    SD7     Q9     SD8     SX9   SDB3    ...
466    BPM    SD9a   Q10     SD8     SX10  SDC4 ...
467    FCOR  SDC5  BPM    SDC11   ...
468    BPM  DRFT14  FCOR   DRFT15   SX10   SD8     Q10    SD93 ...
469    BPM  SDB12  SX9    SD8   Q9      SD7 ...
470    BEND    SD7    Q6      SD5    SX7    SD41 ...
471    BPM  SDB6   Q7      SD3    SX8     SD2    Q8  SDC1 ...
472    FCOR SDC2  BPM    SDM12   ...
473    BPM   SDC2  FCOR  SDC1   Q8     SD2     SX6    SD3    Q7 ...
474    SDB7  BPM    SD42    SX5     SD5    Q6      SD7    ...
475    BEND   SD7   Q4      SD8     SX3  SDB3 ...
476    BPM     SD9a   Q5      SD12   ...
477    SX4   SDB4  BPM     SD10a    Q5     SD93 ...
478    BPM  SD42  SX3     SD8    Q4     SD7   ...
479    BEND    SD6     SX2      SD5     Q3     SD141 ...
480    BPM  SDB18  Q2     SD3   SX11     SD2     Q1 ...
481    SDC1 FCOR  SDC2   BPM];
482
483% SUPERPERIOD #4
484SUP4  = [  ...
485    BPM SDC2 FCOR SDC1   ...
486    Q1     SD2    SX11   SD3     Q2 ...
487    SDB7  BPM    SD14a   Q3      SD5    SX2    SD6 ...
488    BEND    SD7     Q4  SD8     SX3    ...
489    SDB3  BPM     SD9a   Q5     SD12  SX4 ...
490    SDB4  BPM     SD10a    Q5     SD93     ...
491    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
492    SD7     Q6      SD5    SX5     SD41    ...
493    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
494    SDC1 FCOR SDC2   BPM    SDM14  BPM ...
495    SDC2    FCOR   SDC1 ...
496    Q8      SD2    SX8     SD3    Q7  SDB7 ...
497    BPM   SDB5     SX7      SD5     Q6     SD7 ...
498    BEND   SD7    Q9    SD8     SX9  SDB3 ...
499    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
500    FCOR SDC5  BPM   SDC14 ...
501    BPM   DRFT14  FCOR  DRFT15 SX10    SD8    Q10    SD93 ...
502    BPM   SDB12  SX9      SD8     Q9     SD7    ...
503    BEND   SD7    Q6    SD5     SX7    SD41   ...
504    BPM  SDB6  Q7      SD3    SX8    SD2   Q8 SDC1 ...
505    FCOR  SDC2  BPM     SDM15  ...
506    BPM  SDC2   FCOR  SDC1  Q8     SD2   SX8   SD3   Q7 ...
507    SDB7  BPM   SDB5    SX7    SD5   Q6      SD7  ...
508    BEND    SD7     Q9     SD8     SX9   SDB3    ...
509    BPM    SD9a   Q10     SD8     SX10  SDC4 ...
510    FCOR  SDC5  BPM    SDC15   ...
511    BPM  DRFT14  FCOR   DRFT15   SX10   SD8     Q10    SD93 ...
512    BPM  SDB12  SX9    SD8   Q9      SD7 ...
513    BEND    SD7    Q6      SD5    SX7    SD41 ...
514    BPM  SDB6   Q7      SD3    SX8     SD2    Q8  SDC1 ...
515    FCOR SDC2  BPM    SDM16   ...
516    BPM   SDC2  FCOR  SDC1   Q8     SD2     SX6    SD3    Q7 ...
517    SDB7  BPM    SD42    SX5     SD5    Q6      SD7    ...
518    BEND   SD7   Q4      SD8     SX3  SDB3 ...
519    BPM     SD9a   Q5      SD12x HSCRAP SD12y   ...
520    SX4   SDB4  BPM     SD10a    Q5     SD93 ...
521    BPM  SD42  SX3     SD8    Q4     SD7   ...
522    BEND    SD6     SX2      SD5     Q3     SD141 ...
523    BPM  SDB18  Q2     SD3   SX1     SD2     Q1 ...
524    SDC22 BPM];
525
526%THE STORAGE RING
527ELIST = [...
528    DEBUT ...
529    SECT1 SDL01d SUP1 ...
530    SECT2 SDL05 SUP2 ...
531    SECT3 SDL09 SUP3 ...
532    SECT4 SDL13 SUP4 SDL01u  ...
533    FIN];
534
535buildlat(ELIST);
536
537% Set all magnets to same energy
538THERING = setcellstruct(THERING,'Energy',1:length(THERING),GLOBVAL.E0);
539
540ATIndexList = atindex;
541
542% set nanoscopium triplets upstream and downstream of SDL13
543THERING = setNanoscopium(THERING,ATIndexList);
544
545% set PX2 tuner chicane
546%THERING{ATIndexList.PX2C(1)}.KickAngle(1) =  -2.25e-3; % rad
547%THERING{ATIndexList.PX2C(2)}.KickAngle(1) = 2*2.25e-3; % rad
548%THERING{ATIndexList.PX2C(3)}.KickAngle(1) =  -2.25e-3; % rad
549
550%% set NANOSCOPIUM tuner magnets
551THERING{ATIndexList.NANOC(1)}.KickAngle(1) =  -5.00e-6*0; % rad
552THERING{ATIndexList.NANOC(2)}.KickAngle(1) =   2.25e-6*0; % rad
553THERING{ATIndexList.NANOC(3)}.KickAngle(1) =  -1.25e-6*0; % rad
554THERING{ATIndexList.NANOC(4)}.KickAngle(1) =  -2.25e-6*0; % rad
555
556evalin('caller','global THERING FAMLIST GLOBVAL');
557atsummary;
558
559
560if nargout
561    varargout{1} = THERING;
562end
563
564function THERING= setNanoscopium(THERING,ATIndexList)
565
566QP1N = -0.1269903E+01;
567QP2N =  0.1859323E+01;
568QP3N = -0.1143006E+01;
569THERING = setquad(THERING, ATIndexList.Q1(6), QP1N);
570THERING = setquad(THERING, ATIndexList.Q1(7), QP1N);
571THERING = setquad(THERING, ATIndexList.Q2(6), QP2N);
572THERING = setquad(THERING, ATIndexList.Q2(7), QP2N);
573THERING = setquad(THERING, ATIndexList.Q3(6), QP3N);
574THERING = setquad(THERING, ATIndexList.Q3(7), QP3N);
575
576function THERING = setquad(THERING, Idx, K)
577
578THERING{Idx}.K = K;
579THERING{Idx}.PolynomB(2) = K;
580fprintf('%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.