source: MML/trunk/at/lattice/setshift.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: 909 bytes
Line 
1function setshift(ELEMINDEX, DX, DY)
2%ADDSHIFT adds misalignment vectors T1, T2 for elements
3%
4% ADDSHIFT(ELEMINDEX, DX, DY) sets the entrance and exit misalignment vectors
5%  of one element or a group of elements in the globally defined lattice THERING.
6
7%  DX, DY are displacements of the ELEMENT
8%  so the coordinate transformation on the particle at entrance is
9%       X  ->  X-DX
10%   Y  ->  Y-DY
11%  The elements to be modified are given by ELEMINDEX 
12%       Previous stored values are overwritten.
13%
14% See also ADDXROT, ADDYROT, ADDSROT
15 
16global THERING
17numelems = length(ELEMINDEX);
18
19if (numelems ~= length(DX)) | (numelems ~= length(DY))
20   error('ELEMINDEX, DX, and DY must have the same number of elements');
21end
22
23for i = 1:length(ELEMINDEX)
24   V = zeros(1,6);
25   V(1) = -DX(i);
26   V(3) = -DY(i);
27   THERING{ELEMINDEX(i)}.T1 = V;
28   THERING{ELEMINDEX(i)}.T2 = -V;
29end
30
31   
Note: See TracBrowser for help on using the repository browser.