00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef OBSERVATION_H
00014 #define OBSERVATION_H
00015
00016 #include "geometry.h"
00017 #include "tools.h"
00018
00019 #include <vector>
00020 using namespace std;
00021
00025 class Observation {
00026 public:
00028 float lat;
00030 float lon;
00032 float alt;
00034 double time;
00036 vector <int> idata;
00038 vector <int> igrid;
00040 Carthesian::Segment3D viewing;
00051 Observation (const float lat = -9999., const float lon = -9999., const float alt = -9999., const double time = -9999.,
00052 const vector <int> & idata = vector <int> (0), const vector <int> & igrid = vector <int> (0),
00053 const Carthesian::Segment3D &viewing = Carthesian::Segment3D(0));
00054 Observation (const Observation & obj);
00055 ~Observation ( ) {;};
00056 Observation & operator = (const Observation & obj);
00067 void set (const float lat, const float lon, const float alt, const double time,
00068 const vector <int> & idata, const vector <int> & igrid,
00069 const Carthesian::Segment3D &viewing);
00076 friend std::ostream &operator<< (std::ostream &os, const Observation & obj) {
00077 os << "Observation : (" << obj.lat << "," << obj.lon << "," << obj.alt << ") " << obj.time << " ";
00078 os << "igrid " << MyTools::vec2str(obj.igrid) << " idata " << MyTools::vec2str(obj.idata) << endl;
00079 os << "-> " << obj.viewing;
00080 return os;
00081 };
00082 };
00083
00084 #endif
00085