source: MML/trunk/mml/doc_html/mml/at/analattice.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: 11.6 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 analattice</title>
6  <meta name="keywords" content="analattice">
7  <meta name="description" content="PLOTLATTICE - Plot the lattice">
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="../index.html">mml</a> &gt; <a href="index.html">at</a> &gt; analattice.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 mml/at&nbsp;<img alt=">" border="0" src="../../right.png"></a></td></tr></table>-->
19
20<h1>analattice
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>PLOTLATTICE - Plot the lattice</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 analattice(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">PLOTLATTICE - Plot the lattice
31  plotlattice(FamilyName, FileName)
32  plotlattice(FamilyName, FileName)
33
34  KEY WORDS
35  1. 'Golden'    - Golden lattice {Default}
36  2. 'Injection' - Injection lattice (if there is one)
37  3. 'Present'   - Present lattice</pre></div>
38
39<!-- crossreference -->
40<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
41This function calls:
42<ul style="list-style-image:url(../../matlabicon.gif)">
43</ul>
44This function is called by:
45<ul style="list-style-image:url(../../matlabicon.gif)">
46</ul>
47<!-- crossreference -->
48
49
50<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
51<div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function analattice(varargin)</a>
520002 <span class="comment">%PLOTLATTICE - Plot the lattice</span>
530003 <span class="comment">%  plotlattice(FamilyName, FileName)</span>
540004 <span class="comment">%  plotlattice(FamilyName, FileName)</span>
550005 <span class="comment">%</span>
560006 <span class="comment">%  KEY WORDS</span>
570007 <span class="comment">%  1. 'Golden'    - Golden lattice {Default}</span>
580008 <span class="comment">%  2. 'Injection' - Injection lattice (if there is one)</span>
590009 <span class="comment">%  3. 'Present'   - Present lattice</span>
600010
610011
620012 <span class="comment">%  3. 'Position'  - X-axis is the position along the ring {Default}</span>
630013 <span class="comment">%  4. 'Phase'     - X-axis is the phase along the ring</span>
640014
650015 <span class="comment">%% Origin ALS</span>
660016 <span class="comment">% TODO to be adapted for SOLEIL</span>
670017
680018 XAxisFlag = <span class="string">'Position'</span>;
690019 XLabel = <span class="string">'Position [meters]'</span>;
700020
710021 FamilyName = <span class="string">''</span>;
720022 FileName = <span class="string">''</span>;
730023 ConfigSetpoint = [];
740024
750025 <span class="comment">% Input parsing</span>
760026 <span class="keyword">for</span> i = length(varargin):-1:1
770027     <span class="keyword">if</span> isstruct(varargin{i})
780028         <span class="comment">% Ignore structures</span>
790029     <span class="keyword">elseif</span> iscell(varargin{i})
800030         <span class="comment">% Ignore cells</span>
810031     <span class="keyword">elseif</span> strcmpi(varargin{i},<span class="string">'Struct'</span>)
820032         <span class="comment">% Just remove</span>
830033         varargin(i) = [];
840034     <span class="keyword">elseif</span> strcmpi(varargin{i},<span class="string">'Numeric'</span>)
850035         <span class="comment">% Just remove</span>
860036         varargin(i) = [];
870037     <span class="keyword">elseif</span> strcmpi(varargin{i},<span class="string">'Position'</span>)
880038         XAxisFlag = <span class="string">'Position'</span>;
890039         varargin(i) = [];
900040     <span class="keyword">elseif</span> strcmpi(varargin{i},<span class="string">'Phase'</span>)
910041         XAxisFlag = <span class="string">'Phase'</span>;
920042         varargin(i) = [];
930043     <span class="keyword">elseif</span> strcmpi(varargin{i},<span class="string">'Golden'</span>)
940044         FileName = <span class="string">'Golden'</span>;
950045         varargin(i) = [];
960046     <span class="keyword">elseif</span> strcmpi(varargin{i},<span class="string">'Present'</span>)
970047         FileName = <span class="string">'Present'</span>;
980048         varargin(i) = [];
990049     <span class="keyword">elseif</span> strcmpi(varargin{i},<span class="string">'Injection'</span>) || strcmpi(varargin{i},<span class="string">'Inj'</span>)
1000050         FileName = <span class="string">'Injection'</span>;
1010051         varargin(i) = [];
1020052     <span class="keyword">elseif</span> strcmpi(varargin{i},<span class="string">'Offset'</span>)
1030053         <span class="comment">% Just remove</span>
1040054         varargin(i) = [];
1050055     <span class="keyword">end</span>
1060056 <span class="keyword">end</span>
1070057
1080058 <span class="keyword">if</span> length(varargin) &gt;= 1
1090059     <span class="keyword">if</span> iscell(varargin{1})
1100060         FamilyName = varargin{1};
1110061         varargin(1) = [];
1120062     <span class="keyword">elseif</span> size(varargin{1},1) &gt; 1 &amp; ischar(varargin{1})
1130063         FamilyName = varargin{1};
1140064         varargin(1) = [];
1150065     <span class="keyword">elseif</span> isfamily(varargin{1})
1160066         FamilyName = varargin{1};
1170067         varargin(1) = [];
1180068     <span class="keyword">elseif</span> isstruct(varargin{1})
1190069         ConfigSetpoint = varargin{1};
1200070         varargin(1) = [];
1210071     <span class="keyword">elseif</span> ischar(varargin{1})
1220072         FileName = varargin{1};
1230073         varargin(1) = [];
1240074     <span class="keyword">end</span>
1250075 <span class="keyword">end</span>
1260076 <span class="keyword">if</span> length(varargin) &gt;= 1
1270077     <span class="keyword">if</span> iscell(varargin{1})
1280078         FamilyName = varargin{1};
1290079         varargin(1) = [];
1300080     <span class="keyword">elseif</span> size(varargin{1},1) &gt; 1 &amp; ischar(varargin{1})
1310081         FamilyName = varargin{1};
1320082         varargin(1) = [];
1330083     <span class="keyword">elseif</span> isfamily(varargin{1})
1340084         FamilyName = varargin{1};
1350085         varargin(1) = [];
1360086     <span class="keyword">elseif</span> isstruct(varargin{1})
1370087         ConfigSetpoint = varargin{1};
1380088         varargin(1) = [];
1390089     <span class="keyword">elseif</span> ischar(varargin{1})
1400090         FileName = varargin{1};
1410091         varargin(1) = [];
1420092     <span class="keyword">end</span>
1430093 <span class="keyword">end</span>
1440094
1450095 <span class="keyword">if</span> isempty(ConfigSetpoint)
1460096     <span class="keyword">try</span>
1470097         <span class="keyword">if</span> isempty(FileName)
1480098             <span class="comment">% Default file</span>
1490099             <span class="comment">%FileName = getfamilydata('Default', 'CNFArchiveFile');</span>
1500100             DirectoryName = getfamilydata(<span class="string">'Directory'</span>, <span class="string">'ConfigData'</span>);
1510101             [FileName, DirectoryName] = uigetfile(<span class="string">'*.mat'</span>, <span class="string">'Select a configuration file to load'</span>, DirectoryName);
1520102             <span class="keyword">if</span> FileName == 0
1530103                 <span class="keyword">return</span>
1540104             <span class="keyword">end</span>
1550105             load([DirectoryName FileName]);
1560106             FileName = [DirectoryName FileName];
1570107             AskStartQuestion = 0;
1580108         <span class="keyword">elseif</span> strcmpi(FileName, <span class="string">'Golden'</span>)
1590109             FileName = getfamilydata(<span class="string">'OpsData'</span>, <span class="string">'LatticeFile'</span>);
1600110             DirectoryName = getfamilydata(<span class="string">'Directory'</span>, <span class="string">'OpsData'</span>);
1610111             load([DirectoryName FileName]);
1620112             FileName = [DirectoryName FileName];
1630113         <span class="keyword">elseif</span> strcmpi(FileName, <span class="string">'Present'</span>)
1640114             [ConfigSetpoint, ConfigMonitor, FileName] = getmachineconfig;
1650115         <span class="keyword">else</span>
1660116             <span class="comment">% Input file name</span>
1670117             load(FileName);
1680118         <span class="keyword">end</span>
1690119     <span class="keyword">catch</span>
1700120         fprintf(<span class="string">'%s\n'</span>, lasterr)
1710121         <span class="keyword">return</span>
1720122     <span class="keyword">end</span>
1730123 <span class="keyword">end</span>
1740124
1750125
1760126 L = getfamilydata(<span class="string">'Circumference'</span>);
1770127
1780128 clf reset
1790129 <span class="keyword">if</span> ~isempty(FamilyName)
1800130     FamilyName = [FamilyName,<span class="string">'.Setpoint'</span>];
1810131     plot(getspos(ConfigSetpoint.(FamilyName)), ConfigSetpoint.(FamilyName).Data, <span class="string">'.-'</span>);
1820132     xlabel(XLabel);
1830133     ylabel(sprintf(<span class="string">'%s [%s]'</span>,ConfigSetpoint.(FamilyName).FamilyName, ConfigSetpoint.(FamilyName).UnitsString));
1840134
1850135 <span class="keyword">else</span>
1860136     <span class="comment">% Plot a bunch of typical families</span>
1870137     subplot(2,2,1);
1880138     plot(getspos(ConfigSetpoint.HCM.Setpoint), ConfigSetpoint.HCM.Setpoint.Data, <span class="string">'.-'</span>);
1890139     <span class="comment">%xlabel(XLabel);</span>
1900140     ylabel(sprintf(<span class="string">'%s [%s]'</span>,ConfigSetpoint.HCM.Setpoint.FamilyName, ConfigSetpoint.HCM.Setpoint.UnitsString));
1910141     
1920142     subplot(2,2,3);
1930143     plot(getspos(ConfigSetpoint.VCM.Setpoint), ConfigSetpoint.VCM.Setpoint.Data, <span class="string">'.-'</span>);
1940144     xlabel(XLabel);
1950145     ylabel(sprintf(<span class="string">'%s [%s]'</span>,ConfigSetpoint.VCM.Setpoint.FamilyName, ConfigSetpoint.VCM.Setpoint.UnitsString));
1960146     
1970147     subplot(2,2,2);
1980148     plot(getspos(ConfigSetpoint.QF.Setpoint), ConfigSetpoint.QF.Setpoint.Data, <span class="string">'.-'</span>);
1990149     <span class="comment">%xlabel(XLabel);</span>
2000150     ylabel(sprintf(<span class="string">'%s [%s]'</span>,ConfigSetpoint.QF.Setpoint.FamilyName, ConfigSetpoint.QF.Setpoint.UnitsString));
2010151     
2020152     subplot(2,2,4);
2030153     plot(getspos(ConfigSetpoint.QD.Setpoint), ConfigSetpoint.QD.Setpoint.Data, <span class="string">'.-'</span>);
2040154     xlabel(XLabel);
2050155     ylabel(sprintf(<span class="string">'%s [%s]'</span>,ConfigSetpoint.QD.Setpoint.FamilyName, ConfigSetpoint.QD.Setpoint.UnitsString));
2060156 <span class="keyword">end</span>
2070157 xaxiss([0 L]);
2080158
2090159
2100160 addlabel(1, 0, [<span class="string">'Lattice saved on '</span>, datestr(ConfigSetpoint.VCM.Setpoint.TimeStamp,0)]);
2110161
2120162 <span class="comment">%addlabel(0, 0, sprintf(sprintf('RMS: Horizontal %6.3f %s  Vertical %6.3f %s', std(x.Data), x.UnitsString, std(y.Data), y.UnitsString)));</span></pre></div>
213<hr><address>Generated on Mon 21-May-2007 15:29:18 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address>
214</body>
215</html>
Note: See TracBrowser for help on using the repository browser.