00001 /* -*- mode: c++ -*- */ 00002 00018 #ifndef _Bins1DHist_H_ 00019 #define _Bins1DHist_H_ 00020 00021 #include "Bins1DBase.h" 00022 00023 class NTuple; 00024 00035 class MDL_HIPPOPLOT_API Bins1DHist : public Bins1DBase 00036 { 00037 private: 00038 00042 std::vector< double > m_data; 00043 00045 std::vector< double > m_variance; 00046 00048 double m_moments[3]; 00049 00051 virtual void resize ( int size ); 00052 00053 virtual void fillProjectedValues ( DataSource * ntuple ) const; 00054 00055 public: 00056 00058 Bins1DHist (); 00059 00061 Bins1DHist ( const Bins1DHist & binner ); 00062 00064 virtual ~Bins1DHist (); 00065 00068 BinsBase * clone () const; 00069 00071 double minBin(); 00072 00074 double maxBin(); 00075 00077 virtual void reset(); 00078 00081 virtual void accumulate ( double x, double w = 1.0, 00082 double i1 = 0.0, double i2 = 0.0 ); 00083 00085 virtual int getNumberOfEntries () const; 00086 00088 virtual int getNumberOfEntries ( int i ) const; 00089 00095 virtual NTuple * createNTuple () const; 00096 00097 virtual void fillDataSource ( DataSource * ntuple ) const; 00098 00099 virtual void setBinContents ( const DataSource * ntuple ); 00100 00101 }; 00102 00103 #endif // _Bins1DHist_H_