owlps/owlps-positioning/measurement.hh

57 lines
1.1 KiB
C++

#ifndef _MEASUREMENT_HH_
#define _MEASUREMENT_HH_
#include <iostream>
#include <string>
#include <vector>
#include <math.h>
using namespace std;
using std::string;
class Measurement
{
protected:
string mac_addr;
float average_ss;
vector<int> ss_list;
public:
Measurement(const string &ma = "ff:ff:ff:ff:ff:ff", const float &avg = 0, const vector<int> &ssl = vector<int>())
{
mac_addr = ma;
average_ss = avg, ss_list = ssl;
};
Measurement(const Measurement &m)
{
mac_addr = m.mac_addr;
average_ss = m.average_ss;
ss_list = m.ss_list;
};
~Measurement()
{
ss_list.clear();
};
vector<int> getSsList()const
{
return ss_list;
};
float getAverage()const
{
return average_ss;
};
string getMacAddr()const
{
return mac_addr;
};
void addSsValue(const int &ssv);
void setMacAddr(const string &ma)
{
mac_addr = ma;
};
float getSsSquareDistance(const float &ss)const;
friend ostream &operator<<(ostream &os, const Measurement &m);
};
#endif // _MEASUREMENT_HH_