DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
AVXPipeline.hpp
Go to the documentation of this file.
1
9#ifndef TPGLIBS_AVXPIPELINE_HPP_
10#define TPGLIBS_AVXPIPELINE_HPP_
11
14
15namespace tpglibs {
16
17#pragma GCC diagnostic push
18#pragma GCC diagnostic ignored "-Wignored-attributes"
20class AVXPipeline : public TPGPipeline<AVXProcessor, __m256i> {
22 const __m256i m_ones_register = _mm256_set1_epi16(1);
23
25 const __m256i m_max_value_register = _mm256_set1_epi16(-1);
26
27 public:
35 __m256i save_state(const __m256i& processed_signal) override;
36
42 bool check_for_tps(const __m256i& tp_mask) override;
43
49 std::vector<dunedaq::trgdataformats::TriggerPrimitive> generate_tps(const __m256i& tp_mask) override;
50};
51#pragma GCC diagnostic pop
52
53} // namespace tpglibs
54
55#endif // TPGLIBS_AVXPIPELINE_HPP_
AVX typed TPG pipeline.
const __m256i m_ones_register
A vector of 1s.
bool check_for_tps(const __m256i &tp_mask) override
Check a channel mask for any TPs that need to be created.
std::vector< dunedaq::trgdataformats::TriggerPrimitive > generate_tps(const __m256i &tp_mask) override
Finalize the details of the completed TPs and send out.
const __m256i m_max_value_register
A vector of uint16_t max.
__m256i save_state(const __m256i &processed_signal) override
Save the state of the processed signals.
Abstract class for the TPG pipeline.