RAIDA  1.9.0
IRangeSet.h
1 // -*- C++ -*-
2 // AID-GENERATED
3 // =========================================================================
4 // This class was generated by AID - Abstract Interface Definition
5 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it.
6 // =========================================================================
7 #ifndef AIDA_IRANGESET_H
8 #define AIDA_IRANGESET_H 1
9 
10 // This file is part of the AIDA library
11 // Copyright (C) 2002 by the AIDA team. All rights reserved.
12 // This library is free software and under the terms of the
13 // GNU Library General Public License described in the LGPL.txt
14 
15 #include <vector>
16 
17 namespace AIDA {
18 
42 class IRangeSet {
43 
44 public:
46  virtual ~IRangeSet() { /* nop */; }
47 
52  virtual const std::vector<double> & lowerBounds() = 0;
53 
58  virtual const std::vector<double> & upperBounds() = 0;
59 
65  virtual void include(double xMin, double xMax) = 0;
66 
72  virtual void exclude(double xMin, double xMax) = 0;
73 
77  virtual void includeAll() = 0;
78 
82  virtual void excludeAll() = 0;
83 
84  /*
85  * @return Return true if the point is in range
86  */
87  virtual bool isInRange(double point) = 0;
88 
94  virtual int size() = 0;
95 
96  /*
97  * Define +infinity according to specific implementation
98  * @return Numeric definition for +infinity
99  */
100  virtual double PLUS_INF() = 0;
101 
102  /*
103  * Define -infinity according to specific implementation
104  * @return Numeric definition for -infinity
105  */
106  virtual double MINUS_INF() = 0;
107 }; // class
108 } // namespace AIDA
109 #endif /* ifndef AIDA_IRANGESET_H */
User level interface to RangeSet.
Definition: IRangeSet.h:42
virtual void include(double xMin, double xMax)=0
Add [xMin, xMax] interval to existing set of valid ranges.
virtual void exclude(double xMin, double xMax)=0
Exclude [xMin, xMax] interval from the existing set of valid ranges.
virtual void includeAll()=0
Set full range (from MINUS_INF to PLUS_INF ).
virtual void excludeAll()=0
Set empty range.
virtual const std::vector< double > & upperBounds()=0
Return array of upper Bounds for the current set of ranges.
virtual const std::vector< double > & lowerBounds()=0
Return array of lower Bounds for the current set of ranges.
virtual int size()=0
Return current number of disjoint ranges (non-overlapping intervals).
virtual ~IRangeSet()
Destructor.
Definition: IRangeSet.h:46