owlps/owlps-positioning/treatment.hh

46 lines
1.2 KiB
C++

#ifndef _TREATMENT_HH_
#define _TREATMENT_HH_
#include "point.hh"
#include "measurement.hh"
#include "accesspoint.hh"
#include "referencepoint.hh"
#include "libowlps-positioning.hh"
class Treatment
{
private:
vector<AccessPoint> access_point_list;
vector<ReferencePoint> reference_point_list;
vector<Measurement> m;
public:
Treatment(vector<AccessPoint> access_point, vector<ReferencePoint> reference_point)
{
access_point_list = access_point;
reference_point_list = reference_point;
};
~Treatment()
{
access_point_list.clear();
m.clear();
reference_point_list.clear();
};
bool apExists(const string &)const;
unsigned int apIndex(const string &)const;
void makeMeasurementList(vector<couple_info>);
vector<Point> getkClosestInSs(const unsigned int &k, const Point *point_ignored)const;
Point kPointsAverage(const vector<Point> &vp)const;
Point fbcm(const int &client_idx)const;
Point fbcm_friis(const vector<float> friis_idx_list, const float &z)const;
Point interlink(const int &client_idx)const;
vector<float> computeFriisFromRefList(const Point &p);
Point getkWeightedInSs(const unsigned int &k, const Point *point_ignored)const ;
};
#endif // _TREATMENT_HH_