00001
00002 #ifndef INTERFACES_IHISTOGRAM2D_H
00003 #define INTERFACES_IHISTOGRAM2D_H 1
00004
00005
00006
00007 #include "GaudiKernel/IHistogram.h"
00008
00009
00010
00011 class IHistogram1D;
00012 class IAxis;
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 class IHistogram2D : virtual public IHistogram {
00035
00036 public:
00037
00038
00042
00044 virtual void fill( double x, double y, double weight = 1 ) = 0;
00045
00046
00060
00062 virtual int binEntries( int indexX, int indexY ) const = 0;
00063
00066 virtual int binEntriesX( int indexX ) const = 0;
00067
00070 virtual int binEntriesY( int indexY ) const = 0;
00071
00073 virtual double binHeight( int indexX, int indexY ) const = 0;
00074
00077 virtual double binHeightX( int indexX ) const = 0;
00078
00081 virtual double binHeightY( int indexY ) const = 0;
00082
00084 virtual double binError( int indexX, int indexY ) const = 0;
00085
00086
00090
00093 virtual double meanX() const = 0;
00096 virtual double meanY() const = 0;
00097
00100 virtual double rmsX() const = 0;
00103 virtual double rmsY() const = 0;
00104
00105
00109
00111 virtual double minBinHeight() const = 0;
00112
00114 virtual int minBinX() const = 0;
00116 virtual int minBinY() const = 0;
00117
00119 virtual double maxBinHeight() const = 0;
00120
00122 virtual int maxBinX() const = 0;
00124 virtual int maxBinY() const = 0;
00125
00126
00130
00132 virtual IAxis* xAxis() const = 0;
00133
00135 virtual IAxis* yAxis() const = 0;
00136
00137
00141
00143 virtual int coordToIndexX( double coordX ) const = 0;
00144
00146 virtual int coordToIndexY( double coordY ) const = 0;
00147
00148
00152
00155 virtual IHistogram1D* projectionX() const = 0;
00156
00159 virtual IHistogram1D* projectionY() const = 0;
00160
00161
00165
00168 virtual IHistogram1D* sliceX( int indexY ) const = 0;
00169
00172 virtual IHistogram1D* sliceY( int indexX ) const = 0;
00173
00175 virtual IHistogram1D* sliceX( int indexY1, int indexY2 ) const = 0;
00176
00178 virtual IHistogram1D* sliceY( int indexX1, int indexX2 ) const = 0;
00179
00180 };
00181
00182
00183 #endif // INTERFACES_IHISTOGRAM2D_H