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

Last change on this file 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.8 KB
Line 
1function varargout = lat_nano_176_234_122BPM_tempo_v1
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');
292SDTEMPO4 = drift('SDTEMPO4', 1.74900-9.8e-5, 'DriftPass');
293SDTEMPO5 = drift('SDTEMPO5', 0.10000, 'DriftPass');
294SDTEMPO6 = drift('SDTEMPO6', 0.30000, 'DriftPass');
295SDTEMPO7 = drift('SDTEMPO7', 0.53455, 'DriftPass');
296
297% PX2 straights
298SDPX2a= drift('SDPX2a', 0.363902-FAMLIST{CHIPX2D1}.ElemData.Length/2, 'DriftPass'); % BPM - CHI.1
299SDPX2b= drift('SDPX2b', 2.857550-FAMLIST{CHIPX2D1}.ElemData.Length/2-FAMLIST{CHIPX2D2}.ElemData.Length/2, 'DriftPass'); % CHI.1 - CHI.2
300SDPX2c= drift('SDPX2c', 0.203902-FAMLIST{CHIPX2D1}.ElemData.Length/2, 'DriftPass'); % CHI.3 - BPM
301
302% Nanoscopium straigths (upstream)
303SDNANO1 = drift('SDNANO1',  0.4501-FAMLIST{CHINANOD1}.ElemData.Length/2, 'DriftPass'); % BPM - CHI.1
304SDNANO2 = drift('SDNANO2',  0.5529-FAMLIST{CHINANOD1}.ElemData.Length/2, 'DriftPass'); % CHI.1 - FFWDCOR
305SDNANO3 = drift('SDNANO3',  2.5630, 'DriftPass'); % FFWDCOR - FFWDCOR
306SDNANO4 = drift('SDNANO4',  0.4330-FAMLIST{CHINANOD2}.ElemData.Length/2, 'DriftPass'); % FFWDCOR - CHI.2
307SDNANO5 = drift('SDNANO5',  0.2683-FAMLIST{CHINANOD2}.ElemData.Length/2, 'DriftPass'); % CHI.2 - BPM
308SDNANO6 = drift('SDNANO6',  0.0780, 'DriftPass'); % BPM - FCOR
309SDNANO6a= drift('SDNANO6a', 0.5017-0.0780-FAMLIST{Q11}.ElemData.Length/2, 'DriftPass'); % BPM - Q11.1
310SDNANO7 = drift('SDNANO7',  0.4100-FAMLIST{Q11}.ElemData.Length/2-FAMLIST{S12}.ElemData.Length/2, 'DriftPass'); % Q11.1 - S12
311SDNANO8 = drift('SDNANO8',  0.4800-FAMLIST{Q12}.ElemData.Length/2-FAMLIST{S12}.ElemData.Length/2, 'DriftPass'); % S12 - Q11
312% Nanoscopium straigths (downstream)
313SDNANO9 = drift('SDNANO9',  0.4628-0.0780-FAMLIST{Q11}.ElemData.Length/2, 'DriftPass'); % Q11.2 - FOFB
314SDNANO10= drift('SDNANO10', 0.3072-FAMLIST{CHINANOD3}.ElemData.Length/2, 'DriftPass'); % BPM - CHI.3
315SDNANO11= drift('SDNANO11', 0.4330-FAMLIST{CHINANOD3}.ElemData.Length/2, 'DriftPass'); % FFWDCOR - FFWDCOR
316
317
318%% STRAIGHT SECTIONS (between BPMs)
319% 4 long straight sections (12 m, available part 10.50 m)
320
321%SDL01 (injection) is split in upstream and downstrem parts
322SDL01d = [SD1a   PtINJ   SD1b   K3  SD1c1 FCOR  SD1c2  KEMH SD1c3u VSCRAP SD1c3d   K4     SD1d];
323SDL01u = [SDC23e  FCOR SDC23f K1 SDC23b KEMV SDC23c K2 SDC23d SDC24];
324% SDL05 HU640 straight section
325HU640upstream   = [SDHU640a VCMHU640 SDHU640b HCMHU640 SDHU640c];
326HU640downstream = [SDHU640d HCMHU640 SDHU640e VCMHU640 SDHU640f];
327SDL05  = [HU640upstream HU640downstream]; % DESIRS HU640
328SDL09  = [SD1e SD1e];
329% TOMOGRAPHY U18 CRYO + NANOSCOPIUM U20
330SDL13u  = [SDNANO1 CHINANO CHINANOD1 SDNANO2 FFWDCOR SDNANO3 FFWDCOR SDNANO4 CHINANOD2 CHINANO SDNANO5 ...
331           BPM SDNANO6 FCOR SDNANO6a Q11 SDNANO7 SX12 SDNANO8];
332SDL13d  = [SDNANO8 SX12 SDNANO7 Q11 SDNANO9 FCOR SDNANO6 BPM  ...
333           SDNANO10 CHINANO CHINANOD3 SDNANO11 FFWDCOR SDNANO3 FFWDCOR SDNANO2 CHINANOD4 CHINANO SDNANO1];
334SDL13 = [SDL13u Q12 SDL13d];
335%SDL13  = [SD1e SD1e]; % NANOSCOPIUM U20 + TOMOGRAPHY U18 CRYO
336
337% 12 medium straigt sections (7 m, available part for IDs 5.46 m)
338SDM02 = [SD13a CAV SD13a]; % CRYOMODULE #2
339SDM03 = [SD13a SD13a]; % CRYOMUDULE #1 not put in the model for simplicity
340SDM04 = [SD13a SD13a]; % PLEIADES HU256 + HU80
341SDM06 = [SD13a PUMA SD13a]; % PUMA future Wiggler
342%SDM06 = [SDWSV50 SWSV50 SDWSV50]; % PUMA future Wiggler
343SDM07 = [SD13a SD13a]; % DEIMOS HU52+EMPHU65
344%SDM08 = [SD13a SD13a]; % TEMPO HU80+HU44
345SDM08 = [SDTEMPO1 CHITEMPO SDTEMPO2 CHITEMPO SDTEMPO3 SDTEMPO4 SDTEMPO4 ...
346    SDTEMPO5 CHITEMPO SDTEMPO6 CHITEMPO SDTEMPO7]; % TEMPO HU80+HU44 + chicane
347SDM10 = [SD13a SD13a]; % HERMES HU64+HU42
348SDM11 = [SDPX2a PX2C CHIPX2D1 SDPX2b PX2C CHIPX2D2 SDPX2b CHIPX2D3 PX2C SDPX2c]; % PX2 U24
349SDM12 = [SD13a SD13a]; % ANTARES HU256 + HU60
350SDM14 = [SD13a SD13a]; % SEXTANTS (ex microFocus) HU44 + HU80
351SDM15 = [SD13a SD13a]; % CASSIOPEE HU256 + HU80
352SDM16 = [SD13a SD13a]; % LUCIA HU52
353
354% 8 short straigt sections (3.6 m, available part for IDs 2.8 m)
355SDC02 = [SDAC1 SDAC1];% LIGNE ALPHA
356SDC03 = [SDAC1 SDAC1];% PSICHE WSV50
357SDC06 = [SDAC1 SDAC1];% CRISTAL U20
358SDC07 = [SDAC1 SDAC1];% GALAXIES U20
359SDC10 = [SDAC1 SDAC1];% PX1 U20
360SDC11 = [SDAC1 SDAC1];% SWING U20
361SDC14 = [SDAC1 SDAC1];% SIXS U20
362SDC15 = [SDAC1 SDAC1];% SIRIUS HU34
363
364
365%% Lattice
366% Superperiods
367
368% SUPERPERIOD #1
369SUP1  = [...
370    BPM  SDB1   Q1     SD2    SX1   SD3     Q2 ...
371    SDB2  BPM    SD14a   Q3      SD5    SX2    SD6 ...
372    BEND    SD7     Q4  SD8     SX3    ...
373    SDB3  BPM     SD9a   Q5     SD12u HSCRAP SD12d  SX4 ...
374    SDB4  BPM     SD10a    Q5     SD91     ...
375    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
376    SD7     Q6      SD5    SX5     SD41    ...
377    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
378    SDC1 FCOR SDC2   BPM    SDM02 BPM ...
379    SDC3    FCOR   SDC1 ...
380    Q8      SD2    SX8     SD3    Q7  SDB7 ...
381    BPM   SD42     SX7      SD5     Q6     SD7 ...
382    BEND   SD7    Q9    SD8     SX9  SDB8 ...
383    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
384    FCOR SDC5  BPM   SDC02 ...
385    BPM   SDC6  FCOR  SDC7 SX10    SD8    Q10    SD91 ...
386    BPM   SD42  SX9      SD8     Q9     SD7    ...
387    BEND   SD7    Q6    SD5     SX7    SD41   ...
388    BPM  SDB9  Q7      SD3    SX8    SD2   Q8 SDC8 ...
389    FCOR  SDC9  BPM     SDM03  ...
390    BPM  DRFT10   FCOR  DRFT11  Q8     SD2   SX8   SD3   Q7 ...
391    SDB10  BPM   SD42    SX7    SD5   Q6      SD7  ...
392    BEND    SD7     Q9     SD8     SX9  SDB11    ...
393    BPM    SD92   Q10     SD8     SX10 DRFT12 ...
394    FCOR  DRFT13  BPM    SDC03   ...
395    BPM  DRFT14  FCOR   DRFT15   SX10   SD8     Q10    SD93 ...
396    BPM  SDB12  SX9    SD8   Q9      SD7 ...
397    BEND    SD7    Q6      SD5    SX7    SD41 ...
398    BPM  SDB13   Q7      SD3    SX8     SD2    Q8  DRFT16 ...
399    FCOR DRFT17  BPM    SDM04   ...
400    BPM   DRFT18  FCOR  DRFT19   Q8     SD2     SX6    SD3    Q7 ...
401    SDB14  BPM    SD43    SX5     SD5    Q6      SD7    ...
402    BEND   SD7   Q4      SD8     SX3  SDB15 ...
403    BPM     SD9a   Q5      SD12   ...
404    SX4  SDB4  BPM     SD10a Q5     SD93 ...
405    BPM  SDB17  SX3     SD8    Q4     SD7   ...
406    BEND    SD6     SX2      SD5     Q3     SD141 ...
407    BPM  SDB18  Q2     SD3   SX1     SD2     Q1 ...
408    SDC20 FCOR  SDC21 BPM];
409
410% SUPERPERIOD #2
411SUP2  = [  ...
412    BPM SDC2 FCOR SDC1   ...
413    Q1     SD2    SX1   SD3     Q2 ...
414    SDB7  BPM    SD14a   Q3      SD5    SX2    SD6 ...
415    BEND    SD7     Q4  SD8     SX3    ...
416    SDB3  BPM     SD9a   Q5     SD12  SX4 ...
417    SDB4  BPM     SD10a    Q5     SD93     ...
418    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
419    SD7     Q6      SD5    SX5     SD41    ...
420    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
421    SDC1 FCOR SDC2   BPM    SDM06  BPM ...
422    SDC2    FCOR   SDC1 ...
423    Q8      SD2    SX8     SD3    Q7  SDB7 ...
424    BPM   SDB5     SX7      SD5     Q6     SD7 ...
425    BEND   SD7    Q9    SD8     SX9  SDB3 ...
426    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
427    FCOR SDC5  BPM   SDC06 ...
428    BPM   DRFT14  FCOR  DRFT15 SX10    SD8    Q10    SD93 ...
429    BPM   SDB12  SX9      SD8     Q9     SD7    ...
430    BEND   SD7    Q6    SD5     SX7    SD41   ...
431    BPM  SDB6  Q7      SD3    SX8    SD2   Q8 SDC1 ...
432    FCOR  SDC2  BPM     SDM07  ...
433    BPM  SDC2   FCOR  SDC1  Q8     SD2   SX8   SD3   Q7 ...
434    SDB7  BPM   SDB5    SX7    SD5   Q6      SD7  ...
435    BEND    SD7     Q9     SD8     SX9   SDB3    ...
436    BPM    SD9a   Q10     SD8     SX10  SDC4 ...
437    FCOR  SDC5  BPM    SDC07   ...
438    BPM  DRFT14  FCOR   DRFT15   SX10   SD8     Q10    SD93 ...
439    BPM  SDB12  SX9    SD8   Q9      SD7 ...
440    BEND    SD7    Q6      SD5    SX7    SD41 ...
441    BPM  SDB6   Q7      SD3    SX8     SD2    Q8  SDC1 ...
442    FCOR SDC2  BPM    SDM08   ...
443    BPM   SDC2  FCOR  SDC1   Q8     SD2     SX6    SD3    Q7 ...
444    SDB7  BPM    SD42    SX5     SD5    Q6      SD7    ...
445    BEND   SD7   Q4      SD8     SX3  SDB3 ...
446    BPM     SD9a   Q5      SD12   ...
447    SX4   SDB4  BPM     SD10a   Q5     SD93 ...
448    BPM  SD42  SX3     SD8    Q4     SD7   ...
449    BEND    SD6     SX2      SD5     Q3     SD141 ...
450    BPM  SDB18  Q2     SD3   SX1     SD2     Q1 ...
451    SDC1 FCOR  SDC2   BPM];
452
453% SUPERPERIOD #3
454SUP3  = [  ...
455    BPM SDC2 FCOR SDC1   ...
456    Q1     SD2    SX1   SD3     Q2 ...
457    SDB7  BPM    SD14a   Q3      SD5    SX2    SD6 ...
458    BEND    SD7     Q4  SD8     SX3    ...
459    SDB3  BPM     SD9a   Q5     SD12  SX4 ...
460    SDB4  BPM     SD10a    Q5     SD93     ...
461    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
462    SD7     Q6      SD5    SX5     SD41    ...
463    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
464    SDC1 FCOR SDC2   BPM    SDM10  BPM ...
465    SDC2    FCOR   SDC1 ...
466    Q8      SD2    SX8     SD3    Q7  SDB7 ...
467    BPM   SDB5     SX7      SD5     Q6     SD7 ...
468    BEND   SD7    Q9    SD8     SX9  SDB3 ...
469    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
470    FCOR SDC5  BPM   SDC10 ...
471    BPM   DRFT14  FCOR  DRFT15 SX10    SD8    Q10    SD93 ...
472    BPM   SDB12  SX9      SD8     Q9     SD7    ...
473    BEND   SD7    Q6    SD5     SX7    SD41   ...
474    BPM  SDB6  Q7      SD3    SX8    SD2   Q8 SDC1 ...
475    FCOR  SDC2  BPM     SDM11  ...
476    BPM  SDC2   FCOR  SDC1  Q8     SD2   SX8   SD3   Q7 ...
477    SDB7  BPM   SDB5    SX7    SD5   Q6      SD7  ...
478    BEND    SD7     Q9     SD8     SX9   SDB3    ...
479    BPM    SD9a   Q10     SD8     SX10  SDC4 ...
480    FCOR  SDC5  BPM    SDC11   ...
481    BPM  DRFT14  FCOR   DRFT15   SX10   SD8     Q10    SD93 ...
482    BPM  SDB12  SX9    SD8   Q9      SD7 ...
483    BEND    SD7    Q6      SD5    SX7    SD41 ...
484    BPM  SDB6   Q7      SD3    SX8     SD2    Q8  SDC1 ...
485    FCOR SDC2  BPM    SDM12   ...
486    BPM   SDC2  FCOR  SDC1   Q8     SD2     SX6    SD3    Q7 ...
487    SDB7  BPM    SD42    SX5     SD5    Q6      SD7    ...
488    BEND   SD7   Q4      SD8     SX3  SDB3 ...
489    BPM     SD9a   Q5      SD12   ...
490    SX4   SDB4  BPM     SD10a    Q5     SD93 ...
491    BPM  SD42  SX3     SD8    Q4     SD7   ...
492    BEND    SD6     SX2      SD5     Q3     SD141 ...
493    BPM  SDB18  Q2     SD3   SX11     SD2     Q1 ...
494    SDC1 FCOR  SDC2   BPM];
495
496% SUPERPERIOD #4
497SUP4  = [  ...
498    BPM SDC2 FCOR SDC1   ...
499    Q1     SD2    SX11   SD3     Q2 ...
500    SDB7  BPM    SD14a   Q3      SD5    SX2    SD6 ...
501    BEND    SD7     Q4  SD8     SX3    ...
502    SDB3  BPM     SD9a   Q5     SD12  SX4 ...
503    SDB4  BPM     SD10a    Q5     SD93     ...
504    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
505    SD7     Q6      SD5    SX5     SD41    ...
506    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
507    SDC1 FCOR SDC2   BPM    SDM14  BPM ...
508    SDC2    FCOR   SDC1 ...
509    Q8      SD2    SX8     SD3    Q7  SDB7 ...
510    BPM   SDB5     SX7      SD5     Q6     SD7 ...
511    BEND   SD7    Q9    SD8     SX9  SDB3 ...
512    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
513    FCOR SDC5  BPM   SDC14 ...
514    BPM   DRFT14  FCOR  DRFT15 SX10    SD8    Q10    SD93 ...
515    BPM   SDB12  SX9      SD8     Q9     SD7    ...
516    BEND   SD7    Q6    SD5     SX7    SD41   ...
517    BPM  SDB6  Q7      SD3    SX8    SD2   Q8 SDC1 ...
518    FCOR  SDC2  BPM     SDM15  ...
519    BPM  SDC2   FCOR  SDC1  Q8     SD2   SX8   SD3   Q7 ...
520    SDB7  BPM   SDB5    SX7    SD5   Q6      SD7  ...
521    BEND    SD7     Q9     SD8     SX9   SDB3    ...
522    BPM    SD9a   Q10     SD8     SX10  SDC4 ...
523    FCOR  SDC5  BPM    SDC15   ...
524    BPM  DRFT14  FCOR   DRFT15   SX10   SD8     Q10    SD93 ...
525    BPM  SDB12  SX9    SD8   Q9      SD7 ...
526    BEND    SD7    Q6      SD5    SX7    SD41 ...
527    BPM  SDB6   Q7      SD3    SX8     SD2    Q8  SDC1 ...
528    FCOR SDC2  BPM    SDM16   ...
529    BPM   SDC2  FCOR  SDC1   Q8     SD2     SX6    SD3    Q7 ...
530    SDB7  BPM    SD42    SX5     SD5    Q6      SD7    ...
531    BEND   SD7   Q4      SD8     SX3  SDB3 ...
532    BPM     SD9a   Q5      SD12   ...
533    SX4   SDB4  BPM     SD10a    Q5     SD93 ...
534    BPM  SD42  SX3     SD8    Q4     SD7   ...
535    BEND    SD6     SX2      SD5     Q3     SD141 ...
536    BPM  SDB18  Q2     SD3   SX1     SD2     Q1 ...
537    SDC22 BPM];
538
539%THE STORAGE RING
540ELIST = [...
541    DEBUT ...
542    SECT1 SDL01d SUP1 ...
543    SECT2 SDL05 SUP2 ...
544    SECT3 SDL09 SUP3 ...
545    SECT4 SDL13 SUP4 SDL01u  ...
546    FIN];
547
548buildlat(ELIST);
549
550% Set all magnets to same energy
551THERING = setcellstruct(THERING,'Energy',1:length(THERING),GLOBVAL.E0);
552
553ATIndexList = atindex;
554
555% set nanoscopium triplets upstream and downstream of SDL13
556THERING = setNanoscopium(THERING,ATIndexList);
557
558% set PX2 tuner chicane
559%THERING{ATIndexList.PX2C(1)}.KickAngle(1) =  -2.25e-3; % rad
560%THERING{ATIndexList.PX2C(2)}.KickAngle(1) = 2*2.25e-3; % rad
561%THERING{ATIndexList.PX2C(3)}.KickAngle(1) =  -2.25e-3; % rad
562
563%% set NANOSCOPIUM tuner magnets
564THERING{ATIndexList.NANOC(1)}.KickAngle(1) =  -5.00e-6*0; % rad
565THERING{ATIndexList.NANOC(2)}.KickAngle(1) =   2.25e-6*0; % rad
566THERING{ATIndexList.NANOC(3)}.KickAngle(1) =  -1.25e-6*0; % rad
567THERING{ATIndexList.NANOC(4)}.KickAngle(1) =  -2.25e-6*0; % rad
568
569evalin('caller','global THERING FAMLIST GLOBVAL');
570atsummary;
571
572
573if nargout
574    varargout{1} = THERING;
575end
576
577function THERING= setNanoscopium(THERING,ATIndexList)
578
579QP1N = -0.1272138E+01;
580QP2N =  0.1860390E+01;
581QP3N = -0.1142906E+01;
582THERING = setquad(THERING, ATIndexList.Q1(6), QP1N);
583THERING = setquad(THERING, ATIndexList.Q1(7), QP1N);
584THERING = setquad(THERING, ATIndexList.Q2(6), QP2N);
585THERING = setquad(THERING, ATIndexList.Q2(7), QP2N);
586THERING = setquad(THERING, ATIndexList.Q3(6), QP3N);
587THERING = setquad(THERING, ATIndexList.Q3(7), QP3N);
588
589function THERING = setquad(THERING, Idx, K)
590
591THERING{Idx}.K = K;
592THERING{Idx}.PolynomB(2) = K;
593fprintf('%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.