DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq
sourcecode
triggeralgs
src
TCMakerProtoDUNEBSMWindowAlgorithm.cpp
Go to the documentation of this file.
1
8
9
#include "
triggeralgs/ProtoDUNEBSMWindow/TCMakerProtoDUNEBSMWindowAlgorithm.hpp
"
10
11
#include "TRACE/trace.h"
12
#define TRACE_NAME "TCMakerProtoDUNEBSMWindowAlgorithm"
13
14
#include <vector>
15
16
using namespace
triggeralgs
;
17
18
using
Logging::TLVL_DEBUG_LOW
;
19
20
void
TCMakerProtoDUNEBSMWindowAlgorithm::process
(
const
TriggerActivity
& activity, std::vector<TriggerCandidate>& cand)
21
//TCMakerProtoDUNEBSMWindowAlgorithm::operator()(const TriggerActivity& activity, std::vector<TriggerCandidate>& cand)
22
{
23
24
// For now, if there is any single activity from any one detector element, emit
25
// a trigger candidate.
26
m_activity_count
++;
27
std::vector<TriggerActivity::TriggerActivityData> ta_list = {
static_cast<
TriggerActivity::TriggerActivityData
>
(activity)};
28
29
TLOG_DEBUG
(
TLVL_DEBUG_LOW
) <<
"[TCM:ADCSW] Emitting an "
30
<<
dunedaq::trgdataformats::get_trigger_candidate_type_names
()[
m_tc_type
]
31
<<
" TriggerCandidate with AEAnomalyWindow algorithm"
<< (
m_activity_count
-1);
32
33
TriggerCandidate
tc;
34
tc.
time_start
= activity.
time_start
;
35
tc.
time_end
= activity.
time_end
;
36
tc.
time_candidate
= activity.
time_activity
;
37
tc.
detid
= activity.
detid
;
38
tc.
type
=
m_tc_type
;
39
//tc.algorithm = TriggerCandidate::Algorithm::kAEAnomalyWindow;
40
tc.
algorithm
=
TriggerCandidate::Algorithm::kUnknown
;
41
42
tc.
inputs
= ta_list;
43
44
cand.push_back(tc);
45
46
}
47
48
void
49
TCMakerProtoDUNEBSMWindowAlgorithm::configure
(
const
nlohmann::json &config)
50
{
51
TriggerCandidateMaker::configure
(config);
52
/*
53
// Don't configure if no configuration object
54
if (!config.is_object())
55
return;
56
57
// Set the TC name
58
if (config.contains("tc_type_name")){
59
m_tc_type = static_cast<triggeralgs::TriggerCandidate::Type>(
60
dunedaq::trgdataformats::string_to_fragment_type_value(config["tc_type_name"]));
61
62
// Set unknown to the default kAEAnomalyWindow
63
if (m_tc_type == triggeralgs::TriggerCandidate::Type::kUnknown) {
64
//m_tc_type = TriggerCandidate::Type::kAEAnomalyWindow;
65
m_tc_type = TriggerCandidate::Type::kUnknown;
66
}
67
68
TLOG() << "[TCM:ADCSW]: setting output TC type to "
69
<< dunedaq::trgdataformats::get_trigger_candidate_type_names()[m_tc_type];
70
}
71
*/
72
}
73
74
REGISTER_TRIGGER_CANDIDATE_MAKER
(
TRACE_NAME
,
TCMakerProtoDUNEBSMWindowAlgorithm
)
TCMakerProtoDUNEBSMWindowAlgorithm.hpp
REGISTER_TRIGGER_CANDIDATE_MAKER
#define REGISTER_TRIGGER_CANDIDATE_MAKER(tcm_name, tcm_class)
Definition
TriggerCandidateFactory.hpp:14
triggeralgs::TCMakerProtoDUNEBSMWindowAlgorithm
Definition
TCMakerProtoDUNEBSMWindowAlgorithm.hpp:18
triggeralgs::TCMakerProtoDUNEBSMWindowAlgorithm::configure
void configure(const nlohmann::json &config)
Definition
TCMakerProtoDUNEBSMWindowAlgorithm.cpp:49
triggeralgs::TCMakerProtoDUNEBSMWindowAlgorithm::m_tc_type
TriggerCandidate::Type m_tc_type
Configurable TC type to produce by this TC algorithm.
Definition
TCMakerProtoDUNEBSMWindowAlgorithm.hpp:32
triggeralgs::TCMakerProtoDUNEBSMWindowAlgorithm::process
void process(const TriggerActivity &, std::vector< TriggerCandidate > &)
The function that gets call when there is a new activity.
Definition
TCMakerProtoDUNEBSMWindowAlgorithm.cpp:20
triggeralgs::TCMakerProtoDUNEBSMWindowAlgorithm::m_activity_count
uint64_t m_activity_count
Definition
TCMakerProtoDUNEBSMWindowAlgorithm.hpp:29
triggeralgs::TriggerCandidateMaker::configure
virtual void configure(const nlohmann::json &config)
Definition
TriggerCandidateMaker.hpp:101
TLOG_DEBUG
#define TLOG_DEBUG(lvl,...)
Definition
Logging.hpp:112
dunedaq::trgdataformats::get_trigger_candidate_type_names
std::map< TriggerCandidateData::Type, std::string > get_trigger_candidate_type_names()
Definition
TriggerCandidateData.hpp:101
triggeralgs
Definition
AbstractFactory.hpp:18
triggeralgs::TLVL_DEBUG_LOW
@ TLVL_DEBUG_LOW
Definition
Logging.hpp:22
TRACE_NAME
#define TRACE_NAME
Definition
TimingHardwareManagerBase.cpp:30
dunedaq::trgdataformats::TriggerActivityData::time_activity
timestamp_t time_activity
Definition
TriggerActivityData.hpp:49
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::kUnknown
@ kUnknown
Definition
TriggerCandidateData.hpp:67
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.16.1