code: def dens(self,R,z,phi=0.,t=0.,forcepoisson=False):
          
          try:
              if forcepoisson: raise AttributeError #Hack!
              return self._amp*self._dens(R,z,phi=phi,t=t)
          except AttributeError:
              #Use the Poisson equation to get the density
              return (-self.Rforce(R,z,phi=phi,t=t,use_physical=False)/R
                       +self.R2deriv(R,z,phi=phi,t=t,use_physical=False)
                       +self.phi2deriv(R,z,phi=phi,t=t,use_physical=False)/R**2.
                       +self.z2deriv(R,z,phi=phi,t=t,use_physical=False))/4./nu.pi
docs: NAME:
  
             dens
  
          PURPOSE:
  
             evaluate the density rho(R,z,t)
  
          INPUT:
  
             R - Cylindrical Galactocentric radius (can be Quantity)
  
             z - vertical height (can be Quantity)
  
             phi - azimuth (optional; can be Quantity)
  
             t - time (optional; can be Quantity)
  
          KEYWORDS:
  
             forcepoisson= if True, calculate the density through the Poisson equation, even if an explicit expression for the density exists
  
          OUTPUT:
  
             rho (R,z,phi,t)
  
          HISTORY:
  
             2010-08-08 - Written - Bovy (NYU)