Source code for ska_oso_pdm.sb_definition.csp.lowcbf

"""
The ska_oso_pdm.sb_definition.csp.lowcbf module defines
a Python representation of the LOW CBF configuration
"""
from typing import List, Optional

from ska_oso_pdm._shared import PdmObject, TimedeltaMs

__all__ = [
    "LowCBFConfiguration",
    "StationBeamConfiguration",
    "StationBeamHost",
    "StationBeamMac",
    "StationBeamPort",
    "StationConfiguration",
    "VisConfiguration",
    "VisFSPConfiguration",
    "VisStationBeamConfiguration",
]


[docs] class StationBeamHost(PdmObject): """ Class to hold the SDP channel & IP address for a station beam definition. :param sdp_channel: SDP channel ID. :param ip_addr: IP address of this channel """ sdp_channel: int ip_addr: str
[docs] class StationBeamMac(PdmObject): """ Class to hold SDP channel & server MAC for station beam definitions. :param sdp_channel: SDP channel :param server_mac: server MAC """ sdp_channel: int server_mac: str
[docs] class StationBeamPort(PdmObject): """ Class to hold SDP channel, UDP port and stride for station beam definitions. :param sdp_channel: SDP channel number :param udp_port: UDP port :param stride: stride """ sdp_channel: int udp_port: int stride: int
[docs] class VisStationBeamConfiguration(PdmObject): """ VisStationBeamConfiguration defines LOW CBF station beams from which to calculate visibilities. :param stn_beam_id: station beam ID :param host: SDP channel and IP address :param port: SDP channel, UDP port, and stride :param mac: SDP channel and server MAC :param integration_ms: milliseconds integration """ stn_beam_id: int integration_ms: TimedeltaMs host: List[StationBeamHost] port: List[StationBeamPort] mac: Optional[List[StationBeamMac]] = None
[docs] class StationBeamConfiguration(PdmObject): """ StationBeamConfiguration defines the LOW.CBF station beam description. :param stn_beam_id: Station beam ID :param freq_ids: list of station beam frequency IDs """ stn_beam_id: int freq_ids: List[int]
[docs] class StationConfiguration(PdmObject): """ Class to hold LOW.CBF station configuration. :param stns: The subarray stations of this StationConfiguration. :param stn_beams: The station beam descriptions of this StationConfiguration. """ stns: List[List[int]] stn_beams: List[StationBeamConfiguration]
[docs] class VisFSPConfiguration(PdmObject): """ Class to hold the FSPs used for correlation. :param function_mode: Function mode name :param fsp_ids: List of integer FSP IDs """ function_mode: str fsp_ids: List[int]
[docs] class VisConfiguration(PdmObject): """ Class to hold the Visibility Configuration. :param fsp: The VisFSPConfiguration of this VisConfiguration. :param stn_beams: The StationBeamConfiguration of this VisConfiguration. """ fsp: VisFSPConfiguration stn_beams: List[VisStationBeamConfiguration]
[docs] class LowCBFConfiguration(PdmObject): """ Class to hold the LOW CBF configuration specification. :param stations: Subarray Stations and station beam descriptions :param vis: Visibility output descriptions """ stations: StationConfiguration vis: VisConfiguration