File indexing completed on 2024-04-06 12:04:41
0001 #ifndef DataFormats_Math_CMS_Units_h
0002 #define DataFormats_Math_CMS_Units_h
0003
0004
0005
0006
0007 #include "DataFormats/Math/interface/angle_units.h"
0008
0009 namespace cms_units {
0010
0011 using angle_units::piRadians;
0012
0013 namespace operators {
0014
0015
0016
0017
0018 using angle_units::operators::operator""_deg;
0019 using angle_units::operators::operator""_pi;
0020 using angle_units::operators::operator""_rad;
0021 using angle_units::operators::almostEqual;
0022 using angle_units::operators::convertDegToRad;
0023 using angle_units::operators::convertRadToDeg;
0024
0025
0026 constexpr double operator"" _mm(long double length) { return length * 0.1; }
0027 constexpr double operator"" _cm(long double length) { return length * 1.; }
0028 constexpr double operator"" _m(long double length) { return length * 100.; }
0029 constexpr double operator"" _cm3(long double length) { return length * 1._cm * 1._cm * 1._cm; }
0030 constexpr double operator"" _m3(long double length) { return length * 1._m * 1._m * 1._m; }
0031 constexpr double operator"" _mm(unsigned long long int length) { return length * 0.1; }
0032 constexpr double operator"" _cm(unsigned long long int length) { return length * 1; }
0033
0034
0035 constexpr double operator"" _GeV(long double energy) { return energy * 1.; }
0036 constexpr double operator"" _eV(long double energy) { return energy * 1.e-9_GeV; }
0037 constexpr double operator"" _MeV(long double energy) { return energy * 1.e-3_GeV; }
0038 constexpr double operator"" _TeV(long double energy) { return energy * 1.e3_GeV; }
0039
0040
0041 using angle_units::operators::convertCm2ToMm2;
0042 using angle_units::operators::convertCmToMm;
0043 using angle_units::operators::convertGeVToKeV;
0044 using angle_units::operators::convertGeVToMeV;
0045 using angle_units::operators::convertMeVToGeV;
0046 using angle_units::operators::convertMm3ToM3;
0047 using angle_units::operators::convertMmToCm;
0048
0049 }
0050 }
0051
0052 #endif