'Hash the object.
Returns
hash : int
The hash'

def __hash__(self):

    from .evoked import Evoked
    from .epochs import BaseEpochs
    from .io.base import BaseRaw
    if isinstance(self, Evoked):
        return object_hash(dict(info=self.info, data=self.data))
    elif isinstance(self, (BaseEpochs, BaseRaw)):
        if (not self.preload):
            raise RuntimeError(('Cannot    hash    %s    unless    data    are    loaded' % self.__class__.__name__))
        return object_hash(dict(info=self.info, data=self._data))
    else:
        raise RuntimeError(('Hashing    unknown    object    type:    %s' % type(self)))
