21 #ifndef yap_Constants_h
22 #define yap_Constants_h
25 #include "FourVector.h"
35 constexpr
auto Complex_0 = std::complex<double>(0, 0);
38 constexpr
auto Complex_1 = std::complex<double>(1, 0);
41 constexpr
auto Complex_i = std::complex<double>(0, 1);
48 template <
typename T =
double>
50 {
return acos((T) - 1); }
53 template <
typename T =
double>
55 {
return pi<T>() / T(180); }
59 constexpr T
rad(
const T& d)
60 {
return d * rad_per_deg<T>(); }
63 template <
typename T =
double>
65 {
return T(180) / pi<T>(); }
69 constexpr T
deg(
const T& r)
70 {
return r * deg_per_rad<double>(); }
constexpr T pi()
pi
Definition: Constants.h:49
constexpr auto FourAxis_T
T axis (FourVector)
Definition: Constants.h:98
Four-Vector handling.
Definition: FourVector.h:41
constexpr auto ThreeAxes
Standard 3D coordinate system.
Definition: Constants.h:87
constexpr auto ThreeAxis_Z
Z axis (ThreeVector)
Definition: Constants.h:84
constexpr auto FourAxis_Y
Y axis (FourVector)
Definition: Constants.h:104
constexpr auto FourAxes
Standard 4D coordinate system.
Definition: Constants.h:110
constexpr auto Complex_i
complex i
Definition: Constants.h:41
constexpr T deg(const T &r)
convert radians to degrees
Definition: Constants.h:69
constexpr T rad_per_deg()
convert degrees to radians
Definition: Constants.h:54
constexpr T deg_per_rad()
convert radians to degrees
Definition: Constants.h:64
constexpr auto ThreeVector_0
0 as ThreeVector;
Definition: Constants.h:90
constexpr auto FourAxis_Z
Z axis (FourVector)
Definition: Constants.h:107
constexpr auto ThreeAxis_X
X axis (ThreeVector)
Definition: Constants.h:78
constexpr T rad(const T &d)
convert degrees to radians
Definition: Constants.h:59
constexpr auto ThreeAxis_Y
Y axis (ThreeVector)
Definition: Constants.h:81
constexpr auto FourAxis_X
X axis (FourVector)
Definition: Constants.h:101
constexpr auto FourVector_0
0 as FourVector;
Definition: Constants.h:113
constexpr auto Complex_1
complex one
Definition: Constants.h:38