py21cmsense.beam.GaussianBeam

class py21cmsense.beam.GaussianBeam(dish_size: Annotated[Quantity, PhysicalType('length')])[source]

A simple Gaussian Primary beam.

Parameters:
  • frequency – The fiducial frequency at which the beam operates, assumed to be in MHz unless otherwise defined.

  • dish_size (astropy.units.quantity.Quantity) – The size of the (assumed circular) dish, assumed to be in meters unless otherwise defined. This generates the beam size.

Methods

__init__(dish_size)

Method generated by attrs for class GaussianBeam.

area(frequency)

Compute the integral of the beam over angle, in sr.

b_eff(frequency)

Get the effective beam area (Parsons 2014).

clone(**kwargs)

Create a new beam with updated parameters.

dish_size_in_lambda(frequency)

Compute the dish size in units of wavelengths.

first_null(frequency)

Get the zenith angle of the first null of the beam.

from_uvbeam()

Construct the beam from a pyuvdata.UVBeam object.

fwhm(frequency)

Compute the full-width half maximum of the beam.

new(**kwargs)

Return a clone of this instance, but change kwargs.

sq_area(frequency)

Compute the integral of the squared beam, in sr.

uv_resolution(frequency)

Compute the appropriate resolution of a UV cell given the beam size.

width(frequency)

Compute the width of the beam (i.e. sigma), in radians.

Attributes