00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef LWH_AIHistorgram1D_H
00010 #define LWH_AIHistorgram1D_H
00011
00012 #ifndef LWH_USING_AIDA
00013
00016 namespace AIDA {
00017
00018 class IAnnotation;
00019
00020 class IBaseHistogram {
00021
00022 public:
00023
00024 virtual ~IBaseHistogram() {}
00025
00026 virtual std::string title() const = 0;
00027 virtual bool setTitle(const std::string & title) = 0;
00028 virtual int dimension() const = 0;
00029 virtual bool reset() = 0;
00030 virtual int entries() const = 0;
00031
00032 };
00033
00034 class IHistogram : virtual public IBaseHistogram {
00035
00036 public:
00037
00038 virtual ~IHistogram() {}
00039
00040 virtual int allEntries() const = 0;
00041 virtual int extraEntries() const = 0;
00042 virtual double equivalentBinEntries() const = 0;
00043 virtual double sumBinHeights() const = 0;
00044 virtual double sumAllBinHeights() const = 0;
00045 virtual double sumExtraBinHeights() const = 0;
00046 virtual double minBinHeight() const = 0;
00047 virtual double maxBinHeight() const = 0;
00048
00049 };
00050
00051 class IAxis;
00052
00053 class IHistogram1D: virtual public IHistogram {
00054
00055 public:
00056
00057 virtual ~IHistogram1D() {}
00058
00059 virtual bool fill(double x, double weight = 1.) = 0;
00060 virtual double binMean(int index) const = 0;
00061 virtual int binEntries(int index) const = 0;
00062 virtual double binHeight(int index) const = 0;
00063 virtual double binError(int index) const = 0;
00064 virtual double mean() const = 0;
00065 virtual double rms() const = 0;
00066 virtual const IAxis & axis() const = 0;
00067 virtual int coordToIndex(double coord) const = 0;
00068 virtual bool add(const IHistogram1D & hist) = 0;
00069 virtual bool scale(double scaleFactor) = 0;
00070
00071 };
00072
00073 }
00074
00077 #else
00078 #include "AIDA/IHistogram1D.h"
00079 #endif
00080
00081 #endif