/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /* * File: CorrelationProcess.hh * Author: hacene * * Created on September 27, 2021, 10:02 AM */ #ifndef CORRELATIONPROCESS_HH #define CORRELATIONPROCESS_HH #include "SingleParamProcess.hh" #include "ParamInfo.hh" namespace AMDA { namespace Parameters { class CorrelationProcess : public SingleParamProcess_CRTP { public: CorrelationProcess(Parameter ¶meter); CorrelationProcess(const CorrelationProcess& pProcess, Parameter ¶meter); virtual ~CorrelationProcess(); /** * @overload Process::establishConnection() */ void establishConnection(); /** * @overload Process::init() */ TimeStamp init(); protected: // void getSecondParamData(); std::string _type; double _windowtime; private: /** * @brief list of param name intput * @detail this list must be ordered */ ParameterSPtr _secondInputParam; }; class CovarianceProcess : public CorrelationProcess { public: CovarianceProcess(Parameter& parameter); CovarianceProcess(const CorrelationProcess& pProcess, Parameter ¶meter); virtual ~CovarianceProcess(); }; class PearsonProcess : public CorrelationProcess { public: PearsonProcess(Parameter& parameter); PearsonProcess(const CorrelationProcess& pProcess, Parameter ¶meter); virtual ~PearsonProcess(); }; class SpearmanProcess : public CorrelationProcess { public: SpearmanProcess(Parameter& parameter); SpearmanProcess(const CorrelationProcess& pProcess, Parameter ¶meter); virtual ~SpearmanProcess(); }; class KendallProcess : public CorrelationProcess { public: KendallProcess(Parameter& parameter); KendallProcess(const CorrelationProcess& pProcess, Parameter ¶meter); virtual ~KendallProcess(); }; } } #endif /* CORRELATIONPROCESS_HH */