code: def find_all_output_in_range(self, ifo, currSeg, useSplitLists=False):
          
          if not useSplitLists:
              # Slower, but simpler method
              outFiles = [i for i in self if ifo in i.ifo_list]
              outFiles = [i for i in outFiles \
                                        if i.segment_list.intersects_segment(currSeg)]
          else:
              # Faster, but more complicated
              # Basically only check if a subset of files intersects_segment by
              # using a presorted list. Sorting only happens once.
              if not self._check_split_list_validity():
                  # FIXME: DO NOT hard code this.
                  self._temporal_split_list(100)
              startIdx = int( (currSeg[0] - self._splitListsStart) / \
                                                            self._splitListsStep )
              # Add some small rounding here
              endIdx = (currSeg[1] - self._splitListsStart) / self._splitListsStep
              endIdx = int(endIdx - 0.000001)
  
              outFiles = []
              for idx in range(startIdx, endIdx + 1):
                  if idx < 0 or idx >= self._splitListsNum:
                      continue
                  outFilesTemp = [i for i in self._splitLists[idx] \
                                                              if ifo in i.ifo_list]
                  outFiles.extend([i for i in outFilesTemp \
                                        if i.segment_list.intersects_segment(currSeg)])
                  # Remove duplicates
                  outFiles = list(set(outFiles))
  
          return self.__class__(outFiles)
docs: Return all files that overlap the specified segment.