DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
Abstract signal processor. More...
#include <AbstractProcessor.hpp>
Public Types | |
using | signal_type_t = T |
Signal type to process on. General __m256i. | |
Public Member Functions | |
virtual | ~AbstractProcessor ()=default |
virtual void | configure (const nlohmann::json &config, const int16_t *plane_numbers)=0 |
Pure virtual function that will configure the processor using plane numbers. | |
void | set_next_processor (std::shared_ptr< AbstractProcessor< T > > next_processor) |
Setter for next processor. | |
virtual T | process (const T &signal) |
Simple signal pass-through. | |
virtual void | save_metric_to_store_buffer () |
Save metrics to store buffer; default does nothing. | |
virtual std::vector< std::string > | get_metric_items () |
Returns the string name of metrics recorded (stored and can be read) for this processor. | |
virtual ProcessorMetricArray< signal_type_t > | read_from_metric_store_buffer () |
Read metrics from store buffer; default empty. | |
virtual void | attach_to_metric_collector (ProcessorMetricCollector< signal_type_t > &collector, size_t pipeline_id) |
Register this processor and next processor with the metric collector. | |
Private Attributes | |
std::shared_ptr< AbstractProcessor< T > > | m_next_processor |
Points to next processor in the chain. | |
Abstract signal processor.
Configurable signal processor for TPG.
Definition at line 27 of file ProcessorMetricCollector.hpp.
using tpglibs::AbstractProcessor< T >::signal_type_t = T |
Signal type to process on. General __m256i.
Definition at line 31 of file AbstractProcessor.hpp.
|
virtualdefault |
|
inlinevirtual |
Register this processor and next processor with the metric collector.
Definition at line 65 of file AbstractProcessor.hpp.
|
pure virtual |
Pure virtual function that will configure the processor using plane numbers.
Implemented in tpglibs::AVXFixedPedestalSubtractProcessor, tpglibs::AVXFrugalPedestalSubtractProcessor, tpglibs::AVXRunSumProcessor, tpglibs::AVXThresholdProcessor, tpglibs::NaiveFrugalPedestalSubtractProcessor, tpglibs::NaiveRunSumProcessor, and tpglibs::NaiveThresholdProcessor.
|
inlinevirtual |
Returns the string name of metrics recorded (stored and can be read) for this processor.
Reimplemented in tpglibs::AVXFrugalPedestalSubtractProcessor.
Definition at line 55 of file AbstractProcessor.hpp.
|
inlinevirtual |
Simple signal pass-through.
Reimplemented in tpglibs::AVXAbsRunSumProcessor, tpglibs::AVXFixedPedestalSubtractProcessor, tpglibs::AVXFrugalPedestalSubtractProcessor, tpglibs::AVXProcessor, tpglibs::AVXRunSumProcessor, tpglibs::AVXThresholdProcessor, tpglibs::NaiveAbsRunSumProcessor, tpglibs::NaiveFrugalPedestalSubtractProcessor, tpglibs::NaiveProcessor, tpglibs::NaiveRunSumProcessor, and tpglibs::NaiveThresholdProcessor.
Definition at line 44 of file AbstractProcessor.hpp.
|
inlinevirtual |
Read metrics from store buffer; default empty.
Reimplemented in tpglibs::AVXFrugalPedestalSubtractProcessor, and tpglibs::AVXProcessor.
Definition at line 60 of file AbstractProcessor.hpp.
|
inlinevirtual |
Save metrics to store buffer; default does nothing.
Reimplemented in tpglibs::AVXFrugalPedestalSubtractProcessor, and tpglibs::AVXProcessor.
Definition at line 52 of file AbstractProcessor.hpp.
|
inline |
Setter for next processor.
Definition at line 39 of file AbstractProcessor.hpp.
|
private |
Points to next processor in the chain.
Definition at line 27 of file AbstractProcessor.hpp.