reconciliation_lib 0.1
Library for data reconciliation algorithms
Loading...
Searching...
No Matches
recon_system.h
Go to the documentation of this file.
1#ifndef DVRLIB_RECON_SYSTEM_H
2#define DVRLIB_RECON_SYSTEM_H
3
4#include <vector>
5#include <string>
6#include "gsl_wrapper.h"
7
8namespace dvrlib {
9
17 struct var {
18 std::string name;
19 double value;
20 double confint;
21 };
22 struct extra_cov {
23 std::string var1;
24 std::string var2;
25 double cov_coeff;
26 };
27
28 std::vector<var> vars;
29 std::vector<extra_cov> extra_covs;
30
31public:
42 void add_var(const char* name, double val, double confint);
43
55 void add_covariance_coeff(const char* name1, const char* name2,
56 double cov_coeff);
57
63 int find_var(const std::string& str) const;
64
72 void change_var(const char* name, double val, double confint);
73
75 int get_number_measured() const;
76
82
84 vector get_values() const;
85
95 recon_system updated(const vector& values, const vector& confints) const;
96
98 void print_vars() const;
99
106 void print_constraints(const matrix& F) const;
107};
108
109} // namespace dvrlib
110
111#endif // DVRLIB_RECON_SYSTEM_H
RAII wrapper around a heap-allocated gsl_matrix.
Definition gsl_wrapper.h:149
Encapsulates a system to be reconciled, including variables, confidence intervals,...
Definition recon_system.h:16
std::vector< var > vars
Definition recon_system.h:28
std::vector< extra_cov > extra_covs
Definition recon_system.h:29
recon_system updated(const vector &values, const vector &confints) const
Return a new recon_system with updated values and confidence intervals.
Definition recon_system.cc:87
matrix get_covariance_matrix() const
Build and return the full covariance matrix from the registered variables and covariance coefficients...
Definition recon_system.cc:50
void print_constraints(const matrix &F) const
Print the constraint matrix F together with variable names to stdout.
Definition recon_system.cc:113
int get_number_measured() const
Return the number of variables that have measurements (non-negative confint).
Definition recon_system.cc:41
void print_vars() const
Print all variables with their values and confidence intervals to stdout.
Definition recon_system.cc:101
int find_var(const std::string &str) const
Return the index of a variable by name, or -1 if not found.
Definition recon_system.cc:25
void change_var(const char *name, double val, double confint)
Update the measured value and confidence interval of an existing variable.
Definition recon_system.cc:34
vector get_values() const
Return a vector of all variable values in registration order.
Definition recon_system.cc:78
void add_var(const char *name, double val, double confint)
Add a variable to be reconciled to the system.
Definition recon_system.cc:14
void add_covariance_coeff(const char *name1, const char *name2, double cov_coeff)
Register a covariance coefficient between two variables.
Definition recon_system.cc:19
RAII wrapper around a heap-allocated gsl_vector.
Definition gsl_wrapper.h:39
Definition dvr_assert.h:7
Definition recon_system.h:22
double cov_coeff
Definition recon_system.h:25
std::string var2
Definition recon_system.h:24
std::string var1
Definition recon_system.h:23
Definition recon_system.h:17
std::string name
Definition recon_system.h:18
double value
Definition recon_system.h:19
double confint
Definition recon_system.h:20