1 #ifndef GeometryVector_Geom_Phi_h 2 #define GeometryVector_Geom_Phi_h 61 if( theValue >
twoPi() || theValue < -
twoPi()) {
62 theValue = std::fmod( theValue, (
T)
twoPi());
64 if (theValue <= -
pi()) theValue +=
twoPi();
65 if (theValue >
pi()) theValue -=
twoPi();
81 template <
class T,
class Scalar>
86 template <
class T,
class Scalar>
98 template <
class T,
class Scalar>
103 template <
class T,
class Scalar>
110 template <
class T,
class Scalar>
T operator/(const OnePiRange< T > &a, const OnePiRange< T > &b)
Division.
OnePiRange< T > operator-(const OnePiRange< T > &a)
Phi & operator-=(const Phi &a)
Phi & operator-=(const T &a)
Phi & operator/=(const T &a)
Phi()
Default constructor does not initialise - just as double.
Phi & operator+=(const Phi &a)
OnePiRange< T > operator+(const OnePiRange< T > &a, const OnePiRange< T > &b)
Addition.
OnePiRange< T > operator*(const OnePiRange< T > &a, const Scalar &b)
Multiplication with scalar, does not change the precision.
T value() const
Explicit access to value in case implicit conversion not OK.
Phi & operator+=(const T &a)
Standard arithmetics.
Phi & operator*=(const T &a)