code: def Jz(self,**kwargs):
          
          if hasattr(self,'_Jz'):
              return self._Jz
          zmax= self.calczmax()
          if zmax == -9999.99: return nu.array([9999.99,nu.nan])
          Ez= calcEz(self._z,self._vz,self._verticalpot)
          self._Jz= 2.*integrate.quad(_JzIntegrand,0.,zmax,
                                      args=(Ez,self._verticalpot),
                                      **kwargs)[0]/nu.pi
          return self._Jz
docs: NAME:
             Jz
          PURPOSE:
             Calculate the vertical action
          INPUT:
             +scipy.integrate.quad keywords
          OUTPUT:
             J_z(z,vz)/ro/vc + estimate of the error
          HISTORY:
             2012-06-01 - Written - Bovy (IAS)