source: MML/trunk/machine/SOLEIL/StorageRing/Lattices/nano_8000_7000.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: 19.1 KB
Line 
1function varargout = nano_8000_7000
2%solamor2 - soleil lattice w/o ID
3% Lattice definition file
4% Lattice for SOLEIL: perfect lattice no magnetic errors
5
6% Compiled by Laurent Nadolski and Amor Nadji
7% 09/01/02, ALS
8% mai 2006 : mis à jour vraies cotes BPM, correcteurs, dipole (coins,
9% chamd de fuite et gradient)
10% A. Nadji et P. Brunelle
11% Controlroom : set linearpass for quad (closed orbit)
12%               No cavity; No Radiation PassMethod
13% April 20th 2007, Laurent S. nadolski
14% BPM downstream injection section had wrong location by
15% 30 mm, 2 FCOR in injection straight section was not at their proper
16% location
17% November 24th 2007, Laurent S. Nadolski
18% Bpms 5 on the wrong side of sextupole in cell 4, 8, 12 and 16
19% December 7th, 2007, Laurent S. Nadolski
20% Added KEM V & H, K1 & K2 markers modelled as thin element
21% October 1, 2008
22% Lattice with tunes 18.2020 and 10.3170
23% Octobre 27, 2008
24% Lattice with tunes 18.2020 and 10.3170
25% Lattice with chromaticities 2.0 and 2.0
26% March 4, 2009
27% FHCOR and FVCOR [1 1] steerer moved 2180 mm upstream,
28% closed to entrance of vertical kicker
29% March 2009 - New quadrupole model from MAT with intermediate length
30% June 2009 - magnetcoefficient with index June 9 was changed
31%             for sextupoles calibration
32%             for quadrupole Just all ranges for quad variation with fit are present
33% July 2009 - Add PX2 Chicane
34% December 2009 - Add Nanonscopium
35
36global FAMLIST THERING GLOBVAL
37
38GLOBVAL.E0 = 2.7391e9; % Ring energy
39GLOBVAL.LatticeFile = mfilename;
40FAMLIST = cell(0);
41
42disp(['** Loading SOLEIL magnet lattice ', mfilename]);
43
44L0 = 354.0968203999998;      % design length [m]
45C0 = 2.99792458e8;           % speed of light [m/s]
46HarmNumber = 416;
47
48%% Cavity
49%              NAME   L     U[V]       f[Hz]          h        method
50CAV = rfcavity('RF' , 0 , 4.0e+6 , HarmNumber*C0/L0, ...
51    HarmNumber ,'CavityPass');
52
53%% Marker and apertures
54SECT1  =  marker('SECT1', 'IdentityPass');
55SECT2  =  marker('SECT2', 'IdentityPass');
56SECT3  =  marker('SECT3', 'IdentityPass');
57SECT4  =  marker('SECT4', 'IdentityPass');
58DEBUT  =  marker('DEBUT', 'IdentityPass');
59FIN    =  marker('FIN', 'IdentityPass');
60
61INJ = aperture('INJ',[-0.035 0.035 -0.0125 0.0125],'AperturePass');
62
63%% Injection section
64PtINJ = marker('PtINJ', 'IdentityPass');
65K1 = marker('K1', 'IdentityPass');
66K2 = marker('K2', 'IdentityPass');
67K3 = marker('K3', 'IdentityPass');
68K4 = marker('K4', 'IdentityPass');
69
70%% BPM
71BPM    =  marker('BPM', 'IdentityPass');
72
73%% DRIFT SPACES
74
75SD1a = drift('SD1a',  1.4125, 'DriftPass');
76SD1b = drift('SD1b',  0.7575, 'DriftPass');
77SD2 = drift('SD2',  0.369900, 'DriftPass');
78SD3 = drift('SD3',   0.181900, 'DriftPass');
79SD5 = drift('SD5',  0.179900, 'DriftPass');
80SD6 = drift('SD6',  0.79000, 'DriftPass');
81SD7 = drift('SD7',  0.419900, 'DriftPass');
82SD8 = drift('SD8',  0.1799000, 'DriftPass');
83SD12= drift('SD12', 0.44990, 'DriftPass');
84SD1d = drift('SD1d',  0.5170, 'DriftPass');
85SD14a = drift('SD14a', 0.38500000, 'DriftPass');
86SD9a = drift('SD9a',  0.204200  , 'DriftPass');
87SD10a = drift('SD10a', 0.172300 , 'DriftPass');
88SDAC1 = drift('SDAC1', 1.48428  , 'DriftPass');
89SD13a= drift('SD13a', 3.141452  , 'DriftPass');
90SD1e = drift('SD1e',  5.6589, 'DriftPass');
91SD1c1 = drift('SD1c1',  0.8410, 'DriftPass'); % K3 - FCOR
92SD1c2 = drift('SD1c2',  0.601, 'DriftPass');  % FCOR KEMH
93SD1c3 = drift('SD1c3',  1.560, 'DriftPass');  % KEMH - K4
94SD91 = drift('SD91',  0.251240, 'DriftPass');
95SD41 = drift('SD41',  0.2521, 'DriftPass');
96SD42 = drift('SD42',  0.205, 'DriftPass');
97SD92 = drift('SD92',  0.204300, 'DriftPass');
98SD93 = drift('SD93',  0.251300  , 'DriftPass');
99SD43 = drift('SD43', 0.2051     , 'DriftPass');
100SD141 = drift('SD141', 0.431900, 'DriftPass');
101SDB1 = drift('SDB1', 0.29100, 'DriftPass');
102SDB2 = drift('SDB2', 0.16680000, 'DriftPass');
103SDB3 = drift('SDB3', 0.252,  'DriftPass');
104SDB4 = drift('SDB4', 0.2776 ,'DriftPass');
105SDB5 = drift('SDB5', 0.205  ,'DriftPass');
106SDB6 = drift('SDB6', 0.119800 ,'DriftPass');
107SDB7 = drift('SDB7', 0.166900 , 'DriftPass');
108SDB8 = drift('SDB8', 0.252 , 'DriftPass');
109SDB9 = drift('SDB9', 0.119800 ,'DriftPass');
110SDB10= drift('SDB10',0.166900 , 'DriftPass');
111SDB11= drift('SDB11',0.2519, 'DriftPass');
112SDB12= drift('SDB12',0.2049, 'DriftPass');
113SDB13= drift('SDB13',0.119800, 'DriftPass');
114SDB14= drift('SDB14',0.1668000, 'DriftPass');
115SDB15= drift('SDB15',0.252 , 'DriftPass');
116SDB17= drift('SDB17',0.205 , 'DriftPass');
117SDB18= drift('SDB18', 0.119900, 'DriftPass');
118SDC1 = drift('SDC1' , 0.241900,  'DriftPass');
119SDC2 = drift('SDC2' , 0.079000,  'DriftPass');
120SDC3 = drift('SDC3' , 0.078450, 'DriftPass');
121SDC4 = drift('SDC4' , 0.335800,  'DriftPass');
122SDC5 = drift('SDC5' , 0.084600,  'DriftPass');
123SDC6 = drift('SDC6' , 0.079000,   'DriftPass');
124SDC7 = drift('SDC7' , 0.342000,  'DriftPass');
125SDC8 = drift('SDC8' , 0.241900,  'DriftPass');
126SDC9 = drift('SDC9' , 0.079000, 'DriftPass');
127SDC10= drift('SDC10',0.07845, 'DriftPass');
128SDC11= drift('SDC11',0.2419000  , 'DriftPass');
129SDC12= drift('SDC12',0.3358 , 'DriftPass');
130SDC13= drift('SDC13',0.0846 , 'DriftPass');
131SDC14= drift('SDC14',0.0788 , 'DriftPass');
132SDC15= drift('SDC15',0.3422 , 'DriftPass');
133SDC16= drift('SDC16',0.241900  , 'DriftPass');
134SDC17= drift('SDC17',0.079  , 'DriftPass');
135SDC18= drift('SDC18',0.07845, 'DriftPass');
136SDC19= drift('SDC19',0.24190  , 'DriftPass');
137SDC20= drift('SDC20',0.241900  , 'DriftPass');
138SDC21= drift('SDC21',0.079  , 'DriftPass');
139SDC22= drift('SDC22',0.29090  , 'DriftPass');
140SDC24= drift('SDC24',1.379  , 'DriftPass');
141%SDC23a= drift('SDC23a',0.632  , 'DriftPass'); % BPM - K1
142SDC23b= drift('SDC23b',1.983  , 'DriftPass'); % K1 - KEMV
143SDC23c= drift('SDC23c',1.019  , 'DriftPass'); % KEMV - K2
144SDC23d= drift('SDC23d',0.676  , 'DriftPass'); % K2 - FCOR
145SDC23e= drift('SDC23a',0.147  , 'DriftPass'); % BPM - FCOR [1 1]
146SDC23f= drift('SDC23a',0.485  , 'DriftPass'); % FCOR [1 1] next SD
147SDPX2a= drift('SDC23a',0.363902, 'DriftPass'); % FCOR [1 1] next SD
148SDPX2b= drift('SDC23a',2.85755, 'DriftPass'); % FCOR [1 1] next SD
149SDPX2c= drift('SDC23a', 0.203902, 'DriftPass'); % FCOR [1 1] next SD
150% nanoscopium
151SDNSC1 = drift('SDNSC', 4.5888, 'DriftPass');
152SDNSC2 = drift('SDNSC', 0.4618, 'DriftPass');
153
154% HU640 straight section
155SDHU640a = drift('SDHU640a',  1.7394, 'DriftPass');
156SDHU640b = drift('SDHU640b',  0.64, 'DriftPass');
157SDHU640c = drift('SDHU640c',  3.2795, 'DriftPass');
158SDHU640d = drift('SDHU640d',  3.1195, 'DriftPass');
159SDHU640e = drift('SDHU640e',  0.64, 'DriftPass');
160SDHU640f = drift('SDHU640f',  1.8994, 'DriftPass');
161
162%% QUADRUPOLES (compensation de l'effet des défauts de focalisation des
163LQC = 0.180100E+00*2;
164LQL = 0.248100E+00*2;
165Q1   =  quadrupole('Q1' , LQC, -0.9527683E+00  , 'QuadLinearPass');
166Q2   =  quadrupole('Q2' , LQL,  0.1598928E+01  , 'QuadLinearPass');
167Q3   =  quadrupole('Q3' , LQC, -0.8473198E+00  , 'QuadLinearPass');
168Q4   =  quadrupole('Q4' , LQC, -0.1150083E+01  , 'QuadLinearPass');
169Q5   =  quadrupole('Q5' , LQC,  0.1669337E+01  , 'QuadLinearPass');
170Q6   =  quadrupole('Q6' , LQC, -0.1178571E+01  , 'QuadLinearPass');
171Q7   =  quadrupole('Q7' , LQL,  0.2052188E+01  , 'QuadLinearPass');
172Q8   =  quadrupole('Q8' , LQC, -0.1414855E+01  , 'QuadLinearPass');
173Q9   =  quadrupole('Q9' , LQC, -0.1425395E+01  , 'QuadLinearPass');
174Q10  =  quadrupole('Q10', LQC,  0.1743898E+01  , 'QuadLinearPass');
175Q11  =  quadrupole('Q11', LQC, -0.1810631E+01  , 'QuadLinearPass');
176Q12  =  quadrupole('Q12', LQL,  0.1790518E+01  , 'QuadLinearPass');
177
178
179%% SEXTUPOLES chromaticités nulles dans TracyII
180%avec defauts de focalisation des dipoles
181%P. Brunelle 02/05/06
182F = 1e8;
183Finv = 1/F;
184
185S1  =  sextupole('S1' , Finv,  0.1952628e+00*F*5, 'StrMPoleSymplectic4Pass');
186S2  =  sextupole('S2' , Finv, -0.7135306e+00*F*5, 'StrMPoleSymplectic4Pass');
187S3  =  sextupole('S3' , Finv, -0.5408313e+00*F*5, 'StrMPoleSymplectic4Pass');
188S4  =  sextupole('S4' , Finv,  0.7941869e+00*F*5, 'StrMPoleSymplectic4Pass');
189S5  =  sextupole('S5' , Finv, -0.7701763e+00*F*5, 'StrMPoleSymplectic4Pass');
190S6  =  sextupole('S6' , Finv,  0.6866159e+00*F*5, 'StrMPoleSymplectic4Pass');
191S7  =  sextupole('S7' , Finv, -0.9426360e+00*F*5, 'StrMPoleSymplectic4Pass');
192S8  =  sextupole('S8' , Finv,  0.8803615e+00*F*5, 'StrMPoleSymplectic4Pass');
193S9  =  sextupole('S9' , Finv, -0.5099194e+00*F*5, 'StrMPoleSymplectic4Pass');
194S10 =  sextupole('S10', Finv,  0.3673909e+00*F*5, 'StrMPoleSymplectic4Pass');
195
196%% Skew quadrupoles
197QT    =  skewquad('SkewQuad', 1e-8, 0.0, 'StrMPoleSymplectic4Pass');
198QTPX2    =  skewquad('QTPX2', 1e-10, 0.0, 'StrMPoleSymplectic4Pass');
199
200%% Slow feedback correctors
201COR  =  corrector('COR',0.0,[0 0],'CorrectorPass');
202
203%% PX2C H-correctors
204PX2 =  corrector('PX2C',0.0,[0 0],'CorrectorPass');
205PX2C= [QTPX2 PX2];
206
207%% Machine study kickers
208KEMH =  corrector('KEMH',0.0,[0 0],'CorrectorPass');
209KEMV =  corrector('KEMV',0.0,[0 0],'CorrectorPass');
210
211%% HU640
212HCMHU640 =  corrector('HCMHU640',0.0,[0 0],'CorrectorPass');
213VCMHU640 =  corrector('VCMHU640',0.0,[0 0],'CorrectorPass');
214
215HU640upstream   = [SDHU640a VCMHU640 SDHU640b HCMHU640 SDHU640c];
216HU640downstream = [SDHU640d HCMHU640 SDHU640e VCMHU640 SDHU640f];
217
218%% Fast feedback correctors
219FCOR =  corrector('FCOR',0.0,[0 0],'CorrectorPass');
220
221SX1   = [S1  COR  QT];
222SX2   = [S2  COR  QT];
223SX3   = [S3  COR  QT];
224SX4   = [S4  COR  QT];
225SX5   = [S5  COR  QT];
226SX6   = [S6  COR  QT];
227SX7   = [S7  COR  QT];
228SX8   = [S8  COR  QT];
229SX9   = [S9  COR  QT];
230SX10  = [S10 COR  QT];
231
232%% DIPOLES
233%BEND  =  rbend('BEND'  , 1.05243,  ...
234% 0.19635, 0.098175, 0.098175, 0.0,'BendLinearPass');
235
236%% DIPOLES
237% {** 1.3815 factor to fit with BETA ??? strange **}
238%theta = 2*pi/32;
239%fullgap = 0.105*0.724*2/6*1.3815*0.;
240% BEND  =  rbend2('BEND', L, theta, theta/2, theta/2, 0.0, ...
241%                 fullgap,'BendLinearFringeTiltPass');
242theta = 2*pi/32;
243%theta2 = theta/2;
244thetae = theta/2 - 0.6e-3*1;
245thetas = theta/2 + 0.9e-3*1;
246K = 0.00204*1;
247fullgap = 0.037*0.724*2*1;
248BEND  =  rbend2('BEND', 1.05243, theta, thetae, thetas, K,fullgap,'BendLinearPass');
249
250
251%% Lattice
252% Superperiods
253
254SUP1  = [...
255    SD1a   PtINJ   SD1b   K3  SD1c1 FCOR  SD1c2  KEMH SD1c3   K4     SD1d ...
256    BPM  SDB1   Q1     SD2    SX1   SD3     Q2 ...
257    SDB2  BPM    SD14a   Q3      SD5    SX2    SD6 ...
258    BEND    SD7     Q4  SD8     SX3    ...
259    SDB3  BPM     SD9a   Q5     SD12  SX4 ...
260    SDB4  BPM     SD10a    Q5     SD91     ...
261    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
262    SD7     Q6      SD5    SX5     SD41    ...
263    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
264    SDC1 FCOR SDC2   BPM    SD13a  SD13a BPM ...
265    SDC3    FCOR   SDC1 ...
266    Q8      SD2    SX8     SD3    Q7  SDB7 ...
267    BPM   SD42     SX7      SD5     Q6     SD7 ...
268    BEND   SD7    Q9    SD8     SX9  SDB8 ...
269    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
270    FCOR SDC5  BPM   SDAC1    SDAC1 ...
271    BPM   SDC6  FCOR  SDC7 SX10    SD8    Q10    SD91 ...
272    BPM   SD42  SX9      SD8     Q9     SD7    ...
273    BEND   SD7    Q6    SD5     SX7    SD41   ...
274    BPM  SDB9  Q7      SD3    SX8    SD2   Q8 SDC8 ...
275    FCOR  SDC9  BPM     SD13a    SD13a  ...
276    BPM  SDC10   FCOR  SDC11  Q8     SD2   SX8   SD3   Q7 ...
277    SDB10  BPM   SD42    SX7    SD5   Q6      SD7  ...
278    BEND    SD7     Q9     SD8     SX9  SDB11    ...
279    BPM    SD92   Q10     SD8     SX10 SDC12 ...
280    FCOR  SDC13  BPM    SDAC1    SDAC1   ...
281    BPM  SDC14  FCOR   SDC15   SX10   SD8     Q10    SD93 ...
282    BPM  SDB12  SX9    SD8   Q9      SD7 ...
283    BEND    SD7    Q6      SD5    SX7    SD41 ...
284    BPM  SDB13   Q7      SD3    SX8     SD2    Q8  SDC16 ...
285    FCOR SDC17  BPM    SD13a SD13a   ...
286    BPM   SDC18  FCOR  SDC19   Q8     SD2     SX6    SD3    Q7 ...
287    SDB14  BPM    SD43    SX5     SD5    Q6      SD7    ...
288    BEND   SD7   Q4      SD8     SX3  SDB15 ...
289    BPM     SD9a   Q5      SD12   ...
290    SX4  SDB4  BPM     SD10a Q5     SD93 ...
291    BPM  SDB17  SX3     SD8    Q4     SD7   ...
292    BEND    SD6     SX2      SD5     Q3     SD141 ...
293    BPM  SDB18  Q2     SD3   SX1     SD2     Q1 ...
294    SDC20 FCOR  SDC21   BPM     HU640upstream  ];
295
296SUP2  = [  ...
297    HU640downstream  BPM SDC2 FCOR SDC1   ...
298    Q1     SD2    SX1   SD3     Q2 ...
299    SDB7  BPM    SD14a   Q3      SD5    SX2    SD6 ...
300    BEND    SD7     Q4  SD8     SX3    ...
301    SDB3  BPM     SD9a   Q5     SD12  SX4 ...
302    SDB4  BPM     SD10a    Q5     SD93     ...
303    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
304    SD7     Q6      SD5    SX5     SD41    ...
305    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
306    SDC1 FCOR SDC2   BPM    SD13a  SD13a  BPM ...
307    SDC2    FCOR   SDC1 ...
308    Q8      SD2    SX8     SD3    Q7  SDB7 ...
309    BPM   SDB5     SX7      SD5     Q6     SD7 ...
310    BEND   SD7    Q9    SD8     SX9  SDB3 ...
311    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
312    FCOR SDC5  BPM   SDAC1    SDAC1 ...
313    BPM   SDC14  FCOR  SDC15 SX10    SD8    Q10    SD93 ...
314    BPM   SDB12  SX9      SD8     Q9     SD7    ...
315    BEND   SD7    Q6    SD5     SX7    SD41   ...
316    BPM  SDB6  Q7      SD3    SX8    SD2   Q8 SDC1 ...
317    FCOR  SDC2  BPM     SD13a  SD13a  ...
318    BPM  SDC2   FCOR  SDC1  Q8     SD2   SX8   SD3   Q7 ...
319    SDB7  BPM   SDB5    SX7    SD5   Q6      SD7  ...
320    BEND    SD7     Q9     SD8     SX9   SDB3    ...
321    BPM    SD9a   Q10     SD8     SX10  SDC4 ...
322    FCOR  SDC5  BPM    SDAC1    SDAC1   ...
323    BPM  SDC14  FCOR   SDC15   SX10   SD8     Q10    SD93 ...
324    BPM  SDB12  SX9    SD8   Q9      SD7 ...
325    BEND    SD7    Q6      SD5    SX7    SD41 ...
326    BPM  SDB6   Q7      SD3    SX8     SD2    Q8  SDC1 ...
327    FCOR SDC2  BPM    SD13a   SD13a   ...
328    BPM   SDC2  FCOR  SDC1   Q8     SD2     SX6    SD3    Q7 ...
329    SDB7  BPM    SD42    SX5     SD5    Q6      SD7    ...
330    BEND   SD7   Q4      SD8     SX3  SDB3 ...
331    BPM     SD9a   Q5      SD12   ...
332    SX4   SDB4  BPM     SD10a   Q5     SD93 ...
333    BPM  SD42  SX3     SD8    Q4     SD7   ...
334    BEND    SD6     SX2      SD5     Q3     SD141 ...
335    BPM  SDB18  Q2     SD3   SX1     SD2     Q1 ...
336    SDC1 FCOR  SDC2   BPM     SD1e  ];
337
338SUP3  = [  ...
339    SD1e  BPM SDC2 FCOR SDC1   ...
340    Q1     SD2    SX1   SD3     Q2 ...
341    SDB7  BPM    SD14a   Q3      SD5    SX2    SD6 ...
342    BEND    SD7     Q4  SD8     SX3    ...
343    SDB3  BPM     SD9a   Q5     SD12  SX4 ...
344    SDB4  BPM     SD10a    Q5     SD93     ...
345    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
346    SD7     Q6      SD5    SX5     SD41    ...
347    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
348    SDC1 FCOR SDC2   BPM    SD13a  SD13a  BPM ...
349    SDC2    FCOR   SDC1 ...
350    Q8      SD2    SX8     SD3    Q7  SDB7 ...
351    BPM   SDB5     SX7      SD5     Q6     SD7 ...
352    BEND   SD7    Q9    SD8     SX9  SDB3 ...
353    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
354    FCOR SDC5  BPM   SDAC1    SDAC1 ...
355    BPM   SDC14  FCOR  SDC15 SX10    SD8    Q10    SD93 ...
356    BPM   SDB12  SX9      SD8     Q9     SD7    ...
357    BEND   SD7    Q6    SD5     SX7    SD41   ...
358    BPM  SDB6  Q7      SD3    SX8    SD2   Q8 SDC1 ...
359    FCOR  SDC2  BPM     SDPX2a PX2C SDPX2b PX2C SDPX2b PX2C SDPX2c  ...
360    BPM  SDC2   FCOR  SDC1  Q8     SD2   SX8   SD3   Q7 ...
361    SDB7  BPM   SDB5    SX7    SD5   Q6      SD7  ...
362    BEND    SD7     Q9     SD8     SX9   SDB3    ...
363    BPM    SD9a   Q10     SD8     SX10  SDC4 ...
364    FCOR  SDC5  BPM    SDAC1    SDAC1   ...
365    BPM  SDC14  FCOR   SDC15   SX10   SD8     Q10    SD93 ...
366    BPM  SDB12  SX9    SD8   Q9      SD7 ...
367    BEND    SD7    Q6      SD5    SX7    SD41 ...
368    BPM  SDB6   Q7      SD3    SX8     SD2    Q8  SDC1 ...
369    FCOR SDC2  BPM    SD13a   SD13a   ...
370    BPM   SDC2  FCOR  SDC1   Q8     SD2     SX6    SD3    Q7 ...
371    SDB7  BPM    SD42    SX5     SD5    Q6      SD7    ...
372    BEND   SD7   Q4      SD8     SX3  SDB3 ...
373    BPM     SD9a   Q5      SD12   ...
374    SX4   SDB4  BPM     SD10a    Q5     SD93 ...
375    BPM  SD42  SX3     SD8    Q4     SD7   ...
376    BEND    SD6     SX2      SD5     Q3     SD141 ...
377    BPM  SDB18  Q2     SD3   SX1     SD2     Q1 ...
378    SDC1 FCOR  SDC2   BPM     SDNSC1 Q11 SDNSC2 Q12];
379%    SDC1 FCOR  SDC2   BPM     SD1e  ];
380
381%SUP4  = [  ...
382%    SD1e  BPM SDC2 FCOR SDC1   ...
383SUP4  = [  ...
384    SDNSC2 Q11 SDNSC1 BPM SDC2 FCOR SDC1   ...
385    Q1     SD2    SX1   SD3     Q2 ...
386    SDB7  BPM    SD14a   Q3      SD5    SX2    SD6 ...
387    BEND    SD7     Q4  SD8     SX3    ...
388    SDB3  BPM     SD9a   Q5     SD12  SX4 ...
389    SDB4  BPM     SD10a    Q5     SD93     ...
390    BPM  SDB5  SX3    SD8   Q4      SD7     BEND ...
391    SD7     Q6      SD5    SX5     SD41    ...
392    BPM  SDB6  Q7    SD3     SX6      SD2     Q8 ...
393    SDC1 FCOR SDC2   BPM    SD13a  SD13a  BPM ...
394    SDC2    FCOR   SDC1 ...
395    Q8      SD2    SX8     SD3    Q7  SDB7 ...
396    BPM   SDB5     SX7      SD5     Q6     SD7 ...
397    BEND   SD7    Q9    SD8     SX9  SDB3 ...
398    BPM     SD9a    Q10    SD8     SX10  SDC4  ...
399    FCOR SDC5  BPM   SDAC1    SDAC1 ...
400    BPM   SDC14  FCOR  SDC15 SX10    SD8    Q10    SD93 ...
401    BPM   SDB12  SX9      SD8     Q9     SD7    ...
402    BEND   SD7    Q6    SD5     SX7    SD41   ...
403    BPM  SDB6  Q7      SD3    SX8    SD2   Q8 SDC1 ...
404    FCOR  SDC2  BPM     SD13a  SD13a  ...
405    BPM  SDC2   FCOR  SDC1  Q8     SD2   SX8   SD3   Q7 ...
406    SDB7  BPM   SDB5    SX7    SD5   Q6      SD7  ...
407    BEND    SD7     Q9     SD8     SX9   SDB3    ...
408    BPM    SD9a   Q10     SD8     SX10  SDC4 ...
409    FCOR  SDC5  BPM    SDAC1    SDAC1   ...
410    BPM  SDC14  FCOR   SDC15   SX10   SD8     Q10    SD93 ...
411    BPM  SDB12  SX9    SD8   Q9      SD7 ...
412    BEND    SD7    Q6      SD5    SX7    SD41 ...
413    BPM  SDB6   Q7      SD3    SX8     SD2    Q8  SDC1 ...
414    FCOR SDC2  BPM    SD13a   SD13a   ...
415    BPM   SDC2  FCOR  SDC1   Q8     SD2     SX6    SD3    Q7 ...
416    SDB7  BPM    SD42    SX5     SD5    Q6      SD7    ...
417    BEND   SD7   Q4      SD8     SX3  SDB3 ...
418    BPM     SD9a   Q5      SD12   ...
419    SX4   SDB4  BPM     SD10a    Q5     SD93 ...
420    BPM  SD42  SX3     SD8    Q4     SD7   ...
421    BEND    SD6     SX2      SD5     Q3     SD141 ...
422    BPM  SDB18  Q2     SD3   SX1     SD2     Q1 ...
423    SDC22   BPM  SDC23e  FCOR SDC23f K1 SDC23b ...
424    KEMV SDC23c K2 SDC23d SDC24];
425
426
427ELIST = [DEBUT INJ SECT1 SUP1 SECT2 SUP2 SECT3 SUP3 SECT4 SUP4 CAV FIN];
428%ELIST = [DEBUT INJ SECT1 SUP1 SECT2 SUP2 SECT3 SUP3 SECT4 SUP4 FIN];
429
430buildlat(ELIST);
431
432% Set all magnets to same energy
433THERING = setcellstruct(THERING,'Energy',1:length(THERING),GLOBVAL.E0);
434
435ATIndexList = atindex;
436% set PX2 chicane
437THERING{ATIndexList.PX2C(1)}.KickAngle(1) =  -2.25e-3; % rad
438THERING{ATIndexList.PX2C(2)}.KickAngle(1) = 2*2.25e-3; % rad
439THERING{ATIndexList.PX2C(3)}.KickAngle(1) =  -2.25e-3; % rad
440
441evalin('caller','global THERING FAMLIST GLOBVAL');
442
443% set nanoscopium triplets upstream and downstream of SDL13
444THERING = setNanoscopium(THERING,ATIndexList);
445
446atsummary;
447
448if nargout
449    varargout{1} = THERING;
450end
451
452function THERING= setNanoscopium(THERING,ATIndexList)
453
454QP1N = -0.1060290E+01 ;
455QP2N =  0.1758813E+01 ;
456QP3N = -0.1221282E+01 ;
457THERING = setquad(THERING, ATIndexList.Q1(6), QP1N);
458THERING = setquad(THERING, ATIndexList.Q1(7), QP1N);
459THERING = setquad(THERING, ATIndexList.Q2(6), QP2N);
460THERING = setquad(THERING, ATIndexList.Q2(7), QP2N);
461THERING = setquad(THERING, ATIndexList.Q3(6), QP3N);
462THERING = setquad(THERING, ATIndexList.Q3(7), QP3N);
463
464function THERING = setquad(THERING, Idx, K)
465
466THERING{Idx}.K = K;
467THERING{Idx}.PolynomB(2) = K;
468fprintf('%s %03d %+f %+f\n', THERING{Idx}.FamName, Idx, THERING{Idx}.K, THERING{Idx}.PolynomB(2));
469
Note: See TracBrowser for help on using the repository browser.