DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
HSIFrameProcessor.hpp
Go to the documentation of this file.
1
8#ifndef HSILIBS_SRC_HSI_HSIFRAMEPROCESSOR_HPP_
9#define HSILIBS_SRC_HSI_HSIFRAMEPROCESSOR_HPP_
10
13
16#include "hsilibs/Types.hpp"
17#include "logging/Logging.hpp"
18
19#include <atomic>
20#include <functional>
21#include <memory>
22#include <string>
23
24namespace dunedaq {
25namespace hsilibs {
26
27class HSIFrameProcessor : public datahandlinglibs::TaskRawDataProcessorModel<hsilibs::HSI_FRAME_STRUCT>
28{
29
30public:
33 using timestamp_t = std::uint64_t; // NOLINT(build/unsigned)
34
35 // Constructor
36 explicit HSIFrameProcessor(std::unique_ptr<datahandlinglibs::FrameErrorRegistry>& error_registry,
37 bool /*post_processing*/)
38 : TaskRawDataProcessorModel<hsilibs::HSI_FRAME_STRUCT>(error_registry, false)
39 , m_previous_ts(0)
40 {
41 }
42
43 // Override config for pipeline setup
44 void conf(const appmodel::DataHandlerModule* conf) override;
45
46protected:
50 void timestamp_check(frameptr /*fp*/);
51
55 void frame_error_check(frameptr /*fp*/);
56
57 // Internals
59
60private:
61};
62
63} // namespace hsilibs
64} // namespace dunedaq
65
66#endif // HSILIBS_SRC_HSI_HSIFRAMEPROCESSOR_HPP_
TaskRawDataProcessorModel(std::unique_ptr< FrameErrorRegistry > &error_registry, bool post_processing_enabled)
HSIFrameProcessor(std::unique_ptr< datahandlinglibs::FrameErrorRegistry > &error_registry, bool)
datahandlinglibs::TaskRawDataProcessorModel< hsilibs::HSI_FRAME_STRUCT > inherited
hsilibs::HSI_FRAME_STRUCT * frameptr
void conf(const appmodel::DataHandlerModule *conf) override
Set the emulator mode, if active, timestamps of processed packets are overwritten with new ones.
The DUNE-DAQ namespace.