source: MML/trunk/machine/SOLEIL/StorageRing/Lattices/lat_nano_176_234_122BPM_thickSextu.m

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

To have a stable version on the server.

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