source: MML/trunk/machine/SOLEIL/StorageRing/insertions/idGetGeomParamForUndSOLEIL.m @ 4

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

Initial import--MML version from SOLEIL@2013

File size: 13.1 KB
Line 
1function outStruct = idGetGeomParamForUndSOLEIL(idName)
2%This should be updated for each new undulator
3 
4outStruct.sectLenBwBPMs = 2.*3.14155; %[m] straight section length between BPMs
5outStruct.idCenPos = 1.333; %[m] center longitudinal position of the ID with respect to the straight section center
6outStruct.idLen = 1.8; %[m] ID length
7outStruct.idKickOfst = 0.2; %[m] offset from ID edge to effective position of a "kick"
8outStruct.indUpstrBPM = 54; %absolute index of BPM at the upstream edge of the straight section where the ID is located
9outStruct.indRelBPMs = [8 1;8 2]; %relative indexes of upstream and downstream BPMs of the straight section where the ID is located
10
11if strncmp(idName, 'WSV50', 3)
12    %To be checked by Chams and Pascale B.
13        outStruct.sectLenBwBPMs = 2.4; %[m] straight section length between BPMs
14        outStruct.idCenPos = 0; %[m] center longitudinal position of the ID with respect to the straight section center
15        outStruct.idLen = 2; %[m] ID length
16        outStruct.idKickOfst = 0.1; %[m] offset from ID edge to effective position of a "kick"
17    outStruct.indUpstrBPM = 19; % absolute index of BPM at the upstream edge of the straight section where the ID is located
18    outStruct.indRelBPMs = [3 5;3 6];
19end
20
21if strncmp(idName, 'U20', 3)
22    %To be checked by Chams and Pascale B.
23        outStruct.sectLenBwBPMs = 2.4; %[m] straight section length between BPMs
24        outStruct.idCenPos = 0; %[m] center longitudinal position of the ID with respect to the straight section center
25        outStruct.idLen = 2; %[m] ID length
26        outStruct.idKickOfst = 0.1; %[m] offset from ID edge to effective position of a "kick"
27
28    if strcmp(idName, 'U20_PROXIMA1')
29        outStruct.indUpstrBPM = 71; % absolute index of BPM at the upstream edge of the straight section where the ID is located
30        outStruct.indRelBPMs = [10 5;10 6];
31    elseif strcmp(idName, 'U20_SWING')
32        outStruct.indUpstrBPM = 79; % absolute index of BPM at the upstream edge of the straight section where the ID is located
33        outStruct.indRelBPMs = [11 5;11 6];
34    elseif strcmp(idName, 'U20_CRISTAL')
35        outStruct.indUpstrBPM = 41; % absolute index of BPM at the upstream edge of the straight section where the ID is located
36        outStruct.indRelBPMs = [6 5;6 6];
37    elseif strcmp(idName, 'U20_SIXS')
38        outStruct.indUpstrBPM = 101; % absolute index of BPM at the upstream edge of the straight section where the ID is located
39        outStruct.indRelBPMs = [14 5;14 6];       
40    elseif strcmp(idName, 'U20_GALAXIES')
41        outStruct.indUpstrBPM = 49; % absolute index of BPM at the upstream edge of the straight section where the ID is located
42        outStruct.indRelBPMs = [7 5;7 6];       
43    end
44elseif strncmp(idName, 'U24', 3)
45    %To be checked by Chams and Pascale B.
46        outStruct.sectLenBwBPMs = 2.*3.14155; %2.4; modified the 12/11/08 % [m] straight section length between BPMs, modified the 12/11/08
47        outStruct.idCenPos = 0; %[m] center longitudinal position of the ID with respect to the straight section center
48        outStruct.idLen = 2; %[m] ID length
49        outStruct.idKickOfst = 0.1; %[m] offset from ID edge to effective position of a "kick"
50
51    if strcmp(idName, 'U24_PROXIMA2-A')
52        outStruct.indUpstrBPM = 75; % absolute index of BPM at the upstream edge of the straight section where the ID is located
53% position de l'onduleur a determiner par Olivier
54        outStruct.idCenPos = 1.52; % 1.8; modified the 12/11/08 %[m] center longitudinal position of the ID with respect to the straight section center
55%------------------------------------------------
56        outStruct.indRelBPMs = [11 5;11 6];
57    elseif strcmp(idName, 'Uxx_PROXIMA2-B')
58        outStruct.indUpstrBPM = 75; % absolute index of BPM at the upstream edge of the straight section where the ID is located
59 % position de l'onduleur a determiner par Olivier
60        outStruct.idCenPos = -1.360 ; %-1.8; modified the 12/11/08; %[m] center longitudinal position of the ID with respect to the straight section center
61%------------------------------------------------
62        outStruct.indRelBPMs = [11 5;11 6];
63    end
64elseif strncmp(idName, 'HU80', 4)
65    outStruct.sectLenBwBPMs = 2.*3.14155; %[m] straight section length between BPMs
66    outStruct.idCenPos = 1.3325;% 1.333; modified the 12/11/08 %[m] center longitudinal position of the ID with respect to the straight section center
67    outStruct.idLen = 1.8; %[m] ID length
68    outStruct.idKickOfst = 0.2; %[m] offset from ID edge to effective position of a "kick"
69
70    if strcmp(idName, 'HU80_TEMPO')
71        outStruct.indUpstrBPM = 53; %absolute index of BPM at the upstream edge of the straight section where the ID is located
72        outStruct.idCenPos = 1.3325; % modified the 12/11/081.333; %[m] center longitudinal position of the ID with respect to the straight section center
73        outStruct.indRelBPMs = [8 1;8 2];
74    elseif strcmp(idName, 'HU80_PLEIADES')
75        outStruct.indUpstrBPM = 23; %absolute index of BPM at the upstream edge of the straight section where the ID is located
76        outStruct.idCenPos = -1.83; % modified the 12/11/08 -1.8; %[m] center longitudinal position of the ID with respect to the straight section center
77        outStruct.indRelBPMs = [4 1;4 2];
78     elseif strcmp(idName, 'HU80_SEXTANTS')
79        outStruct.indUpstrBPM = 97; % absolute index of BPM at the upstream edge of the straight section where the ID is located
80        outStruct.idCenPos = -1.8; %[m] center longitudinal position of the ID with respect to the straight section center
81        outStruct.indRelBPMs = [14 1;14 2];
82    end
83   % elseif strcmp(idName, 'HU80_MICROFOC')
84   %     outStruct.indUpstrBPM = 97; % absolute index of BPM at the upstream edge of the straight section where the ID is located
85   %     outStruct.idCenPos = -1.8; %[m] center longitudinal position of the ID with respect to the straight section center
86   %     outStruct.indRelBPMs = [14 1;14 2];
87   % end
88elseif strncmp(idName, 'HU52', 4)
89    outStruct.sectLenBwBPMs = 2.*3.14155; %[m] straight section length between BPMs
90    outStruct.idCenPos =  1.3325; % modified the 12/11/08 1.333; %[m] center longitudinal position of the ID with respect to the straight section center
91    outStruct.idLen = 1.8; %[m] ID length
92    outStruct.idKickOfst = 0.2; %[m] offset from ID edge to effective position of a "kick"
93
94    if strcmp(idName, 'HU52_DEIMOS')
95        outStruct.indUpstrBPM = 45; % absolute index of BPM at the upstream edge of the straight section where the ID is located
96        outStruct.idCenPos = 0.0; %[m] center longitudinal position of the ID with respect to the straight section center
97        outStruct.indRelBPMs = [7 1;7 2];
98    elseif strcmp(idName, 'HU52_LUCIA')
99        outStruct.indUpstrBPM = 113; % absolute index of BPM at the upstream edge of the straight section where the ID is located
100        outStruct.idCenPos = 0; %[m] center longitudinal position of the ID with respect to the straight section center
101        outStruct.indRelBPMs = [16 1;16 2];
102    end
103elseif strncmp(idName, 'HU44', 4)
104    outStruct.sectLenBwBPMs = 2.*3.14155; %[m] straight section length between BPMs
105    outStruct.idCenPos = 1.3325; % modified the 12/11/08 1.333; %[m] center longitudinal position of the ID with respect to the straight section center
106    outStruct.idLen = 1.8; %[m] ID length
107    outStruct.idKickOfst = 0.2; %[m] offset from ID edge to effective position of a "kick"
108
109    if strcmp(idName, 'HU44_MICROFOC')
110        outStruct.indUpstrBPM = 97; % absolute index of BPM at the upstream edge of the straight section where the ID is located
111        outStruct.idCenPos = 0; %[m] center longitudinal position of the ID with respect to the straight section center
112        outStruct.indRelBPMs = [14 1;14 2];
113    elseif strcmp(idName, 'HU44_TEMPO')
114        outStruct.indUpstrBPM = 53; % absolute index of BPM at the upstream edge of the straight section where the ID is located
115        outStruct.idCenPos = 0.4165; % modified the 12/11/08 -0.4165; %[m] center longitudinal position of the ID with respect to the straight section center
116        outStruct.indRelBPMs = [8 1;8 2];
117    end
118elseif strncmp(idName, 'HU36', 4)
119    outStruct.sectLenBwBPMs = 2.9686; %[m] straight section length between BPMs
120    outStruct.idLen = 1.65; %[m] ID length
121    outStruct.idKickOfst = 0.2; %[m] offset from ID edge to effective position of a "kick"
122
123    if strcmp(idName, 'HU36_SIRIUS')
124        outStruct.indUpstrBPM = 111; % absolute index of BPM at the upstream edge of the straight section where the ID is located
125        outStruct.idCenPos = 0; %[m] center longitudinal position of the ID with respect to the straight section center
126        outStruct.indRelBPMs = [15 5;15 6];
127    end
128elseif strncmp(idName, 'HU42', 4)
129    outStruct.sectLenBwBPMs = 2.*3.14155; %[m] straight section length between BPMs
130    outStruct.idCenPos =  1.3325; % modified the 12/11/08 1.333; %[m] center longitudinal position of the ID with respect to the straight section center
131    outStruct.idLen = 1.8; %[m] ID length
132    outStruct.idKickOfst = 0.2; %[m] offset from ID edge to effective position of a "kick"
133
134    if strcmp(idName, 'HU42_HERMES')
135        outStruct.indUpstrBPM = 67; % absolute index of BPM at the upstream edge of the straight section where the ID is located
136        outStruct.idCenPos = 0.0; %[m] center longitudinal position of the ID with respect to the straight section center
137        outStruct.indRelBPMs = [10 1;10 2];
138    elseif strcmp(idName, 'HU42_xxx')
139        outStruct.indUpstrBPM = 113; % absolute index of BPM at the upstream edge of the straight section where the ID is located
140        outStruct.idCenPos = 0; %[m] center longitudinal position of the ID with respect to the straight section center
141        outStruct.indRelBPMs = [16 1;16 2];
142    end
143elseif strncmp(idName, 'HU60', 4)
144    outStruct.sectLenBwBPMs = 2.*3.14155; %[m] straight section length between BPMs
145    outStruct.idCenPos = 1.333; %[m] center longitudinal position of the ID with respect to the straight section center
146    outStruct.idLen = 1.8; %[m] ID length
147    outStruct.idKickOfst = 0.2; %[m] offset from ID edge to effective position of a "kick"
148
149    if strcmp(idName, 'HU60_CASSIOPEE')
150        outStruct.indUpstrBPM = 105; % absolute index of BPM at the upstream edge of the straight section where the ID is located
151        outStruct.idCenPos = -1.80; %[m] center longitudinal position of the ID with respect to the straight section center
152        outStruct.indRelBPMs = [15 1;15 2];
153    elseif strcmp(idName, 'HU60_ANTARES')
154        outStruct.indUpstrBPM = 83; % absolute index of BPM at the upstream edge of the straight section where the ID is located
155        outStruct.idCenPos = -1.83; % modified the 12/11/08 -1.80; % a verifier lors de l'installation[m] center longitudinal position of the ID with respect to the straight section center
156        outStruct.indRelBPMs = [12 1;12 2];
157    end
158
159elseif strncmp(idName, 'HU256', 5)
160    outStruct.sectLenBwBPMs = 2.*3.14155; %[m] straight section length between BPMs
161    outStruct.idCenPos = 0.8945; %[m] center longitudinal position of the ID with respect to the straight section center
162    outStruct.idLen = 3.392; %[m] ID length
163        outStruct.idKickOfst = 0; %[m] offset from ID edge to effective position of a "kick"
164    if strcmp(idName, 'HU256_CASSIOPEE')
165        outStruct.indUpstrBPM = 105; %absolute index of BPM at the upstream edge of the straight section where the ID is located
166        outStruct.indRelBPMs = [15 1;15 2];
167    elseif strcmp(idName, 'HU256_PLEIADES')
168        outStruct.indUpstrBPM = 23;
169        outStruct.indRelBPMs = [4 1;4 2];
170    elseif strcmp(idName, 'HU256_ANTARES')
171        outStruct.indUpstrBPM = 83;
172        outStruct.indRelBPMs = [12 1;12 2];
173    end
174elseif strcmp(idName, 'HU640_DESIRS')
175    %To be checked by Olivier and Pascale B.
176        outStruct.sectLenBwBPMs = 11.318; %to check ! [m] straight section length between BPMs
177    outStruct.idCenPos = 0; %[m] center longitudinal position of the ID with respect to the straight section center
178    outStruct.idLen = 10.4; %to check ! [m] ID length
179    outStruct.idKickOfst = 0.32; %[m] offset from ID edge to effective position of a "kick"
180        outStruct.indUpstrBPM = 30; %absolute index of BPM at the upstream edge of the straight section where the ID is located
181        outStruct.indRelBPMs = [5 1;5 2];
182elseif strcmp(idName, 'U18_TOMO')
183    outStruct.sectLenBwBPMs = 4.267; %[m] straight section length between BPMs
184        outStruct.idCenPos = 3.3062; %[m] center longitudinal position of the ID with respect to the straight section center
185        outStruct.idLen = 2; %[m] ID length
186        outStruct.idKickOfst = 0.1; %[m] offset from ID edge to effective position of a "kick"   
187    outStruct.indUpstrBPM = 92; % absolute index of BPM at the upstream edge of the straight section where the ID is located
188        outStruct.indRelBPMs = [13 9;13 2];
189elseif strcmp(idName, 'U20_NANO')
190    outStruct.sectLenBwBPMs = 4.3062; %[m] straight section length between BPMs
191        outStruct.idCenPos = 3.373; %[m] center longitudinal position of the ID with respect to the straight section center
192        outStruct.idLen = 2; %[m] ID length
193        outStruct.idKickOfst = 0.1; %[m] offset from ID edge to effective position of a "kick"   
194    outStruct.indUpstrBPM = 92; % absolute index of BPM at the upstream edge of the straight section where the ID is located
195        outStruct.indRelBPMs = [13 9;13 2];       
196end
Note: See TracBrowser for help on using the repository browser.