00001
00002 #ifndef INTERFACES_IPROFILEHISTOGRAM_H
00003 #define INTERFACES_IPROFILEHISTOGRAM_H 1
00004
00005
00006
00007 #include "Interfaces/IHistogram.h"
00008
00009 #ifndef ANAPHE_NO_NAMESPACE
00010 namespace Anaphe {
00011 #endif
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 class IProfileHistogram : virtual public IHistogram {
00036
00037 public:
00038 virtual ~IProfileHistogram() { }
00039
00040 public:
00041
00043 virtual void fill( double x, double y, double weight = 1 ) = 0;
00044
00046 virtual int binEntries( int index ) const = 0;
00047
00049 virtual double binHeight( int index ) const = 0;
00050
00052 virtual double binError( int index ) const = 0;
00053
00055 virtual double binSpread( int index ) const = 0;
00056
00058 virtual double mean() const = 0;
00059
00061 virtual double rms() const = 0;
00062
00064 virtual double minBinHeight() const = 0;
00066 virtual int minBin() const = 0;
00067
00069 virtual double maxBinHeight() const = 0;
00071 virtual int maxBin() const = 0;
00072
00074 virtual IAxis* xAxis() const = 0;
00075
00077 virtual int coordToIndex( double coord ) const = 0;
00078
00079 };
00080
00081
00082 #ifndef ANAPHE_NO_NAMESPACE
00083 };
00084 #endif
00085
00086 #endif // INTERFACES_IPROFILEHISTOGRAM_H