owlps/owlps-positioning/measurement.hh

49 lines
1.1 KiB
C++
Raw Normal View History

#ifndef _OWLPS_POSITIONING_MEASUREMENT_HH_
#define _OWLPS_POSITIONING_MEASUREMENT_HH_
#include "mobile.hh"
#include "accesspoint.hh"
#include <iostream>
#include <string>
#include <vector>
#include <math.h>
using namespace std ;
class Measurement
{
protected:
Mobile *mobile ;
AccessPoint *ap ;
float average_ss ;
vector<int> ss_list ;
void update_average_ss(void) ;
public:
Measurement(const Mobile *_mobile = NULL, const AccessPoint *_ap = NULL,
const vector<int> &_ss_list = vector<int>()) ;
Measurement(const Measurement &m) ;
~Measurement() ;
Mobile* get_mobile() const ;
AccessPoint* get_ap() const ;
vector<int> get_ss_list() const ;
float get_average_ss() const ;
//float get_ss_square_distance(const float &ss) const ;
void set_mobile(const Mobile *_mobile) ;
void set_ap(const AccessPoint *_ap) ;
void add_ss(const int &ss) ;
Measurement operator=(const Measurement &m) ;
bool operator==(const Measurement &m) ;
bool operator!=(const Measurement &m) ;
friend ostream &operator<<(ostream &os, const Measurement &m) ;
} ;
#endif // _OWLPS_POSITIONING_MEASUREMENT_HH_