DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
triggeralgs
src
TCMakerSupernovaAlgorithm.cpp
Go to the documentation of this file.
1
8
9
#include "
triggeralgs/Supernova/TCMakerSupernovaAlgorithm.hpp
"
10
11
#include "TRACE/trace.h"
12
#define TRACE_NAME "TCMakerSupernovaAlgorithm"
13
14
using namespace
triggeralgs
;
15
16
void
17
TCMakerSupernovaAlgorithm::process
(
const
TriggerActivity
& activity, std::vector<TriggerCandidate>& cand)
18
{
19
timestamp_t
time = activity.
time_start
;
20
FlushOldActivity
(time);
// get rid of old activities in the buffer
21
if
(activity.
inputs
.size() >
m_hit_threshold
)
22
m_activity
.push_back(
static_cast<
TriggerActivity::TriggerActivityData
>
(activity));
23
24
// Yay! we have a trigger!
25
if
(
m_activity
.size() >
m_threshold
) {
26
27
detid_t
detid
=
dunedaq::trgdataformats::WHOLE_DETECTOR
;
28
29
TriggerCandidate
tc;
30
tc.
time_start
= time - 500'000'000;
// time_start (10 seconds before the start of the activity)
31
tc.
time_end
= activity.
time_end
;
// time_end; but that should probably be _at least_ this number
32
tc.
time_candidate
= time;
33
tc.
detid
=
detid
;
34
tc.
type
=
m_tc_type_out
;
// type ( flag that says what type of trigger might be (e.g. SN/Muon/Beam) )
35
tc.
algorithm
=
TriggerCandidate::Algorithm::kSupernova
;
// algorithm ( flag that says which algorithm created the trigger (e.g. SN/HE/Solar) )
36
tc.
inputs
=
m_activity
;
37
38
m_activity
.clear();
39
// Give the trigger word back
40
cand.push_back(tc);
41
}
42
}
43
44
REGISTER_TRIGGER_CANDIDATE_MAKER
(
TRACE_NAME
,
TCMakerSupernovaAlgorithm
)
TCMakerSupernovaAlgorithm.hpp
TRACE_NAME
#define TRACE_NAME
Definition
TimestampEstimatorTimeSync.cpp:17
detid
detid
Definition
TriggerActivity_serialization.hpp:47
REGISTER_TRIGGER_CANDIDATE_MAKER
#define REGISTER_TRIGGER_CANDIDATE_MAKER(tcm_name, tcm_class)
Definition
TriggerCandidateFactory.hpp:14
triggeralgs::TCMakerSupernovaAlgorithm
Definition
TCMakerSupernovaAlgorithm.hpp:22
triggeralgs::TCMakerSupernovaAlgorithm::m_activity
std::vector< TriggerActivity::TriggerActivityData > m_activity
Definition
TCMakerSupernovaAlgorithm.hpp:31
triggeralgs::TCMakerSupernovaAlgorithm::FlushOldActivity
void FlushOldActivity(timestamp_t time_now)
this function gets rid of the old activities
Definition
TCMakerSupernovaAlgorithm.hpp:40
triggeralgs::TCMakerSupernovaAlgorithm::m_threshold
std::atomic< uint16_t > m_threshold
Minimum number of activities in the time window to issue a trigger.
Definition
TCMakerSupernovaAlgorithm.hpp:35
triggeralgs::TCMakerSupernovaAlgorithm::process
void process(const TriggerActivity &, std::vector< TriggerCandidate > &)
The function that gets call when there is a new activity.
Definition
TCMakerSupernovaAlgorithm.cpp:17
triggeralgs::TCMakerSupernovaAlgorithm::m_hit_threshold
std::atomic< uint16_t > m_hit_threshold
Minimum number of primities in an activity.
Definition
TCMakerSupernovaAlgorithm.hpp:37
triggeralgs::TriggerCandidateMaker::m_tc_type_out
TriggerCandidate::Type m_tc_type_out
Configurable TC type output.
Definition
TriggerCandidateMaker.hpp:138
dunedaq::trgdataformats::WHOLE_DETECTOR
constexpr detid_t WHOLE_DETECTOR
Definition
Types.hpp:41
triggeralgs
Definition
AbstractFactory.hpp:18
triggeralgs::timestamp_t
dunedaq::trgdataformats::timestamp_t timestamp_t
Definition
Types.hpp:16
triggeralgs::detid_t
dunedaq::trgdataformats::detid_t detid_t
Definition
Types.hpp:18
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::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::kSupernova
@ kSupernova
Definition
TriggerCandidateData.hpp:68
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::TriggerActivity::inputs
std::vector< TriggerPrimitive > inputs
Definition
TriggerActivity.hpp:33
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