00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef LWH_AIDataPointSet_H
00010 #define LWH_AIDataPointSet_H
00011
00012 #ifndef LWH_USING_AIDA
00013
00016 namespace AIDA {
00017
00018 class IAnnotation;
00019 class IDataPoint;
00020
00029 class IDataPointSet {
00030
00031 public:
00032 virtual ~IDataPointSet() { ; }
00033 virtual IAnnotation & annotation() = 0;
00034 virtual const IAnnotation & annotation() const = 0;
00035 virtual std::string title() const = 0;
00036 virtual bool setTitle(const std::string & title) = 0;
00037 virtual int dimension() const = 0;
00038 virtual void clear() = 0;
00039 virtual int size() const = 0;
00040 virtual IDataPoint * point(int index) = 0;
00041 virtual bool setCoordinate(int coord, const std::vector<double> & val, const std::vector<double> & err) = 0;
00042 virtual bool setCoordinate(int coord, const std::vector<double> & val, const std::vector<double> & errp, const std::vector<double> & errm) = 0;
00043 virtual const IDataPoint * point(int index) const = 0;
00044 virtual IDataPoint * addPoint() = 0;
00045 virtual bool addPoint(const IDataPoint & point) = 0;
00046 virtual bool removePoint(int index) = 0;
00047 virtual double lowerExtent(int coord) const = 0;
00048 virtual double upperExtent(int coord) const = 0;
00049 virtual bool scale(double scaleFactor) = 0;
00050 virtual bool scaleValues(double scaleFactor) = 0;
00051 virtual bool scaleErrors(double scaleFactor) = 0;
00052 virtual void * cast(const std::string & className) const = 0;
00053 };
00054
00055 }
00056
00059 #else
00060 #include "AIDA/IDataPointSet.h"
00061 #endif
00062
00063 #endif