artdaq_demo_hdf5  v1_03_01
artdaq::hdf5::FragmentNtuple Class Reference

Implemementation of FragmentDataset using hep_hpc Ntuples. More...

#include <artdaq-demo-hdf5/HDF5/hep-hpc/FragmentNtuple.hh>

Inheritance diagram for artdaq::hdf5::FragmentNtuple:
artdaq::hdf5::FragmentDataset

Public Member Functions

 FragmentNtuple (fhicl::ParameterSet const &ps, hep_hpc::hdf5::File const &file)
 FragmentNtuple Constructor with input hep_hpc::hdf5::File. More...
 
 FragmentNtuple (fhicl::ParameterSet const &ps)
 FragmentNtuple Constructor, creating a new file. More...
 
virtual ~FragmentNtuple ()
 FragmentNtuple Destructor.
 
void insertOne (artdaq::Fragment const &frag) override
 Insert a Fragment into the Fragment Ntuple Dataset (write it to the HDF5 file) More...
 
void insertHeader (artdaq::detail::RawEventHeader const &hdr) override
 Insert a RawEventHeader into the Event Header Ntuple Dataset (write it to the HDF5 file) More...
 
std::unordered_map
< artdaq::Fragment::type_t,
std::unique_ptr
< artdaq::Fragments > > 
readNextEvent () override
 Read the next event from the Dataset (HDF5 file) More...
 
std::unique_ptr
< artdaq::detail::RawEventHeader > 
getEventHeader (artdaq::Fragment::sequence_id_t const &) override
 Read a RawEventHeader from the Dataset (HDF5 file) More...
 
- Public Member Functions inherited from artdaq::hdf5::FragmentDataset
 FragmentDataset (fhicl::ParameterSet const &ps, const std::string &mode)
 FragmentDataset Constructor. More...
 
virtual ~FragmentDataset () noexcept=default
 FragmentDataset default virtual destructor.
 
virtual void insertOne (Fragment const &f)=0
 Insert a Fragment into the Dataset (write it to the HDF5 file) More...
 
virtual void insertMany (Fragments const &fs)
 Insert several Fragments into the Dataset (write them to the HDF5 file) More...
 
virtual void insertHeader (detail::RawEventHeader const &e)=0
 Insert a RawEventHeader into the Dataset (write it to the HDF5 file) More...
 

Additional Inherited Members

- Protected Attributes inherited from artdaq::hdf5::FragmentDataset
FragmentDatasetMode mode_
 Mode of this FragmentDataset, either FragmentDatasetMode::Write or FragmentDatasetMode::Read.
 
std::shared_ptr
< artdaq::FragmentNameHelper > 
nameHelper_
 FragmentNameHelper used to translate between Fragment Type and string instance names.
 

Detailed Description

Implemementation of FragmentDataset using hep_hpc Ntuples.

This implementation is for generic Fragments, a specific implementation for ToyFragments is at ToyFragmentNtuple

Definition at line 29 of file FragmentNtuple.hh.

Constructor & Destructor Documentation

artdaq::hdf5::FragmentNtuple::FragmentNtuple ( fhicl::ParameterSet const &  ps,
hep_hpc::hdf5::File const &  file 
)

FragmentNtuple Constructor with input hep_hpc::hdf5::File.

Parameters
psParameterSet for this plugin
fileFile to use for output instead of creating a new one

FragmentNtuple accepts the following Parameters: "mode" (Default: "write"): Mode string to use for this FragmentDataset "nWordsPerRow" (Default: 10240): Number of Fragment words to store in each row of the Ntuple

Definition at line 29 of file FragmentNtuple_dataset.cc.

artdaq::hdf5::FragmentNtuple::FragmentNtuple ( fhicl::ParameterSet const &  ps)

FragmentNtuple Constructor, creating a new file.

Parameters
psParameterSet for this plugin

FragmentNtuple accepts the following Parameters: "fileName" (Default: "fragments.hdf5"): File name to use "mode" (Default: "write"): Mode string to use for this FragmentDataset (only "write" mode is supported) "nWordsPerRow" (Default: 10240): Number of Fragment words to store in each row of the Ntuple

Member Function Documentation

std::unique_ptr<artdaq::detail::RawEventHeader> artdaq::hdf5::FragmentNtuple::getEventHeader ( artdaq::Fragment::sequence_id_t const &  )
inlineoverridevirtual

Read a RawEventHeader from the Dataset (HDF5 file)

Returns
Pointer to a RawEventHeader if a match was found in the Dataset, nullptr otherwise

This function is not valid for this dataset plugin; it will log an error message and return nullptr

Implements artdaq::hdf5::FragmentDataset.

Definition at line 89 of file FragmentNtuple.hh.

void artdaq::hdf5::FragmentNtuple::insertHeader ( artdaq::detail::RawEventHeader const &  hdr)
override

Insert a RawEventHeader into the Event Header Ntuple Dataset (write it to the HDF5 file)

Parameters
hdrRawEventHeader to insert
void artdaq::hdf5::FragmentNtuple::insertOne ( artdaq::Fragment const &  frag)
override

Insert a Fragment into the Fragment Ntuple Dataset (write it to the HDF5 file)

Parameters
fragFragment to insert
std::unordered_map<artdaq::Fragment::type_t, std::unique_ptr<artdaq::Fragments> > artdaq::hdf5::FragmentNtuple::readNextEvent ( )
inlineoverridevirtual

Read the next event from the Dataset (HDF5 file)

Returns
A Map of Fragment::type_t and pointers to Fragments, suitable for ArtdaqInput

This function is not valid for this dataset plugin; it will log an error message and return an empty map

Implements artdaq::hdf5::FragmentDataset.

Definition at line 77 of file FragmentNtuple.hh.


The documentation for this class was generated from the following files: