code: def samples(self):
          
          if not hasattr(self,'sampler') and self._samples is None:
              raise AttributeError('Must run MCMC (or load from file) '+
                                   'before accessing samples')
  
          if self._samples is not None:
              df = self._samples
          else:
              self._make_samples()
              df = self._samples
  
          return df
docs: Dataframe with samples drawn from isochrone according to posterior
  
          Columns include both the sampling parameters from the MCMC
          fit (mass, age, Fe/H, [distance, A_V]), and also evaluation
          of the :class:`Isochrone` at each of these sample points---this
          is how chains of physical/observable parameters get produced.