Track back in time
Summary
We want to track a beam given beam back in time throughout the lattice. This can either be a followup track or a given/generated distribution.
Motivation
From measurements or intuition you construct a final phase space P_{final}
. One can then ask the question how would you generate P_{initial}
and transport it. By tracking back (maybe using the optimiser) one can
hope to achieve such a goal.
Approach (so far only for a straight machine ...)
- The TRACK command is augment with Boolean TRACKBACK=
- In ParallelTTracker the double member arrowOfTime_m is set to -1 in case of TRACKBACK=TRUE
- In ParallelTTracker::invertP itsBunch->P *= arrowOfTime_m and itsBunch_m->RefPartP_m *= arrowOfTime_m; is set invertPz (need to update Doxygen)
This is as far as I have implemented it, if I remember how to do the branch/merge stuff :) I will commit.
To Do
- All electrostatic elements do not need to be changed
- Space charge needs to negate its action in all 3 dimensions.
- RF
- Make it more general i.e. 3. in Approach above
Edited by adelmann