|
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 |
| ProcessorInternalStateBufferManager< T > * | _get_internal_state_buffer_manager () |
| ProcessorInternalStateNameRegistry< T > * | _get_internal_state_name_registry () |
| virtual void | configure_internal_state_collection (const nlohmann::json &config) |
| Configure common internal state collection parameters. | |
| 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. | |
| std::shared_ptr< AbstractProcessor< T > > | get_next_processor () |
| Getter for next processor. | |
| virtual T | process (const T &signal) |
| Simple signal pass-through. | |
| virtual std::vector< std::string > | get_requested_internal_state_names () const |
| Get the names of requested internal states (delegates to registry). | |
| virtual ProcessorMetricArray< std::array< int16_t, 16 > > | read_internal_states_as_integer_array () |
Protected Attributes | |
| ProcessorInternalStateBufferManager< T > | m_internal_state_buffer_manager |
| ProcessorInternalStateNameRegistry< T > | m_internal_state_name_registry |
| std::atomic< uint64_t > | m_samples {0} |
| bool | m_collect_internal_state_flag {false} |
| uint64_t | m_sample_period {1} |
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 AbstractProcessor.hpp.
| using tpglibs::AbstractProcessor< T >::signal_type_t = T |
Signal type to process on. General __m256i.
Definition at line 42 of file AbstractProcessor.hpp.
|
virtualdefault |
|
inline |
Definition at line 46 of file AbstractProcessor.hpp.
|
inline |
Definition at line 50 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 |
Configure common internal state collection parameters.
This method handles the common configuration for internal state collection that all processors need. Derived classes should call this method at the beginning of their configure() implementation.
| config | JSON config containing metric_collect_toggle_state, metric_collect_time_sample_period, and requested_internal_states |
Definition at line 63 of file AbstractProcessor.hpp.
|
inline |
Getter for next processor.
Definition at line 91 of file AbstractProcessor.hpp.
|
inlinevirtual |
Get the names of requested internal states (delegates to registry).
Definition at line 104 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 96 of file AbstractProcessor.hpp.
|
inlinevirtual |
Definition at line 108 of file AbstractProcessor.hpp.
|
inline |
Setter for next processor.
Definition at line 86 of file AbstractProcessor.hpp.
|
protected |
Definition at line 37 of file AbstractProcessor.hpp.
|
protected |
Definition at line 32 of file AbstractProcessor.hpp.
|
protected |
Definition at line 33 of file AbstractProcessor.hpp.
|
private |
Points to next processor in the chain.
Definition at line 29 of file AbstractProcessor.hpp.
|
protected |
Definition at line 38 of file AbstractProcessor.hpp.
|
protected |
Definition at line 36 of file AbstractProcessor.hpp.