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