MinMaxMeanStatisticProcess.hh 3.87 KB
/*
 * MinMaxMeanStatisticProcess.hh
 *
 *  Created on: Nov 06, 2014
 *      Author: AKKA
 */

#ifndef MINMAXMEANSTATISTICPROCESS_HH_
#define MINMAXMEANSTATISTICPROCESS_HH_

#include "StatisticProcess.hh"

namespace AMDA {
namespace Statistic {
namespace MinMaxMean {

/**
 * @class MinStatisticProcess
 * @brief Process to compute min value
 */
class MinStatisticProcess : public AMDA::Parameters::StatisticProcess
{
public:
	/*
	 * @brief constructor
	 */
	MinStatisticProcess(AMDA::Parameters::Parameter &parameter, const int& index);

	/*
	 * @brief destructor
	 */
	virtual ~MinStatisticProcess(void);

	/*
	 * @brief create min statistic operation
	 */
	virtual void createOperation(void);

	/*
	 * @brief get UCD of the process
	 */
	std::string getUCD(void);
};

/**
 * @class MaxStatisticProcess
 * @brief Process to compute max value
 */
class MaxStatisticProcess : public AMDA::Parameters::StatisticProcess
{
public:
	/*
	 * @brief constructor
	 */
	MaxStatisticProcess(AMDA::Parameters::Parameter &parameter, const int& index);

	/*
	 * @brief destructor
	 */
	virtual ~MaxStatisticProcess(void);

	/*
	 * @brief create min statistic operation
	 */
	virtual void createOperation(void);

	/*
	 * @brief get UCD of the process
	 */
	std::string getUCD(void);
};

/**
 * @class MeanStatisticProcess
 * @brief Process to compute mean value
 */
class MeanStatisticProcess : public AMDA::Parameters::StatisticProcess
{
public:
	/*
	 * @brief constructor
	 */
	MeanStatisticProcess(AMDA::Parameters::Parameter &parameter, const int& index);

	/*
	 * @brief destructor
	 */
	virtual ~MeanStatisticProcess(void);

	/*
	 * @brief create min statistic operation
	 */
	virtual void createOperation(void);

	/*
	 * @brief get UCD of the process
	 */
	std::string getUCD(void);
};
/**
 * @class MedianStatisticProcess
 * @brief Process to compute median value
 */
class MedianStatisticProcess : public AMDA::Parameters::StatisticProcess
{
public:
	/*
	 * @brief constructor
	 */
	MedianStatisticProcess(AMDA::Parameters::Parameter &parameter, const int& index);

	/*
	 * @brief destructor
	 */
	virtual ~MedianStatisticProcess(void);

	/*
	 * @brief create min statistic operation
	 */
	virtual void createOperation(void);

	/*
	 * @brief get UCD of the process
	 */
	std::string getUCD(void);
};

/**
 * @class VarianceStatisticProcess
 * @brief Process to compute variance value
 */
class VarianceStatisticProcess : public AMDA::Parameters::StatisticProcess
{
public:
	/*
	 * @brief constructor
	 */
	VarianceStatisticProcess(AMDA::Parameters::Parameter &parameter, const int& index);

	/*
	 * @brief destructor
	 */
	virtual ~VarianceStatisticProcess(void);

	/*
	 * @brief create min statistic operation
	 */
	virtual void createOperation(void);

	/*
	 * @brief get UCD of the process
	 */
	std::string getUCD(void);
};

/**
 * @class SkewnessStatisticProcess
 * @brief Process to compute Skewness value
 */
class SkewnessStatisticProcess : public AMDA::Parameters::StatisticProcess
{
public:
	/*
	 * @brief constructor
	 */
	SkewnessStatisticProcess(AMDA::Parameters::Parameter &parameter, const int& index);

	/*
	 * @brief destructor
	 */
	virtual ~SkewnessStatisticProcess(void);

	/*
	 * @brief create min statistic operation
	 */
	virtual void createOperation(void);

	/*
	 * @brief get UCD of the process
	 */
	std::string getUCD(void);
};

/**
 * @class KurtosisStatisticProcess
 * @brief Process to compute kurtosis value
 */
class KurtosisStatisticProcess : public AMDA::Parameters::StatisticProcess
{
public:
	/*
	 * @brief constructor
	 */
	KurtosisStatisticProcess(AMDA::Parameters::Parameter &parameter, const int& index);

	/*
	 * @brief destructor
	 */
	virtual ~KurtosisStatisticProcess(void);

	/*
	 * @brief create min statistic operation
	 */
	virtual void createOperation(void);

	/*
	 * @brief get UCD of the process
	 */
	std::string getUCD(void);
};

} /* namespace MinMaxMean */
} /* namespace Statistic */
} /* namespace AMDA */

#endif