code: def function(self, x, y, sigma0, Rs, e1, e2, center_x=0, center_y=0):
          
          phi_G, q = param_util.ellipticity2phi_q(e1, e2)
          x_shift = x - center_x
          y_shift = y - center_y
          cos_phi = np.cos(phi_G)
          sin_phi = np.sin(phi_G)
          e = abs(1 - q)
          x_ = (cos_phi*x_shift+sin_phi*y_shift)*np.sqrt(1 - e)
          y_ = (-sin_phi*x_shift+cos_phi*y_shift)*np.sqrt(1 + e)
          f_ = self.spherical.function(x_, y_, sigma0, Rs)
          return f_
docs: returns double integral of NFW profile