DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
AVXPipeline.hpp
Go to the documentation of this file.
1
8
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>
21{
23 const __m256i m_ones_register = _mm256_set1_epi16(1);
24
26 const __m256i m_max_value_register = _mm256_set1_epi16(-1);
27
28public:
36 __m256i save_state(const __m256i& processed_signal) override;
37
43 bool check_for_tps(const __m256i& tp_mask) override;
44
50 std::vector<dunedaq::trgdataformats::TriggerPrimitive> generate_tps(const __m256i& tp_mask) override;
51};
52#pragma GCC diagnostic pop
53
54} // namespace tpglibs
55
56#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.