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

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

Initial import--MML version from SOLEIL@2013

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