DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
RawDataProcessorConcept.hpp
Go to the documentation of this file.
1
8#ifndef DATAHANDLINGLIBS_INCLUDE_DATAHANDLINGLIBS_CONCEPTS_RAWDATAPROCESSORCONCEPT_HPP_
9#define DATAHANDLINGLIBS_INCLUDE_DATAHANDLINGLIBS_CONCEPTS_RAWDATAPROCESSORCONCEPT_HPP_
10
14
15#include <string>
16#include <nlohmann/json.hpp>
17
18namespace dunedaq {
19namespace datahandlinglibs {
20
21template<class ReadoutType>
23{
24public:
27
29 delete;
31 delete;
34 delete;
35
37 virtual void start(const nlohmann::json& args) = 0;
39 virtual void stop(const nlohmann::json& args) = 0;
41 virtual void conf(const appmodel::DataHandlerModule* conf) = 0;
43 virtual void scrap(const nlohmann::json& args) = 0;
45 virtual std::uint64_t get_last_daq_time() = 0; // NOLINT(build/unsigned)
47 virtual void preprocess_item(ReadoutType* item) = 0;
49 virtual void postprocess_item(const ReadoutType* item) = 0;
50};
51
52} // namespace datahandlinglibs
53} // namespace dunedaq
54
55#endif // DATAHANDLINGLIBS_INCLUDE_DATAHANDLINGLIBS_CONCEPTS_RAWDATAPROCESSORCONCEPT_HPP_
virtual void scrap(const nlohmann::json &args)=0
Unconfigure.
RawDataProcessorConcept(RawDataProcessorConcept &&)=delete
RawDataProcessorConcept is not move-constructible.
virtual void conf(const appmodel::DataHandlerModule *conf)=0
Set the emulator mode, if active, timestamps of processed packets are overwritten with new ones.
virtual std::uint64_t get_last_daq_time()=0
Get newest timestamp of last seen packet.
RawDataProcessorConcept(const RawDataProcessorConcept &)=delete
RawDataProcessorConcept is not copy-constructible.
virtual void start(const nlohmann::json &args)=0
Start operation.
virtual void stop(const nlohmann::json &args)=0
Stop operation.
RawDataProcessorConcept & operator=(const RawDataProcessorConcept &)=delete
RawDataProcessorConcept is not copy-assginable.
RawDataProcessorConcept & operator=(RawDataProcessorConcept &&)=delete
RawDataProcessorConcept is not move-assignable.
virtual void postprocess_item(const ReadoutType *item)=0
Postprocess one element.
virtual void preprocess_item(ReadoutType *item)=0
Preprocess one element.
Including Qt Headers.