source: MML/trunk/machine/SOLEIL/doc_html/machine/Soleil/common/synchro/bucketnumber.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: 6.7 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 bucketnumber</title>
6  <meta name="keywords" content="bucketnumber">
7  <meta name="description" content="BUCKETNUMBER - Computes n1 n2 for timing system master board for a bucket">
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">common</a> &gt; <a href="index.html">synchro</a> &gt; bucketnumber.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/common/synchro&nbsp;<img alt=">" border="0" src="../../../../right.png"></a></td></tr></table>-->
19
20<h1>bucketnumber
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>BUCKETNUMBER - Computes n1 n2 for timing system master board for a bucket</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 [n1 n2] = bucketnumber(num) </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">BUCKETNUMBER - Computes n1 n2 for timing system master board for a bucket
31number.
32
33  INPUTS
34  1. num - Bucket number
35
36  OUPUTS
37  1. n1 - number of step for extraction table
38  2. n2 - number of step for linac table
39
40  ALGORITHM
41 Table extraction n1 entier compris entre 0 et 51
42 Table Linac n2 entier compris entre 0 et 7
43 n1 = 0; n2 = 0; injection dans paquet 1 de l'anneau
44 n1 = 0; n2 = 1; injection dans paquet 2 de l'anneau</pre></div>
45
46<!-- crossreference -->
47<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../../../../up.png"></a></h2>
48This function calls:
49<ul style="list-style-image:url(../../../../matlabicon.gif)">
50</ul>
51This function is called by:
52<ul style="list-style-image:url(../../../../matlabicon.gif)">
53<li><a href="load_table.html" class="code" title="">load_table</a>      test load table synchro</li><li><a href="synchro_70ns.html" class="code" title="">synchro_70ns</a>      pulse linac de 70 ns = 24 bunchs</li><li><a href="synchro_injecteur3.html" class="code" title="function varargout = synchro_injecteur3(varargin)">synchro_injecteur3</a>        SYNCHRO_INJECTEUR3 M-file for synchro_injecteur3.fig</li><li><a href="synchro_injecteur4.html" class="code" title="function varargout = synchro_injecteur4(varargin)">synchro_injecteur4</a>    SYNCHRO_INJECTEUR4 M-file for synchro_injecteur4.fig</li><li><a href="synchro_injecteur5.html" class="code" title="function varargout = synchro_injecteur5(varargin)">synchro_injecteur5</a>    SYNCHRO_INJECTEUR5 M-file for synchro_injecteur5.fig</li><li><a href="synchro_injecteur6.html" class="code" title="function varargout = synchro_injecteur6(varargin)">synchro_injecteur6</a>    SYNCHRO_INJECTEUR6 M-file for synchro_injecteur6.fig</li><li><a href="synchro_injecteur7.html" class="code" title="function varargout = synchro_injecteur7(varargin)">synchro_injecteur7</a>    SYNCHRO_INJECTEUR7 M-file for synchro_injecteur7.fig</li><li><a href="synchro_table.html" class="code" title="">synchro_table</a>       tango_command_inout('ANS/SY/CENTRAL','FireSoftEvent');</li></ul>
54<!-- crossreference -->
55
56<h2><a name="_subfunctions"></a>SUBFUNCTIONS <a href="#_top"><img alt="^" border="0" src="../../../../up.png"></a></h2>
57<ul style="list-style-image:url(../../../../matlabicon.gif)">
58<li><a href="#_sub1" class="code">function [u v] = bezout(a,b,c)</a></li></ul>
59<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../../../../up.png"></a></h2>
60<div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function [n1 n2] = bucketnumber(num)</a>
610002 <span class="comment">%BUCKETNUMBER - Computes n1 n2 for timing system master board for a bucket</span>
620003 <span class="comment">%number.</span>
630004 <span class="comment">%</span>
640005 <span class="comment">%  INPUTS</span>
650006 <span class="comment">%  1. num - Bucket number</span>
660007 <span class="comment">%</span>
670008 <span class="comment">%  OUPUTS</span>
680009 <span class="comment">%  1. n1 - number of step for extraction table</span>
690010 <span class="comment">%  2. n2 - number of step for linac table</span>
700011 <span class="comment">%</span>
710012 <span class="comment">%  ALGORITHM</span>
720013 <span class="comment">% Table extraction n1 entier compris entre 0 et 51</span>
730014 <span class="comment">% Table Linac n2 entier compris entre 0 et 7</span>
740015 <span class="comment">% n1 = 0; n2 = 0; injection dans paquet 1 de l'anneau</span>
750016 <span class="comment">% n1 = 0; n2 = 1; injection dans paquet 2 de l'anneau</span>
760017
770018 <span class="comment">%</span>
780019 <span class="comment">%  Written by Laurent S. Nadolski</span>
790020
800021 num = num - 1;
810022 n2 = mod(num,8);
820023 d = fix(num/8);
830024 [u v] = <a href="#_sub1" class="code" title="subfunction [u v] = bezout(a,b,c)">bezout</a>(52,23,d);
840025 n1 = v;
850026
860027 <span class="comment">%fprintf('n1 = %d n2 = %d\n', n1, n2)</span>
870028 <span class="comment">%fprintf('Injection dans paquet numero %d\n', mod(n1*184,416) + n2 + 1)</span>
880029
890030 <span class="comment">%%%%</span>
900031
910032 <a name="_sub1" href="#_subfunctions" class="code">function [u v] = bezout(a,b,c)</a>
920033 <span class="comment">% Resolution de 52 u + 23 v = c</span>
930034 <span class="comment">%        ou  encore 416 u + 184 v = 8*c</span>
940035 <span class="comment">%        ou  encore de 184 v = 8*c modulo 416</span>
950036 <span class="comment">%  Soit travail dans l'ensemble quotient Z/416Z</span>
960037
970038 <span class="comment">% ALGORITHME de BEZOUT</span>
980039
990040 a = 52;
1000041 b = 23;
1010042
1020043 u = 1;
1030044 v = 0;
1040045
1050046 s = 0;
1060047 t = c;
1070048 <span class="keyword">while</span> b &gt; 0
1080049     q = fix(a/b);r = rem(a,b);
1090050     a = b; b = r;
1100051     tmp = s;
1110052     s = u - q * s;
1120053     u = tmp; tmp = t;
1130054     t = v - q * t;
1140055     v = tmp;
1150056 <span class="keyword">end</span>
1160057 u;
1170058 v = mod(v,52);</pre></div>
118<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>
119</body>
120</html>
Note: See TracBrowser for help on using the repository browser.