1 #ifndef artdaq_ArtModules_ArtdaqSharedMemoryServiceInterface_h
2 #define artdaq_ArtModules_ArtdaqSharedMemoryServiceInterface_h
4 #include "art/Framework/Services/Registry/ServiceMacros.h"
5 #include "artdaq-core/Data/RawEvent.hh"
6 #include "fhiclcpp/types/Atom.h"
26 virtual std::unordered_map<artdaq::Fragment::type_t, std::unique_ptr<artdaq::Fragments>>
ReceiveEvent(
bool broadcast) = 0;
44 virtual std::shared_ptr<artdaq::detail::RawEventHeader>
GetEventHeader() = 0;
Interface for ArtdaqSharedMemoryService. This interface is declared to art as part of the required re...
virtual std::shared_ptr< artdaq::detail::RawEventHeader > GetEventHeader()=0
Get a shared_ptr to the current event header, if any.
virtual std::unordered_map< artdaq::Fragment::type_t, std::unique_ptr< artdaq::Fragments > > ReceiveEvent(bool broadcast)=0
Receive an event from the shared memory.
virtual size_t GetQueueCapacity()=0
Get the maximum number of events which can be stored in the shared memory.
virtual ~ArtdaqSharedMemoryServiceInterface()=default
Default virtual destructor.
virtual size_t GetQueueSize()=0
Get the number of events which are ready to be read.