source: MML/trunk/applications/orbit/lib/openbpmlog.m @ 4

Last change on this file since 4 was 4, checked in by zhangj, 10 years ago

Initial import--MML version from SOLEIL@2013

File size: 1.7 KB
Line 
1function varargout=OpenBPMLog(varargin)
2% open file to log bpms
3filename=varargin(1);  filename=char(filename);
4comment =varargin(2);  comment=char(comment);
5BPM     =varargin(3);  BPM=BPM{1};
6ncyc    =varargin(4);  ncyc=ncyc{1};
7
8ntbpm=length(BPM(1).name);
9nbx=length(BPM(1).ifit);
10ibx=BPM(1).ifit;
11nby=length(BPM(2).ifit);
12iby=BPM(2).ifit;
13nbb=nbx;
14ibb=ibx;
15
16
17[fid,message]=fopen(filename,'w');
18if fid==-1
19  disp(['WARNING: Unable to open file to log bpms :' filename]);
20  disp(message);
21  return
22end
23fprintf(fid,'%s\n',['Feedback BPM Log file: ' filename, '     ', comment]);
24fprintf(fid,'%s\n',['Timestamp: ' datestr(now,0)]);
25fprintf(fid,'%d %d %d %d %d\n',ntbpm, nbx, nby, nbb, ncyc);
26
27%Horizontal BPM indices;
28fprintf(fid,'%3d %3d %3d %3d %3d %3d %3d %3d %3d %3d\n' ,ibx);
29if ~(mod(length(ibx),10)==0) fprintf(fid,'%s\n',' '); end %line feed
30%Vertical BPM indices;
31fprintf(fid,'%3d %3d %3d %3d %3d %3d %3d %3d %3d %3d\n' ,iby);
32if ~(mod(length(iby),10)==0) fprintf(fid,'%s\n',' '); end %line feed
33%Bump BPM indices;
34fprintf(fid,'%3d %3d %3d %3d %3d %3d %3d %3d %3d %3d\n' ,ibb);
35if ~(mod(length(ibb),10)==0) fprintf(fid,'%s\n',' '); end %line feed
36
37fprintf(fid,'%6.3f %6.3f\n',0.0, 0.0);   %tunes
38
39for ii=1:length(BPM(1).name)
40fprintf(fid,'%10s %6.3f %6.3f %6.3f% 6.3f\n',...
41BPM(1).name(ii,:), 0.0, 0.0, 0.0, 0.0); %5 columns wide
42end
43
44fprintf(fid,'%s\n',['Reference Orbit: ' num2str(length(BPM(1).status))]);
45fprintf(fid,'%3d %3d %3d %3d %3d %3d %3d %3d %3d %3d\n' ,BPM(1).iref);
46if ~(mod(length(BPM(1).iref),10)==0) fprintf(fid,'%s\n',' '); end %line feed
47
48for ii=1:length(BPM(1).name)
49fprintf(fid,'%3d %15.3f %15.3f %15.3f\n',...
50ii, BPM(1).ref(ii), BPM(2).ref(ii), BPM(2).ref(ii));
51end
52
53disp(['BPM log file open: ' filename]);
54
55varargout{1}=fid;
Note: See TracBrowser for help on using the repository browser.