source: MML/trunk/machine/SOLEIL/StorageRing/insertions/premiertests.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: 36.0 KB
Line 
1soleilinit
2getx
3plot(getx)
4family2dev('BPMx')
5family2tango('BPMx')
6help getx
7help family2tango
8doc tango
9tango_command_inout('ANS-C08/EI/M-HU80.2_CHAN1', 'State')
10tango_error
11dev = 'ANS-C08/EI/M-HU80.2_CHAN1';
12class(dev)
13a=2
14class(a)
15tango_state(dev)
16tango_status(dev)
17devM='ans-c08/ei/m-hu80.2_motorscontrol'
18tango_command_inout('ANS-C08/EI/M-HU80.2_CHAN1', 'State')
19tango_command_inout(devM, 'State')
20tango_command_inout2(devM, 'State')
21tango_command_inout(devM, 'State4')
22tango_command_inout2(devM, 'State4')
23tango_command_inout2(devM, 'ON')
24tango_command_inout2(devM, 'On')
25tango_command_inout2(devM, 'Status')
26tango_command_inout2(devM, 'State')
27pp = tango_command_inout2(devM, 'State')
28tango_command_inout2(devM, 'State')
29print(ans)
30printf('%s\n', ans)
31fprintf('%s\n', ans)
32ans
33a=2
34ans
352
36ans
37tango_read_attribute2(devM, 'encoder1Position')
38a = tango_read_attribute2(devM, 'encoder1Position')
39a
40a.value
41datestr(a.time)
42readattribute([devM, 'encoder1Position'])
43[devM, 'encoder1Position'])
44[devM, 'encoder1Position']
45[devM, '/encoder1Position']
46readattribute([devM, '/encoder1Position'])
47[a z ] = readattribute([devM, '/encoder1Position'])
48help readattribute
49[a z t] = readattribute([devM, '/encoder1Position'])
50edit readattribute.m
51datestr(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'])
57tango_command_inout2(devM, 'GotoGap', 2400000)
58tango_command_inout2(devM, 'GotoGap', int32(2400000))
59[a z t] = readattribute([devM, '/encoder2Position'])
60tango_command_inout2(devM, 'Init')
61tango_command_inout2(devM, 'State')
62tango_command_inout2(devM, 'On')
63tango_command_inout2(devM, 'ResetError')
64tango_command_inout2(tangodevM, 'Reset')
65tango_command_inout2(devM, 'GotoGap', int32(2100000))
66tango_command_inout2(devM, 'GotoPhase', int32(50000), int32(50000))
67tango_command_inout2(devM, 'GotoPhase', {int32(50000), int32(50000)})
68tango_command_inout2(devM, 'GotoPhase', [int32(50000), int32(50000)])
69tango_command_inout2(devM, 'Init')
70tango_command_inout2(devM, 'GotoPhase', [int32(0), int32(0)])
71tango_command_inout2(devM, 'GotoPhase', [int32(100000), int32(-100000)])
72tango_command_inout2(devM, 'GotoPhase', [int32(0), int32(0)])
73tango_command_inout2(devM, 'GotoGap', int32(2500000))
74
75getx
76getz
77getam('BPMx')
78getam('BPMx',[1 1])
79getam('BPMx',[1 1; 1 2])
80getam('BPMx',[5 1; 5 2])
81family2tangodev('BPMx',[5 1; 5 2])
82family2dev('BPMx')
83family2status('BPMx')
84modelbeta
85solorbit
86getx
87X = getx
88I=getdcct
89
90/home/matlabML/mmlcontrol/Ringspecific/insertions
91
92/home/matlabML/measdata/Ringdata/insertions/HU80_TEMPO/
93
94% H orbit
95EI.X = getx;
96% V orbit
97EI.Z = getz;
98% encoder #2
99EI.encoder2= readattribute([devM, '/encoder2Position']);
100% stored current
101EI.current = getdcct;
102% tunes
103EI.tune = gettune;
104
105% measure dispersion functions
106[dx dz] = measdisp('Physics');
107
108EI.dx = dx;
109EI.dz = dz;
110
111EI.date = datestr(now); % convert date to string
112
113pause(1); % 1 second pause
114
115% measure chromaticities
116EI.ksi = measchro('Physics');
117
118%%%%%%%%%%%%%% ARchiving
119
120% If the filename contains a directory then make sure it exists
121Filename = 'exemple4Oleg';
122
123FileName = appendtimestamp('G20_P0');
124DirectoryName = getfamilydata('Directory','HU80_TEMPO');
125DirStart = pwd;
126[DirectoryName, ErrorFlag] = gotodirectory(DirectoryName);
127save(FileName, 'EI_G20_P0');
128cd(DirStart);
129
130
131edit soleilinit
132Filename = 'exemple4Oleg'
133FileName = appendtimestamp(Filename)
134getfamilydata('Directory','HU80_TEMPO')
135ls
136rm HU80_2006-09-12_17-24-36
137remove HU80_2006-09-12_17-24-36
138delete HU80_2006-09-12_17-24-36.mat
139ls
140dir
141help save
142doc save
143getmcf
144pwd
145save 'toto' EI
146
147%%%%%%%%%%%%%% Calculating theoretical Beta values at the positions of BPMs
148modelbeta('BPMx')
149[bx bz]=modelbeta('BPMx')
150bx
151[phx, phz] = modelphase('BPMx')
152phx
153modeltune
154[nux nuz] = modeltune
155nu = modeltune
156
157%%%%%%%%%%%%%% Measuring COD vs Corrector Currents (to estimate corrector efficiency)
158tableCurInCor = [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:
162sResFormatted = 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
165setorbitbump('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
168stMeas = idMeasElecBeamUnd('U20_PROXIMA1', 0, 'test_for_chams', 1)
169
170%to estimate effective field integrals of U20
171st = 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
174A=[0 1 2 3;
175      10 0.2 0.4 0.5;
176      20 0.5 0.21 0.45];
177 
178tango_write_attribute2(dev,'correctionCHEParallelMode',A); 
179
180% how to write at the same time all the correctors
181dev= 'ANS-C08/EI/M-HU80.2';
182attr_name_val_list(1).value = 0
183attr_name_val_list(2).value = 0
184attr_name_val_list(3).value = 0
185attr_name_val_list(4).value = 0
186attr_name_val_list(1).name='currentCHE'
187attr_name_val_list(2).name='currentCVE'
188attr_name_val_list(4).name='currentCVS'
189attr_name_val_list(3).name='currentCHS'
190
191tango_write_attributes(dev,attr_name_val_list);
192
193% to calculate correction tables for feed-forward
194%HU80:
195stFileNamesMeasCOD = load('/home/operateur/GrpGMI/HU80_TEMPO/cod_II_filelist_2006-12-10_13-11-12');
196vPhase = [-40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40];
197vGap = [15.5, 16, 18, 20, 22.5, 25, 27.5, 30, 35, 40, 50, 60, 70, 80, 90, 100, 110, 130, 150];
198fileNamesMeasBkg = idAuxPrepFileNameListMeasAndBkg(stFileNamesMeasCOD.filelist, length(vGap));
199arBPM2Skip = [58];
200[mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('HU80_TEMPO', {{'phase', vPhase}, {'gap', vGap}}, fileNamesMeasBkg, '', '', arBPM2Skip);
201mCHE_with_Arg = idAuxMergeCorTableWithArg2D(vGap, vPhase, mCHE);
202mCVE_with_Arg = idAuxMergeCorTableWithArg2D(vGap, vPhase, mCVE);
203mCHS_with_Arg = idAuxMergeCorTableWithArg2D(vGap, vPhase, mCHS);
204mCVS_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:
211stFileNamesMeasCOD = load('/home/operateur/GrpGMI/U20_PROXIMA1/test_cod_filelist_2007-01-24_13-17-20.mat');
212vGap = [30, 27];
213fileNamesMeasBkg = idAuxPrepFileNameListMeasAndBkg(stFileNamesMeasCOD.filename, length(vGap))
214[mCHE, mCVE, mCHS, mCVS] = idCalcFeedForwardCorTables('U20_PROXIMA1', {{'gap', vGap}}, fileNamesMeasBkg, '', '', -1)
215
216%%
217dev = 'ANS-C04/EI/M-HU80.1';
218
219tango_write_attribute2(dev,'parallelModeCHE', mCHE_res_with_arg);
220tango_write_attribute2(dev,'parallelModeCVE', mCVE_res_with_arg);
221tango_write_attribute2(dev,'parallelModeCHS', mCHS_res_with_arg);
222tango_write_attribute2(dev,'parallelModeCVS', mCVS_res_with_arg);
223
224%To try changing ID parameters (gap, phase):
225resUnd = 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)
245stMeas = 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:
260idSetOrbitBump('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
274vPhase = [-40, -35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35, 40];
275vGap = [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
283for 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:
289st_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:
294mCHEr = idAuxMatrResizeExt(mCHE, 20, 17, 1, 1); mCHEr = idAuxMatrResizeExt(mCHEr, 21, 17, 1, 1);
295mCHSr = idAuxMatrResizeExt(mCHS, 20, 17, 1, 1); mCHSr = idAuxMatrResizeExt(mCHSr, 21, 17, 1, 1);
296mCVEr = idAuxMatrResizeExt(mCVE, 20, 17, 1, 1); mCVEr = idAuxMatrResizeExt(mCVEr, 21, 17, 1, 1);
297mCVSr = 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:
299paramsR = st_sum_hu52IIclean.params;
300paramsR{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:
303for i = 1:33 vPhasesD(i) = -26 + (i - 1)*(52/32); end
304vPhasesD(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
312st_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:
317mCHEr = idAuxMatrResizeExt(mCHE, 20, 17, 1, 1); mCHEr = idAuxMatrResizeExt(mCHEr, 21, 17, 1, 1);
318mCHSr = idAuxMatrResizeExt(mCHS, 20, 17, 1, 1); mCHSr = idAuxMatrResizeExt(mCHSr, 21, 17, 1, 1);
319mCVEr = idAuxMatrResizeExt(mCVE, 20, 17, 1, 1); mCVEr = idAuxMatrResizeExt(mCVEr, 21, 17, 1, 1);
320mCVSr = 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
323paramsR = st_sum_hu52Xclean.params;
324paramsR{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);
327for i = 1:33 vPhasesD(i) = -26 + (i - 1)*(52/32); end
328vPhasesD(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)
335HU44_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);
337ParamR=HU44_MICROFOC_Struct_X.params;
338ParamR{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
339mCVEr = 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)
341vphaseD=-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
344vPhase = [-4:2:4]
345vgap = [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)
348Some "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)
351idUpdateFeedForwardCorTables2D('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
358save ('/home/operateur/GrpGMI/HU44_MICROFOC/cod_Xit1_test_phase-4_gap15_5_2008-10-21_00-17-07', '-struct',  'toto1')
359tata=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)
367stMeas = 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
374tableCurInCor = [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
402hu44_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)
404mCHEr = idAuxMatrResizeExt(mCHE, 20, 17, 1, 1) % suppression des valeurs de correcteurs non significatifs entre 175 et 240 mm
405mCHEr = idAuxMatrResizeExt(mCHEr, 21, 17, 1, 1)% ajout de la valeur 0 pour gap 240
406mCHSr = idAuxMatrResizeExt(mCHS, 20, 17, 1, 1); mCHSr = idAuxMatrResizeExt(mCHSr, 21, 17, 1, 1);
407mCVEr = idAuxMatrResizeExt(mCVE, 20, 17, 1, 1); mCVEr = idAuxMatrResizeExt(mCVEr, 21, 17, 1, 1);
408mCVSr = idAuxMatrResizeExt(mCVS, 20, 17, 1, 1); mCVSr = idAuxMatrResizeExt(mCVSr, 21, 17, 1, 1);
409paramsR = hu44_tempo.params;
410paramsR{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%-----------------------------
416for 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')
418save('maj_cve.txt','new_mCVE_wa','-ascii')  %sauvegarde au format texte des nouvelles tables
419save('maj_cvs.txt','new_mCVS_wa','-ascii')  % comme les acquisitions des COD ont ete faite avec le FFWD, il faut
420save('maj_chs.txt','new_mCHS_wa','-ascii')  % ajouter ces tables aux tables deja existantes
421save('maj_che.txt','new_mCHE_wa','-ascii')  %--> utilisation de OpenOffice pour faire la somme "à la main"
422
423
424RUN SEXTANTS 05 / 03 / 2011 : Mise à jour des tables !!!
425
426old_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')
428old_mCVE_II_int=old_mCVE_II_int(1:449, :);
429old_mCHE_II_int=old_mCHE_II_int(1:449, :);
430old_mCHS_II_int=old_mCHS_II_int(1:449, :);
431old_mCVS_II_int=old_mCVS_II_int(1:449, :);
432
433Structure=load('/home/operateur/GrpGMI/HU80_SEXTANTS/cod_HU80_PLEIADES_PARA_summary_2011-01-24_03-18-39.mat')
434idCalcFeedForwardCorTables('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
440maj_mCHE_wa_int_II=maj_mCHE_wa_int(1:449, :);
441maj_mCVE_wa_int_II=maj_mCVE_wa_int(1:449, :);
442maj_mCVS_wa_int_II=maj_mCVS_wa_int(1:449, :);
443maj_mCHS_wa_int_II=maj_mCHS_wa_int(1:449, :);
444new_mCHS_wa_II=old_mCHS_II_int;
445new_mCVS_wa_II=old_mCVS_II_int;
446new_mCVE_wa_II=old_mCVE_II_int;
447new_mCVE_wa_II(2:449, 2:82)=old_mCVE_II_int(2:449, 2:82)+maj_mCVE_wa_int_II(2:449, 2:82);
448new_mCVS_wa_II(2:449, 2:82)=old_mCVS_II_int(2:449, 2:82)+maj_mCVS_wa_int_II(2:449, 2:82);
449new_mCVS_wa_II(2:449, 2:82)=old_mCVS_II_int(2:449, 2:82)+maj_mCVS_wa_int_II(2:449, 2:82);
450new_mCHS_wa_II(2:449, 2:82)=old_mCHS_II_int(2:449, 2:82)+maj_mCHS_wa_int_II(2:449, 2:82);
451save('/usr/Local/configFiles/InsertionFFTables/ANS-C14-HU80/FF_PARALLEL_CHE_TABLE.txt','new_mCHE_wa_II','-ascii')
452save('/usr/Local/configFiles/InsertionFFTables/ANS-C14-HU80/FF_PARALLEL_CHS_TABLE.txt','new_mCHS_wa_II','-ascii')
453save('/usr/Local/configFiles/InsertionFFTables/ANS-C14-HU80/FF_PARALLEL_CVS_TABLE.txt','new_mCVS_wa_II','-ascii')
454save('/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
466st_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
471paramsR{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
473for 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');
475save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CHE_TABLE.txt','new_mCHE_wa','-ascii');
476save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CVE_TABLE.txt','new_mCVE_wa','-ascii');
477save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CHS_TABLE.txt','new_mCHS_wa','-ascii');
478save('/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:
480st_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%--------------------------------------------------------------------------
486gap_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
489idAuxFormatElecBeamMeasDataAfterEfficiency(structureAllFileNames, 0)
490st_sum_hu42 = load('/home/operateur/GrpGMI/HU42_HERMES/cod_P_summary_2011-01-24_10-35-01.mat');
491paramsR = 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);
494for 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')
496save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CHE_TABLE.txt','new_mCHE_wa','-ascii');
497save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CVE_TABLE.txt','new_mCVE_wa','-ascii');
498save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CVS_TABLE.txt','new_mCVS_wa','-ascii');
499save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CHS_TABLE.txt','new_mCHS_wa','-ascii');
500st_sum_hu42X = load('/home/operateur/GrpGMI/HU42_HERMES/cod_X_summary_2011-01-24_14-23-32.mat');
501paramsR = 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);
504for 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')
506save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CHE_TABLE.txt','new_mCHE_wa','-ascii');
507save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CVE_TABLE.txt','new_mCVE_wa','-ascii');
508save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CVS_TABLE.txt','new_mCVS_wa','-ascii');
509save('/usr/Local/configFiles/InsertionFFTables/ANS-C10-HU42/FF_PARALLEL_CHS_TABLE.txt','new_mCHS_wa','-ascii');
510
511
512
513
514
Note: See TracBrowser for help on using the repository browser.