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