20 std::shared_ptr<naive_array_t>(&
m_pedestal, [](
auto*){}));
22 std::shared_ptr<naive_array_t>(&
m_accum, [](
auto*){}));
38 for (
int i = 0; i < 16; i++) {
59 subtracted_signal[i] = signal[i] -
m_pedestal[i];
#define REGISTER_NAIVEPROCESSOR_CREATOR(processor_name, processor_class)
Factory registration macro.
ProcessorInternalStateBufferManager< std::array< int16_t, 16 > > m_internal_state_buffer_manager
std::atomic< uint64_t > m_samples
ProcessorInternalStateNameRegistry< std::array< int16_t, 16 > > m_internal_state_name_registry
virtual void configure_internal_state_collection(const nlohmann::json &config)
bool m_collect_internal_state_flag
Naive signal processor: Estimates the pedestal and subtracts.
void configure(const nlohmann::json &config, const int16_t *plane_numbers) override
Configure the accumulation limit according to plane number.
naive_array_t process(const naive_array_t &signal) override
Estimate the pedestal using the given signal and subtract.
naive_array_t m_pedestal
Vector of estimated pedestals for each channel.
int16_t m_accum_limit
Count limit before committing to a pedestal shift.
naive_array_t m_accum
Vector of counts that a channel's signal was above or below m_pedestal.
virtual naive_array_t process(const naive_array_t &signal) override
Simple signal pass-through on naive type.
std::array< int16_t, 16 > naive_array_t
The naive version uses a standard array instead of __m256i.