DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
TCMakerPrescaleAlgorithm.cpp
Go to the documentation of this file.
1
10
11#include "TRACE/trace.h"
12#define TRACE_NAME "TCMakerPrescaleAlgorithm"
13
14#include <vector>
15
16using namespace triggeralgs;
17
18void
19TCMakerPrescaleAlgorithm::process(const TriggerActivity& activity, std::vector<TriggerCandidate>& cand)
20{
21 std::vector<TriggerActivity::TriggerActivityData> ta_list;
22 ta_list.push_back(static_cast<TriggerActivity::TriggerActivityData>(activity));
23
25 tc.time_start = activity.time_start;
26 tc.time_end = activity.time_end;
27 tc.time_candidate = activity.time_start;
28 tc.detid = activity.detid;
31
32 tc.inputs = ta_list;
33
34 using namespace std::chrono;
35
36 // Update OpMon Variable(s)
37 uint64_t system_time = duration_cast<milliseconds>(system_clock::now().time_since_epoch()).count();
38 uint64_t data_time = activity.time_start*16e-6; // Convert 62.5 MHz ticks to ms
39 m_data_vs_system_time.store(data_time - system_time); // Store the difference for OpMon
40
41 cand.push_back(tc);
42}
43
44void
45TCMakerPrescaleAlgorithm::configure(const nlohmann::json &config)
46{
48}
49
#define REGISTER_TRIGGER_CANDIDATE_MAKER(tcm_name, tcm_class)
void configure(const nlohmann::json &config)
void process(const TriggerActivity &, std::vector< TriggerCandidate > &)
The function that gets call when there is a new activity.
TriggerCandidate::Type m_tc_type_out
Configurable TC type output.
virtual void configure(const nlohmann::json &config)
#define TRACE_NAME
std::vector< dunedaq::trgdataformats::TriggerActivityData > inputs