def Jz(self,*args,**kwargs):
        """
        NAME:
           Jz
        PURPOSE:
           evaluate the action jz
        INPUT:
           Either:
              a) R,vR,vT,z,vz
              b) Orbit instance: initial condition used if that's it, orbit(t)
                 if there is a time given as well
           scipy.integrate.quadrature keywords
        OUTPUT:
           jz
        HISTORY:
           2012-07-30 - Written - Bovy (IAS@MPIA)
        """
        self._parse_eval_args(*args)
        Phi= _evaluatePotentials(self._pot,self._eval_R,self._eval_z)
        Phio= _evaluatePotentials(self._pot,self._eval_R,0.)
        Ez= Phi-Phio+self._eval_vz**2./2.
        #Bigger than Ezzmax?
        thisEzZmax= numpy.exp(self._EzZmaxsInterp(self._eval_R))
        if self._eval_R > self._Rmax or self._eval_R < self._Rmin or (Ez != 0. and numpy.log(Ez) > thisEzZmax): #Outside of the grid
            if _PRINTOUTSIDEGRID: #pragma: no cover
                print("Outside of grid in Ez")
            jz= self._aA(self._eval_R,0.,1.,#these two r dummies
                         0.,math.sqrt(2.*Ez),
                         _justjz=True,
                         **kwargs)[2]
        else:
            jz= (self._jzInterp(self._eval_R,Ez/thisEzZmax)\
                *(numpy.exp(self._jzEzmaxInterp(self._eval_R))-10.**-5.))[0][0]
        return jz