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 | |
---|
1 | function 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 |
|
---|
16 | global THERING
|
---|
17 | numelems = length(ELEMINDEX);
|
---|
18 |
|
---|
19 | if (numelems ~= length(DX)) | (numelems ~= length(DY))
|
---|
20 | error('ELEMINDEX, DX, and DY must have the same number of elements');
|
---|
21 | end
|
---|
22 |
|
---|
23 | for 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;
|
---|
29 | end
|
---|
30 |
|
---|
31 |
|
---|
Note: See
TracBrowser
for help on using the repository browser.