DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq
sourcecode
hsilibs
src
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
11
#include "
datahandlinglibs/DataHandlingIssues.hpp
"
12
#include "
datahandlinglibs/models/TaskRawDataProcessorModel.hpp
"
13
14
#include "
hsilibs/Types.hpp
"
15
#include "
logging/Logging.hpp
"
16
#include "
datahandlinglibs/FrameErrorRegistry.hpp
"
17
#include "
datahandlinglibs/ReadoutLogging.hpp
"
18
19
#include <atomic>
20
#include <functional>
21
#include <memory>
22
#include <string>
23
24
namespace
dunedaq
{
25
namespace
hsilibs {
26
27
class
HSIFrameProcessor
:
public
datahandlinglibs::TaskRawDataProcessorModel
<hsilibs::HSI_FRAME_STRUCT>
28
{
29
30
public
:
31
using
inherited
=
datahandlinglibs::TaskRawDataProcessorModel<hsilibs::HSI_FRAME_STRUCT>
;
32
using
frameptr
=
hsilibs::HSI_FRAME_STRUCT
*;
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
44
protected
:
45
49
void
timestamp_check
(
frameptr
/*fp*/
);
50
54
void
frame_error_check
(
frameptr
/*fp*/
);
55
56
// Internals
57
timestamp_t
m_previous_ts
;
58
59
private
:
60
};
61
62
}
// namespace hsilibs
63
}
// namespace dunedaq
64
65
#endif
// HSILIBS_SRC_HSI_HSIFRAMEPROCESSOR_HPP_
DataHandlingIssues.hpp
FrameErrorRegistry.hpp
ReadoutLogging.hpp
TaskRawDataProcessorModel.hpp
dunedaq::appmodel::DataHandlerModule
Definition
DataHandlerModule.hpp:35
dunedaq::datahandlinglibs::TaskRawDataProcessorModel
Definition
TaskRawDataProcessorModel.hpp:47
dunedaq::datahandlinglibs::TaskRawDataProcessorModel< hsilibs::HSI_FRAME_STRUCT >::TaskRawDataProcessorModel
TaskRawDataProcessorModel(std::unique_ptr< FrameErrorRegistry > &error_registry, bool post_processing_enabled)
Definition
TaskRawDataProcessorModel.hpp:50
dunedaq::hsilibs::HSIFrameProcessor
Definition
HSIFrameProcessor.hpp:28
dunedaq::hsilibs::HSIFrameProcessor::HSIFrameProcessor
HSIFrameProcessor(std::unique_ptr< datahandlinglibs::FrameErrorRegistry > &error_registry, bool)
Definition
HSIFrameProcessor.hpp:36
dunedaq::hsilibs::HSIFrameProcessor::m_previous_ts
timestamp_t m_previous_ts
Definition
HSIFrameProcessor.hpp:57
dunedaq::hsilibs::HSIFrameProcessor::frameptr
hsilibs::HSI_FRAME_STRUCT * frameptr
Definition
HSIFrameProcessor.hpp:32
dunedaq::hsilibs::HSIFrameProcessor::frame_error_check
void frame_error_check(frameptr)
Definition
HSIFrameProcessor.cpp:56
dunedaq::hsilibs::HSIFrameProcessor::timestamp_check
void timestamp_check(frameptr)
Definition
HSIFrameProcessor.cpp:32
dunedaq::hsilibs::HSIFrameProcessor::timestamp_t
std::uint64_t timestamp_t
Definition
HSIFrameProcessor.hpp:33
dunedaq::hsilibs::HSIFrameProcessor::conf
void conf(const appmodel::DataHandlerModule *conf) override
Set the emulator mode, if active, timestamps of processed packets are overwritten with new ones.
Definition
HSIFrameProcessor.cpp:23
dunedaq::hsilibs::HSI_FRAME_STRUCT
Definition
Types.hpp:36
Types.hpp
Logging.hpp
dunedaq
Including Qt Headers.
Definition
TimingController.hxx:1
Generated on Sat Jun 28 2025 for DUNE-DAQ by
1.12.0