00001
00002
00003
00004
00005
00006
00007 #ifndef AIDA_IHISTOGRAM2D_H
00008 #define AIDA_IHISTOGRAM2D_H 1
00009
00010
00011
00012
00013
00014
00015 #include "AIDA/IHistogram.h"
00016
00017 namespace AIDA {
00018
00019 class IAxis;
00020
00028 class IHistogram2D : virtual public IHistogram {
00029
00030 public:
00032 virtual ~IHistogram2D() { ; }
00033
00043 virtual bool fill(double x, double y, double weight = 1.) = 0;
00044
00052 virtual double binMeanX(int indexX, int indexY) const = 0;
00053
00061 virtual double binMeanY(int indexX, int indexY) const = 0;
00062
00070 virtual int binEntries(int indexX, int indexY) const = 0;
00071
00079 virtual int binEntriesX(int index) const = 0;
00080
00088 virtual int binEntriesY(int index) const = 0;
00089
00097 virtual double binHeight(int indexX, int indexY) const = 0;
00098
00106 virtual double binHeightX(int index) const = 0;
00107
00115 virtual double binHeightY(int index) const = 0;
00116
00124 virtual double binError(int indexX, int indexY) const = 0;
00125
00131 virtual double meanX() const = 0;
00132
00138 virtual double meanY() const = 0;
00139
00145 virtual double rmsX() const = 0;
00146
00152 virtual double rmsY() const = 0;
00153
00159 virtual const IAxis & xAxis() const = 0;
00160
00166 virtual const IAxis & yAxis() const = 0;
00167
00176 virtual int coordToIndexX(double coord) const = 0;
00177
00186 virtual int coordToIndexY(double coord) const = 0;
00187
00194 virtual bool add(const IHistogram2D & hist) = 0;
00195 };
00196 };
00197 #endif