Source code for ska_oso_pdm.entities.mccs.target_beam_configuration

"""
The entities.target_beam_configuration module defines
simple Python representation of how SKA Low subarray beam
in sub-array should be configured.
"""
from ska_oso_pdm.entities.common.field_configuration import TargetID

from .subarray_beam_configuration import SubarrayBeamConfigurationID

__all__ = ["TargetBeamConfiguration", "TargetBeamConfigurationID"]

TargetBeamConfigurationID = str


[docs]class TargetBeamConfiguration: # pylint: disable=too-few-public-methods """ TargetBeamConfiguration specifies how SKA LOW subarray beam in a sub-array should be configured. """ def __init__( self, target_beam_id: TargetBeamConfigurationID, target: TargetID, subarray_beam_configuration: SubarrayBeamConfigurationID, ): """ Create a new TargetBeamConfiguration. :param target_beam_id: ID of target beam configuration :param target: target beam configuration points at this target :param subarray_beam_configuration: sub-array beam configuration """ self.target_beam_id = target_beam_id self.target = target self.subarray_beam_configuration = subarray_beam_configuration def __eq__(self, other): if not isinstance(other, TargetBeamConfiguration): return False return ( self.target_beam_id == other.target_beam_id and self.target == other.target and self.subarray_beam_configuration == other.subarray_beam_configuration ) def __repr__(self): return ( f"<TargetBeamConfiguration(" f"target_beam_id={self.target_beam_id}, " f"target={self.target}, " f"subarray_beam_configuration={self.subarray_beam_configuration})>" )