00001 /* -*- mode: c++ -*- */ 00002 00014 #ifndef _Bins2DHist_H_ 00015 #define _Bins2DHist_H_ 00016 00017 #include "binners/Bins2DBase.h" 00018 00026 class MDL_HIPPOPLOT_API Bins2DHist : public Bins2DBase 00027 { 00028 00029 private: 00030 00032 std::vector<std::vector<double> > m_variance; 00033 00035 double m_x_moments[3]; 00036 00038 double m_y_moments[3]; 00039 00040 public: 00041 00043 Bins2DHist ( ); 00044 00046 Bins2DHist ( const Bins2DHist & binner ); 00047 00049 ~Bins2DHist (); 00050 00053 BinsBase * clone () const; 00054 00055 virtual void setNumberOfBins ( hippodraw::Axes::Type axis, int number ); 00056 00058 virtual void reset(); 00059 00062 virtual void accumulate ( double x, double y, 00063 double w = 1.0, double dummy = 0. ); 00064 00066 virtual double getZValue ( double x, double y ) const; 00067 00068 virtual NTuple * createNTuple () const; 00069 virtual void fillProjectedValues ( DataSource * ntuple ) const; 00070 virtual void fillDataSource ( DataSource * ntuple ) const; 00071 virtual void setBinContents ( const DataSource * ntuple ); 00072 00073 }; 00074 00075 #endif // _Bins2DHist_H_