def METHOD_NAME(
    self,
    unit_id,
    start_frame,
    end_frame,
) -> np.ndarray:
    # must be implemented in subclass
    if start_frame is None:
        start_frame = 0
    if end_frame is None:
        end_frame = np.inf
    spike_times = self._spike_time[np.where(self._spike_clusters == unit_id)]
    spike_frames = (spike_times * self._sampling_frequency).astype("int64")
    return spike_frames[(spike_frames >= start_frame) & (spike_frames < end_frame)]