![]() |
GeneralBrokenLines
V01-11-00
|
00001 /* 00002 * GblData.h 00003 * 00004 * Created on: Aug 18, 2011 00005 * Author: kleinwrt 00006 */ 00007 00008 #ifndef GBLDATA_H_ 00009 #define GBLDATA_H_ 00010 00011 #include<iostream> 00012 #include<vector> 00013 #include<math.h> 00014 #include "VMatrix.h" 00015 #include "TVectorD.h" 00016 #include "TMatrixD.h" 00017 #include "TMatrixDSym.h" 00018 00019 #include "Math/SMatrix.h" 00020 #include "Math/SVector.h" 00021 typedef ROOT::Math::SMatrix<double, 2, 5> SMatrix25; 00022 typedef ROOT::Math::SMatrix<double, 2, 7> SMatrix27; 00023 typedef ROOT::Math::SMatrix<double, 5, 5> SMatrix55; 00024 00026 00030 class GblData { 00031 public: 00032 GblData(unsigned int aLabel, double aMeas, double aPrec); 00033 virtual ~GblData(); 00034 void addDerivatives(unsigned int iRow, 00035 const std::vector<unsigned int> &labDer, const SMatrix55 &matDer, 00036 unsigned int iOff, const TMatrixD &derLocal = TMatrixD(), 00037 const std::vector<int> &labGlobal = std::vector<int>(0), 00038 const TMatrixD &derGlobal = TMatrixD()); 00039 void addDerivatives(unsigned int iRow, 00040 const std::vector<unsigned int> &labDer, const SMatrix27 &matDer); 00041 void addDerivatives(const std::vector<unsigned int> &index, 00042 const std::vector<double> &derivatives); 00043 00044 void setPrediction(const VVector &aVector); 00045 double setDownWeighting(unsigned int aMethod); 00046 double getChi2() const; 00047 void printData() const; 00048 void getLocalData(double &aValue, double &aWeight, 00049 std::vector<unsigned int>* &indLocal, 00050 std::vector<double>* &derLocal); 00051 void getAllData(float &fValue, float &fErr, 00052 std::vector<unsigned int>* &indLocal, 00053 std::vector<double>* &derLocal, std::vector<int>* &labGlobal, 00054 std::vector<double>* &derGlobal); 00055 00056 private: 00057 unsigned int theLabel; 00058 double theValue; 00059 double thePrecision; 00060 double theDownWeight; 00061 double thePrediction; 00062 std::vector<unsigned int> theParameters; 00063 std::vector<double> theDerivatives; 00064 std::vector<int> globalLabels; 00065 std::vector<double> globalDerivatives; 00066 }; 00067 00068 #endif /* GBLDATA_H_ */
1.7.6.1