30 NexusLoader(
const bool is_time_filtered,
const std::vector<PulseROI> &pulse_indices,
31 const std::vector<std::pair<int, PulseROI>> &target_to_pulse_indices = {});
34 virtual void loadData(H5::DataSet &SDS, std::unique_ptr<std::vector<uint32_t>> &data,
35 const std::vector<size_t> &offsets,
const std::vector<size_t> &slabsizes);
36 virtual void loadData(H5::DataSet &SDS, std::unique_ptr<std::vector<float>> &data,
const std::vector<size_t> &offsets,
37 const std::vector<size_t> &slabsizes);
39 virtual std::stack<EventROI> getEventIndexRanges(H5::Group &event_group,
const uint64_t number_events,
40 std::unique_ptr<std::vector<uint64_t>> *event_index =
nullptr)
const;
41 std::stack<std::pair<int, EventROI>> getEventIndexSplitRanges(H5::Group &event_group,
const uint64_t number_events);
44 template <
typename Type>
45 void loadDataInternal(H5::DataSet &SDS, std::unique_ptr<std::vector<Type>> &data,
const std::vector<size_t> &offsets,
46 const std::vector<size_t> &slabsizes)
const;
50 void loadEventIndex(H5::Group &event_group, std::unique_ptr<std::vector<uint64_t>> &data)
const;