code: def function(self, x, y, Rs, theta_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 = min(abs(1. - q), 0.99)
          xt1 = (cos_phi*x_shift+sin_phi*y_shift)*np.sqrt(1 - e)
          xt2 = (-sin_phi*x_shift+cos_phi*y_shift)*np.sqrt(1 + e)
          R_ = np.sqrt(xt1**2 + xt2**2)
          rho0_input = self.nfw._alpha2rho0(theta_Rs=theta_Rs, Rs=Rs)
          if Rs < 0.0000001:
              Rs = 0.0000001
          f_ = self.nfw.nfwPot(R_, Rs, rho0_input)
          return f_
docs: returns double integral of NFW profile