IntervalsProperties.hh 1.94 KB
/*
 * IntervalsProperties.hh
 *
 *  Created on: Feb 4, 2019
 *      Author: AKKA
 */

#ifndef INTERVALSPROPERTIES_HH_
#define INTERVALSPROPERTIES_HH_

#include <iostream>
#include <cmath>
#include <string>

#include "DrawingProperties.hh"

namespace plot {

/**
 * Drawing properties for a parameter intervals.
 */
class IntervalsProperties: public DrawingProperties {
public:

	friend std::ostream& operator<<(std::ostream& out_,
			const IntervalsProperties& lprop_);

	/*
	 * @brief Dumps properties for test.
	 */
	void dump(std::ostream& out_, std::string& prefix_);

	IntervalsProperties() :
			DrawingProperties(), _paramId(""), _indexDef("") {
	}

	IntervalsProperties(const DrawingProperties& ref_) :
			DrawingProperties(ref_), _paramId(""), _indexDef("") {

	}

	IntervalsProperties(const IntervalsProperties& pParamDrawingProperties_) :
			DrawingProperties(pParamDrawingProperties_), _paramId(""), 
				_indexDef(pParamDrawingProperties_._indexDef) {
	}

	IntervalsProperties& operator=(const IntervalsProperties& ref_) {
		DrawingProperties::operator=(ref_);
		_paramId    = ref_._paramId;
		_indexDef   = ref_._indexDef;
		return *this;
	}

	virtual ~IntervalsProperties() {
	}

	std::string getParamId(){
		return _paramId;
	}

	void setParamId(std::string paramId_) {
		_paramId = paramId_;
	}

	std::string getIndexDef() const {
		return _indexDef;
	}

	void setIndexDef(std::string indexDef) {
		_indexDef = indexDef;
	}

	AMDA::Common::ParameterIndexComponentList& getIndexes()
	{
		return _indexList;
	}

	void setIndexes(AMDA::Common::ParameterIndexComponentList indexList)
	{
		_indexList = indexList;
	}

private:
	/**
	 * @brief Calculated paramId (from resolution).
	 */
	std::string _paramId;

	/**
	 * @brief Index definition (give by the request)
	 */
	std::string _indexDef;

	/*
	 * @brief List of components used by the spectro
	 */
	AMDA::Common::ParameterIndexComponentList _indexList;
};

} /* namespace plot */

#endif /* INTERVALSPROPERTIES_HH_ */