source: MML/trunk/machine/SOLEIL/doc_html/machine/Soleil/StorageRing/setorbitdefault.html @ 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: 9.1 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2                "http://www.w3.org/TR/REC-html40/loose.dtd">
3<html>
4<head>
5  <title>Description of setorbitdefault</title>
6  <meta name="keywords" content="setorbitdefault">
7  <meta name="description" content="setorbitdefault(Evectors, Iters {1}, RemoveBPMDeviceList, RemoveHCMDeviceList, RemoveVCMDeviceList)">
8  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
9  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">
10  <meta name="robots" content="index, follow">
11  <link type="text/css" rel="stylesheet" href="../../../m2html.css">
12</head>
13<body>
14<a name="_top"></a>
15<div><a href="../../../index.html">Home</a> &gt;  <a href="#">machine</a> &gt; <a href="#">Soleil</a> &gt; <a href="index.html">StorageRing</a> &gt; setorbitdefault.m</div>
16
17<!--<table width="100%"><tr><td align="left"><a href="../../../index.html"><img alt="<" border="0" src="../../../left.png">&nbsp;Master index</a></td>
18<td align="right"><a href="index.html">Index for machine/Soleil/StorageRing&nbsp;<img alt=">" border="0" src="../../../right.png"></a></td></tr></table>-->
19
20<h1>setorbitdefault
21</h1>
22
23<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../../../up.png"></a></h2>
24<div class="box"><strong>setorbitdefault(Evectors, Iters {1}, RemoveBPMDeviceList, RemoveHCMDeviceList, RemoveVCMDeviceList)</strong></div>
25
26<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../../../up.png"></a></h2>
27<div class="box"><strong>function setorbitdefault(varargin) </strong></div>
28
29<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../../../up.png"></a></h2>
30<div class="fragment"><pre class="comment"> setorbitdefault(Evectors, Iters {1}, RemoveBPMDeviceList, RemoveHCMDeviceList, RemoveVCMDeviceList)</pre></div>
31
32<!-- crossreference -->
33<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../../../up.png"></a></h2>
34This function calls:
35<ul style="list-style-image:url(../../../matlabicon.gif)">
36</ul>
37This function is called by:
38<ul style="list-style-image:url(../../../matlabicon.gif)">
39</ul>
40<!-- crossreference -->
41
42
43<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../../../up.png"></a></h2>
44<div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function setorbitdefault(varargin)</a>
450002 <span class="comment">% setorbitdefault(Evectors, Iters {1}, RemoveBPMDeviceList, RemoveHCMDeviceList, RemoveVCMDeviceList)</span>
460003
470004
480005 <span class="comment">% Defaults</span>
490006 PlaneFlag = 0;
500007 Iters = 1;
510008 Evectors = [];
520009 RemoveBPMDeviceList = [];   
530010 RemoveHCMDeviceList = [];   
540011 RemoveVCMDeviceList = [];   
550012 DisplayFlag = <span class="string">'NoDisplay'</span>;
560013
570014 HCMFamily = gethcmfamily;
580015 VCMFamily = getvcmfamily;
590016
600017
610018 <span class="comment">% Input parsing</span>
620019 <span class="keyword">for</span> i = length(varargin):-1:1
630020     <span class="keyword">if</span> isstruct(varargin{i})
640021         <span class="comment">% Just remove</span>
650022         varargin(i) = [];
660023     <span class="keyword">elseif</span> iscell(varargin{i})
670024         <span class="comment">% Just remove</span>
680025         varargin(i) = [];
690026     <span class="keyword">elseif</span> strcmpi(varargin{i},<span class="string">'struct'</span>)
700027         <span class="comment">% Just remove</span>
710028         varargin(i) = [];
720029     <span class="keyword">elseif</span> strcmpi(varargin{i},<span class="string">'numeric'</span>)
730030         <span class="comment">% Just remove</span>
740031         varargin(i) = [];
750032     <span class="keyword">elseif</span> strcmpi(varargin{i},<span class="string">'Display'</span>)
760033         DisplayFlag = <span class="string">'Display'</span>;
770034         varargin(i) = [];
780035     <span class="keyword">elseif</span> strcmpi(varargin{i},<span class="string">'NoDisplay'</span>)
790036         DisplayFlag = <span class="string">'NoDisplay'</span>;
800037         varargin(i) = [];
810038     <span class="keyword">elseif</span> any(strcmpi(varargin{i},{<span class="string">'x'</span>,<span class="string">'Horizontal'</span>}))
820039         PlaneFlag = 1;
830040         varargin(i) = [];
840041     <span class="keyword">elseif</span> any(strcmpi(varargin{i},{<span class="string">'y'</span>,<span class="string">'Vertical'</span>}))
850042         PlaneFlag = 2;
860043         varargin(i) = [];
870044     <span class="keyword">end</span>
880045 <span class="keyword">end</span>
890046
900047
910048 <span class="keyword">if</span> length(varargin) &gt;= 1
920049     <span class="keyword">if</span> isnumeric(varargin{1})
930050         Evectors = varargin{1};
940051         varargin(i) = [];
950052     <span class="keyword">end</span>
960053 <span class="keyword">end</span>
970054 <span class="keyword">if</span> isempty(Evectors)
980055     nxcor = 56;
990056     nycor = 56;
1000057     <span class="keyword">if</span> PlaneFlag == 0
1010058         <span class="comment">% Both planes</span>
1020059         Evectors = 1:(nxcor + nycor);
1030060     <span class="keyword">elseif</span> PlaneFlag == 1
1040061         <span class="comment">% Horizontal</span>
1050062         Evectors = 1:nxcor;
1060063     <span class="keyword">elseif</span> PlaneFlag == 2
1070064         Evectors = 1:nycor;
1080065     <span class="keyword">end</span>
1090066 <span class="keyword">end</span>
1100067
1110068 <span class="keyword">if</span> length(varargin) &gt;= 1
1120069     <span class="keyword">if</span> isnumeric(varargin{1})
1130070         Iters = varargin{1};
1140071         varargin(i) = [];
1150072     <span class="keyword">end</span>
1160073 <span class="keyword">end</span>
1170074
1180075 <span class="keyword">if</span> length(varargin) &gt;= 1
1190076     <span class="keyword">if</span> isnumeric(varargin{1})
1200077         RemoveBPMDeviceList = varargin{1};
1210078         varargin(i) = [];
1220079     <span class="keyword">end</span>
1230080 <span class="keyword">end</span>
1240081
1250082 <span class="keyword">if</span> PlaneFlag == 0
1260083     <span class="comment">% Get BPM and CM structures</span>
1270084     CM  = {getsp(HCMFamily,<span class="string">'struct'</span>),getsp(VCMFamily,<span class="string">'struct'</span>)};
1280085     BPM = {getx(<span class="string">'struct'</span>), gety(<span class="string">'struct'</span>)};
1290086     
1300087     
1310088     <span class="comment">% Remove devices</span>
1320089     
1330090     <span class="comment">% HCM</span>
1340091     i = findrowindex(RemoveHCMDeviceList, CM{1}.DeviceList);
1350092     CM{1}.DeviceList(i,:) = [];
1360093     CM{1}.Data(i,:) = [];
1370094     CM{1}.Status(i,:) = [];
1380095
1390096     <span class="comment">% VCM</span>
1400097     i = findrowindex(RemoveVCMDeviceList, CM{2}.DeviceList);
1410098     CM{2}.DeviceList(i,:) = [];
1420099     CM{2}.Data(i,:) = [];
1430100     CM{2}.Status(i,:) = [];
1440101
1450102     <span class="comment">% BPMx and BPMy</span>
1460103     i = findrowindex(RemoveBPMDeviceList, BPM{1}.DeviceList);
1470104     BPM{1}.DeviceList(i,:) = [];
1480105     BPM{1}.Data(i,:) = [];
1490106     BPM{1}.Status(i,:) = [];
1500107     
1510108     i = findrowindex(RemoveBPMDeviceList, BPM{2}.DeviceList);
1520109     BPM{2}.DeviceList(i,:) = [];
1530110     BPM{2}.Data(i,:) = [];
1540111     BPM{2}.Status(i,:) = [];
1550112     
1560113 <span class="keyword">elseif</span> PlaneFlag == 1
1570114
1580115     <span class="comment">% Get BPM and CM structures</span>
1590116     CM  = getsp(HCMFamily,<span class="string">'struct'</span>);
1600117     BPM = getx(<span class="string">'struct'</span>);
1610118     
1620119     
1630120     <span class="comment">% Remove devices</span>
1640121     
1650122     <span class="comment">% HCM</span>
1660123     i = findrowindex(RemoveHCMDeviceList, CM.DeviceList);
1670124     CM.DeviceList(i,:) = [];
1680125     CM.Data(i,:) = [];
1690126     CM.Status(i,:) = [];
1700127
1710128     <span class="comment">% BPMx</span>
1720129     i = findrowindex(RemoveBPMDeviceList, BPM.DeviceList);
1730130     BPM.DeviceList(i,:) = [];
1740131     BPM.Data(i,:) = [];
1750132     BPM.Status(i,:) = [];   
1760133
1770134 <span class="keyword">elseif</span> PlaneFlag == 2
1780135     
1790136     <span class="comment">% Get BPM and CM structures</span>
1800137     CM  = getsp(VCMFamily,<span class="string">'struct'</span>);
1810138     BPM = gety(<span class="string">'struct'</span>);
1820139     
1830140     
1840141     <span class="comment">% Remove devices</span>
1850142     
1860143     <span class="comment">% VCM</span>
1870144     i = findrowindex(RemoveVCMDeviceList, CM.DeviceList);
1880145     CM.DeviceList(i,:) = [];
1890146     CM.Data(i,:) = [];
1900147     CM.Status(i,:) = [];
1910148     
1920149     <span class="comment">% BPMy</span>
1930150     i = findrowindex(RemoveBPMDeviceList, BPM.DeviceList);
1940151     BPM.DeviceList(i,:) = [];
1950152     BPM.Data(i,:) = [];
1960153     BPM.Status(i,:) = [];
1970154 <span class="keyword">end</span>
1980155
1990156
2000157 <span class="comment">% Corrector orbit</span>
2010158 setorbit(<span class="string">'Golden'</span>, BPM, CM, Iters, Evectors, DisplayFlag, varargin{:});</pre></div>
202<hr><address>Generated on Mon 21-May-2007 15:35:27 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address>
203</body>
204</html>
Note: See TracBrowser for help on using the repository browser.