DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
AVXFixedPedestalSubtractProcessor.cpp
Go to the documentation of this file.
1
10
11namespace tpglibs {
12
13REGISTER_AVXPROCESSOR_CREATOR("AVXFixedPedestalSubtractProcessor", AVXFixedPedestalSubtractProcessor)
14
15void AVXFixedPedestalSubtractProcessor::configure(const nlohmann::json& config, const int16_t* plane_numbers) {
17 m_start_period = config["start_period"];
18}
19
20__m256i AVXFixedPedestalSubtractProcessor::process(const __m256i& signal) {
24 }
25 return AVXProcessor::process(_mm256_sub_epi16(signal, m_pedestal));
26}
27
28} // namespace tpglibs
#define REGISTER_AVXPROCESSOR_CREATOR(processor_name, processor_class)
Factory registration macro.
AVX signal processor: Fixes the estimated pedestal after a configured amount of time.
__m256i process(const __m256i &signal) override
Estimates the pedestal for some time and subtracts.
uint16_t m_start_period
Configured number of samples to use before fixing.
void configure(const nlohmann::json &config, const int16_t *plane_numbers) override
Configure the accumulation limit according to plane number.
__m256i process(const __m256i &signal) override
Estimate the pedestal using the given signal and subtract.
__m256i m_pedestal
Vector of estimated pedestals for each channel.
virtual __m256i process(const __m256i &signal) override
Simple signal pass-through on __m256i type.