|
ATLAS Offline Software
|
Go to the documentation of this file.
16 #include <boost/numeric/interval/compare/explicit.hpp>
33 if (
this != &
range ) {
54 if ( FLT_MAX != std::fabs(
phi) ) {
87 if ( (xMin == -
M_PI && xMax == +
M_PI ) ||
88 (xMin == -FLT_MAX && xMax == +FLT_MAX ) ) {
94 const double phiMin =
atlasPhi( xMin );
95 const double phiMax =
atlasPhi( xMax );
97 if ( phiMin < phiMax ) {
109 if ( r1.isActive() != r2.isActive() ) {
113 if (
false == r1.isActive() &&
114 false == r2.isActive() ) {
118 const double precision =
std::min( r1.precision(), r2.precision() );
120 return ( (std::fabs(r1.lower() - r2.lower()) <= precision ) &&
121 (std::fabs(r1.upper() - r2.upper()) <= precision ) );
131 if ( r1.isActive() != r2.isActive() ) {
133 if ( r2.isActive() ) {
142 if (
false == r1.isActive() &&
143 false == r2.isActive() ) {
147 return ( r1.upper() < r2.lower() );
157 if ( r1.isActive() != r2.isActive() ) {
159 if ( r2.isActive() ) {
168 if (
false == r1.isActive() &&
169 false == r2.isActive() ) {
173 return ( r1.lower() > r2.upper() );
PhiFilterRange()
Default constructor: it sets the minimum value to -infinity and the maximum value to +infinity.
bool operator>(const PhiFilterRange &r1, const PhiFilterRange &r2)
PhiFilterRange & operator=(const PhiFilterRange &obj)
Assignment operator:
bool isInRange(const double point) const
return Return true if the point is in range : min <= point <= max
bool operator<(const PhiFilterRange &r1, const PhiFilterRange &r2)
boost::numeric::interval< double > interval_t
std::optional< interval_t > m_range
The boost interval wrapped by a boost optional.
Scalar phi() const
phi method
void include(const double xMin, const double xMax)
Add [xMin, xMax] interval to existing set of valid ranges.
bool operator==(const PhiFilterRange &r1, const PhiFilterRange &r2)
bool operator>=(const PhiFilterRange &r1, const PhiFilterRange &r2)
FilterRange implements the range (ie: [min, max]) the filters will use to take their filtering decisi...
PhiFilterRange implements the range (ie: [min, max]) the filters will use to take their filtering dec...
bool operator!=(const PhiFilterRange &r1, const PhiFilterRange &r2)
bool isInRange(const double point) const
Const methods:
bool operator<=(const PhiFilterRange &r1, const PhiFilterRange &r2)
void includeAll()
Set full range (from MINUS_INF to PLUS_INF ).
double atlasPhi(const double phi) const
Convert a phi angle in the ATLAS conventional range -PI->PI inspired from FourMom package (could also...
FilterRange & operator=(const FilterRange &obj)
Assignment operator:
void addRange(double xMin, double xMax)
add a new range [xmin,xmax] deleting previous ranges full contained