import math


def antenna_solid_angle(aperture_efficiency,geometrical_area,wavelength):
  """
  Antenna solid angle of an antenna, assuming radiation efficiency = 1
  
  Krauss, Radio Astronomy, sec. 6-2, cals this the beam solid angle.

  Given the aperture efficiency (dimensionless) and the geometrical
  area and wavelength in the same units (say, meters), this returns the
  beam solid angle in steradians.

  If the antenna has some losses, like not being totally reflective,
  then the radiation efficiency is not 1 and it should be multiplied
  with this result.

  @param aperture_efficiency :
  @type  aperture_efficiency : float

  @param geometrical_area : typically pi*(diam/2)^2, same units as wavelength
  @type  geometrical_area : float

  @param wavelength : same units as antenna  diameter
  @type  wavelength : float

  @return: float
  """
  return math.pow(wavelength,2)/geometrical_area/aperture_efficiency