docs: def completeness(self, delta, method='step'):
          """
          Return the completeness as a function of magnitude.
  
          ADW: Eventually want a completeness mask to set overall efficiency.
          """
          delta = np.asarray(delta)
          if method == 'step':
              func = lambda delta: (delta > 0).astype(float)
          elif method == 'erf':
              # Trust the SDSS EDR???
              # 95% completeness: 
              def func(delta):
                  # Efficiency at bright end (assumed to be 100%)
                  e = 1.0
                  # EDR says full width is ~0.5 mag
                  width = 0.2 
                  # This should be the halfway point in the curve
                  return (e/2.0)*(1/np.sqrt(2*width))*(np.sqrt(2*width)-scipy.special.erf(-delta))
          elif method == 'flemming':
              # Functional form taken from Fleming et al. AJ 109, 1044 (1995)
              # http://adsabs.harvard.edu/abs/1995AJ....109.1044F
              # f = 1/2 [1 - alpha(V - Vlim)/sqrt(1 + alpha^2 (V - Vlim)^2)]
              # CAREFUL: This definition is for Vlim = 50% completeness
              def func(delta):
                  alpha = 2.0
                  return 0.5 * (1 - (alpha * delta)/np.sqrt(1+alpha**2 * delta**2))
          else:
              raise Exception('...')
          return func(delta)