DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
triggeralgs::TCMakerPrescaleAlgorithm Class Reference

#include <TCMakerPrescaleAlgorithm.hpp>

Inheritance diagram for triggeralgs::TCMakerPrescaleAlgorithm:
[legend]
Collaboration diagram for triggeralgs::TCMakerPrescaleAlgorithm:
[legend]

Public Member Functions

void process (const TriggerActivity &, std::vector< TriggerCandidate > &)
 The function that gets call when there is a new activity.
 
void configure (const nlohmann::json &config)
 
- Public Member Functions inherited from triggeralgs::TriggerCandidateMaker
virtual ~TriggerCandidateMaker ()=default
 
void operator() (const TriggerActivity &input_ta, std::vector< TriggerCandidate > &output_tc)
 
virtual bool preprocess (const TriggerActivity &)
 TA pre-processing/filtering.
 
virtual void postprocess (std::vector< TriggerCandidate > &output_tc)
 Post-processing/filtering of the TCs, e.g. prescale.
 
virtual void flush (timestamp_t, std::vector< TriggerCandidate > &)
 

Additional Inherited Members

- Public Attributes inherited from triggeralgs::TriggerCandidateMaker
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_tc_count = 0
 TC made count for prescaling.
 
TriggerCandidate::Type m_tc_type_out = TriggerCandidate::Type::kUnknown
 Configurable TC type output.
 

Detailed Description

Definition at line 17 of file TCMakerPrescaleAlgorithm.hpp.

Member Function Documentation

◆ configure()

void TCMakerPrescaleAlgorithm::configure ( const nlohmann::json & config)
virtual

Reimplemented from triggeralgs::TriggerCandidateMaker.

Definition at line 45 of file TCMakerPrescaleAlgorithm.cpp.

46{
48}
virtual void configure(const nlohmann::json &config)

◆ process()

void TCMakerPrescaleAlgorithm::process ( const TriggerActivity & activity,
std::vector< TriggerCandidate > & cand )
virtual

The function that gets call when there is a new activity.

Implements triggeralgs::TriggerCandidateMaker.

Definition at line 19 of file TCMakerPrescaleAlgorithm.cpp.

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}
TriggerCandidate::Type m_tc_type_out
Configurable TC type output.
std::vector< dunedaq::trgdataformats::TriggerActivityData > inputs

The documentation for this class was generated from the following files: