DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
trigger
src
trigger
TPRequestHandler.hpp
Go to the documentation of this file.
1
9
#ifndef TRIGGER_SRC_TRIGGER_TPREQUESTHANDLER_HPP_
10
#define TRIGGER_SRC_TRIGGER_TPREQUESTHANDLER_HPP_
11
12
#include "
iomanager/IOManager.hpp
"
13
#include "
iomanager/Sender.hpp
"
14
15
#include "
appmodel/DataHandlerModule.hpp
"
16
17
#include "
datahandlinglibs/ReadoutLogging.hpp
"
18
#include "
datahandlinglibs/FrameErrorRegistry.hpp
"
19
#include "
datahandlinglibs/DataHandlingIssues.hpp
"
20
#include "
datahandlinglibs/ReadoutLogging.hpp
"
21
#include "
datahandlinglibs/models/DefaultSkipListRequestHandler.hpp
"
22
23
#include "
trigger/TriggerPrimitiveTypeAdapter.hpp
"
24
#include "
trigger/TPSet.hpp
"
25
26
#include "
logging/Logging.hpp
"
// NOTE: if ISSUES ARE DECLARED BEFORE include logging/Logging.hpp, TLOG_DEBUG<<issue wont work.
27
28
#include <atomic>
29
#include <memory>
30
#include <string>
31
32
using
dunedaq::datahandlinglibs::logging::TLVL_WORK_STEPS
;
33
34
35
namespace
dunedaq
{
36
ERS_DECLARE_ISSUE
(
trigger
,
37
DroppedTPSet,
38
"Failed to send TPs from "
<< s_ts <<
" to "
<< e_ts,
39
((uint64_t)s_ts)
40
((uint64_t)e_ts))
41
ERS_DECLARE_ISSUE
(
trigger
,
42
TPHandlerMsg
,
43
infomsg
,
44
((std::string)
infomsg
))
45
46
namespace
trigger
{
47
48
class
TPRequestHandler
:
public
dunedaq::datahandlinglibs::DefaultSkipListRequestHandler
<TriggerPrimitiveTypeAdapter>
49
{
50
public
:
51
using
inherited2
=
datahandlinglibs::DefaultSkipListRequestHandler<TriggerPrimitiveTypeAdapter>
;
52
53
// Constructor that binds LB and error registry
54
55
TPRequestHandler
(std::shared_ptr<
datahandlinglibs::SkipListLatencyBufferModel<TriggerPrimitiveTypeAdapter>
>& latency_buffer,
56
std::unique_ptr<datahandlinglibs::FrameErrorRegistry>& error_registry)
57
:
datahandlinglibs
::
DefaultSkipListRequestHandler
<
TriggerPrimitiveTypeAdapter
>(
58
latency_buffer,
59
error_registry)
60
{
61
TLOG_DEBUG
(
TLVL_WORK_STEPS
) <<
"TPRequestHandler created..."
;
62
}
63
64
void
conf
(
const
appmodel::DataHandlerModule
*
conf
)
override
;
65
void
start
(
const
appfwk::DAQModule::CommandData_t& args)
override
;
66
void
scrap
(
const
appfwk::DAQModule::CommandData_t& args)
override
;
67
void
periodic_data_transmission
()
override
;
68
69
private
:
70
using
timestamp_t
= std::uint64_t;
71
std::shared_ptr<iomanager::SenderConcept<dunedaq::trigger::TPSet>>
m_tpset_sink
;
72
uint64_t
m_run_number
;
73
uint64_t
m_next_tpset_seqno
;
74
75
timestamp_t
m_oldest_ts
=0;
76
timestamp_t
m_newest_ts
=0;
77
timestamp_t
m_start_win_ts
=0;
78
timestamp_t
m_end_win_ts
=0;
79
bool
m_first_cycle
=
true
;
80
uint64_t
m_ts_set_sender_offset_ticks
= 6250000;
// 100 ms delay in transmission
81
82
};
83
84
}
// namespace trigger
85
}
// namespace dunedaq
86
87
88
#endif
// TRIGGER_SRC_TRIGGER_TPREQUESTHANDLER_HPP_
DataHandlingIssues.hpp
DefaultSkipListRequestHandler.hpp
FrameErrorRegistry.hpp
IOManager.hpp
TLVL_WORK_STEPS
@ TLVL_WORK_STEPS
Definition
IfaceWrapper.cpp:52
ReadoutLogging.hpp
TPSet.hpp
TriggerPrimitiveTypeAdapter.hpp
dunedaq::appmodel::DataHandlerModule
Definition
DataHandlerModule.hpp:36
dunedaq::datahandlinglibs::DefaultSkipListRequestHandler
Definition
DefaultSkipListRequestHandler.hpp:32
dunedaq::datahandlinglibs::DefaultSkipListRequestHandler< TriggerPrimitiveTypeAdapter >::DefaultSkipListRequestHandler
DefaultSkipListRequestHandler(std::shared_ptr< datahandlinglibs::SkipListLatencyBufferModel< TriggerPrimitiveTypeAdapter > > &latency_buffer, std::unique_ptr< datahandlinglibs::FrameErrorRegistry > &error_registry)
Definition
DefaultSkipListRequestHandler.hpp:39
dunedaq::datahandlinglibs::SkipListLatencyBufferModel
Definition
SkipListLatencyBufferModel.hpp:29
dunedaq::trigger::TPRequestHandler::TPRequestHandler
TPRequestHandler(std::shared_ptr< datahandlinglibs::SkipListLatencyBufferModel< TriggerPrimitiveTypeAdapter > > &latency_buffer, std::unique_ptr< datahandlinglibs::FrameErrorRegistry > &error_registry)
Definition
TPRequestHandler.hpp:55
dunedaq::trigger::TPRequestHandler::m_run_number
uint64_t m_run_number
Definition
TPRequestHandler.hpp:72
dunedaq::trigger::TPRequestHandler::scrap
void scrap(const appfwk::DAQModule::CommandData_t &args) override
Definition
TPRequestHandler.cpp:26
dunedaq::trigger::TPRequestHandler::timestamp_t
std::uint64_t timestamp_t
Definition
TPRequestHandler.hpp:70
dunedaq::trigger::TPRequestHandler::m_oldest_ts
timestamp_t m_oldest_ts
Definition
TPRequestHandler.hpp:75
dunedaq::trigger::TPRequestHandler::m_first_cycle
bool m_first_cycle
Definition
TPRequestHandler.hpp:79
dunedaq::trigger::TPRequestHandler::m_tpset_sink
std::shared_ptr< iomanager::SenderConcept< dunedaq::trigger::TPSet > > m_tpset_sink
Definition
TPRequestHandler.hpp:71
dunedaq::trigger::TPRequestHandler::m_ts_set_sender_offset_ticks
uint64_t m_ts_set_sender_offset_ticks
Definition
TPRequestHandler.hpp:80
dunedaq::trigger::TPRequestHandler::m_end_win_ts
timestamp_t m_end_win_ts
Definition
TPRequestHandler.hpp:78
dunedaq::trigger::TPRequestHandler::conf
void conf(const appmodel::DataHandlerModule *conf) override
Definition
TPRequestHandler.cpp:11
dunedaq::trigger::TPRequestHandler::periodic_data_transmission
void periodic_data_transmission() override
Periodic data transmission - relevant for trigger in particular.
Definition
TPRequestHandler.cpp:49
dunedaq::trigger::TPRequestHandler::start
void start(const appfwk::DAQModule::CommandData_t &args) override
Definition
TPRequestHandler.cpp:33
dunedaq::trigger::TPRequestHandler::m_newest_ts
timestamp_t m_newest_ts
Definition
TPRequestHandler.hpp:76
dunedaq::trigger::TPRequestHandler::m_next_tpset_seqno
uint64_t m_next_tpset_seqno
Definition
TPRequestHandler.hpp:73
dunedaq::trigger::TPRequestHandler::inherited2
datahandlinglibs::DefaultSkipListRequestHandler< TriggerPrimitiveTypeAdapter > inherited2
Definition
TPRequestHandler.hpp:51
dunedaq::trigger::TPRequestHandler::m_start_win_ts
timestamp_t m_start_win_ts
Definition
TPRequestHandler.hpp:77
DataHandlerModule.hpp
Sender.hpp
Logging.hpp
TLOG_DEBUG
#define TLOG_DEBUG(lvl,...)
Definition
Logging.hpp:112
ERS_DECLARE_ISSUE
#define ERS_DECLARE_ISSUE( namespace_name, class_name, message_, attributes)
Definition
macro.hpp:65
dunedaq::datahandlinglibs::logging::TLVL_WORK_STEPS
@ TLVL_WORK_STEPS
Definition
ReadoutLogging.hpp:23
dunedaq::datahandlinglibs
Definition
DataHandlingConcept.hpp:16
dunedaq::trigger
Definition
AlgorithmPlugins.hpp:24
dunedaq
Including Qt Headers.
Definition
module.cpp:16
dunedaq::infomsg
infomsg
Definition
TPRequestHandler.hpp:43
dunedaq::TPHandlerMsg
TPHandlerMsg
Definition
TPRequestHandler.hpp:42
dunedaq::trigger::TriggerPrimitiveTypeAdapter
Definition
TriggerPrimitiveTypeAdapter.hpp:21
Generated on
for DUNE-DAQ by
1.17.0