Histogram2DSeriesProperties.hh 3.2 KB
/*
 * Histogram2DSeriesProperties.hh
 *
 *  Created on: Jan 27, 2023
 *      Author: AKKODIS
 */

#ifndef HISTOGRAM2DSERIESPROPERTIES_HH_
#define HISTOGRAM2DSERIESPROPERTIES_HH_

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

#include "DrawingProperties.hh"
#include "ParameterIndexesTool.hh"
#include "BinsProperties.hh"
#include "HistotypeProperties.hh"
#include "ParameterData.hh"
#include "XSeriesProperties.hh"

namespace plot {

/**
 * Drawing properties for a parameter histogram2Dseries.
 */


class Histogram2DSeriesProperties: public DrawingProperties {
public:
	Histogram2DSeriesProperties() :
			DrawingProperties(),
			_index(-1,-1),
			_paramId(""),
			_hasXAxis(true),
			_hasYAxis(true),
			_hasZAxis(false),
			_xId(-1),
			_id(-1)
	{
	}

	Histogram2DSeriesProperties(const DrawingProperties& ref_) :
			DrawingProperties(ref_),
			_index(-1,-1),
			_paramId(""),
			_hasXAxis(true),
			_hasYAxis(true),
			_hasZAxis(false),
			_xId(-1),
			_id(-1)
			
	{
	}

	Histogram2DSeriesProperties(const Histogram2DSeriesProperties& pParamDrawingProperties_) :
			DrawingProperties(pParamDrawingProperties_),
			_index(pParamDrawingProperties_._index),
			_paramId(pParamDrawingProperties_._paramId),
			_hasXAxis(pParamDrawingProperties_._hasXAxis),
			_hasYAxis(pParamDrawingProperties_._hasYAxis),
			_hasZAxis(pParamDrawingProperties_._hasZAxis),
			_xId(pParamDrawingProperties_._xId),
			_id(pParamDrawingProperties_._id)
	{
	}

	Histogram2DSeriesProperties& operator=(const Histogram2DSeriesProperties& ref_) {
		DrawingProperties::operator=(ref_);
		_index = ref_._index;
		_paramId  = ref_._paramId;
		_hasYAxis = ref_._hasYAxis;
		_hasXAxis = ref_._hasXAxis;
		_hasZAxis = ref_._hasZAxis;
		_xId = ref_._xId;
		_id		  = ref_._id;
		return *this;
	}

	void setIndex(AMDA::Common::ParameterIndexComponent i_) {
		_index = i_;
	}

	AMDA::Common::ParameterIndexComponent getIndex() const {
		return _index;
	}

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

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

	bool hasXAxis() const {return _hasXAxis;}

	void setXAxis(bool hasXAxis) {
		_hasXAxis = hasXAxis;
	}

	bool hasYAxis() const {
		return _hasYAxis;
	}

	void setYAxis(bool hasYAxis) {
		_hasYAxis = hasYAxis;
	}

	bool hasZAxis() const {
		return _hasZAxis;
	}

	void setZAxis(bool hasZAxis) {
		_hasZAxis = hasZAxis;
	}

	int getXId() const {
		return _xId;
	}

	void setXId(int xId) {
		_xId = xId;
	}

	int getId() const {
		return _id;
	}

	void setId(int id) {
		_id = id;
	}
	
	virtual ~Histogram2DSeriesProperties() {
	}

	ManualProperties& getManualProperties(){return _manualProperties;}
	void setManualProperties(const ManualProperties& pManualProperties_){_manualProperties = pManualProperties_;}

	HistotypeProperties& getHistotypeProperties(){return _histotypeProperties;}
	void setHistotypeProperties(const HistotypeProperties& pHistotypeProperties){_histotypeProperties = pHistotypeProperties;}

	private:

		AMDA::Common::ParameterIndexComponent _index;
		std::string _paramId;
		bool _hasXAxis;
		bool _hasYAxis;
		bool _hasZAxis;
		int _xId;
		int _id;
		ManualProperties _manualProperties;
		HistotypeProperties _histotypeProperties;
};


} /* namespace plot */

#endif /* HISTOGRAM2DSERIESPROPERTIES_HH_ */