CMS 3D CMS Logo

ComplexComparesAbs.h
Go to the documentation of this file.
1 #ifndef NPSTAT_COMPLEXCOMPARESABS_HH_
2 #define NPSTAT_COMPLEXCOMPARESABS_HH_
3 
14 #include <cmath>
15 #include <complex>
16 
17 namespace npstat {
23  template <class T>
25  inline static bool less(const T& l, const T& r) { return l < r; }
26 
27  inline static bool more(const T& l, const T& r) { return l > r; }
28  };
29 
30  template <class T>
31  struct ComplexComparesAbs<std::complex<T> > {
32  inline static bool less(const std::complex<T>& l, const std::complex<T>& r) { return std::abs(l) < std::abs(r); }
33 
34  inline static bool more(const std::complex<T>& l, const std::complex<T>& r) { return std::abs(l) > std::abs(l); }
35  };
36 } // namespace npstat
37 
38 #endif // NPSTAT_COMPLEXCOMPARESABS_HH_
npstat::ComplexComparesAbs< std::complex< T > >::less
static bool less(const std::complex< T > &l, const std::complex< T > &r)
Definition: ComplexComparesAbs.h:32
npstat::ComplexComparesAbs::less
static bool less(const T &l, const T &r)
Definition: ComplexComparesAbs.h:25
npstat
Definition: AbsArrayProjector.h:14
npstat::ComplexComparesAbs
Definition: ComplexComparesAbs.h:24
cmsLHEtoEOSManager.l
l
Definition: cmsLHEtoEOSManager.py:204
alignCSCRings.r
r
Definition: alignCSCRings.py:93
std
Definition: JetResolutionObject.h:76
npstat::ComplexComparesAbs< std::complex< T > >::more
static bool more(const std::complex< T > &l, const std::complex< T > &r)
Definition: ComplexComparesAbs.h:34
T
long double T
Definition: Basic3DVectorLD.h:48
npstat::ComplexComparesAbs::more
static bool more(const T &l, const T &r)
Definition: ComplexComparesAbs.h:27
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22