BAT  0.9.4
The Bayesian analysis toolkit
 All Classes Namespaces Functions Variables Enumerations
BCMVCUncertainty.h
1 /*
2  * Copyright (C) 2007-2014, the BAT core developer team
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  * For documentation see http://mpp.mpg.de/bat
7  */
8 
9 // ---------------------------------------------------------
10 
11 #ifndef __BCMVCUNCERTAINTY__H
12 #define __BCMVCUNCERTAINTY__H
13 
14 #include <string>
15 #include <vector>
16 #include <iostream>
17 
18 #include <TMatrixT.h>
19 #include <TMatrixD.h>
20 
21 // ---------------------------------------------------------
23 {
24  public:
25 
26  // constructor
27  // name: the name of the uncertainty
28  BCMVCUncertainty(std::string name);
29 
30  // destructor
32 
33  // getters
34 
35  // return the name of the uncertainty
36  std::string GetName()
37  { return fName; };
38 
39  // return the correlation matrix
40  TMatrixD GetCorrelationMatrix()
41  { return fCorrelationMatrix; };
42 
43  // return the covariance matrix
44  TMatrixD GetCovarianceMatrix()
45  { return fCovarianceMatrix; };
46 
47  // return the inverse of the covariance matrix
48  TMatrixD GetInvCovarianceMatrix()
49  { return fInvCovarianceMatrix; };
50 
51  // return the flag if the uncertainty is active or not
52  bool GetFlagActive()
53  { return fFlagActive; };
54 
55  // setters
56  void SetCorrelationMatrix(const TMatrixD &matrix);
57 
58  // setters
59  void SetCovarianceMatrix(const TMatrixT<double> &matrix);
60 
61  // set flag if uncertainty is active for the combination
62  void SetFlagActive(bool flag)
63  { fFlagActive = flag; };
64 
65  private:
66 
67  // the name of the uncertainty
68  std::string fName;
69 
70  // the symmetric correlation matrix; the number of columns and rows
71  // is equal to the number of measurements
72  TMatrixD fCorrelationMatrix;
73 
74  // the symmetric covariance matrix; the number of columns and rows
75  // is equal to the number of measurements
76  TMatrixD fCovarianceMatrix;
77 
78  // the inverse of the covariance matrix
79  TMatrixD fInvCovarianceMatrix;
80 
81  // flag: active in combination (true) or not (false)
82  bool fFlagActive;
83 };
84 // ---------------------------------------------------------
85 
86 #endif