source: MML/trunk/machine/SOLEIL/StorageRing/BPMInit_Orb.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: 2.2 KB
Line 
1function varargout = bpminit_orb
2% BPMINIT_Orb - Initialize electron BPM data for ORBIT program
3
4%
5% Written by William J. Corbett
6% Adapted by Laurent S. Nadolski
7
8BPMxFamily = 'BPMx';
9BPMzFamily = 'BPMz';
10
11AO = getao;
12
13%horizontal plane ***
14BPM(1).AOFamily = BPMxFamily;
15BPM(1).name = AO.(BPMxFamily).CommonNames;
16BPM(1).s    = AO.(BPMxFamily).Position;   
17ntbpm       = size(BPM(1).name,1);
18BPM(1).mode  = 0;                 %display to show name, toggle for BPM.ifit
19BPM(1).ref   = zeros(ntbpm,1);    %...BPM.ref,des,abs all set in reference read
20BPM(1).des   = zeros(ntbpm,1);    %...initialize array
21BPM(1).act   = zeros(ntbpm,1);    %...initialize array
22BPM(1).rffit = zeros(ntbpm,1);    %...initialize dispersion component
23BPM(1).avail = (1:ntbpm)';        %...initialize all BPMs available
24BPM(1).ifit  = (1:ntbpm)';        %...initialize all BPMs on for fitting
25BPM(1).fit   = zeros(ntbpm,1);    %...initialize fitted solution zero
26BPM(1).wt    = ones(ntbpm,1);     %...SVD fitting weights
27BPM(1).etawt = ones(ntbpm,1);     %...SVD dispersion fitting weights
28BPM(1).id    = 1;                 %...initialize BPM selection
29BPM(1).ATindex = AO.(BPMxFamily).AT.ATIndex;   %load AT indices
30BPM(1).ntbpm = ntbpm;             % number of bpms
31
32
33% vertical plane
34BPM(2).AOFamily= BPMzFamily;
35BPM(2).name = AO.(BPMzFamily).CommonNames;
36BPM(2).s    = AO.(BPMzFamily).Position;   
37ntbpm       = size(BPM(2).name,1);
38BPM(2).mode = 0;                  %display to show name, toggle for BPM.ifit
39BPM(2).ref  = zeros(ntbpm,1);     %...BPM.ref,des,abs all set in reference read
40BPM(2).des  = zeros(ntbpm,1);     %...initialize array
41BPM(2).act  = zeros(ntbpm,1);     %...initialize array
42BPM(2).rffit= zeros(ntbpm,1);     %...initialize dispersion component
43BPM(2).avail= (1:ntbpm)';         %...initialize all BPMs available
44BPM(2).ifit = (1:ntbpm)';         %...initialize all BPMs on for fitting
45BPM(2).fit  = zeros(ntbpm,1);     %...initialize fitted solution zero
46BPM(2).wt   = ones(ntbpm,1);      %...SVD fitting weights
47BPM(2).etawt= ones(ntbpm,1);      %...SVD dispersion fitting weights
48BPM(2).id   = 1;                  %...initialize BPM selection
49BPM(2).ATindex = AO.(BPMxFamily).AT.ATIndex;   %load AT indices
50BPM(2).ntbpm = ntbpm;             %number of bpms 
51
52varargout{1} = BPM;
Note: See TracBrowser for help on using the repository browser.