Orbit correction: RF response for orbit correction and handling of weights#209
Orbit correction: RF response for orbit correction and handling of weights#209JeanLucPons merged 20 commits intomainfrom
Conversation
02d0d17 to
0f1e000
Compare
JeanLucPons
left a comment
There was a problem hiding this comment.
Thanks Kostas !
May be I'm wrong, but i do not see arbitrary steerer sum to target.
May be later ?
|
@kparasch @JeanLucPons Perhaps we should release a new version once this is merged. This merge request also depends on the new pySC version 0.1.1 |
@JeanLucPons Will we also want a target for the vertical bumps or do we just not put the virtual bpm there? see virtual target here: |
|
@JeanLucPons I have added an option to at least set the virtual target for now, that is by default equal to zero. Then we could revisit it when we start implementing orbit bumps. There is an ambiguity on the 'sign' which I am not sure how to put. If you request virtual target of 1e-8, your steerer sum will have changed by -1e-8. To constraint the steerer sum to always be equal to 1e-8, output: Including when we will be designing bumps, do you think it is more convenient like this or is it better to calculate the steerer sum inside |
|
I think that we should let the user being able to implement his algorithm, depending on machine, it can be different. |
|
I cannot re-review this PR ? Why ? |
|
That's OK now ?! |

Please remember to re-install pySC (
accelerator-commissioningin pip)!This PR comes with a new release of pySC (v1.1.0) which:
(pySC orbit_correction function allows also setting it to non-zero for use with programmed orbit bumps)
New methods:
element_holder.orbit.set_virtual_weight(1000)element_holder.orbit.set_rf_weight(1e7)element_holder.orbit.set_weight(my_bpm_name, w, plane="H")element_holder.orbit.set_weight(my_corr_name, w)element_holder.orbit.get_virtual_weight()element_holder.orbit.get_rf_weight()element_holder.orbit.get_weight(my_bpm_name, w, plane="H")element_holder.orbit.get_weight(my_corr_name, w)For BPMs, the name of the "horizontal signal" is the same as the one of the "vertical signal", in case of ambiguity, the
get_weightfunction will throw an exception pointing to the conflicts.Added several examples to illustrate use.
Also renamed
outputs_planetooutput_planesandinputs_planetoinput_planesto be a bit more consistent.