analytic orbit response matrix change according to radiation state of lattice #482
Replies: 3 comments 9 replies
-
@simoneliuzzo: newring=atradon(ring,allpass='',cavitypass='auto'); python: newring=ring.radiation_on(all_pass=None, cavity_pass='auto', copy=True) You will also note that there are now aliases for the "badly" named functions and properties:
And a new property tells if there is an active cavity (RFCavityPass) in the ring (independently of radiation): I think that this pull request answers your question. |
Beta Was this translation helpful? Give feedback.
-
@simoneliuzzo: Let me explain how we came to the present definition in #453:
To summarise, here is the list of the new namings (they were already discussed): #453 (comment)
New property telling if there is an active cavity (RFCavityPass) in the ring (independently of radiation): The help of the legacy functions says that they are deprecated and should be replaced by the more explicit new ones, but of course they stay unchanged. |
Beta Was this translation helpful? Give feedback.
-
In python,
Instead of using keywords like
Examples:
With this new syntax, dedicated functions are less useful (at least in python). |
Beta Was this translation helpful? Give feedback.
-
with radiation_on AT tracking returns a response matrix that is almost identical to the analytic formula:
with radiation off AT tracking returns a response matrix that ignores the dispersion term in the formula above
The code to obtain numeric=analytic response matrices becomes (NOTICE RAD_STATE):
The rad_state flag may be should actually be a cavity_state flag. I could not test, since ring.set_cavity has no impact on beam tracking when radiation is off (cavity pass method is IdentityPass).
I find this very risky for use in operation of response matrices computed by pyAT.
If the lattice used to compute such matrices even numerically has radiation off, the dispersive term will be ignored.
In fact just having the cavity on would be sufficent to recover a correct response matrix.
However, set_cavity() has no impact on the lattice if radiation is off.
I think that having the possibility to set cavity on and radiation off is useful in this case.
Beta Was this translation helpful? Give feedback.
All reactions