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
|
Rev | Line | |
---|
[4] | 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.