14 std::vector<float> waveform;
35 const uint32_t channel_id) = 0;
46template <
typename DetectorType>
49 explicit SpikeDetectorWrapper(DetectorType detector)
50 : detector_instance_(std::move(detector)) {}
52 template <
typename... Args>
void setup(Args &&...args) {
53 detector_instance_.setup(std::forward<Args>(args)...);
57 const uint32_t channel_id)
override {
58 return detector_instance_.detect(sample, frame_timestamp, channel_id);
61 void reset()
override { detector_instance_.reset(); }
64 DetectorType detector_instance_;
Base class for spike detectors.
Definition base_spike_detector.hpp:22
virtual void reset()=0
Reset the detector state.
virtual SpikeEvent * detect(const float sample, const uint64_t frame_timestamp, const uint32_t channel_id)=0
Process a new sample and detect spikes.
SpikeEvent * detect(const float sample, const uint64_t frame_timestamp, const uint32_t channel_id) override
Process a new sample and detect spikes.
Definition base_spike_detector.hpp:56
void reset() override
Reset the detector state.
Definition base_spike_detector.hpp:61
Represents a detected spike.
Definition base_spike_detector.hpp:11