9#ifndef TRIGGERALGS_MICHELELECTRON_TRIGGERCANDIDATEMAKERMICHELELECTRON_HPP_
10#define TRIGGERALGS_MICHELELECTRON_TRIGGERCANDIDATEMAKERMICHELELECTRON_HPP_
27 void configure(
const nlohmann::json& config);
46 uint16_t insert_at = 0;
63 uint32_t n_tas_to_erase = 0;
65 if (!(input_ta.
time_start - ta.time_start < window_length)) {
104 inputs.push_back(input_ta);
109 os <<
"Window is empty!\n";
void reset(TriggerActivity const &input_ta)
uint16_t n_channels_hit()
void add(const TriggerActivity &input_ta)
void move(TriggerActivity const &input_ta, timestamp_t const &window_length)
friend std::ostream & operator<<(std::ostream &os, const Window &window)
std::vector< TriggerActivity > inputs
std::unordered_map< channel_t, uint16_t > channel_states
uint16_t m_n_channels_threshold
bool m_trigger_on_n_channels
timestamp_t m_window_length
std::vector< Window > m_window_record
void dump_window_record()
TriggerCandidate construct_tc() const
void process(const TriggerActivity &, std::vector< TriggerCandidate > &)
The function that gets call when there is a new activity.
uint64_t m_activity_count
void configure(const nlohmann::json &config)
void add_window_to_record(Window window)
bool check_adjacency() const
dunedaq::trgdataformats::timestamp_t timestamp_t
std::vector< TriggerPrimitive > inputs