import math


def ruze_loss_factor(surface_rms,wavelength):
  """
  Loss due to reflecting surface irregulaties in a paraboloid

  Given a surface r.m.s. deviation from perfect, this returns the
  efficiency of a reflector relative to one with a perfect surface at
  the specified wavelength.  surface_rms and wavelength must be in the
  same units.

  The aperture (or beam) efficiency is this times the ideal aperture
  (or beam) efficiency considering blockage and beam taper.

  @param surface_rms : r.m.s. of the surface deviation from a parabola
  @type  surface_rms : float

  @param wavelength : in the same units as surface_rms.
  @type  wavelength : float

  @return: 0 < float < 1
  """
  return math.exp(-(4*math.pi*surface_rms/wavelength)**2)