1 #ifndef STATISTICS_DATABASE_H 2 #define STATISTICS_DATABASE_H 4 #include <KrisLibrary/utils/NamedTree.h> 5 #include "DistributionCollector.h" 15 struct SuperStatCollector :
public DistributionCollectorND
17 void record(
const Vector& x) { collect(x); data.push_back(x); }
18 void record(Real x1) { Vector x(1); x(0)=x1; record(x); }
19 void record(Real x1,Real x2) { Vector x(2); x(0)=x1; x(1)=x2; record(x); }
20 void record(Real x1,Real x2,Real x3) { Vector x(3); x(0)=x1; x(1)=x2; x(2)=x3; record(x); }
25 struct StatDatabase :
public NamedTree<SuperStatCollector>
27 void collect(
const std::string& name,
const Vector& x) { Insert(name).collect(x); }
28 void collect(
const std::string& name,Real x1) { Insert(name).collect(x1); }
29 void collect(
const std::string& name,Real x1,Real x2) { Insert(name).collect(x1,x2); }
30 void collect(
const std::string& name,Real x1,Real x2,Real x3) { Insert(name).collect(x1,x2,x3); }
32 void collect(
const std::string& s1,
const std::string& s2,
const Vector& x) { Insert(s1).Insert(s2).collect(x); }
33 void collect(
const std::string& s1,
const std::string& s2,Real x1) { Insert(s1).Insert(s2).collect(x1); }
34 void collect(
const std::string& s1,
const std::string& s2,Real x1,Real x2) { Insert(s1).Insert(s2).collect(x1,x2); }
35 void collect(
const std::string& s1,
const std::string& s2,Real x1,Real x2,Real x3) { Insert(s1).Insert(s2).collect(x1,x2,x3); }
37 void collect(
const std::string& s1,
const std::string& s2,
const std::string& s3,
const Vector& x) { Insert(s1).Insert(s2).Insert(s3).collect(x); }
38 void collect(
const std::string& s1,
const std::string& s2,
const std::string& s3,Real x1) { Insert(s1).Insert(s2).Insert(s3).collect(x1); }
39 void collect(
const std::string& s1,
const std::string& s2,
const std::string& s3,Real x1,Real x2) { Insert(s1).Insert(s2).Insert(s3).collect(x1,x2); }
40 void collect(
const std::string& s1,
const std::string& s2,
const std::string& s3,Real x1,Real x2,Real x3) { Insert(s1).Insert(s2).Insert(s3).collect(x1,x2,x3); }
42 void record(
const std::string& name,
const Vector& x) { Insert(name).record(x); }
43 void record(
const std::string& name,Real x1) { Insert(name).record(x1); }
44 void record(
const std::string& name,Real x1,Real x2) { Insert(name).record(x1,x2); }
45 void record(
const std::string& name,Real x1,Real x2,Real x3) { Insert(name).record(x1,x2,x3); }
47 void record(
const std::string& s1,
const std::string& s2,
const Vector& x) { Insert(s1).Insert(s2).record(x); }
48 void record(
const std::string& s1,
const std::string& s2,Real x1) { Insert(s1).Insert(s2).record(x1); }
49 void record(
const std::string& s1,
const std::string& s2,Real x1,Real x2) { Insert(s1).Insert(s2).record(x1,x2); }
50 void record(
const std::string& s1,
const std::string& s2,Real x1,Real x2,Real x3) { Insert(s1).Insert(s2).record(x1,x2,x3); }
53 void record(
const std::string& s1,
const std::string& s2,
const std::string& s3,
const Vector& x) { Insert(s1).Insert(s2).Insert(s3).record(x); }
54 void record(
const std::string& s1,
const std::string& s2,
const std::string& s3,Real x1) { Insert(s1).Insert(s2).Insert(s3).record(x1); }
55 void record(
const std::string& s1,
const std::string& s2,
const std::string& s3,Real x1,Real x2) { Insert(s1).Insert(s2).Insert(s3).record(x1,x2); }
56 void record(
const std::string& s1,
const std::string& s2,
const std::string& s3,Real x1,Real x2,Real x3) { Insert(s1).Insert(s2).Insert(s3).record(x1,x2,x3); }
A heirarchical database of statistical data (counts and StatCollectors). Useful for performance testi...
Definition: StatCollector.h:58
Contains all definitions in the statistics directory.
Definition: BernoulliDistribution.h:6