docs: def get_dos(self, partial_dos=False, npts_mu=10000, T=None):
          """
              Return a Dos object interpolating bands
  
              Args:
                  partial_dos: if True, projections will be interpolated as well
                      and partial doses will be return. Projections must be available
                      in the loader.
                  npts_mu: number of energy points of the Dos
                  T: parameter used to smooth the Dos
          """
          spin = self.data.spin if isinstance(self.data.spin,int) else 1
  
          energies, densities, vvdos, cdos = BL.BTPDOS(self.eband, self.vvband, npts=npts_mu)
          if T is not None:
              densities = BL.smoothen_DOS(energies, densities, T)
  
          tdos = Dos(self.efermi / units.eV, energies / units.eV,
                     {Spin(spin): densities})
  
          if partial_dos:
              tdos = self.get_partial_doses(tdos=tdos, npts_mu=npts_mu, T=T)
  
          return tdos