Beam Weight Store Device
This module provides a Tango device for a Beam Weight Store.
- class MccsBeamWeightStore(*args: Any, **kwargs: Any)[source]
The MCCS Beam Weight Store Tango device.
- Contains(weighting_key: str) bool[source]
Check in the data store contains the weighting_key.
- Parameters:
weighting_key – The weighting key.
- Returns:
True / False if the datastore contains the key.
- Delete(weighting_key: str) None[source]
Delete the weights from the data store.
- Parameters:
weighting_key – The weighting key.
- Insert(weighting_key: str, weights: list[float], indices: list[int] | None = None) None[source]
Insert the weights into the data store.
The list of weights should be a complex array containing 256 elements. Since JSON cannot serialise complex numbers, this will be encoded as a float array containing 512 elements ordered as [r0, i0, r1, i1, … r255, i255].
- Parameters:
weighting_key – The weighting key.
weights – The list of weights.
indices – The EEP indices of the antennas
- Select(weighting_key: str, indices: list[int] | None = None) ndarray[Any, dtype[float32]][source]
Select the weights from the data store.
- Parameters:
weighting_key – The weighting key.
indices – The EEP indices
- Returns:
The list of weights as a float array.
- Update(weighting_key: str, weights: list[float], indices: list[int] | None = None) None[source]
Update the weights into the data store.
The list of weights should be a complex array containing 256 elements. Since JSON cannot serialise complex numbers, this will be encoded as a float array containing 512 elements ordered as [r0, i0, r1, i1, … r255, i255].
- Parameters:
weighting_key – The weighting key.
weights – The list of weights.
indices – The EEP indices of the antennas
- change_control_level(control_level: ska_tango_base.base.ControlLevel) None[source]
Change how the device interacts with the database.
- Parameters:
control_level – The control level
- Raises:
ValueError – If the control level is not recognised.
- insert(device: tango.DeviceProxy, weighting_key: str, weights: ndarray[Any, dtype[complex64]], indices: ndarray[Any, dtype[int32]] | None = None) None[source]
Insert the weights into the data store.
Tango does not allow multiple arguments to be passed to a command. This helper function converts the parameters to a JSON string as expected by the device.
- Parameters:
device – The beam_weight_store device
weighting_key – The weighting key.
weights – The list of weights.
indices – The EEP indices.
- select(device: tango.DeviceProxy, weighting_key: str, indices: ndarray[Any, dtype[int32]] | None = None) ndarray[Any, dtype[float32]][source]
Select the weights from the data store.
Tango does not support complex data type so this helper function converts the array of floats to an array of complex values.
- Parameters:
device – The beam_weight_store device
weighting_key – The weighting key.
indices – The EEP indices.
- Returns:
The list of weights as a float array.
- update(device: tango.DeviceProxy, weighting_key: str, weights: ndarray[Any, dtype[complex64]], indices: ndarray[Any, dtype[int32]] | None = None) None[source]
Update the weights into the data store.
Tango does not allow multiple arguments to be passed to a command. This helper function converts the parameters to a JSON string as expected by the device.
- Parameters:
device – The beam_weight_store device
weighting_key – The weighting key.
weights – The list of weights.
indices – The EEP indices.