1 | soleilinit |
---|
2 | getx |
---|
3 | plot(getx) |
---|
4 | family2dev('BPMx') |
---|
5 | family2tango('BPMx') |
---|
6 | help getx |
---|
7 | help family2tango |
---|
8 | doc tango |
---|
9 | tango_command_inout('ANS-C08/EI/M-HU80.2_CHAN1', 'State') |
---|
10 | tango_error |
---|
11 | dev = 'ANS-C08/EI/M-HU80.2_CHAN1'; |
---|
12 | class(dev) |
---|
13 | a=2 |
---|
14 | class(a) |
---|
15 | tango_state(dev) |
---|
16 | tango_status(dev) |
---|
17 | devM='ans-c08/ei/m-hu80.2_motorscontrol' |
---|
18 | tango_command_inout('ANS-C08/EI/M-HU80.2_CHAN1', 'State') |
---|
19 | tango_command_inout(devM, 'State') |
---|
20 | tango_command_inout2(devM, 'State') |
---|
21 | tango_command_inout(devM, 'State4') |
---|
22 | tango_command_inout2(devM, 'State4') |
---|
23 | tango_command_inout2(devM, 'ON') |
---|
24 | tango_command_inout2(devM, 'On') |
---|
25 | tango_command_inout2(devM, 'Status') |
---|
26 | tango_command_inout2(devM, 'State') |
---|
27 | pp = tango_command_inout2(devM, 'State') |
---|
28 | tango_command_inout2(devM, 'State') |
---|
29 | print(ans) |
---|
30 | printf('%s\n', ans) |
---|
31 | fprintf('%s\n', ans) |
---|
32 | ans |
---|
33 | a=2 |
---|
34 | ans |
---|
35 | 2 |
---|
36 | ans |
---|
37 | tango_read_attribute2(devM, 'encoder1Position') |
---|
38 | a = tango_read_attribute2(devM, 'encoder1Position') |
---|
39 | a |
---|
40 | a.value |
---|
41 | datestr(a.time) |
---|
42 | readattribute([devM, 'encoder1Position']) |
---|
43 | [devM, 'encoder1Position']) |
---|
44 | [devM, 'encoder1Position'] |
---|
45 | [devM, '/encoder1Position'] |
---|
46 | readattribute([devM, '/encoder1Position']) |
---|
47 | [a z ] = readattribute([devM, '/encoder1Position']) |
---|
48 | help readattribute |
---|
49 | [a z t] = readattribute([devM, '/encoder1Position']) |
---|
50 | edit readattribute.m |
---|
51 | datestr(t) |
---|
52 | [a z t] = readattribute([devM, '/encoder2Position']) |
---|
53 | [a z t] = readattribute([devM, '/encoder3Position']) |
---|
54 | [a z t] = readattribute([devM, '/encoder4Position']) |
---|
55 | [a z t] = readattribute([devM, '/encoder5Position']) |
---|
56 | [a z t] = readattribute([devM, '/encoder6Position']) |
---|
57 | tango_command_inout2(devM, 'GotoGap', 2400000) |
---|
58 | tango_command_inout2(devM, 'GotoGap', int32(2400000)) |
---|
59 | [a z t] = readattribute([devM, '/encoder2Position']) |
---|
60 | tango_command_inout2(devM, 'Init') |
---|
61 | tango_command_inout2(devM, 'State') |
---|
62 | tango_command_inout2(devM, 'On') |
---|
63 | tango_command_inout2(devM, 'ResetError') |
---|
64 | tango_command_inout2(tangodevM, 'Reset') |
---|
65 | tango_command_inout2(devM, 'GotoGap', int32(2100000)) |
---|
66 | tango_command_inout2(devM, 'GotoPhase', int32(50000), int32(50000)) |
---|
67 | tango_command_inout2(devM, 'GotoPhase', {int32(50000), int32(50000)}) |
---|
68 | tango_command_inout2(devM, 'GotoPhase', [int32(50000), int32(50000)]) |
---|
69 | tango_command_inout2(devM, 'Init') |
---|
70 | tango_command_inout2(devM, 'GotoPhase', [int32(0), int32(0)]) |
---|
71 | tango_command_inout2(devM, 'GotoPhase', [int32(100000), int32(-100000)]) |
---|
72 | tango_command_inout2(devM, 'GotoPhase', [int32(0), int32(0)]) |
---|
73 | tango_command_inout2(devM, 'GotoGap', int32(2500000)) |
---|
74 | |
---|
75 | getx |
---|
76 | getz |
---|
77 | getam('BPMx') |
---|
78 | getam('BPMx',[1 1]) |
---|
79 | getam('BPMx',[1 1; 1 2]) |
---|
80 | getam('BPMx',[5 1; 5 2]) |
---|
81 | family2tangodev('BPMx',[5 1; 5 2]) |
---|
82 | family2dev('BPMx') |
---|
83 | family2status('BPMx') |
---|
84 | modelbeta |
---|
85 | solorbit |
---|
86 | getx |
---|
87 | X = getx |
---|
88 | I=getdcct |
---|
89 | |
---|
90 | /home/matlabML/mmlcontrol/Ringspecific/insertions |
---|
91 | |
---|
92 | /home/matlabML/measdata/Ringdata/insertions/HU80_TEMPO/ |
---|
93 | |
---|
94 | % H orbit |
---|
95 | EI.X = getx; |
---|
96 | % V orbit |
---|
97 | EI.Z = getz; |
---|
98 | % encoder #2 |
---|
99 | EI.encoder2= readattribute([devM, '/encoder2Position']); |
---|
100 | % stored current |
---|
101 | EI.current = getdcct; |
---|
102 | % tunes |
---|
103 | EI.tune = gettune; |
---|
104 | |
---|
105 | % measure dispersion functions |
---|
106 | [dx dz] = measdisp('Physics'); |
---|
107 | |
---|
108 | EI.dx = dx; |
---|
109 | EI.dz = dz; |
---|
110 | |
---|
111 | EI.date = datestr(now); % convert date to string |
---|
112 | |
---|
113 | pause(1); % 1 second pause |
---|
114 | |
---|
115 | % measure chromaticities |
---|
116 | EI.ksi = measchro('Physics'); |
---|
117 | |
---|
118 | %%%%%%%%%%%%%% ARchiving |
---|
119 | |
---|
120 | % If the filename contains a directory then make sure it exists |
---|
121 | Filename = 'exemple4Oleg'; |
---|
122 | |
---|
123 | FileName = appendtimestamp('G20_P0'); |
---|
124 | DirectoryName = getfamilydata('Directory','HU80_TEMPO'); |
---|
125 | DirStart = pwd; |
---|
126 | [DirectoryName, ErrorFlag] = gotodirectory(DirectoryName); |
---|
127 | save(FileName, 'EI_G20_P0'); |
---|
128 | cd(DirStart); |
---|
129 | |
---|
130 | |
---|
131 | edit soleilinit |
---|
132 | Filename = 'exemple4Oleg' |
---|
133 | FileName = appendtimestamp(Filename) |
---|
134 | getfamilydata('Directory','HU80_TEMPO') |
---|
135 | ls |
---|
136 | rm HU80_2006-09-12_17-24-36 |
---|
137 | remove HU80_2006-09-12_17-24-36 |
---|
138 | delete HU80_2006-09-12_17-24-36.mat |
---|
139 | ls |
---|
140 | dir |
---|
141 | help save |
---|
142 | doc save |
---|
143 | getmcf |
---|
144 | pwd |
---|
145 | save 'toto' EI |
---|
146 | |
---|
147 | %%%%%%%%%%%%%% Calculating theoretical Beta values at the positions of BPMs |
---|
148 | modelbeta('BPMx') |
---|
149 | [bx bz]=modelbeta('BPMx') |
---|
150 | bx |
---|
151 | [phx, phz] = modelphase('BPMx') |
---|
152 | phx |
---|
153 | modeltune |
---|
154 | [nux nuz] = modeltune |
---|
155 | nu = modeltune |
---|
156 | |
---|
157 | %%%%%%%%%%%%%% Measuring COD vs Corrector Currents (to estimate corrector efficiency) |
---|
158 | tableCurInCor = [0 0 0 0; -10 0 0 0; -5 0 0 0; 0 0 0 0; 5 0 0 0; 10 0 0 0; 0 0 0 0; 0 -10 0 0; 0 -5 0 0; 0 0 0 0; 0 5 0 0; 0 10 0 0; 0 0 0 0; 0 0 -10 0; 0 0 -5 0; 0 0 0 0; 0 0 5 0; 0 0 10 0; 0 0 0 0; 0 0 0 -10; 0 0 0 -5; 0 0 0 0; 0 0 0 5; 0 0 0 10] |
---|
159 | [fileNames, res] = idMeasCorEffic('HU80_PLEIADES', tableCurInCor, 0, 'C1G200', 1) |
---|
160 | [fileNames, res] = idMeasCorEffic('HU52_DEIMOS', tableCurInCor, 0, 'C1G15_5', 1) |
---|
161 | %Formatting corrector efficiency data file names: |
---|
162 | sResFormatted = idAuxFormatPartCorElecBeamMeasData(fileNames) |
---|
163 | |
---|
164 | % Create a Bump with the vert. BPMz (14 1,14 2) of 0.1 mm using 5 VCOR apart from the SS |
---|
165 | setorbitbump('BPMz',[14 1;14 2],0.1*[1;1],'VCOR',[-5 -4 -3 -2 -1 1 2 3 4 5 ]) |
---|
166 | %To measure electron beam and read undulator state, and save the data |
---|
167 | %structure to a file |
---|
168 | stMeas = idMeasElecBeamUnd('U20_PROXIMA1', 0, 'test_for_chams', 1) |
---|
169 | |
---|
170 | %to estimate effective field integrals of U20 |
---|
171 | st = idCalcFldIntFromElecBeamMeasForUndSOLEIL_1('U20_PROXIMA1', '/home/matlabML/measdata/Ringdata/insertions/U20_PROXIMA1', 'u20_g5_5_2006-09-29_12-29-58', 'u20_g30_2006-09-29_11-59-57', '', -1) |
---|
172 | |
---|
173 | % Write a table : attributename to be changed |
---|
174 | A=[0 1 2 3; |
---|
175 | 10 0.2 0.4 0.5; |
---|
176 | 20 0.5 0.21 0.45]; |
---|
177 | |
---|
178 | tango_write_attribute2(dev,'correctionCHEParallelMode',A); |
---|
179 | |
---|
180 | % how to write at the same time all the correctors |
---|
181 | dev= 'ANS-C08/EI/M-HU80.2'; |
---|
182 | attr_name_val_list(1).value = 0 |
---|
183 | attr_name_val_list(2).value = 0 |
---|
184 | attr_name_val_list(3).value = 0 |
---|
185 | attr_name_val_list(4).value = 0 |
---|
186 | attr_name_val_list(1).name='currentCHE' |
---|
187 | attr_name_val_list(2).name='currentCVE' |
---|
188 | attr_name_val_list(4).name='currentCVS' |
---|
189 | attr_name_val_list(3).name='currentCHS' |
---|
190 | |
---|
191 | tango_write_attributes(dev,attr_name_val_list); |
---|
192 | |
---|
193 | % to calculate correction tables for feed-forward |
---|
194 | %HU80: |
---|
195 | stFileNamesMeasCOD = load('/home/operateur/GrpGMI/HU80_TEMPO/cod_II_filelist_2006-12-10_13-11-12'); |
---|
196 | vPhase = [-40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40]; |
---|
197 | vGap = [15.5, 16, 18, 20, 22.5, 25, 27.5, 30, 35, 40, 50, 60, 70, 80, 90, 100, 110, 130, 150]; |
---|
198 | fileNamesMeasBkg = idAuxPrepFileNameListMeasAndBkg(stFileNamesMeasCOD.filelist, length(vGap)); |
---|
199 | arBPM2Skip = [58]; |
---|
200 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('HU80_TEMPO', {{'phase', vPhase}, {'gap', vGap}}, fileNamesMeasBkg, '', '', arBPM2Skip); |
---|
201 | mCHE_with_Arg = idAuxMergeCorTableWithArg2D(vGap, vPhase, mCHE); |
---|
202 | mCVE_with_Arg = idAuxMergeCorTableWithArg2D(vGap, vPhase, mCVE); |
---|
203 | mCHS_with_Arg = idAuxMergeCorTableWithArg2D(vGap, vPhase, mCHS); |
---|
204 | mCVS_with_Arg = idAuxMergeCorTableWithArg2D(vGap, vPhase, mCVS); |
---|
205 | |
---|
206 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('HU80_PLEIADES', st_sum.params, st_sum.filenames_meas_bkg, '', '', -1) |
---|
207 | [mCHE_with_arg, mCVE_with_arg, mCHS_with_arg, mCVS_with_arg] = idAuxMergeFeedForwardCorTablesWithArgForAppleII(mCHE, mCVE, mCHS, mCVS, st_sum.params) |
---|
208 | |
---|
209 | |
---|
210 | %U20: |
---|
211 | stFileNamesMeasCOD = load('/home/operateur/GrpGMI/U20_PROXIMA1/test_cod_filelist_2007-01-24_13-17-20.mat'); |
---|
212 | vGap = [30, 27]; |
---|
213 | fileNamesMeasBkg = idAuxPrepFileNameListMeasAndBkg(stFileNamesMeasCOD.filename, length(vGap)) |
---|
214 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('U20_PROXIMA1', {{'gap', vGap}}, fileNamesMeasBkg, '', '', -1) |
---|
215 | |
---|
216 | %% |
---|
217 | dev = 'ANS-C04/EI/M-HU80.1'; |
---|
218 | |
---|
219 | tango_write_attribute2(dev,'parallelModeCHE', mCHE_res_with_arg); |
---|
220 | tango_write_attribute2(dev,'parallelModeCVE', mCVE_res_with_arg); |
---|
221 | tango_write_attribute2(dev,'parallelModeCHS', mCHS_res_with_arg); |
---|
222 | tango_write_attribute2(dev,'parallelModeCVS', mCVS_res_with_arg); |
---|
223 | |
---|
224 | %To try changing ID parameters (gap, phase): |
---|
225 | resUnd = idSetUndParamSync('HU44_TEMPO', 'gap', 239, 0.01); |
---|
226 | |
---|
227 | %%To measure COD vs Undulator Param(s) automatically: |
---|
228 | [resFileNames, resErrorFlag] = idMeasElecBeamVsUndParam('HU80_TEMPO', {{'phase', [-40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40], 0.01}, {'gap', [15.5], 0.01}}, {{'gap', 250, 0.01}, {'phase', 0, 0.01}}, 2, 0, 'test', 1) |
---|
229 | [resFileNames, resErrorFlag] = idMeasElecBeamVsUndParam('HU80_TEMPO', {{'phase', [-40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40], 0.01}, {'gap', [15.5, 16, 18, 20, 22.5, 25, 27.5, 30, 35, 40, 50, 60, 70, 80, 90, 100, 110, 130, 150], 0.01}}, {{'gap', 250, 0.01}, {'phase', 0, 0.01}}, 1, 0, 'cod_X_01_07', 1) |
---|
230 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU80_PLEIADES', {{'phase', [-40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40], 0.01}, {'gap', [15.5, 16, 18, 20], 0.01}}, {{'gap', 250, 0.01}, {'phase', 0, 0.01}}, 1, 0, 'cod_extra_II', 1) |
---|
231 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU80_PLEIADES', {{'phase', phVals, 0.01}, {'gap', [15.5], 0.01}}, {{'gap', 239.9, 0.01}, {'phase', 0, 0.01}}, 2, 0, 'cod_II_iter_test01', 1) |
---|
232 | |
---|
233 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU80_CASSIOPEE', {{'phase', [-40,-37.5, -35,-32.5, -30,-27.5, -25,-22.5, -20,-17.5, -15,-12.5, -10,-7.5, -5,-2.5, 0,2.5, 5,7.5, 10,12.5, 15,17.5, 20,22.5, 25,27.5, 30,32.5, 35, 37.5,40], 0.01}, {'gap', [15.5, 16, 18, 20, 22.5, 25, 27.5, 30, 35, 40, 50, 60, 70, 80, 90, 100, 110, 130, 150, 175, 200, 225, 250], 0.01}}, {{'phase', 0, 0.01}, {'gap', 250, 0.01}}, 1, 0, 'cod_1st_test', 1) |
---|
234 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU80_CASSIOPEE', {{'phase', [-40,-37.5, -35,-32.5, -30,-27.5, -25,-22.5, -20,-17.5, -15,-12.5, -10,-7.5, -5,-2.5, 0,2.5, 5,7.5, 10,12.5, 15,17.5, 20,22.5, 25,27.5, 30,32.5, 35, 37.5,40], 0.01}, {'gap', [15.5, 16, 18, 20, 22.5, 25, 27.5, 30, 35, 40, 50, 60, 70, 80, 90, 100, 110, 130, 150, 175, 200, 225, 250], 0.01}}, {{'phase', 0, 0.01}, {'gap', 250, 0.01}}, 1, 0, 'cod_gen_X', 1) |
---|
235 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU80_CASSIOPEE', {{'phase', [40], 0.01}, {'gap', [15.5, 16, 18, 20, 22.5, 25, 27.5, 30, 35, 40, 50, 60, 70, 80, 90, 100, 110, 130, 150], 0.01}}, {{'phase', 0, 0.01}, {'gap', 250, 0.01}}, 1, 0, 'cod_1st_test', 1) |
---|
236 | [resFileNames, resErrorFlag] = idMeasElecBeamVsUndParam('U20_PROXIMA1', {{'gap', [5.5, 6, 10], 0.01}}, {{'gap', 30, 0.01}}, 1, 0, 'test_cod', 1) |
---|
237 | % commande pour lucia 21/07/08 |
---|
238 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU52_LUCIA', {{'phase',[-26:3.25:26] , 0.01}, {'gap', [15.5, 16, 18, 20, 22.5, 25, 27.5, 30, 35, 40, 50, 60, 70, 80, 90, 100, 110, 130, 150, 175, 200, 225, 239.5], 0.01}}, {{'phase', 0, 0.01}, {'gap', 240, 0.01}}, 1, 0, 'cod_1st_test', 1) |
---|
239 | |
---|
240 | %U20 COD meas. and calc. of cor. tables: |
---|
241 | [resFileNames, resErrorFlag] = idMeasElecBeamVsUndParam('U20_PROXIMA1', {{'gap', [5.5, 6, 10], 0.01}}, {{'gap', 30, 0.01}}, 1, 0, 'test_cod', 1) |
---|
242 | |
---|
243 | [resFileNames, resErrorFlag] = idMeasElecBeamVsUndParam('U20_CRISTAL', {{'gap', [5.5,5.6,5.7,5.8,5.9,6,6.1,6.2,6.3,6.4,6.5,6.6,6.7,6.8,6.9,7,7.1,7.2,7.3,7.4,7.5,7.6,7.7,7.8,7.9,8,8.1,8.2,8.3,8.4,8.5,8.6,8.7,8.8,8.9,9,9.1,9.2,9.3,9.4,9.5,9.6,9.7,9.8,9.9,10,10.2,10.4,10.6,10.8,11,11.2,11.4,11.6,11.8,12,12.2,12.4,12.6,12.8,13,13.2,13.4,13.6,13.8,14,14.2,14.4,14.6,14.8,15,15.2,15.4,15.6,15.8,16,16.2,16.4,16.6,16.8,17,17.2,17.4,17.6,17.8,18,18.2,18.4,18.6,18.8,19,19.2,19.4,19.6,19.8,20,20.5,21,21.5,22,22.5,23,23.5,24,24.5,25,25.5,26,26.5,27,27.5,28,28.5,29,29.5], 0.01}}, {{'gap', 30, 0.01}}, 1, 0, 'test_cod', 1) |
---|
244 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('U20_CRISTAL', resFileNames.params, resFileNames.filenames_meas_bkg, '', '', -1) |
---|
245 | stMeas = idMeasElecBeamUnd('U20_CRISTAL', 0, 'U20_CRISTAL_CVE_6', 1) |
---|
246 | %st.filelist = resFileNames; idSavetangoStruct(st, 'test_cod_filelist', 'U20_PROXIMA1', 0) |
---|
247 | %do something else... |
---|
248 | %ls /home/operateur/GrpGMI/U20_PROXIMA1 |
---|
249 | %stFileNamesMeasCOD = load('/home/operateur/GrpGMI/U20_PROXIMA1/test_cod_filelist_2007-01-24_14-20-54.mat'); |
---|
250 | %vGap = [5.5, 6, 10]; |
---|
251 | %fileNamesMeasBkg = idAuxPrepFileNameListMeasAndBkg(stFileNamesMeasCOD.filelist, length(vGap)); |
---|
252 | %[mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('U20_PROXIMA1', {{'gap', vGap}}, fileNamesMeasBkg, '', '', -1); |
---|
253 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('U20_PROXIMA1', resFileNames.params, resFileNames.filenames_meas_bkg, '', '', -1) |
---|
254 | |
---|
255 | %CHAMS, I've tested the COD meas. using idMeasElecBeamVsUndParam. It seems to work fine now. 03/02/2007 OC |
---|
256 | [resFNames, resErrorFlag] = idMeasElecBeamVsUndParam('U20_PROXIMA1', {{'gap', [29.5, 29.7], 0.01}}, {{'gap', 30, 0.01}}, 1, 0, 'test_cod_to_delete', 1) |
---|
257 | |
---|
258 | |
---|
259 | %Make Bump walking aroung eventual saturation of BPMs: |
---|
260 | idSetOrbitBump('BPMx', [4 1;4 2], [4.5,4.5], 'HCOR', [-4,-3,-2,-1,1,2,3,4]); |
---|
261 | %Measurement of COD vs Horizontal Bump: |
---|
262 | [resBumpMeasPLEIADES, ErrorFlag] = idMeasElecBeamVsUndParamVsBump('HU80_PLEIADES', {{'phase', [-40,-20,0,20,40], 0.01}, {'gap', [15.5], 0.01}}, {{'gap', 250, 0.01}, {'phase', 0, 0.01}}, 2, 0, 'inj_problem', 1, 'H', {[1,1],[-4.5,-4,-3.5,-3,-2.5,-2,-1.5,-1,-0.5,0,0.5,1,1.5,2,2.5,3,3.5,4,4.5]}, [-4,-3,-2,-1,1,2,3,4]); |
---|
263 | [resBumpMeasDEIMOS, ErrorFlag] = idMeasElecBeamVsUndParamVsBump('HU52_DEIMOS', {{'phase', [-25.99,-13,0,13,25.99], 0.01}, {'gap', [15.5], 0.01}}, {{'gap', 249, 0.01}, {'phase', 0, 0.01}}, 2, 0, 'bump_test', 1, 'H', {[1,1],[-4.5,-4,-3.5,-3,-2.5,-2,-1.5,-1,-0.5,0,0.5,1,1.5,2,2.5,3,3.5,4,4.5]}, [-4,-3,-2,-1,1,2,3,4]); |
---|
264 | |
---|
265 | %Calculation of Field Integrals and other characteristics vs Horizontal Bump: |
---|
266 | [vI1x, vI2x, vI1z, vI2z, vPosBump, vKickX1, vKickX2, vKickZ1, vKickZ2, dNuX, dNuZ] = idCalcFldIntVsBumpFromElecBeamMeasForUndSOLEIL('HU80_PLEIADES', '/home/operateur/GrpGMI/GrpGMI/HU80_PLEIADES', resBumpMeasPLEIADES, {{'phase', -40}, {'gap', 15.5}}, '', {[3 3],[3 4],[3 5],[3 6],[3 7],[3 8],[4 1],[4 2],[4 3],[4 4],[4 5],[4 6],[4 7], [5 3]}); |
---|
267 | |
---|
268 | [vI1xP0c, vI2xP0c, vI1zP0c, vI2zP0c, vPosBumpC, vKickX1P0c, vKickX2P0c, vKickZ1P0c, vKickZ2P0c, dNuXP0c, dNuZP0c] = idCalcFldIntVsBumpFromElecBeamMeasForUndSOLEIL('HU80_CASSIOPEE', '/home/operateur/GrpGMI/HU80_CASSIOPEE', stBumpCAS.resBumpMeas, {{'phase', 0}, {'gap', 15.5}}, '', {[8 1],[8 2],[8 3],[8 4],[8 5],[8 6],[8 7],[9 1],[9 2],[9 3],[9 4],[9 5],[9 6],[9 7]}) |
---|
269 | [vI1xPm40_PL, vI2xPm40_PL, vI1zPm40_PL, vI2zPm40_PL, vPosBumpPm40_PL, vKickX1Pm40_PL, vKickX2Pm40_PL, vKickZ1Pm40_PL, vKickZ2Pm40_PL, dNuXPm40_PL, dNuZPm40_PL] = idCalcFldIntVsBumpFromElecBeamMeasForUndSOLEIL('HU80_PLEIADES', 'E:\MagnetsAndSR\InsertionDevices\HU80\Commissioning\from_control_room\july16_2007\HU80_PLEIADES', cod_bump_pleiades.resBumpMeas, {{'gap',15.5}, {'phase',-40}}, 'E:\MagnetsAndSR\InsertionDevices\HU80\Commissioning\IDStarter', {[3 3],[3 4],[3 5],[3 6],[3 7],[3 8],[4 1],[4 2],[4 3],[4 4],[4 5],[4 6],[4 7],[5,1],[5,2],[5 3]}, vKick2x_rad, vKick2z_rad) |
---|
270 | |
---|
271 | [new_mCHE_with_arg, new_mCVE_with_arg, new_mCHS_with_arg, new_mCVS_with_arg] = idUpdateFeedForwardCorTables2D('HU80_PLEIADES', {'antiParallelModeCHE', mCHE_with_arg}, {'antiParallelModeCVE', mCVE_with_arg}, {'antiParallelModeCHS', mCHS_with_arg}, {'antiParallelModeCVS', mCVS_with_arg}, vArgVert, vArgHor, updateMode, interpMeth |
---|
272 | |
---|
273 | %Partial COD measurement and update of FF cor. tables |
---|
274 | vPhase = [-40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40]; |
---|
275 | vGap = [15.5]; |
---|
276 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU80_TEMPO', {{'phase', vPhase, 0.01}, {'gap', vGap, 0.01}}, {{'phase', 0, 0.01}, {'gap', 239.5, 0.01}}, 2, 0, 'cod_it1_test', 1); |
---|
277 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('HU80_TEMPO', {{'phase', vPhase}, {'gap', vGap}}, resFiles.filenames_meas_bkg, '', '', -1); |
---|
278 | [new_mCHE_wa, new_mCVE_wa, new_mCHS_wa, new_mCVS_wa] = idUpdateFeedForwardCorTables2D('HU80_TEMPO', {'parallelModeCHE', mCHE}, {'parallelModeCVE', mCVE}, {'parallelModeCHS', mCHS}, {'parallelModeCVS', mCVS}, vGap, vPhase, 2, 'linear') |
---|
279 | |
---|
280 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU44_TEMPO', {{'phase', [0], 0.01}, {'gap', [15.5, 16, 18, 20, 22.5, 25, 27.5, 30, 35, 40, 50, 60, 70, 80, 90, 100, 110, 130, 150, 175, 239.5], 0.01}}, {{'phase', 0, 0.01}, {'gap', 239.9, 0.01}}, 1, 0, 'codII_it01', 1) |
---|
281 | [new_mCHE_wa, new_mCVE_wa, new_mCHS_wa, new_mCVS_wa] = idUpdateFeedForwardCorTables2D('HU44_TEMPO', {'parallelModeCHE', mCHE_it01}, {'parallelModeCVE', mCVE_it01}, {'parallelModeCHS', mCHS_it01}, {'parallelModeCVS', mCVS_it01}, resFiles.params{2}{2}, resFiles.params{1}{2}, 2, 'linear') |
---|
282 | |
---|
283 | for i = 1:23 vPhasesR(i) = -22 + (i - 1)*2; end |
---|
284 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU44_TEMPO', {{'phase', vPhasesR, 0.01}, {'gap', [15.5], 0.01}}, {{'phase', 0, 0.01}, {'gap', 239.9, 0.01}}, 1, 0, 'codII_it02', 1) |
---|
285 | |
---|
286 | |
---|
287 | %Calculating FF tables for HU52_DEIMOS (semi-manual method):==================================== |
---|
288 | %---reading summary structure of COD measurements for II mode: |
---|
289 | st_sum_hu52IIclean = load('/home/operateur/GrpGMI/HU52_DEIMOS/cod04_II_summary_2007-12-05_03-00-56.mat'); |
---|
290 | %---calculating FF tables for the mesh vs gap and phase, corresponding to the COD measurements: |
---|
291 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('HU52_DEIMOS', {{'phase', st_sum_hu52IIclean.params{1}{2}}, {'gap', st_sum_hu52IIclean.params{2}{2}}}, st_sum_hu52IIclean.filenames_meas_bkg, '', '', -1) |
---|
292 | %---optional: removing lines from FF tables for the 175 < gap <= 250, where correctors |
---|
293 | %are not efficient for horizontal field; and padding zeros for gap = 250 mm: |
---|
294 | mCHEr = idAuxMatrResizeExt(mCHE, 20, 17, 1, 1); mCHEr = idAuxMatrResizeExt(mCHEr, 21, 17, 1, 1); |
---|
295 | mCHSr = idAuxMatrResizeExt(mCHS, 20, 17, 1, 1); mCHSr = idAuxMatrResizeExt(mCHSr, 21, 17, 1, 1); |
---|
296 | mCVEr = idAuxMatrResizeExt(mCVE, 20, 17, 1, 1); mCVEr = idAuxMatrResizeExt(mCVEr, 21, 17, 1, 1); |
---|
297 | mCVSr = idAuxMatrResizeExt(mCVS, 20, 17, 1, 1); mCVSr = idAuxMatrResizeExt(mCVSr, 21, 17, 1, 1); |
---|
298 | %---merging calculated FF tables with arguments, to have exactly the same format as in DServers: |
---|
299 | paramsR = st_sum_hu52IIclean.params; |
---|
300 | paramsR{2}{2} = [15.5, 16.0, 18.0, 20.0, 22.5, 25.0, 27.5, 30.0, 35.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0,100.0,110.0,130.0,150.0,175.0,250]; |
---|
301 | [mCHE_wa, mCVE_wa, mCHS_wa, mCVS_wa] = idAuxMergeFeedForwardCorTablesWithArgForAppleII(mCHEr, mCVEr, mCHSr, mCVSr, paramsR) |
---|
302 | %---defining new phase values for the interpolated tables: |
---|
303 | for i = 1:33 vPhasesD(i) = -26 + (i - 1)*(52/32); end |
---|
304 | vPhasesD(1) = -25.99; vPhasesD(33) = 25.99; |
---|
305 | %---interpolating the FF tables on a more dense mesh: |
---|
306 | [new_mCHE_wa, new_mCVE_wa, new_mCHS_wa, new_mCVS_wa] = idInterpolFeedForwardCorTables2D(mCHE_wa, mCVE_wa, mCHS_wa, mCVS_wa, paramsR{2}{2}, vPhasesD, 'linear') |
---|
307 | %---updating the newly-created FF tables in DServer: |
---|
308 | [new_mCHE_wa, new_mCVE_wa, new_mCHS_wa, new_mCVS_wa] = idUpdateFeedForwardCorTables2D('HU52_DEIMOS', {'parallelModeCHE', new_mCHE_wa}, {'parallelModeCVE', new_mCVE_wa}, {'parallelModeCHS', new_mCHS_wa}, {'parallelModeCVS', new_mCVS_wa}, -1, -1, 1, 'linear') |
---|
309 | %% |
---|
310 | %%----------------Calcul tableFFWD LUCIA mode antiparallele |
---|
311 | %-----------------Ã executer avant du demi-run avec Charles |
---|
312 | st_sum_hu52Xclean = load('/home/operateur/GrpGMI/HU52_LUCIA/cod_test_1_summary_2008-07-21_02-45-31.mat'); |
---|
313 | %---calculating FF tables for the mesh vs gap and phase, corresponding to the COD measurements: |
---|
314 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('HU52_LUCIA', {{'phase', st_sum_hu52Xclean.params{1}{2}}, {'gap', st_sum_hu52Xclean.params{2}{2}}}, st_sum_hu52Xclean.filenames_meas_bkg, '', '', -1); |
---|
315 | %---optional: removing lines from FF tables for the 175 < gap <= 250, where correctors |
---|
316 | %are not efficient for horizontal field; and padding zeros for gap = 250 mm: |
---|
317 | mCHEr = idAuxMatrResizeExt(mCHE, 20, 17, 1, 1); mCHEr = idAuxMatrResizeExt(mCHEr, 21, 17, 1, 1); |
---|
318 | mCHSr = idAuxMatrResizeExt(mCHS, 20, 17, 1, 1); mCHSr = idAuxMatrResizeExt(mCHSr, 21, 17, 1, 1); |
---|
319 | mCVEr = idAuxMatrResizeExt(mCVE, 20, 17, 1, 1); mCVEr = idAuxMatrResizeExt(mCVEr, 21, 17, 1, 1); |
---|
320 | mCVSr = idAuxMatrResizeExt(mCVS, 20, 17, 1, 1); mCVSr = idAuxMatrResizeExt(mCVSr, 21, 17, 1, 1); |
---|
321 | %---merging calculated FF tables with arguments, to have exactly the same format as in DServers: |
---|
322 | |
---|
323 | paramsR = st_sum_hu52Xclean.params; |
---|
324 | paramsR{2}{2} = [15.5, 16.0, 18.0, 20.0, 22.5, 25.0, 27.5, 30.0, 35.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0,100.0,110.0,130.0,150.0,175.0,240]; |
---|
325 | % idAuxMergeFeedForward..... permet d'ajouter les phases(1ere ligne) et gaps(1ere colonne) |
---|
326 | [mCHE_wa, mCVE_wa, mCHS_wa, mCVS_wa] = idAuxMergeFeedForwardCorTablesWithArgForAppleII(mCHE, mCVE, mCHS, mCVS, paramsR); |
---|
327 | for i = 1:33 vPhasesD(i) = -26 + (i - 1)*(52/32); end |
---|
328 | vPhasesD(1) = -26; vPhasesD(33) = 26; |
---|
329 | %---interpolating the FF tables on a more dense mesh: |
---|
330 | [new_mCHE_wa, new_mCVE_wa, new_mCHS_wa, new_mCVS_wa] = idInterpolFeedForwardCorTables2D(mCHE_wa, mCVE_wa, mCHS_wa, mCVS_wa, paramsR{2}{2}, vPhasesD, 'linear') |
---|
331 | %---updating the newly-created FF tables in DServer: |
---|
332 | [new_mCHE_wa, new_mCVE_wa, new_mCHS_wa, new_mCVS_wa] = idUpdateFeedForwardCorTables2D('HU52_LUCIA', {'antiParallelModeCHE', new_mCHE_wa}, {'antiParallelModeCVE', new_mCVE_wa}, {'antiParallelModeCHS', new_mCHS_wa}, {'antiParallelModeCVS', new_mCVS_wa}, -1, -1, 1, 'linear') |
---|
333 | |
---|
334 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU44_MICROFOC', {{'phase',[-22:2.75:22] , 0.01}, {'gap', [15.5, 16, 18, 20, 22.5, 25, 27.5, 30, 35, 40, 50, 60, 70, 80, 90, 100, 110, 130, 150, 175, 200, 225, 239], 0.01}}, {{'phase', 0, 0.01}, {'gap', 240, 0.01}}, 1, 0, 'cod_X', 1) |
---|
335 | HU44_MICROFOC_Struct_X=resFiles; |
---|
336 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('HU44_MICROFOC', {{'phase', HU44_MICROFOC_Struct_X.params{1}{2}}, {'gap', HU44_MICROFOC_Struct_X.params{2}{2}}}, HU44_MICROFOC_Struct_X.filenames_meas_bkg, '', '', -1); |
---|
337 | ParamR=HU44_MICROFOC_Struct_X.params; |
---|
338 | ParamR{2}{2}=[15.5000 16.0000 18.0000 20.0000 22.5000 25.0000 27.5000 30.0000 35.0000 40.0000 50.0000 60.0000 70.0000 80.0000 90.0000 100.0000 110.0000 130.0000 150.0000 175.0000 239.0000] % On enlÚve les valeurs de gaps déconnantes |
---|
339 | mCVEr = idAuxMatrResizeExt(mCVE, 20, 17, 1, 1); mCVEr = idAuxMatrResizeExt(mCVEr, 21, 17, 1, 1); % idem pour les 3 autres |
---|
340 | [mCHE_wa, mCVE_wa, mCHS_wa, mCVS_wa] = idAuxMergeFeedForwardCorTablesWithArgForAppleII(mCHEr, mCVEr, mCHSr, mCVSr, ParamR) |
---|
341 | vphaseD=-22:2:22; |
---|
342 | [new_mCHE_wa, new_mCVE_wa, new_mCHS_wa, new_mCVS_wa] = idInterpolFeedForwardCorTables2D(mCHE_wa, mCVE_wa, mCHS_wa, mCVS_wa, ParamR{2}{2}, vPhasesD, 'linear') |
---|
343 | |
---|
344 | vPhase = [-4:2:4] |
---|
345 | vgap = [15.5,16,18,20,22.5,25,27.5,30] |
---|
346 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU44_MICROFOC', {{'phase', vPhase, 0.01}, {'gap', vgap, 0.01}}, {{'phase', 0, 0.01}, {'gap', 239.5, 0.01}}, 2, 0, 'cod_Xit1_test', 1); |
---|
347 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('HU44_MICROFOC', {{'phase', vPhase}, {'gap', vgap}}, resFiles.filenames_meas_bkg, '', '', -1) |
---|
348 | Some "nan" appear in the tables. We load an orbit. The nan is the 2nd value of the vector. => We skipp BPM n°2 |
---|
349 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('HU44_MICROFOC', {{'phase', vPhase}, {'gap', vgap}}, resFiles.filenames_meas_bkg, '', '', 2) |
---|
350 | [mCHEit1, mCVEit1, mCHSit1, mCVSit1] = idAuxMergeFeedForwardCorTablesWithArgForAppleII(mCHE, mCVE, mCHS, mCVS, resFiles.params) |
---|
351 | idUpdateFeedForwardCorTables2D('HU44_MICROFOC', {'antiParallelModeCHE', mCHEit1}, {'antiParallelModeCVE', mCVEit1}, {'antiParallelModeCHS', mCHSit1}, {'antiParallelModeCVS', mCVSit1}, -1, -1, 2, 'linear') % False!! |
---|
352 | [mCHE_wa, mCVE_wa, mCHS_wa, mCVS_wa]=idUpdateFeedForwardCorTables2D('HU44_MICROFOC', {'antiParallelModeCHE', mCHEit1}, {'antiParallelModeCVE', mCVEit1}, {'antiParallelModeCHS', mCHSit1}, {'antiParallelModeCVS', mCVSit1}, vgap, vPhase, 2, 'linear') % Doesn't work : we obtain currents up to 21 A!!! |
---|
353 | % It seems to work to be chexked during the next run |
---|
354 | [new_mCHE1_wa, new_mCVE1_wa, new_mCHS1_wa, new_mCVS1_wa] =idUpdateFeedForwardCorTables2D('HU44_MICROFOC', {'antiParallelModeCHE', mCHE1}, {'antiParallelModeCVE', mCVE1}, {'antiParallelModeCHS', mCHS1}, {'antiParallelModeCVS', mCVS1}, vgap, vPhase, 2, 'linear')% mCVE*, mCHE*, mCHS*, mCVS are not merged but we give as argument the phase and the gap |
---|
355 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
356 | |
---|
357 | %Sauvergarde d'une structure |
---|
358 | save ('/home/operateur/GrpGMI/HU44_MICROFOC/cod_Xit1_test_phase-4_gap15_5_2008-10-21_00-17-07', '-struct', 'toto1') |
---|
359 | tata=load('/home/operateur/GrpGMI/HU44_MICROFOC/cod_Xit1_test_phase-4_gap15_5_2008-10-21_00-17-07') |
---|
360 | |
---|
361 | |
---|
362 | |
---|
363 | %commissioning d'un onduleur sous vide |
---|
364 | |
---|
365 | [resFileNames, resErrorFlag] = idMeasElecBeamVsUndParam('U20_CRISTAL', {{'gap', [5.5,5.6,5.7,5.8,5.9,6,6.1,6.2,6.3,6.4,6.5,6.6,6.7,6.8,6.9,7,7.1,7.2,7.3,7.4,7.5,7.6,7.7,7.8,7.9,8,8.1,8.2,8.3,8.4,8.5,8.6,8.7,8.8,8.9,9,9.1,9.2,9.3,9.4,9.5,9.6,9.7,9.8,9.9,10,10.2,10.4,10.6,10.8,11,11.2,11.4,11.6,11.8,12,12.2,12.4,12.6,12.8,13,13.2,13.4,13.6,13.8,14,14.2,14.4,14.6,14.8,15,15.2,15.4,15.6,15.8,16,16.2,16.4,16.6,16.8,17,17.2,17.4,17.6,17.8,18,18.2,18.4,18.6,18.8,19,19.2,19.4,19.6,19.8,20,20.5,21,21.5,22,22.5,23,23.5,24,24.5,25,25.5,26,26.5,27,27.5,28,28.5,29,29.5], 0.01}}, {{'gap', 30, 0.01}}, 1, 0, 'test_cod', 1) |
---|
366 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('U20_CRISTAL', resFileNames.params, resFileNames.filenames_meas_bkg, '', '', -1) |
---|
367 | stMeas = idMeasElecBeamUnd('U20_CRISTAL', 0, 'U20_CRISTAL_CVE_6', 1) |
---|
368 | |
---|
369 | %commissioning de HU60 antares |
---|
370 | % 14/07/09 F.Marteau |
---|
371 | |
---|
372 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU60_ANTARES', {{'phase',[-30:3.75:30] , 0.01}, {'gap', [15.5, 16, 18, 20, 22.5, 25, 27.5, 30, 35, 40, 50, 60, 70, 80, 90, 100, 110, 130, 150, 175, 200, 225, 239], 0.01}}, {{'phase', 0, 0.01}, {'gap', 240, 0.01}}, 1, 0, 'cod_P', 1) |
---|
373 | % commande pour calibration des correcteurs de HU60 |
---|
374 | tableCurInCor = [0 0 0 0; -10 0 0 0; -5 0 0 0; 0 0 0 0; 5 0 0 0; 10 0 0 0; 0 0 0 0; 0 -10 0 0; 0 -5 0 0; 0 0 0 0; 0 5 0 0; 0 10 0 0; 0 0 0 0; 0 0 -10 0; 0 0 -5 0; 0 0 0 0; 0 0 5 0; 0 0 10 0; 0 0 0 0; 0 0 0 -10; 0 0 0 -5; 0 0 0 0; 0 0 0 5; 0 0 0 10] |
---|
375 | [fileNames, res] = idMeasCorEffic('HU60_ANTARES', tableCurInCor, 0, 'C1G15_5', 1) % pour gap 15.5 |
---|
376 | |
---|
377 | % test FM OTP 31/01/10 sur Hu80 Microfoc |
---|
378 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU80_MICROFOC', {{'phase',[-0.1,0,0.1] , 0.01}, {'gap', [239.5,239.6], 0.01}}, {{'phase', 0, 0.01}, {'gap', 240, 0.01}}, 1, 0, 'test', 1) |
---|
379 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU80_MICROFOC', {{'phase',[-40:4:40] , 0.01}, {'gap', [15.5, 16, 18, 20, 22.5, 25, 27.5, 30, 35, 40, 50, 60, 70, 80, 90, 100, 110, 130, 150, 175, 200, 225, 239], 0.01}}, {{'phase', 0, 0.01}, {'gap', 240, 0.01}}, 1, 0, 'COD_P', 1) |
---|
380 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU80_MICROFOC', {{'phase',[4:4:40] , 0.01}, {'gap', [15.5, 16, 18, 20, 22.5, 25, 27.5, 30, 35, 40, 50, 60, 70, 80, 90, 100, 110, 130, 150, 175, 200, 225, 239], 0.01}}, {{'phase', 0, 0.01}, {'gap', 240, 0.01}}, 1, 0, 'COD_X_2', 1) |
---|
381 | % Bump HU60 CASSIOPEE |
---|
382 | vPhase = [-30:3:30] |
---|
383 | setorbitbump('BPMx',[15 1; 15 2], 1.0*[0.5 ; 0.5],'HCOR', [-4 -3 -2 -1 1 2 3 4],'FitRF') |
---|
384 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU60_CASSIOPEE', {{'gap', [15.5], 0.01},{'phase',vPhase, 0.01},}, {{'phase', 0, 0.01}, {'gap', 240, 0.01}}, 1, 0, 'codX_BP_0mm', 1) |
---|
385 | |
---|
386 | % Bump HU60 ANTARES |
---|
387 | vPhase = [-30:3:30] |
---|
388 | setorbitbump('BPMx',[12 1; 12 2], 1.0*[0.5 ; 0.5],'HCOR', [-4 -3 -2 -1 1 2 3 4],'FitRF') |
---|
389 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU60_ANTARES', {{'gap', [15.5], 0.01},{'phase',vPhase, 0.01},}, {{'phase', 0, 0.01}, {'gap', 240, 0.01}}, 1, 0, 'codX_BP_0mm', 1) |
---|
390 | |
---|
391 | %Mise à jour des tables de HU44 TEMPO FM et LC 27/06/10 |
---|
392 | |
---|
393 | |
---|
394 | % MAJ HU80 PLEIADES 21/01/2011 |
---|
395 | % Calibration des correcteurs le 06/12/2011 |
---|
396 | % Acquisition des COD ANTI et PARA le 13/12/2011 |
---|
397 | st = load('/home/operateur/GrpGMI/HU80_PLEIADES/cod_HU80_PLEIADES_ANTI_summary_2010-12-14_02-35-52.mat') |
---|
398 | |
---|
399 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('HU80_PLEIADES', {{'phase', st.params{1}{2},0.01}}, {{'gap', st.params{2}{2},0.01}}, st.filenames_meas_bkg, '', '', -1) |
---|
400 | |
---|
401 | |
---|
402 | hu44_tempo=load('MAJ_2706_P_summary_2010-06-28_01-46-19.mat') |
---|
403 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('HU44_TEMPO', {{'phase', hu44_tempo.params{1}{2}}, {'gap', hu44_tempo.params{2}{2}}}, hu44_tempo.filenames_meas_bkg, '', '', -1) |
---|
404 | mCHEr = idAuxMatrResizeExt(mCHE, 20, 17, 1, 1) % suppression des valeurs de correcteurs non significatifs entre 175 et 240 mm |
---|
405 | mCHEr = idAuxMatrResizeExt(mCHEr, 21, 17, 1, 1)% ajout de la valeur 0 pour gap 240 |
---|
406 | mCHSr = idAuxMatrResizeExt(mCHS, 20, 17, 1, 1); mCHSr = idAuxMatrResizeExt(mCHSr, 21, 17, 1, 1); |
---|
407 | mCVEr = idAuxMatrResizeExt(mCVE, 20, 17, 1, 1); mCVEr = idAuxMatrResizeExt(mCVEr, 21, 17, 1, 1); |
---|
408 | mCVSr = idAuxMatrResizeExt(mCVS, 20, 17, 1, 1); mCVSr = idAuxMatrResizeExt(mCVSr, 21, 17, 1, 1); |
---|
409 | paramsR = hu44_tempo.params; |
---|
410 | paramsR{2}{2} = [15.5, 16.0, 18.0, 20.0, 22.5, 25.0, 27.5, 30.0, 35.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0,100.0,110.0,130.0,150.0,175.0,240]; |
---|
411 | %--------------------- |
---|
412 | % ajout de la ligne de phase et de la colonne de gap |
---|
413 | %-------------------- |
---|
414 | [mCHE_wa, mCVE_wa, mCHS_wa, mCVS_wa] = idAuxMergeFeedForwardCorTablesWithArgForAppleII(mCHEr, mCVEr, mCHSr, mCVSr, paramsR); |
---|
415 | %----------------------------- |
---|
416 | for i = 1:45 vPhasesD(i) = -22 + (i - 1)*(44/44); end % nouvelles valeurs de phases pour interpolation |
---|
417 | [new_mCHE_wa, new_mCVE_wa, new_mCHS_wa, new_mCVS_wa] = idInterpolFeedForwardCorTables2D(mCHE_wa, mCVE_wa, mCHS_wa, mCVS_wa, paramsR{2}{2}, vPhasesD, 'linear') |
---|
418 | save('maj_cve.txt','new_mCVE_wa','-ascii') %sauvegarde au format texte des nouvelles tables |
---|
419 | save('maj_cvs.txt','new_mCVS_wa','-ascii') % comme les acquisitions des COD ont ete faite avec le FFWD, il faut |
---|
420 | save('maj_chs.txt','new_mCHS_wa','-ascii') % ajouter ces tables aux tables deja existantes |
---|
421 | save('maj_che.txt','new_mCHE_wa','-ascii') %--> utilisation de OpenOffice pour faire la somme "Ã la main" |
---|
422 | |
---|
423 | |
---|
424 | RUN SEXTANTS 05 / 03 / 2011 : Mise à jour des tables !!! |
---|
425 | |
---|
426 | old_mCHS_II=load('/usr/Local/configFiles/InsertionFFTables/ANS-C14-HU80/FF_PARALLEL_CHS_TABLE.txt'); |
---|
427 | [old_mCHE_II_int, old_mCVE_II_int, old_mCHS_II_int, old_mCVS_II_int] = idInterpolFeedForwardCorTables2D(old_mCHE_II, old_mCVE_II, old_mCHS_II, old_mCVS_II, [15.5:0.5:240], [-40:1:40], 'linear') |
---|
428 | old_mCVE_II_int=old_mCVE_II_int(1:449, :); |
---|
429 | old_mCHE_II_int=old_mCHE_II_int(1:449, :); |
---|
430 | old_mCHS_II_int=old_mCHS_II_int(1:449, :); |
---|
431 | old_mCVS_II_int=old_mCVS_II_int(1:449, :); |
---|
432 | |
---|
433 | Structure=load('/home/operateur/GrpGMI/HU80_SEXTANTS/cod_HU80_PLEIADES_PARA_summary_2011-01-24_03-18-39.mat') |
---|
434 | idCalcFeedForwardCorTables('HU80_SEXTANTS', {{'phase', BKG.params{1}{2}}, {'gap', BKG.params{2}{2}}}, BKG.filenames_meas_bkg, '', '', -1); |
---|
435 | |
---|
436 | [maj_mCHE, maj_mCVE, maj_mCHS, maj_mCVS] = idCalcFeedForwardCorTables('HU80_SEXTANTS', {{'phase', Structure.params{1}{2}}, {'gap', Structure.params{2}{2}}}, Structure.filenames_meas_bkg, '', '', -1); |
---|
437 | [maj_mCHE_wa, maj_mCVE_wa, maj_mCHS_wa, maj_mCVS_wa] = idAuxMergeFeedForwardCorTablesWithArgForAppleII(maj_mCHE, maj_mCVE, maj_mCHS, maj_mCVS, Structure.params) |
---|
438 | [maj_mCHE_wa_int, maj_mCVE_wa_int, maj_mCHS_wa_int, maj_mCVS_wa_int] = idInterpolFeedForwardCorTables2D(maj_mCHE_wa, maj_mCVE_wa, maj_mCHS_wa, maj_mCVS_wa, [15.5:0.5:240], [-40:1:40], 'linear') |
---|
439 | |
---|
440 | maj_mCHE_wa_int_II=maj_mCHE_wa_int(1:449, :); |
---|
441 | maj_mCVE_wa_int_II=maj_mCVE_wa_int(1:449, :); |
---|
442 | maj_mCVS_wa_int_II=maj_mCVS_wa_int(1:449, :); |
---|
443 | maj_mCHS_wa_int_II=maj_mCHS_wa_int(1:449, :); |
---|
444 | new_mCHS_wa_II=old_mCHS_II_int; |
---|
445 | new_mCVS_wa_II=old_mCVS_II_int; |
---|
446 | new_mCVE_wa_II=old_mCVE_II_int; |
---|
447 | new_mCVE_wa_II(2:449, 2:82)=old_mCVE_II_int(2:449, 2:82)+maj_mCVE_wa_int_II(2:449, 2:82); |
---|
448 | new_mCVS_wa_II(2:449, 2:82)=old_mCVS_II_int(2:449, 2:82)+maj_mCVS_wa_int_II(2:449, 2:82); |
---|
449 | new_mCVS_wa_II(2:449, 2:82)=old_mCVS_II_int(2:449, 2:82)+maj_mCVS_wa_int_II(2:449, 2:82); |
---|
450 | new_mCHS_wa_II(2:449, 2:82)=old_mCHS_II_int(2:449, 2:82)+maj_mCHS_wa_int_II(2:449, 2:82); |
---|
451 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C14-HU80/FF_PARALLEL_CHE_TABLE.txt','new_mCHE_wa_II','-ascii') |
---|
452 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C14-HU80/FF_PARALLEL_CHS_TABLE.txt','new_mCHS_wa_II','-ascii') |
---|
453 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C14-HU80/FF_PARALLEL_CVS_TABLE.txt','new_mCVS_wa_II','-ascii') |
---|
454 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C14-HU80/FF_PARALLEL_CVE_TABLE.txt','new_mCVE_wa_II','-ascii') |
---|
455 | %-------------------------------- |
---|
456 | % Acquisition des COD pour HU42 |
---|
457 | %------------------------------ |
---|
458 | [resFiles, resErr] = idMeasElecBeamVsUndParam('HU42_HERMES', {{'phase',[-21:2.625:21] , 0.01}, {'gap', [15.5, 16, 18, 20, 22.5, 25, 27.5, 30, 35, 40, 50, 60, 70, 80, 90, 100, 110, 130, 150, 175, 200, 225, 239], 0.01}}, {{'phase', 0, 0.01}, {'gap', 240, 0.01}}, 1, 0, 'cod_X', 1) |
---|
459 | %-------------------------------- |
---|
460 | %------------------------------ |
---|
461 | [structureAllFileNames, res] = idMeasCorEfficForAllGaps('HU42_HERMES', '', 10, [15.5, 16, ...], 1) |
---|
462 | % [structureAllFileNames, res] = idMeasCorEfficForAllGaps(idName, fileNameCore, maxAbsCorCurrent, vectorOfGaps, dispData) |
---|
463 | idAuxFormatElecBeamMeasDataAfterEfficiency(structureAllFileNames, 0) |
---|
464 | % idAuxFormatElecBeamMeasDataAfterEfficiency(EfficiencyResutlStructure, displayOnScreen) |
---|
465 | % calcul des tables de HU42 |
---|
466 | st_sum_hu42 = load('/home/operateur/GrpGMI/HU42_HERMES/cod_P_summary_2011-01-24_10-35-01.mat'); |
---|
467 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('HU42_HERMES', {{'phase', st_sum_hu42.params{1}{2}}, {'gap', st_sum_hu42.params{2}{2}}}, st_sum_hu42.filenames_meas_bkg, '', '', -1) |
---|
468 | % j'ai supprimé les lignes a partir de gap 175 (j'ai gardé 150) à 240 |
---|
469 | % puis j'ai remplacé la ligne de 240 par des zeros |
---|
470 | % voici donc la liste des gaps |
---|
471 | paramsR{2}{2} = [15.5, 16.0, 18.0, 20.0, 22.5, 25.0, 27.5, 30.0, 35.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0,100.0,110.0,130.0,150.0,240] |
---|
472 | % j'ai "redensifier" le mesh des phases |
---|
473 | for i = 1:33 vPhasesD(i) = -21 + (i - 1)*(42/32); end |
---|
474 | [new_mCHE_wa, new_mCVE_wa, new_mCHS_wa, new_mCVS_wa] = idInterpolFeedForwardCorTables2D(mCHE_wa, mCVE_wa, mCHS_wa, mCVS_wa, paramsR{2}{2}, vPhasesD, 'linear'); |
---|
475 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CHE_TABLE.txt','new_mCHE_wa','-ascii'); |
---|
476 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CVE_TABLE.txt','new_mCVE_wa','-ascii'); |
---|
477 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CHS_TABLE.txt','new_mCHS_wa','-ascii'); |
---|
478 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CVS_TABLE.txt','new_mCVS_wa','-ascii'); |
---|
479 | % apres l'iteration 2 : calcul des mise a jour de la table mode para: |
---|
480 | st_sum_hu42 = load('/home/operateur/GrpGMI/HU42_HERMES/it2_P_summary_2011-03-22_04-33-16.mat'); |
---|
481 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('HU42_HERMES', {{'phase', st_sum_hu42.params{1}{2}}, {'gap', st_sum_hu42.params{2}{2}}}, st_sum_hu42.filenames_meas_bkg, '', '', -1) |
---|
482 | % reste a mettre en place la nouvelle table... a suivre |
---|
483 | %-------------------------------------------------------------------------- |
---|
484 | % 13/06/2011 Calibration des correcteurs de HU42 |
---|
485 | %-------------------------------------------------------------------------- |
---|
486 | gap_cal=[15.5 18 20 22.5 25 27.5 30 35 40 50 60 70 80 90 100 110 130 150 175 200 225 240]; |
---|
487 | [structureAllFileNames, res] = idMeasCorEfficForAllGaps('HU42_HERMES', '', 10, gap_cal, 1); |
---|
488 | % script de Fabien pour generer la sequence à introduire dans 'idReadCorElecBeamMeasData' file |
---|
489 | idAuxFormatElecBeamMeasDataAfterEfficiency(structureAllFileNames, 0) |
---|
490 | st_sum_hu42 = load('/home/operateur/GrpGMI/HU42_HERMES/cod_P_summary_2011-01-24_10-35-01.mat'); |
---|
491 | paramsR = st_sum_hu42.params; |
---|
492 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('HU42_HERMES', {{'phase', st_sum_hu42.params{1}{2}}, {'gap', st_sum_hu42.params{2}{2}}}, st_sum_hu42.filenames_meas_bkg, '', '', -1) |
---|
493 | [mCHE_wa, mCVE_wa, mCHS_wa, mCVS_wa] = idAuxMergeFeedForwardCorTablesWithArgForAppleII(mCHE, mCVE, mCHS, mCVS, paramsR); |
---|
494 | for i = 1:33 vPhasesD(i) = -21 + (i - 1)*(42/32); end |
---|
495 | [new_mCHE_wa, new_mCVE_wa, new_mCHS_wa, new_mCVS_wa] = idInterpolFeedForwardCorTables2D(mCHE_wa, mCVE_wa, mCHS_wa, mCVS_wa, paramsR{2}{2}, vPhasesD, 'linear') |
---|
496 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CHE_TABLE.txt','new_mCHE_wa','-ascii'); |
---|
497 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CVE_TABLE.txt','new_mCVE_wa','-ascii'); |
---|
498 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CVS_TABLE.txt','new_mCVS_wa','-ascii'); |
---|
499 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CHS_TABLE.txt','new_mCHS_wa','-ascii'); |
---|
500 | st_sum_hu42X = load('/home/operateur/GrpGMI/HU42_HERMES/cod_X_summary_2011-01-24_14-23-32.mat'); |
---|
501 | paramsR = st_sum_hu42X.params; |
---|
502 | [mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('HU42_HERMES', {{'phase', st_sum_hu42X.params{1}{2}}, {'gap', st_sum_hu42X.params{2}{2}}}, st_sum_hu42X.filenames_meas_bkg, '', '', -1) |
---|
503 | [mCHE_wa, mCVE_wa, mCHS_wa, mCVS_wa] = idAuxMergeFeedForwardCorTablesWithArgForAppleII(mCHE, mCVE, mCHS, mCVS, paramsR); |
---|
504 | for i = 1:33 vPhasesD(i) = -21 + (i - 1)*(42/32); end |
---|
505 | [new_mCHE_wa, new_mCVE_wa, new_mCHS_wa, new_mCVS_wa] = idInterpolFeedForwardCorTables2D(mCHE_wa, mCVE_wa, mCHS_wa, mCVS_wa, paramsR{2}{2}, vPhasesD, 'linear') |
---|
506 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CHE_TABLE.txt','new_mCHE_wa','-ascii'); |
---|
507 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CVE_TABLE.txt','new_mCVE_wa','-ascii'); |
---|
508 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CVS_TABLE.txt','new_mCVS_wa','-ascii'); |
---|
509 | save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CHS_TABLE.txt','new_mCHS_wa','-ascii'); |
---|
510 | |
---|
511 | |
---|
512 | |
---|
513 | |
---|
514 | |
---|