py21cmsense.beam.PrimaryBeam

class py21cmsense.beam.PrimaryBeam(frequency: Quantity)[source]

A Base class defining a Primary Beam and the methods it requires to define.

Required methods on subclasses are area(), width(), first_null(), sq_area() and uv_resolution()..

Note that 21cmSense currently only uses the beam width as a means to calculate the beam-crossing time, so precise shape is not very important. For that reason, it is not very important to implement beam sub-classes.

Methods

__init__(frequency)

Method generated by attrs for class PrimaryBeam.

at(frequency)

Get a copy of the object at a new frequency.

from_uvbeam()

Generate the beam object from a pyuvdata.UVBeam object.

new(**kwargs)

Return a clone of this instance, but change kwargs.

Attributes

area

sr].

b_eff

Get the effective beam area (Parsons 2014).

first_null

An approximation of the first null of the beam.

sq_area

The area of the beam^2.

uv_resolution

The UV footprint of the beam.

width

rad].

frequency