00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef ROOT_Fit_SparseData
00014 #define ROOT_Fit_SparseData
00015
00016 #include <vector>
00017
00018 #ifndef ROOT_Fit_DataVector
00019 #include "Fit/DataVector.h"
00020 #include "Fit/BinData.h"
00021 #endif
00022
00023
00024 namespace ROOT {
00025
00026 namespace Fit {
00027
00028
00029 class ProxyListBox;
00030
00031 class SparseData : public FitData {
00032 public:
00033
00034 SparseData(std::vector<double>& min, std::vector<double>& max);
00035
00036
00037 SparseData(const unsigned int dim, double min[], double max[]);
00038
00039
00040 ~SparseData();
00041
00042
00043 unsigned int NPoints() const;
00044
00045 unsigned int NDim() const;
00046
00047
00048 void Add(std::vector<double>& min, std::vector<double>& max,
00049 const double content, const double error = 1.0);
00050
00051 void GetPoint(const unsigned int i,
00052 std::vector<double>& min, std::vector<double>&max,
00053 double& content, double& error);
00054
00055
00056 void PrintList() const;
00057
00058
00059 void GetBinData(BinData&) const;
00060
00061 void GetBinDataIntegral(BinData&) const;
00062
00063 void GetBinDataNoZeros(BinData&) const;
00064
00065 private :
00066 ProxyListBox *fList;
00067 };
00068
00069 }
00070
00071 }
00072
00073
00074
00075 #endif