30#include "event_detector/BufferManager.hpp"
31#include "event_detector/common.hpp"
112 template <
typename T>
113 bool loadRuleParameter(
const std::string& parameter_name, T& out_value,
const T& default_value);
129#include "event_detector/AnalysisRule.tpp"
Abstract class defining a rule for identifying relevant data.
virtual void loadRuleParameters()=0
Sets the rule's parameters.
AnalysisRule()
Creates a new AnalysisRule.
std::shared_ptr< BufferManager > buffer_
BufferManager component.
virtual std::string getRuleName() const =0
Defines the rule's name.
virtual void evaluate()=0
Evaluates the rule.
virtual void onInitialize()=0
Callback for when the rule is initialized.
rclcpp::Parameter loadRuleParameter(const std::string ¶meter_name)
Loads a rule parameter.
bool loadRuleParameter(const std::string ¶meter_name, T &out_value, const T &default_value)
Loads a rule parameter if set, else uses default value.
EventDetector * ed_
EventDetector node.
void initialize(EventDetector *ed, std::shared_ptr< BufferManager > buffer)
Initializes the rule.