DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
AVX typed TPG pipeline. More...
#include <AVXPipeline.hpp>
Public Member Functions | |
__m256i | save_state (const __m256i &processed_signal) override |
Save the state of the processed signals. | |
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. | |
![]() | |
virtual | ~TPGPipeline ()=default |
virtual void | configure (const std::vector< std::pair< std::string, nlohmann::json > > configs, const std::vector< std::pair< dunedaq::trgdataformats::channel_t, int16_t > > channel_plane_numbers) |
Configure the pieces to the pipeline. | |
virtual std::vector< dunedaq::trgdataformats::TriggerPrimitive > | process (const signal_t &signal) |
Process a signal through the pipeline. | |
virtual void | set_sot_minima (const std::vector< uint16_t > &sot_minima) |
Set the samples over threshold minimum values. | |
Private Attributes | |
const __m256i | m_ones_register = _mm256_set1_epi16(1) |
A vector of 1s. | |
const __m256i | m_max_value_register = _mm256_set1_epi16(-1) |
A vector of uint16_t max. | |
Additional Inherited Members | |
![]() | |
using | processor_t |
Processor type to use. Generally AVX. | |
using | signal_t |
Signal type to use. Generally __m256i. | |
![]() | |
signal_t | m_adc_integral_lo |
The on-going ADC integral for channels that are considered active. | |
signal_t | m_adc_integral_hi |
signal_t | m_adc_peak |
The ADC peak for channels that are considered active. | |
signal_t | m_samples_over_threshold |
The samples over threshold for channels that are considered active. | |
signal_t | m_samples_to_peak |
The number of samples from time_start to the ADC peak. | |
dunedaq::trgdataformats::channel_t | m_channels [16] |
Detector channel numbers for the 16 channels that are being processed. | |
int16_t | m_plane_numbers [16] |
Detector plane numbers for the 16 channels that are being processed. | |
uint16_t | m_sot_minima [3] |
The samples over threshold minimum that a TP from plane i must have. | |
std::shared_ptr< AbstractFactory< processor_t > > | m_factory |
Processor factory singleton. | |
std::shared_ptr< processor_t > | m_processor_head |
Processor head to start from. | |
AVX typed TPG pipeline.
Definition at line 20 of file AVXPipeline.hpp.
|
overridevirtual |
Check a channel mask for any TPs that need to be created.
tp_mask | A vector mask of channels that have completed TPs. |
Implements tpglibs::TPGPipeline< AVXProcessor, __m256i >.
Definition at line 47 of file AVXPipeline.cpp.
|
overridevirtual |
Finalize the details of the completed TPs and send out.
tp_mask | A vector mask of channels that have completed TPs. |
Implements tpglibs::TPGPipeline< AVXProcessor, __m256i >.
Definition at line 55 of file AVXPipeline.cpp.
|
overridevirtual |
Save the state of the processed signals.
Used for keeping track of TPs that are still on-going.
processed_signal | Resultant signal after completing the pipeline. |
Implements tpglibs::TPGPipeline< AVXProcessor, __m256i >.
Definition at line 13 of file AVXPipeline.cpp.
|
private |
A vector of uint16_t max.
Definition at line 25 of file AVXPipeline.hpp.
|
private |
A vector of 1s.
Definition at line 22 of file AVXPipeline.hpp.