DBStat.h
Go to the documentation of this file.00001 #ifndef DBStat_H
00002 #define DBStat_H
00003
00004 #include <iostream>
00005
00006 using namespace std;
00007
00008 class SNavgstd {
00009 public:
00010 SNavgstd() { }
00011 SNavgstd(double sa, double ss, double na, double ns)
00012 : scoreavg(sa), scorestd(ss), ngavg(na), ngstd(ns) { }
00013 double scoreavg, scorestd, ngavg, ngstd;
00014 friend ostream& operator<<(ostream &ous, const SNavgstd &sn) {
00015 ous << sn.scoreavg << " " << sn.scorestd << " " << sn.ngavg << " " << sn.ngstd; return ous; }
00016
00017 double meanNgidentity() const { return ngavg; }
00018 double stddevNgidentity() const { return ngstd; }
00019 double stdNgidentity() const { return ngstd; }
00020 };
00027 class Dbstat {
00028 public:
00029 Dbstat() : numberdb(0) { }
00030 Dbstat(const int ndb) : numberdb(ndb) {
00031 stat=new SNavgstd[numberdb*numberdb]; }
00032 Dbstat(const Dbstat &st);
00033 ~Dbstat() { delete[] stat; }
00036 void add(const int db1, const int db2, const SNavgstd &data)
00037 { stat[(db1-1)*numberdb + db2]=data; }
00038
00039 Dbstat& operator=(const Dbstat &st);
00040 int getNumberOfDb() const { return numberdb; }
00048 SNavgstd* getStatRow(const int db1) const {
00049 return stat + 1 + (db1-1)*numberdb; }
00050
00051 private:
00052
00053 int numberdb;
00059 SNavgstd* stat;
00060 };
00061
00062 #endif