X-Git-Url: http://git.treefish.org/~alex/phys/latlib.git/blobdiff_plain/9f6e969663a4126813ae8a37d87acdb698ef8e62..d4e3cb0ebd372ab5e931490599fa0c72831bc23f:/obs.h?ds=sidebyside diff --git a/obs.h b/obs.h index fa40a40..38fce5a 100644 --- a/obs.h +++ b/obs.h @@ -1,31 +1,27 @@ #ifndef OBS_H #define OBS_H -#include +#include +#include +#include using namespace std; -namespace obs +template +class obs { - struct obsa - { - double mean; - double err; - }; + public: + void addMeas(obstype val[], int valsize); + void addMeas(const obstype& val); - struct meas - { - int id; - vector val; - }; + void computeMean(const string& compid) { mean(compid, measurements); } + void computeJack(const string& compid, double (*func)(const list& vals, void *para), void *para=NULL); - double addMeas(int id, double val); - double* addMeas(int id, double *val, int valsize); + private: + list measurements; + map computations; - obsa jackObs(int id, double (*func)(vector< vector > vals)); - obsa normObs(int id); - - void reset(); -} + void mean(const string& compid, const list& meas); +}; #endif