@classmethod
def fromfile(cls, fh, ntrack, decade=None, ref_time=None, verify=True):
    """Read a frame from a filehandle.

        Parameters
        ----------
        fh : filehandle
            To read header from.
        ntrack : int
            Number of Mark 4 bitstreams.
        decade : int or None
            Decade in which the observations were taken.  Can instead pass an
            approximate ``ref_time``.
        ref_time : `~astropy.time.Time` or None
            Reference time within 4 years of the observation time.  Used only
            if ``decade`` is not given.
        verify : bool, optional
            Whether to do basic verification of integrity.  Default: `True`.
        """
    header = cls._header_class.fromfile(fh, ntrack, decade=decade, ref_time
        =ref_time, verify=verify)
    payload = cls._payload_class.fromfile(fh, header=header)
    return cls(header, payload, verify=verify)
