Go to the documentation of this file. 1 #ifndef GeometryVector_Geom_Phi_h
2 #define GeometryVector_Geom_Phi_h
28 template <
typename T1,
typename Range>
31 template <
typename T1>
45 template <
typename T1>
51 template <
typename T1,
typename Range = MinusPiToPi>
69 template <
typename T2,
typename Range1>
126 template <
typename T1,
typename Range>
132 template <
typename T1,
typename Range>
137 template <
typename T1,
typename Range,
typename Scalar>
142 template <
typename T1,
typename Range,
typename Scalar>
148 template <
typename T1,
typename Range>
153 template <
typename T1,
typename Range,
typename Scalar>
158 template <
typename T1,
typename Range,
typename Scalar>
164 template <
typename T1,
typename Range,
typename Scalar>
169 template <
typename T1,
typename Range>
175 template <
typename T1,
typename Range>
177 return a.value() /
b.value();
180 template <
typename T1,
typename Range>
186 template <
typename T>
Phi & operator/=(const T1 &a)
T1 value() const
Explicit access to value in case implicit conversion not OK.
constexpr NumType convertRadToDeg(NumType radians)
OnePiRange< T > operator+(const OnePiRange< T > &a, const OnePiRange< T > &b)
Addition.
bool nearEqual(const Phi< T1, Range > &angle, float tolerance=0.001) const
bool nearZero(float tolerance=1.0_deg) const
Phi & operator+=(const T1 &a)
Standard arithmetics.
static void normalize(T1 &value)
Phi & operator-=(const T1 &a)
OnePiRange< T > operator*(const OnePiRange< T > &a, const Scalar &b)
Multiplication with scalar, does not change the precision.
Phi & operator+=(const Phi &a)
OnePiRange< T > operator-(const OnePiRange< T > &a)
Phi & operator*=(const T1 &a)
constexpr valType make0To2pi(valType angle)
T operator/(const OnePiRange< T > &a, const OnePiRange< T > &b)
Division.
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Phi & operator-=(const Phi &a)
Abs< T >::type abs(const T &t)
void normalize(T1 &value)
Phi()
Default constructor does not initialise - just as double.
static void normalize(T1 &value)