DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
tpglibs
include
tpglibs
AVXFrugalPedestalSubtractProcessor.hpp
Go to the documentation of this file.
1
8
9
#include "
tpglibs/AVXFactory.hpp
"
10
#include <memory>
11
12
#ifndef TPGLIBS_AVXFRUGALPEDESTALSUBTRACTPROCESSOR_HPP_
13
#define TPGLIBS_AVXFRUGALPEDESTALSUBTRACTPROCESSOR_HPP_
14
15
namespace
tpglibs
{
16
23
class
AVXFrugalPedestalSubtractProcessor
:
public
AVXProcessor
{
24
protected
:
26
__m256i
m_pedestal
= _mm256_set1_epi16(0x4000);
// Set initial start to 14-bit max. Prevents garbage TPs at start.
27
29
__m256i
m_accum
= _mm256_setzero_si256();
30
32
int16_t
m_accum_limit
{10};
33
34
public
:
35
AVXFrugalPedestalSubtractProcessor
() =
default
;
36
~AVXFrugalPedestalSubtractProcessor
() noexcept = default;
37
43
__m256i
process
(const __m256i& signal) override;
44
50
void
configure
(const nlohmann::json& config, const int16_t* plane_numbers) override;
51
};
52
53
}
// namespace tpglibs
54
55
#endif
// TPGLIBS_AVXFRUGALPEDESTALSUBTRACTPROCESSOR_HPP_
AVXFactory.hpp
tpglibs::AVXFrugalPedestalSubtractProcessor::configure
void configure(const nlohmann::json &config, const int16_t *plane_numbers) override
Configure the accumulation limit according to plane number.
Definition
AVXFrugalPedestalSubtractProcessor.cpp:15
tpglibs::AVXFrugalPedestalSubtractProcessor::~AVXFrugalPedestalSubtractProcessor
~AVXFrugalPedestalSubtractProcessor() noexcept=default
tpglibs::AVXFrugalPedestalSubtractProcessor::process
__m256i process(const __m256i &signal) override
Estimate the pedestal using the given signal and subtract.
Definition
AVXFrugalPedestalSubtractProcessor.cpp:29
tpglibs::AVXFrugalPedestalSubtractProcessor::m_pedestal
__m256i m_pedestal
Vector of estimated pedestals for each channel.
Definition
AVXFrugalPedestalSubtractProcessor.hpp:26
tpglibs::AVXFrugalPedestalSubtractProcessor::AVXFrugalPedestalSubtractProcessor
AVXFrugalPedestalSubtractProcessor()=default
tpglibs::AVXFrugalPedestalSubtractProcessor::m_accum_limit
int16_t m_accum_limit
Count limit before committing to a pedestal shift.
Definition
AVXFrugalPedestalSubtractProcessor.hpp:32
tpglibs::AVXFrugalPedestalSubtractProcessor::m_accum
__m256i m_accum
Vector of counts that a channel's signal was above or below m_pedestal.
Definition
AVXFrugalPedestalSubtractProcessor.hpp:29
tpglibs::AVXProcessor
AVX typed abstract signal processor.
Definition
AVXProcessor.hpp:23
tpglibs
Definition
AbstractFactory.hpp:20
Generated on
for DUNE-DAQ by
1.17.0