Subarray Beam Health Model

An implementation of a health model for subarray beams.

class SubarrayBeamHealthModel(station_beam_trls, component_state_callback, thresholds=None)

A health model for subarray beams.

__init__(station_beam_trls, component_state_callback, thresholds=None)

Initialise a new instance.

Parameters:
  • station_beam_trls (Sequence[str]) – the TRLs of this subarray beam’s station beams

  • component_state_callback (Callable[..., None]) – callback to be called whenever there is a change to this component’s state, including the health model’s evaluated health state.

  • thresholds (Optional[dict[str, float]]) – the threshold parameters for the health rules

evaluate_health()

Compute overall health of the subarray beam.

The overall health is based on the whether the beam is locked or not.

Return type:

HealthState

Returns:

an overall health of the subarray beam

is_beam_locked_changed(is_beam_locked)

Handle a change in whether the subarray beam is locked.

This is a callback hook called when the subarray beam lock changes.

Parameters:

is_beam_locked (bool) – whether the subarray beam is locked

Return type:

None

remove_station_beam(station_beam_trl)

Remove a station beam from the station beams used to compute health.

Parameters:

station_beam_trl (str) – the TRL of the station beam to remove

Return type:

None

station_beam_health_changed(station_beam_trl, station_beam_health)

Handle a change in station beam health.

If the station beam TRL is not in the internal dictionary of station beam healths, it is added with the provided health

Parameters:
  • station_beam_trl (str) – the TRL of the station beam whose health has changed or whose health is to be added

  • station_beam_health (Optional[HealthState]) – the health state of the specified station beam, or None if the station beam’s admin mode indicates that its health should not be rolled up.

Return type:

None

update_station_beams(new_station_beams)

Add and remove station beams so that they are up to date.

Parameters:

new_station_beams (set[str]) – the new set of station beams

Return type:

None