0001 function [X Z] = getbpmBN(varargin)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 InjectionFlag = 1;
0022 DisplayFlag = 1;
0023
0024 for i = length(varargin):-1:1
0025 if strcmpi(varargin{i},'Display')
0026 DisplayFlag = 1;
0027 varargin2 = {varargin2{:} varargin{i}};
0028 varargin(i) = [];
0029 elseif strcmpi(varargin{i},'NoDisplay')
0030 DisplayFlag = 0;
0031 varargin2 = {varargin2{:} varargin{i}};
0032 varargin(i) = [];
0033 elseif strcmpi(varargin{i},'Injection')
0034 InjectionFlag = 1;
0035 elseif strcmpi(varargin{i},'Extraction')
0036 InjectionFlag = 0;
0037 end
0038 end
0039
0040
0041 if (InjectionFlag)
0042 Rep = tango_read_attribute2('BOO/DG/BPM-MANAGER','xInj');
0043 X = Rep.value;
0044
0045 Rep = tango_read_attribute2('BOO/DG/BPM-MANAGER','zInj');
0046 Z = Rep.value;
0047 stitle=('Booster orbit at injection');
0048 else
0049 Rep = tango_read_attribute2('BOO/DG/BPM-MANAGER','xExt');
0050 X = Rep.value;
0051
0052 Rep = tango_read_attribute2('BOO/DG/BPM-MANAGER','zExt');
0053 Z = Rep.value;
0054 stitle=('Booster orbit at extraction');
0055 end
0056
0057 if DisplayFlag
0058 figure(102);
0059 posvect = getspos('BPMx');
0060 h1 = subplot(7,1,[1 3]);
0061 plot(posvect, X,'r.-');
0062 grid on
0063 ylabel('X (mm)');
0064 axis([0 getcircumference -4 4]);
0065 title(stitle);
0066
0067 h2 = subplot(7,1,4);
0068 drawlattice; hold on;
0069 set(h2,'XTick',[],'YTick',[]);
0070
0071 h3 = subplot(7,1,[5 7]);
0072 plot(posvect, Z,'b.-');
0073 grid on
0074 xlabel('s (mm)')
0075 ylabel('Z (mm)');
0076
0077
0078 linkaxes([h1 h2 h3],'x');
0079 addlabel(1,0,datestr(clock));
0080
0081 end