DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
#include <TriggerActivityMaker.hpp>
Public Member Functions | |
virtual | ~TriggerActivityMaker ()=default |
void | operator() (const TriggerPrimitive &input_tp, std::vector< TriggerActivity > &output_ta) |
virtual void | process (const TriggerPrimitive &input_tp, std::vector< TriggerActivity > &output_ta)=0 |
TP processing function that creates & fills TAs. | |
virtual bool | preprocess (const TriggerPrimitive &input_tp) |
TP pre-processing/filtering. | |
virtual void | postprocess (std::vector< TriggerActivity > &output_ta) |
Post-processing/filtering of the TAs, e.g. prescale. | |
virtual void | flush (timestamp_t, std::vector< TriggerActivity > &) |
virtual void | configure (const nlohmann::json &config) |
Public Attributes | |
std::atomic< uint64_t > | m_data_vs_system_time = 0 |
std::atomic< uint64_t > | m_initial_offset = 0 |
uint64_t | m_prescale = 1 |
Configurable prescale factor. | |
uint64_t | m_ta_count = 0 |
TA made count for prescaling. | |
uint32_t | m_max_samples_over_threshold = std::numeric_limits<uint32_t>::max() |
Time-over-threshold TP filtering. | |
Definition at line 28 of file TriggerActivityMaker.hpp.
|
virtualdefault |
|
inlinevirtual |
Reimplemented in triggeralgs::TAMakerADCSimpleWindowAlgorithm, triggeralgs::TAMakerBundleNAlgorithm, triggeralgs::TAMakerChannelAdjacencyAlgorithm, triggeralgs::TAMakerChannelDistanceAlgorithm, triggeralgs::TAMakerDBSCANAlgorithm, triggeralgs::TAMakerHorizontalMuonAlgorithm, triggeralgs::TAMakerMichelElectronAlgorithm, triggeralgs::TAMakerPlaneCoincidenceAlgorithm, and triggeralgs::TAMakerPrescaleAlgorithm.
Definition at line 111 of file TriggerActivityMaker.hpp.
|
inlinevirtual |
Reimplemented in triggeralgs::TAMakerSupernovaAlgorithm.
Definition at line 110 of file TriggerActivityMaker.hpp.
|
inline |
Definition at line 32 of file TriggerActivityMaker.hpp.
|
inlinevirtual |
Post-processing/filtering of the TAs, e.g. prescale.
Takes a vector of TAs and removes ones that we want to filter out, e.g. based on prescaling.
output_ta[out] | output triggeractivity vector |
Definition at line 85 of file TriggerActivityMaker.hpp.
|
inlinevirtual |
TP pre-processing/filtering.
Takes a TP and returns true or false depending whether we want to process that TP into a TA algorithm.
: Implement tp-filtering, e.g. SOT, plane, channel and whatnot
: Implement something smarter & more efficient if no filtering: vector of functions, or c-o-c
[in] | intput_tp | input TP reference for filtering |
Definition at line 66 of file TriggerActivityMaker.hpp.
|
pure virtual |
TP processing function that creates & fills TAs.
input_tp[in] | Input TP for the triggering algorithm |
output_ta[out] | Output vector of TAs to fill by the algorithm |
Implemented in triggeralgs::TAMakerADCSimpleWindowAlgorithm, triggeralgs::TAMakerBundleNAlgorithm, triggeralgs::TAMakerChannelAdjacencyAlgorithm, triggeralgs::TAMakerChannelDistanceAlgorithm, triggeralgs::TAMakerDBSCANAlgorithm, triggeralgs::TAMakerHorizontalMuonAlgorithm, triggeralgs::TAMakerMichelElectronAlgorithm, triggeralgs::TAMakerPlaneCoincidenceAlgorithm, triggeralgs::TAMakerPrescaleAlgorithm, and triggeralgs::TAMakerSupernovaAlgorithm.
std::atomic<uint64_t> triggeralgs::TriggerActivityMaker::m_data_vs_system_time = 0 |
Definition at line 127 of file TriggerActivityMaker.hpp.
std::atomic<uint64_t> triggeralgs::TriggerActivityMaker::m_initial_offset = 0 |
Definition at line 128 of file TriggerActivityMaker.hpp.
uint32_t triggeralgs::TriggerActivityMaker::m_max_samples_over_threshold = std::numeric_limits<uint32_t>::max() |
Time-over-threshold TP filtering.
Definition at line 136 of file TriggerActivityMaker.hpp.
uint64_t triggeralgs::TriggerActivityMaker::m_prescale = 1 |
Configurable prescale factor.
Definition at line 131 of file TriggerActivityMaker.hpp.
uint64_t triggeralgs::TriggerActivityMaker::m_ta_count = 0 |
TA made count for prescaling.
Definition at line 133 of file TriggerActivityMaker.hpp.