/*! \file Observation.h 
 *  \brief: header file for Observation object
 */

#ifndef _OBSERVATION_H_
#define _OBSERVATION_H_

#include "../../datastructures/datastructures.h"

class Observation: public Object{

	public:
		double x,y;
		int    xi,yi;
		int    index;
		double weight;
		double value;

		/*Observation constructors, destructors*/
		Observation();
		Observation(double x_in,double y_in,int xi_in,int yi_in,int index_in,double value_in);
		~Observation();

		/*Object virtual functions definitions*/
		void    Echo();
		void    DeepEcho()  {_error_("Not implemented yet"); };
		int     Id()        {_error_("Not implemented yet"); };
		int     ObjectEnum(){_error_("Not implemented yet"); };
		Object *copy()      {_error_("Not implemented yet"); };

		/*Management*/
		void WriteXYObs(double* px,double* py,double* pobs);
};
#endif  /* _OBSERVATION_*/
