00001
00002
00003
00004
00005
00006
00007 #ifndef AIDA_IPROFILE2D_H
00008 #define AIDA_IPROFILE2D_H 1
00009
00010
00011
00012
00013
00014
00015 #include "AIDA/IProfile.h"
00016
00017 namespace AIDA {
00018
00019 class IAxis;
00020
00028 class IProfile2D : virtual public IProfile {
00029
00030 public:
00032 virtual ~IProfile2D() { ; }
00033
00038 virtual bool fill(double x, double y, double z, double weight = 1) = 0;
00039
00047 virtual double binMeanX(int indexX, int indexY) const = 0;
00048
00056 virtual double binMeanY(int indexX, int indexY) const = 0;
00057
00064 virtual int binEntries(int indexX, int indexY) const = 0;
00065
00070 virtual int binEntriesX(int indexX) const = 0;
00071
00076 virtual int binEntriesY(int indexY) const = 0;
00077
00084 virtual double binHeight(int indexX, int indexY) const = 0;
00085
00090 virtual double binHeightX(int indexX) const = 0;
00091
00096 virtual double binHeightY(int indexY) const = 0;
00097
00104 virtual double binError(int indexX, int indexY) const = 0;
00105
00112 virtual double binRms(int indexX, int indexY) const = 0;
00113
00118 virtual double meanX() const = 0;
00119
00124 virtual double meanY() const = 0;
00125
00130 virtual double rmsX() const = 0;
00131
00136 virtual double rmsY() const = 0;
00137
00142 virtual const IAxis & xAxis() const = 0;
00143
00148 virtual const IAxis & yAxis() const = 0;
00149
00155 virtual int coordToIndexX(double coordX) const = 0;
00156
00162 virtual int coordToIndexY(double coordY) const = 0;
00163
00171 virtual bool add(const IProfile2D & h) = 0;
00172 };
00173 };
00174 #endif