DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
triggeralgs
src
TCMakerPrescaleAlgorithm.cpp
Go to the documentation of this file.
1
8
9
#include "
triggeralgs/Prescale/TCMakerPrescaleAlgorithm.hpp
"
10
11
#include "TRACE/trace.h"
12
#define TRACE_NAME "TCMakerPrescaleAlgorithm"
13
14
#include <vector>
15
16
using namespace
triggeralgs
;
17
18
void
19
TCMakerPrescaleAlgorithm::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
24
TriggerCandidate
tc;
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
;
29
tc.
type
=
m_tc_type_out
;
30
tc.
algorithm
=
TriggerCandidate::Algorithm::kPrescale
;
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
44
void
45
TCMakerPrescaleAlgorithm::configure
(
const
nlohmann::json &config)
46
{
47
TriggerCandidateMaker::configure
(config);
48
}
49
50
REGISTER_TRIGGER_CANDIDATE_MAKER
(
TRACE_NAME
,
TCMakerPrescaleAlgorithm
)
TRACE_NAME
#define TRACE_NAME
Definition
TimestampEstimatorTimeSync.cpp:17
REGISTER_TRIGGER_CANDIDATE_MAKER
#define REGISTER_TRIGGER_CANDIDATE_MAKER(tcm_name, tcm_class)
Definition
TriggerCandidateFactory.hpp:14
triggeralgs::TCMakerPrescaleAlgorithm
Definition
TCMakerPrescaleAlgorithm.hpp:18
triggeralgs::TCMakerPrescaleAlgorithm::configure
void configure(const nlohmann::json &config)
Definition
TCMakerPrescaleAlgorithm.cpp:45
triggeralgs::TCMakerPrescaleAlgorithm::process
void process(const TriggerActivity &, std::vector< TriggerCandidate > &)
The function that gets call when there is a new activity.
Definition
TCMakerPrescaleAlgorithm.cpp:19
triggeralgs::TriggerCandidateMaker::m_tc_type_out
TriggerCandidate::Type m_tc_type_out
Configurable TC type output.
Definition
TriggerCandidateMaker.hpp:138
triggeralgs::TriggerCandidateMaker::configure
virtual void configure(const nlohmann::json &config)
Definition
TriggerCandidateMaker.hpp:101
triggeralgs::TriggerCandidateMaker::m_data_vs_system_time
std::atomic< uint64_t > m_data_vs_system_time
Definition
TriggerCandidateMaker.hpp:129
triggeralgs
Definition
AbstractFactory.hpp:18
TCMakerPrescaleAlgorithm.hpp
dunedaq::trgdataformats::TriggerActivityData::time_end
timestamp_t time_end
Definition
TriggerActivityData.hpp:47
dunedaq::trgdataformats::TriggerActivityData::time_start
timestamp_t time_start
Definition
TriggerActivityData.hpp:46
dunedaq::trgdataformats::TriggerActivityData::detid
detid_t detid
Definition
TriggerActivityData.hpp:55
dunedaq::trgdataformats::TriggerCandidateData::type
Type type
Definition
TriggerCandidateData.hpp:94
dunedaq::trgdataformats::TriggerCandidateData::time_candidate
timestamp_t time_candidate
Definition
TriggerCandidateData.hpp:88
dunedaq::trgdataformats::TriggerCandidateData::time_end
timestamp_t time_end
Definition
TriggerCandidateData.hpp:87
dunedaq::trgdataformats::TriggerCandidateData::time_start
timestamp_t time_start
Definition
TriggerCandidateData.hpp:86
dunedaq::trgdataformats::TriggerCandidateData::Algorithm::kPrescale
@ kPrescale
Definition
TriggerCandidateData.hpp:70
dunedaq::trgdataformats::TriggerCandidateData::algorithm
Algorithm algorithm
Definition
TriggerCandidateData.hpp:95
dunedaq::trgdataformats::TriggerCandidateData::detid
detid_t detid
Definition
TriggerCandidateData.hpp:93
triggeralgs::TriggerActivity
Definition
TriggerActivity.hpp:20
triggeralgs::TriggerCandidate
Definition
TriggerCandidate.hpp:20
triggeralgs::TriggerCandidate::inputs
std::vector< dunedaq::trgdataformats::TriggerActivityData > inputs
Definition
TriggerCandidate.hpp:33
Generated on
for DUNE-DAQ by
1.17.0