00001
00002
00014 #ifndef _Bins1DProfile_H_
00015 #define _Bins1DProfile_H_
00016
00017 #include "Bins1DBase.h"
00018
00019 namespace hippodraw {
00020
00021 class DataSource;
00022
00032 class MDL_HIPPOPLOT_API Bins1DProfile : public Bins1DBase
00033 {
00034 private:
00035
00039 std::vector<double> m_sum;
00040
00044 std::vector<double> m_sumsq;
00045
00048 std::vector < double > m_num;
00049
00052 std::vector < double > m_sumwtsq;
00053
00055 double m_high;
00056
00057 virtual void resize ( int number );
00058
00059 public:
00060
00062 Bins1DProfile ();
00063
00065 Bins1DProfile ( const Bins1DProfile & binner );
00066
00068 virtual ~Bins1DProfile ();
00069
00072 BinsBase * clone () const;
00073
00075 double maxBin();
00076
00078 double minBin();
00079
00081 virtual void reset();
00082
00087 virtual void accumulate ( double x, double y,
00088 double wt = 1.0, double dummy = 0.0 );
00089
00090
00091 virtual int getNumberOfEntries () const;
00092
00093
00094 virtual int getNumberOfEntries ( int i ) const;
00095
00096
00097 virtual int getOverflow () const;
00098
00099
00100 virtual int getUnderflow () const;
00101
00102 virtual NTuple * createNTuple () const;
00103 virtual void fillDataSource ( DataSource * ntuple ) const;
00104 virtual void setBinContents ( const DataSource * ntuple );
00105
00106 };
00107
00108 }
00109
00110 #endif // _Bins1DProfile_H_