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
14#include "hsilibs/Types.hpp"
15#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, bool /*post_processing*/)
37 : TaskRawDataProcessorModel<hsilibs::HSI_FRAME_STRUCT>(error_registry, false)
38 , m_previous_ts(0)
39 {}
40
41 // Override config for pipeline setup
42 void conf(const appmodel::DataHandlerModule* conf) override;
43
44protected:
45
49 void timestamp_check(frameptr /*fp*/);
50
54 void frame_error_check(frameptr /*fp*/);
55
56 // Internals
58
59private:
60};
61
62} // namespace hsilibs
63} // namespace dunedaq
64
65#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)
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.
Including Qt Headers.