MinMaxMeanStatisticProcess.hh 1.82 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);
};

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

#endif