|  | ATLAS Offline Software
    | 
PhiFilterRange implements the range (ie: [min, max]) the filters will use to take their filtering decisions. More...
#include <PhiFilterRange.h>
| Public Member Functions | |
| PhiFilterRange () | |
| Default constructor: it sets the minimum value to -infinity and the maximum value to +infinity.  More... | |
| PhiFilterRange (const PhiFilterRange &range) | |
| Copy constructor:  More... | |
| PhiFilterRange (const double min, const double max) | |
| Constructor with parameters:  More... | |
| virtual | ~PhiFilterRange () | 
| Destructor:  More... | |
| PhiFilterRange & | operator= (const PhiFilterRange &obj) | 
| Assignment operator:  More... | |
| double | lower () const | 
| Return the minimum value of the range.  More... | |
| double | upper () const | 
| Return the maximum value of the range.  More... | |
| double | getMin () const | 
| Return the minimum value of the range.  More... | |
| double | getMax () const | 
| Return the maximum value of the range.  More... | |
| bool | isInRange (const double point) const | 
| Const methods:  More... | |
| bool | isActive () const | 
| return Return true if the range is active (optimize parsing of multiple ranges and returning the final decision)  More... | |
| double | atlasPhi (const double phi) const | 
| Convert a phi angle in the ATLAS conventional range -PI->PI inspired from FourMom package (could also use CaloPhiRange)  More... | |
| void | setRange (const double lower, const double upper) | 
| Non-const methods: More... | |
| void | setMin (const double minValue) | 
| void | setMax (const double maxValue) | 
| void | include (const double xMin, const double xMax) | 
| Add [xMin, xMax] interval to existing set of valid ranges.  More... | |
| void | includeAll () | 
| Set full range (from MINUS_INF to PLUS_INF ).  More... | |
| double | precision () const | 
| Return the double precision for the comparaison of doubles.  More... | |
| double | PLUS_INF () const | 
| Define +infinity according to specific implementation.  More... | |
| double | MINUS_INF () const | 
| Define -infinity according to specific implementation.  More... | |
| void | setPrecision (const double delta) | 
| Protected Types | |
| typedef boost::numeric::interval< double > | interval_t | 
| Protected Member Functions | |
| void | addRange (double xMin, double xMax) | 
| add a new range [xmin,xmax] deleting previous ranges full contained  More... | |
| Protected Attributes | |
| std::optional< interval_t > | m_range | 
| The boost interval wrapped by a boost optional.  More... | |
| double | m_precision | 
| Setup the wanted double precision.  More... | |
PhiFilterRange implements the range (ie: [min, max]) the filters will use to take their filtering decisions.
It is a specialisation of FilterRange for the phi angles. It enforces the ATLAS policy for phi angles : \( \phi \in [-\pi,\pi[ \)
Internally it uses the Boost class interval but maybe one could use a SEAL class (FML/RangeSet or FML/Bound)
Definition at line 29 of file PhiFilterRange.h.
| 
 | protectedinherited | 
Definition at line 142 of file FilterRange.h.
| 
 | inline | 
Default constructor: it sets the minimum value to -infinity and the maximum value to +infinity.
Inline methods: 
Constructors
Definition at line 141 of file PhiFilterRange.h.
| PhiFilterRange::PhiFilterRange | ( | const PhiFilterRange & | range | ) | 
Copy constructor:
Public methods: 
Copy constructor
Definition at line 26 of file PhiFilterRange.cxx.
Constructor with parameters:
| min | : the minimum value of the range | 
| max | : the maximum value of the range | 
Definition at line 145 of file PhiFilterRange.h.
| 
 | inlinevirtual | 
| 
 | protected | 
add a new range [xmin,xmax] deleting previous ranges full contained
Special case where one adds a no-op interval
Take care of inversion of bounds because of the moduli
Definition at line 84 of file PhiFilterRange.cxx.
| double PhiFilterRange::atlasPhi | ( | const double | phi | ) | const | 
Convert a phi angle in the ATLAS conventional range -PI->PI inspired from FourMom package (could also use CaloPhiRange)
Definition at line 49 of file PhiFilterRange.cxx.
| 
 | inline | 
Return the maximum value of the range.
Definition at line 195 of file PhiFilterRange.h.
| 
 | inline | 
Return the minimum value of the range.
Definition at line 190 of file PhiFilterRange.h.
Add [xMin, xMax] interval to existing set of valid ranges.
Non-const methods: 
| xMin | - lower bound of a new valid range | 
| xMax | - upper bound of a new valid range | 
Reset the whole range : this is temporary, just to mimic FML::RangeSet API
Definition at line 68 of file PhiFilterRange.cxx.
| void PhiFilterRange::includeAll | ( | ) | 
Set full range (from MINUS_INF to PLUS_INF ).
Definition at line 75 of file PhiFilterRange.cxx.
| 
 | inline | 
return Return true if the range is active (optimize parsing of multiple ranges and returning the final decision)
Definition at line 200 of file PhiFilterRange.h.
| bool PhiFilterRange::isInRange | ( | const double | point | ) | const | 
Const methods:
Definition at line 43 of file PhiFilterRange.cxx.
| 
 | inline | 
Return the minimum value of the range.
Const methods:
Definition at line 172 of file PhiFilterRange.h.
| 
 | inlineinherited | 
Define -infinity according to specific implementation.
Definition at line 242 of file FilterRange.h.
| PhiFilterRange & PhiFilterRange::operator= | ( | const PhiFilterRange & | obj | ) | 
| 
 | inlineinherited | 
Define +infinity according to specific implementation.
Definition at line 237 of file FilterRange.h.
| 
 | inlineinherited | 
Return the double precision for the comparaison of doubles.
Definition at line 204 of file FilterRange.h.
| 
 | inline | 
Definition at line 219 of file PhiFilterRange.h.
| 
 | inline | 
Definition at line 214 of file PhiFilterRange.h.
| 
 | inlineinherited | 
Definition at line 256 of file FilterRange.h.
Non-const methods: 
 
Definition at line 209 of file PhiFilterRange.h.
| 
 | inline | 
Return the maximum value of the range.
Definition at line 181 of file PhiFilterRange.h.
| 
 | protectedinherited | 
| 
 | protectedinherited | 
The boost interval wrapped by a boost optional.
This is to allow the instantiation of uninitialised ranges
Definition at line 147 of file FilterRange.h.
 1.8.18
 1.8.18