/** * @file trend_slope.h * @brief 趋势检测(斜率) * @author Cat (null.null.null@qq.com) * @version 0.1 * @date 2021-09-13 * * Copyright: Baosight Co. Ltd. * DO NOT COPY/USE WITHOUT PERMISSION * */ #pragma once #include #include #include #include class TrendSlope3 : public AlgBase { public: TrendSlope3(const string name, const mix_cc::json &rule_json, const string ruleId); ~TrendSlope3() override; public: int init() override; /** * @brief 执行函数 * @return AlarmInfo */ AlarmInfo exec_mon() override; /** * @brief 单次执行 * @param time_range My Param doc * @return std::vector */ std::vector exec_task(mix_cc::time_range_t time_range) override; /** * @brief 前提条件--指定数据 * @return true * @return false */ bool get_prr2(); private: TimeDur limit_time_interval_; TimeDur deltaX_; double limit_slope_; std::string error_content_; int CS_AVG_SIZE_; int need_tag_seq_ = 0; };