1 #ifndef artdaq_demo_hdf5_HDF5_highFive_highFiveNtupleDataset_hh
2 #define artdaq_demo_hdf5_HDF5_highFive_highFiveNtupleDataset_hh 1
4 #include "artdaq-core/Data/Fragment.hh"
5 #include "artdaq-core/Data/RawEvent.hh"
7 #include "artdaq-demo-hdf5/HDF5/FragmentDataset.hh"
9 #include "artdaq-demo-hdf5/HDF5/highFive/HighFive/include/highfive/H5File.hpp"
10 #include "artdaq-demo-hdf5/HDF5/highFive/highFiveDatasetHelper.hh"
12 #include <unordered_map>
47 void insertOne(Fragment
const& frag)
override;
55 void insertHeader(detail::RawEventHeader
const& hdr)
override;
61 std::unordered_map<artdaq::Fragment::type_t, std::unique_ptr<artdaq::Fragments>>
readNextEvent()
override;
68 std::unique_ptr<artdaq::detail::RawEventHeader>
getEventHeader(artdaq::Fragment::sequence_id_t
const&)
override;
71 std::unique_ptr<HighFive::File> file_;
73 size_t fragmentIndex_;
76 std::unordered_map<std::string, std::unique_ptr<HighFiveDatasetHelper>> fragment_datasets_;
77 std::unordered_map<std::string, std::unique_ptr<HighFiveDatasetHelper>> event_datasets_;
81 #endif //artdaq_demo_hdf5_HDF5_highFive_HighFiveNtupleDataset_hh
std::unique_ptr< artdaq::detail::RawEventHeader > getEventHeader(artdaq::Fragment::sequence_id_t const &) override
Read a RawEventHeader from the Dataset (HDF5 file)
void insertHeader(detail::RawEventHeader const &hdr) override
Insert a RawEventHeader into the Dataset (write it to the HDF5 file)
virtual ~HighFiveNtupleDataset() noexcept
HighFiveNtupleDataset Destructor.
std::unordered_map< artdaq::Fragment::type_t, std::unique_ptr< artdaq::Fragments > > readNextEvent() override
Read the next event from the Dataset (HDF5 file)
An implementation of FragmentDataset using the HighFive backend to produce files identical to those p...
void insertOne(Fragment const &frag) override
Insert a Fragment into the Dataset (write it to the HDF5 file)
Base class that defines methods for reading and writing to HDF5 files via various implementation plug...
HighFiveNtupleDataset(fhicl::ParameterSet const &ps)
HighFiveNtupleDataset Constructor.