Source code for ska_oso_pdm.sb_definition.dish.dish_allocation

"""
The ska_oso_pdm.sb_definition.dish.dish_allocation module defines
a simple Python representation of the dish allocation
"""

from pydantic import Field

from ska_oso_pdm._shared import DishAllocationID, PdmObject, StableSet

from ..scan_definition import ScanDefinition

__all__ = ["DishAllocation"]


[docs] class DishAllocation(PdmObject): """ Represents the required dish array for an observation described by an SBDefinition :param dish_allocation_id: The identifier of this object within the SBDefinition :param selected_subarray_definition: The subarray definition, e.g. AA1. This could be inferred from the dish_ids but is stored here as well for UI purposes. :param dish_ids: The identifier of the dishes in the allocation, e.g. SKA063 :param scan_sequence: list of ScanDefinitions to be observed by these dishes """ dish_allocation_id: DishAllocationID | None = None selected_subarray_definition: str | None = None dish_ids: StableSet[str] = frozenset() reference_dishes: StableSet[str] = frozenset() scan_sequence: list[ScanDefinition] = Field(default_factory=list)