Files
cpp/radio/metrics/Tracker.hpp
T
2022-07-10 18:04:55 +02:00

35 lines
606 B
C++

#ifndef _METRICS_TRACKER_HPP_
#define _METRICS_TRACKER_HPP_
#pragma once
#include <cpp/radio/Vector.hpp>
#include <cpp/radio/statistics/SlidingMinMax.hpp>
namespace Radio
{
namespace Metrics
{
class Tracker
{
static const size_t NUM_QUADRRANTS = 4;
public:
Tracker(RealScalar rho, RealScalar smoothness=0.5);
virtual ~Tracker();
void process(ComplexScalar const &x);
CVec trackers() const;
void reset();
private:
RVec m_mags;
RealScalar m_rho;
RealScalar m_smoothness;
CVec m_trackers;
size_t getQuadrant(ComplexScalar const &x);
};
} // Metrics
} // Radio
#endif // _METRICS_TRACKER_HPP_