correction corrects trajectory on first turns
USING tango Devices on real accelerator (ESRF SR/SY).
This function is a wizard. it will prompt you to continue
correction, change parameters, compute/measure response matrices,...
[ModelRM,hs,vs,cv,sp,freq]=...
correction(...
obj,...
varargin)
OPTIONAL INPUTS:
'indBPM' bpm indexes (default ft.indBPM, all 320)
[for expert and test only]
'indHCor' h. cor indexed (default indHst, all 384)
[for expert and test only]
'indVCor' v. cor indexed (default indVst, all 288)
[for expert and test only]
'max_BPM_good_reading' maximum bpm accepted reading (lim+2e-3m for extra search)
(default: [15e-3 (hor.) 3e-3m (ver.)])
'bpm_s_range' BPM in this range are used. [m] (default [0,C])
'cor_s_range' COR in this range are used. [m] (default [0,C])
'accepeted_turns' accepted number of turns (default 10)
[condition to exit from correction, != ft.nturns which
is the actual # of turns used for correction]
'correct_TL2' correct using TL2 CV89 and Septa
(default =false, added if correction stack)
'correct_H' correct using H steerers (default = true)
'correct_V' correct using V steerers (default = true)
'correct_dpp' correct dpp (default = false)
'correctors_mean_zero' correctors mean constrained to zero (default = true)
'svd_mode' 'Tikhonov' or 'eigenvectors' (defualt)
'Tikhonov' Tikhonov parameter (ignored if mode eignvectors)
'max_num_eig' maximum number of eigenvectors (default 10, ignored if
mode Tikhonov)
'ModelRM' Trajectory response matrix
(if not provided it will be computed and
saved in TrajRM.mat and given as output and
overwrite the obj.ModelRM property).
'reference_orbit' reference trajectory 2xnbpm (default:0)
[nonzero in H, ft.injoff used]
'steerers_max' 2x1 limit of steerers abs(steerer)<steererlimit
(if not given, no limits), (default [3,3]e-4 rad)
'ask_to_continue' ask message to keep iterating (default: true)
'ask_to_change_options' ask message to change correction options (if
false, keep default or latest inputs)
'savetrajfile' save a file with trajectory and correctors strenght at
each aquisition. (default: false)
'verbose' print text (default: true)
)
finds closed trajectory:
correct first 2 turns trajectory with available BPM and correctors
if not found, increase amplitude limit for bpm reading
force use of TL2 CV8 CV9 and septa
increase number of eigenvectors used
if measured trajectory amplitude is different from imulated one, think
about changing obj.injoff
EXAMPLE USAGE:
>> ft=FirstTurns('ebs-simu');
>> ft.correction
to call only h correction
>> ft.correction('correct_h',true,'correct_v',false);
to call only h correction of first two cells, SINGLE NON-ITERATIVE CORRECTION
>> Smax=60; Neig=10;
>> Hstvect=ft.correction('correct_V', false,'bpm_s_range',[7 Smax], ...
'cor_s_range',[0 Smax],'max_num_eigen',Neig, ...
'ask_to_continue',false, ...
'ask_to_change_options',false);
see also: FirstTurns/SimulateTrajectoryRM FirstTurns/MeasureTrajectoryRM
FirstTurns/setTurns FirstTurns/findNturnstrajectory6Err