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:
683 bytes
|
Line | |
---|
1 | function NEWLATTICE = insertelem0(LATTICE, DRIFTPOS, SPLITLENGTH, ELEMDATA) |
---|
2 | %INSERTELEM0 - quick and dirty: |
---|
3 | % inserts element(s) of zero length into a drift space |
---|
4 | % |
---|
5 | % NEWLATTICE = INSERTELEM0(LATTICE, DRIFTINDEX, SPLITLENGTH, ELEMDATA) |
---|
6 | |
---|
7 | DRIFT1 = LATTICE{SPLITPOS}; |
---|
8 | DRIFT1.Length = LATTICE{SPLITPOS}.Length*SPLITLENGTH; |
---|
9 | DRIFT2 = LATTICE{SPLITPOS}; |
---|
10 | DRIFT2.Length = LATTICE{SPLITPOS}.Length*(1-SPLITLENGTH); |
---|
11 | |
---|
12 | if DRIFTPOS==1 |
---|
13 | NEWLATTICE = [{DRIFT1,ELEMDATA,DRIFT2},LATTICE(2:end)]; |
---|
14 | elseif DRIFTPOS == length(LATTICE); |
---|
15 | NEWLATTICE = [LATTICE(1:end-1),{DRIFT1, ELEMDATA,DRIFT2 }]; |
---|
16 | else |
---|
17 | NEWLATTICE = [LATTICE(1:DRIFTPOS-1), {DRIFT1,ELEMDATA,DRIFT2},LATTICE(DRIFTPOS+1)]; |
---|
18 | end |
---|
Note: See
TracBrowser
for help on using the repository browser.