00001
00002
00003
00004
00005
00006
00007 #ifndef AIDA_ICLOUD1D_H
00008 #define AIDA_ICLOUD1D_H 1
00009
00010
00011
00012
00013
00014
00015 #include <vector>
00016
00017 #include "AIDA/ICloud.h"
00018
00019 namespace AIDA {
00020
00021 class IHistogram1D;
00022
00030 class ICloud1D : virtual public ICloud {
00031
00032 public:
00034 virtual ~ICloud1D() { ; }
00035
00044 virtual bool fill(double x, double weight = 1.) = 0;
00045
00051 virtual double lowerEdge() const = 0;
00052
00058 virtual double upperEdge() const = 0;
00059
00077 virtual double value(int index) const = 0;
00078
00096 virtual double weight(int index) const = 0;
00097
00103 virtual double mean() const = 0;
00104
00110 virtual double rms() const = 0;
00111
00121 virtual bool convert(int nBins, double lowerEdge, double upperEdge) = 0;
00122
00130 virtual bool convert(const std::vector<double> & binEdges) = 0;
00131
00138 virtual const IHistogram1D & histogram() const = 0;
00139
00146 virtual bool fillHistogram(IHistogram1D & hist) const = 0;
00147 };
00148 };
00149 #endif