DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
fdreadoutlibs
include
fdreadoutlibs
daphneeth
DAPHNEEthStreamFrameProcessor.hpp
Go to the documentation of this file.
1
9
#ifndef FDREADOUTLIBS_INCLUDE_FDREADOUTLIBS_DAPHNEETH_DAPHNEETHSTREAMFRAMEPROCESSOR_HPP_
10
#define FDREADOUTLIBS_INCLUDE_FDREADOUTLIBS_DAPHNEETH_DAPHNEETHSTREAMFRAMEPROCESSOR_HPP_
11
12
#include "
logging/Logging.hpp
"
13
14
#include "
datahandlinglibs/FrameErrorRegistry.hpp
"
15
#include "
datahandlinglibs/DataHandlingIssues.hpp
"
16
#include "
datahandlinglibs/ReadoutLogging.hpp
"
17
#include "
datahandlinglibs/models/TaskRawDataProcessorModel.hpp
"
18
19
#include "
fddetdataformats/DAPHNEEthStreamFrame.hpp
"
20
#include "
fdreadoutlibs/DAPHNEEthStreamTypeAdapter.hpp
"
21
22
#include <atomic>
23
#include <functional>
24
#include <memory>
25
#include <string>
26
27
using
dunedaq::datahandlinglibs::logging::TLVL_BOOKKEEPING
;
28
29
namespace
dunedaq
{
30
namespace
fdreadoutlibs
{
31
32
class
DAPHNEEthStreamFrameProcessor
:
public
datahandlinglibs::TaskRawDataProcessorModel
<types::DAPHNEEthStreamTypeAdapter>
33
{
34
35
public
:
36
using
inherited
=
datahandlinglibs::TaskRawDataProcessorModel<types::DAPHNEEthStreamTypeAdapter>
;
37
using
frameptr
=
types::DAPHNEEthStreamTypeAdapter
*;
38
using
daphneframeptr
=
dunedaq::fddetdataformats::DAPHNEEthStreamFrame
*;
39
using
timestamp_t
= std::uint64_t;
// NOLINT(build/unsigned)
40
41
explicit
DAPHNEEthStreamFrameProcessor
(std::unique_ptr<datahandlinglibs::FrameErrorRegistry>& error_registry,
bool
post_processing_enabled)
42
:
datahandlinglibs
::
TaskRawDataProcessorModel
<
types
::DAPHNEEthStreamTypeAdapter>(error_registry, post_processing_enabled)
43
{}
44
45
// Override config for pipeline setup
46
void
conf
(
const
appmodel::DataHandlerModule
*
conf
)
override
;
47
48
protected
:
52
void
timestamp_check
(
frameptr
/*fp*/
);
53
57
void
frame_error_check
(
frameptr
/*fp*/
);
58
59
// Internals
60
timestamp_t
m_previous_ts
= 0;
61
timestamp_t
m_current_ts
= 0;
62
bool
m_first_ts_fake
=
true
;
63
bool
m_first_ts_missmatch
=
true
;
64
bool
m_problem_reported
=
false
;
65
std::atomic<int>
m_ts_error_ctr
{ 0 };
66
67
};
68
69
}
// namespace fdreadoutlibs
70
}
// namespace dunedaq
71
72
#endif
// FDREADOUTLIBS_INCLUDE_FDREADOUTLIBS_DAPHNEETH_DAPHNEETHSTREAMFRAMEPROCESSOR_HPP_
DAPHNEEthStreamFrame.hpp
DAPHNEEthStreamTypeAdapter.hpp
DataHandlingIssues.hpp
FrameErrorRegistry.hpp
ReadoutLogging.hpp
TaskRawDataProcessorModel.hpp
dunedaq::appmodel::DataHandlerModule
Definition
DataHandlerModule.hpp:36
dunedaq::datahandlinglibs::TaskRawDataProcessorModel
Definition
TaskRawDataProcessorModel.hpp:47
dunedaq::datahandlinglibs::TaskRawDataProcessorModel< types::DAPHNEEthStreamTypeAdapter >::TaskRawDataProcessorModel
TaskRawDataProcessorModel(std::unique_ptr< FrameErrorRegistry > &error_registry, bool post_processing_enabled)
Definition
TaskRawDataProcessorModel.hpp:50
dunedaq::fdreadoutlibs::DAPHNEEthStreamFrameProcessor::conf
void conf(const appmodel::DataHandlerModule *conf) override
Set the emulator mode, if active, timestamps of processed packets are overwritten with new ones.
Definition
DAPHNEEthStreamFrameProcessor.cpp:24
dunedaq::fdreadoutlibs::DAPHNEEthStreamFrameProcessor::daphneframeptr
dunedaq::fddetdataformats::DAPHNEEthStreamFrame * daphneframeptr
Definition
DAPHNEEthStreamFrameProcessor.hpp:38
dunedaq::fdreadoutlibs::DAPHNEEthStreamFrameProcessor::inherited
datahandlinglibs::TaskRawDataProcessorModel< types::DAPHNEEthStreamTypeAdapter > inherited
Definition
DAPHNEEthStreamFrameProcessor.hpp:36
dunedaq::fdreadoutlibs::DAPHNEEthStreamFrameProcessor::m_first_ts_fake
bool m_first_ts_fake
Definition
DAPHNEEthStreamFrameProcessor.hpp:62
dunedaq::fdreadoutlibs::DAPHNEEthStreamFrameProcessor::m_problem_reported
bool m_problem_reported
Definition
DAPHNEEthStreamFrameProcessor.hpp:64
dunedaq::fdreadoutlibs::DAPHNEEthStreamFrameProcessor::frame_error_check
void frame_error_check(frameptr)
Definition
DAPHNEEthStreamFrameProcessor.cpp:80
dunedaq::fdreadoutlibs::DAPHNEEthStreamFrameProcessor::m_previous_ts
timestamp_t m_previous_ts
Definition
DAPHNEEthStreamFrameProcessor.hpp:60
dunedaq::fdreadoutlibs::DAPHNEEthStreamFrameProcessor::frameptr
types::DAPHNEEthStreamTypeAdapter * frameptr
Definition
DAPHNEEthStreamFrameProcessor.hpp:37
dunedaq::fdreadoutlibs::DAPHNEEthStreamFrameProcessor::DAPHNEEthStreamFrameProcessor
DAPHNEEthStreamFrameProcessor(std::unique_ptr< datahandlinglibs::FrameErrorRegistry > &error_registry, bool post_processing_enabled)
Definition
DAPHNEEthStreamFrameProcessor.hpp:41
dunedaq::fdreadoutlibs::DAPHNEEthStreamFrameProcessor::m_ts_error_ctr
std::atomic< int > m_ts_error_ctr
Definition
DAPHNEEthStreamFrameProcessor.hpp:65
dunedaq::fdreadoutlibs::DAPHNEEthStreamFrameProcessor::m_current_ts
timestamp_t m_current_ts
Definition
DAPHNEEthStreamFrameProcessor.hpp:61
dunedaq::fdreadoutlibs::DAPHNEEthStreamFrameProcessor::m_first_ts_missmatch
bool m_first_ts_missmatch
Definition
DAPHNEEthStreamFrameProcessor.hpp:63
dunedaq::fdreadoutlibs::DAPHNEEthStreamFrameProcessor::timestamp_check
void timestamp_check(frameptr)
Definition
DAPHNEEthStreamFrameProcessor.cpp:36
dunedaq::fdreadoutlibs::DAPHNEEthStreamFrameProcessor::timestamp_t
std::uint64_t timestamp_t
Definition
DAPHNEEthStreamFrameProcessor.hpp:39
Logging.hpp
dunedaq::datahandlinglibs::logging::TLVL_BOOKKEEPING
@ TLVL_BOOKKEEPING
Definition
ReadoutLogging.hpp:26
dunedaq::datahandlinglibs
Definition
DataHandlingConcept.hpp:16
dunedaq::fdreadoutlibs::types
Definition
CRTBernTypeAdapter.hpp:16
dunedaq::fdreadoutlibs
Definition
CRTBernFrameProcessor.hpp:16
dunedaq
Including Qt Headers.
Definition
module.cpp:16
dunedaq::fddetdataformats::DAPHNEEthStreamFrame
Struct for accessing raw DAPHNE eth stream frames.
Definition
DAPHNEEthStreamFrame.hpp:43
dunedaq::fdreadoutlibs::types::DAPHNEEthStreamTypeAdapter
Definition
DAPHNEEthStreamTypeAdapter.hpp:17
Generated on
for DUNE-DAQ by
1.17.0