00001
00002
00003
00004
00005
00006
00007 #ifndef AIDA_IRANGESET_H
00008 #define AIDA_IRANGESET_H 1
00009
00010
00011
00012
00013
00014
00015 #include <vector>
00016
00017 namespace AIDA {
00018
00042 class IRangeSet {
00043
00044 public:
00046 virtual ~IRangeSet() { ; }
00047
00052 virtual const std::vector<double> & lowerBounds() = 0;
00053
00058 virtual const std::vector<double> & upperBounds() = 0;
00059
00065 virtual void include(double xMin, double xMax) = 0;
00066
00072 virtual void exclude(double xMin, double xMax) = 0;
00073
00077 virtual void includeAll() = 0;
00078
00082 virtual void excludeAll() = 0;
00083
00084
00085
00086
00087 virtual bool isInRange(double point) = 0;
00088
00094 virtual int size() = 0;
00095
00096
00097
00098
00099
00100 virtual double PLUS_INF() = 0;
00101
00102
00103
00104
00105
00106 virtual double MINUS_INF() = 0;
00107 };
00108 };
00109 #endif