DUNE-DAQ
DUNE Trigger and Data Acquisition software
|
Abstract class for the TPG pipeline. More...
#include <TPGPipeline.hpp>
Public Types | |
using | processor_t = T |
Processor type to use. Generally AVX. | |
using | signal_t = U |
Signal type to use. Generally __m256i. | |
Public Member Functions | |
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 bool | check_for_tps (const signal_t &tp_mask)=0 |
Pure virtual function that will check if any TPs can be generated. | |
virtual signal_t | save_state (const signal_t &processed_signal)=0 |
Pure virtual function that will save the state of the generation. | |
virtual std::vector< dunedaq::trgdataformats::TriggerPrimitive > | generate_tps (const signal_t &tp_mask)=0 |
Pure virtual function that will generate TPs given a mask to draw from. | |
virtual void | set_sot_minima (const std::vector< uint16_t > &sot_minima) |
Set the samples over threshold minimum values. | |
Protected Attributes | |
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 = AbstractFactory<processor_t>::get_instance() |
Processor factory singleton. | |
std::shared_ptr< processor_t > | m_processor_head |
Processor head to start from. | |
Abstract class for the TPG pipeline.
Definition at line 28 of file TPGPipeline.hpp.
using tpglibs::TPGPipeline< T, U >::processor_t = T |
Processor type to use. Generally AVX.
Definition at line 31 of file TPGPipeline.hpp.
using tpglibs::TPGPipeline< T, U >::signal_t = U |
Signal type to use. Generally __m256i.
Definition at line 33 of file TPGPipeline.hpp.
|
virtualdefault |
|
pure virtual |
Pure virtual function that will check if any TPs can be generated.
Implemented in tpglibs::AVXPipeline.
|
inlinevirtual |
Configure the pieces to the pipeline.
configs | Vector of processors and configurations to be used. |
channel_plane_numbers | Vector of channel numbers and their plane numbers. |
Definition at line 43 of file TPGPipeline.hpp.
|
pure virtual |
Pure virtual function that will generate TPs given a mask to draw from.
Implemented in tpglibs::AVXPipeline.
|
inlinevirtual |
Process a signal through the pipeline.
Definition at line 74 of file TPGPipeline.hpp.
|
pure virtual |
Pure virtual function that will save the state of the generation.
Implemented in tpglibs::AVXPipeline.
|
inlinevirtual |
Set the samples over threshold minimum values.
Definition at line 94 of file TPGPipeline.hpp.
|
protected |
Definition at line 104 of file TPGPipeline.hpp.
|
protected |
The on-going ADC integral for channels that are considered active.
Definition at line 103 of file TPGPipeline.hpp.
|
protected |
The ADC peak for channels that are considered active.
Definition at line 106 of file TPGPipeline.hpp.
|
protected |
Detector channel numbers for the 16 channels that are being processed.
Definition at line 112 of file TPGPipeline.hpp.
|
protected |
Processor factory singleton.
Definition at line 118 of file TPGPipeline.hpp.
|
protected |
Detector plane numbers for the 16 channels that are being processed.
Definition at line 114 of file TPGPipeline.hpp.
|
protected |
Processor head to start from.
Definition at line 120 of file TPGPipeline.hpp.
|
protected |
The samples over threshold for channels that are considered active.
Definition at line 108 of file TPGPipeline.hpp.
|
protected |
The number of samples from time_start
to the ADC peak.
Definition at line 110 of file TPGPipeline.hpp.
|
protected |
The samples over threshold minimum that a TP from plane i
must have.
Definition at line 116 of file TPGPipeline.hpp.