Source code for beam_settings

import ctypes 
# import importlib_resources
import numpy as np
from typing import Union
from ctypes import POINTER, c_float, c_double, c_int, c_char
import os
import sys
from enum import Enum, auto

from wodenpy.skymodel.woden_skymodel import Component_Type_Counter, CompTypes, Component_Info
from wodenpy.skymodel.chunk_sky_model import Skymodel_Chunk_Map


[docs] class BeamTypes(Enum): """ Enumeration of beam types used in WODEN. This class allows us to label the WODEN primary beam models with a unique name/value, but as it's an enum each label only takes 8 bytes of memory, so we can stack loads of them into an array. We can also do numpy operations on them like np.where. Attributes: NO_BEAM (int): No beam type. GAUSS_BEAM (int): Gaussian beam type. FEE_BEAM (int): FEE beam type. ANALY_DIPOLE (int): Analytical dipole beam type. FEE_BEAM_INTERP (int): Interpolated FEE beam type. MWA_ANALY (int): MWA analytical beam type. """ NO_BEAM = 0 GAUSS_BEAM = 1 FEE_BEAM = 2 ANALY_DIPOLE = 3 FEE_BEAM_INTERP = 4 MWA_ANALY = 5