drift.telescope.cylbeam

Functions

beam_amp(angpos, zenith, width, fwhm_x, fwhm_y)

Beam amplitude across the sky.

beam_dipole(theta, phi, squint)

Beam for a dipole above a ground plane.

beam_x(angpos, zenith, width, fwhm_e, fwhm_h)

Beam amplitude across the sky for the X dipole (points E).

beam_y(angpos, zenith, width, fwhm_e, fwhm_h)

Beam amplitude across the sky for the Y dipole (points N).

fraunhofer_cylinder(antenna_func, width[, res])

Calculate the Fraunhofer diffraction pattern for a feed illuminating a cylinder (in 1D).

polpattern(angpos, dipole)

Calculate the unit polarisation vectors at each position on the sphere for a dipole direction.

drift.telescope.cylbeam.beam_amp(angpos, zenith, width, fwhm_x, fwhm_y, rot=[0.0, 0.0, 0.0])

Beam amplitude across the sky.

Parameters:
  • angpos (np.ndarray[npoints]) – Angular position on the sky.

  • zenith (np.ndarray[2]) – Position of zenith on spherical polars.

  • width (scalar) – Cylinder width in wavelengths.

  • fwhm_x (scalar) – Full with at half power in the x and y directions.

  • fwhm_y (scalar) – Full with at half power in the x and y directions.

  • rot ([yaw, pitch, roll]) – Rotation to apply to cylinder in yaw, pitch and roll from North.

Returns:

beam – Amplitude of beam at each point.

Return type:

np.ndarray[npoints]

drift.telescope.cylbeam.beam_dipole(theta, phi, squint)

Beam for a dipole above a ground plane.

drift.telescope.cylbeam.beam_x(angpos, zenith, width, fwhm_e, fwhm_h, rot=[0.0, 0.0, 0.0])

Beam amplitude across the sky for the X dipole (points E).

Using ExpTan model.

Parameters:
  • angpos (np.ndarray[npoints, 2]) – Angular position on the sky.

  • zenith (np.ndarray[2]) – Position of zenith in spherical polars.

  • width (scalar) – Cylinder width in wavelengths.

  • fwhm_e – Full with at half power in the E and H planes of the antenna.

  • fwhm_h – Full with at half power in the E and H planes of the antenna.

  • rot ([yaw, pitch, roll]) – Rotation to apply to cylinder in yaw, pitch and roll from North.

Returns:

beam – Amplitude vector of beam at each point (in thetahat, phihat)

Return type:

np.ndarray[npoints, 2]

drift.telescope.cylbeam.beam_y(angpos, zenith, width, fwhm_e, fwhm_h, rot=[0.0, 0.0, 0.0])

Beam amplitude across the sky for the Y dipole (points N).

Using ExpTan model.

Parameters:
  • angpos (np.ndarray[npoints, 2]) – Angular position on the sky.

  • zenith (np.ndarray[2]) – Position of zenith in spherical polars.

  • width (scalar) – Cylinder width in wavelengths.

  • fwhm_e – Full with at half power in the E and H planes of the antenna.

  • fwhm_h – Full with at half power in the E and H planes of the antenna.

Returns:

beam – Amplitude vector of beam at each point (in thetahat, phihat)

Return type:

np.ndarray[npoints, 2]

drift.telescope.cylbeam.fraunhofer_cylinder(antenna_func, width, res=1.0)

Calculate the Fraunhofer diffraction pattern for a feed illuminating a cylinder (in 1D).

Parameters:
  • antenna_func (function(sintheta) -> amplitude) – Function describing the antenna amplitude pattern as a function of sin(angle).

  • width (scalar) – Cylinder width in wavelengths.

  • res (scalar, optional) – Resolution boost factor (default is 1.0)

Returns:

beam – The beam pattern, normalised to have unit maximum.

Return type:

function(sintheta) -> amplitude

drift.telescope.cylbeam.polpattern(angpos, dipole)

Calculate the unit polarisation vectors at each position on the sphere for a dipole direction.

Parameters:
  • angpos (np.ndarray[npoints, 2]) – The positions on the sphere to calculate at.

  • dipole (np.ndarray[2 or 3]) – The unit vector for the dipole direction. If length is 2, assume in vector is in spherical polars, if 3 it’s cartesian.

Returns:

vectors – Vector at each point in thetahat, phihat basis.

Return type:

np.ndarray[npoints, 2]