|
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. | |
Public Member Functions inherited from tpglibs::TPGPipeline< AVXProcessor, __m256i > | |
| 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 std::vector< std::shared_ptr< AbstractProcessor< signal_t > > > | get_all_processor_references () |
| Return reference to all processors in this 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 | |
Public Types inherited from tpglibs::TPGPipeline< AVXProcessor, __m256i > | |
| using | processor_t |
| Processor type to use. Generally AVX. | |
| using | signal_t |
| Signal type to use. Generally __m256i. | |
Protected Attributes inherited from tpglibs::TPGPipeline< AVXProcessor, __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.