@@ -602,9 +602,6 @@ def set_norm():
602
602
603
603
pl = plane_ (plane , "index" )
604
604
plcode = plane_ (plane , "code" )
605
- ids = ring .get_uint32_index (steerrefs )
606
- nbsteers = len (ids )
607
- deltas = np .broadcast_to (steerdelta , nbsteers )
608
605
if steersum and stsumweight is None or cavrefs and cavdelta is None :
609
606
cavd , stsw = set_norm ()
610
607
@@ -628,6 +625,9 @@ def set_norm():
628
625
observables .append (sumobs )
629
626
630
627
# Variables
628
+ ids = ring .get_uint32_index (steerrefs )
629
+ nbsteers = len (ids )
630
+ deltas = np .broadcast_to (steerdelta , nbsteers )
631
631
variables = VariableList (steerer (ik , delta ) for ik , delta in zip (ids , deltas ))
632
632
if cavrefs is not None :
633
633
active = (el .longt_motion for el in ring .select (cavrefs ))
@@ -642,13 +642,12 @@ def set_norm():
642
642
)
643
643
variables .append (cavvar )
644
644
645
+ super ().__init__ (ring , variables , observables )
645
646
self .plane = pl
646
647
self .steerrefs = ids
647
648
self .nbsteers = nbsteers
648
649
self .bpmrefs = ring .get_uint32_index (bpmrefs )
649
650
650
- super ().__init__ (ring , variables , observables )
651
-
652
651
def normalise (
653
652
self , cav_ampl : float | None = 2.0 , stsum_ampl : float | None = 2.0
654
653
) -> None :
@@ -813,9 +812,9 @@ def __init__(
813
812
also the steerer weight. Must be broadcastable to the number of steerers.
814
813
"""
815
814
816
- def steerer (ik ):
815
+ def steerer (ik , delta ):
817
816
name = f"{ plcode } { ik :04} "
818
- return RefptsVariable (ik , "KickAngle" , index = pl , name = name )
817
+ return RefptsVariable (ik , "KickAngle" , index = pl , name = name , delta = delta )
819
818
820
819
pl = plane_ (plane , "index" )
821
820
plcode = plane_ (plane , "code" )
@@ -826,12 +825,16 @@ def steerer(ik):
826
825
)
827
826
observables = ObservableList ([bpms ])
828
827
# Variables
829
- steeridx = ring .get_uint32_index (steerrefs )
830
- variables = VariableList ( steerer ( idx ) for idx in steeridx )
831
-
832
- self . steerdelta = steerdelta
828
+ ids = ring .get_uint32_index (steerrefs )
829
+ nbsteers = len ( ids )
830
+ deltas = np . broadcast_to ( steerdelta , nbsteers )
831
+ variables = VariableList ( steerer ( ik , delta ) for ik , delta in zip ( ids , deltas ))
833
832
834
833
super ().__init__ (ring , variables , observables )
834
+ self .plane = plane
835
+ self .steerrefs = ids
836
+ self .nbsteers = nbsteers
837
+ self .bpmrefs = ring .get_uint32_index (bpmrefs )
835
838
836
839
@property
837
840
def bpmweight (self ):
0 commit comments