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.