00001
00002
00018 #ifndef _Bins1DHist_H_
00019 #define _Bins1DHist_H_
00020
00021 #include "Bins1DBase.h"
00022
00023 namespace hippodraw {
00024
00025 class NTuple;
00026
00038 class MDL_HIPPOPLOT_API Bins1DHist : public Bins1DBase
00039 {
00040 private:
00041
00045 std::vector< double > m_data;
00046
00048 std::vector< double > m_variance;
00049
00051 double m_moments[3];
00052
00054 int m_min_entries;
00055
00057 virtual void resize ( int size );
00058
00059 public:
00060
00062 Bins1DHist ();
00063
00065 Bins1DHist ( const Bins1DHist & binner );
00066
00068 virtual ~Bins1DHist ();
00069
00072 BinsBase * clone () const;
00073
00075 double minBin();
00076
00078 double maxBin();
00079
00081 virtual void reset();
00082
00086 virtual void accumulate ( double x, double w = 1.0,
00087 double i1 = 0.0, double i2 = 0.0 );
00088
00090 virtual int getNumberOfEntries () const;
00091
00093 virtual int getNumberOfEntries ( int i ) const;
00094
00096 virtual int getUnderflow () const;
00097
00099 virtual int getOverflow () const;
00100
00101
00107 virtual NTuple * createNTuple () const;
00108
00109 virtual void fillDataSource ( DataSource * ntuple ) const;
00110
00111 virtual void setBinContents ( const DataSource * ntuple );
00112
00115 virtual void setMinEntries( int entries );
00116
00119 virtual int getMinEntries ( );
00120 };
00121
00122 }
00123
00124 #endif // _Bins1DHist_H_