GeneralBrokenLines  V01-11-00
GblData.h
Go to the documentation of this file.
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_ */
 All Classes Files Functions Variables Typedefs