Skip to content
get_steerresp.m 929 B
Newer Older
function [idx,gradient,resp,algo]=get_steerresp(inpt,decodef)
%GET_STEERRESP(INPUT)    get response of a single steerer
%
%[IDX,EXCITATION,RESPONSE,ALGORITHM]=GET_STEERRESP(INPUT,DECODEF)
%
%INPUT:   tab delimited text line
%DECODEF: function to decode steerer name into index
%         (default: ebs.steerindex())
%
%IDX:       Steerer index
%EXCITATION:Steerer gradient [rad]
%RESPONSE:	BPM response [m]
%ALGORITHM:	BPM algorithm (0 or 1)

if nargin<2, decodef=@ebs.steerindex; end
% [s1,s2,strs]=celldeal(strsplit(inpt,'\t','CollapseDelimiters',false));
% [sname,salgo,~]=celldeal(strsplit(s2,',','CollapseDelimiters',false));
[s1,s2,strs]=celldeal(regexp(inpt,'\t','split'));
[sname,salgo,~]=celldeal(regexp(s2,',','split'));
gradient=str2double(s1);
idx=decodef(sname);
Simone Liuzzo's avatar
Simone Liuzzo committed
%resp=1.0E-3*str2double(strs');	% convert mm to m
resp=str2double(strs');	% response already in m
algo=str2double(salgo);
if isnan(algo), algo=1; end
end