Rivet API documentation

Rivet 4.1.3
Units.hh
1#ifndef RIVET_MATH_UNITS
2#define RIVET_MATH_UNITS
3
4#include "Rivet/Math/MathConstants.hh"
5
6namespace Rivet {
7
8 // Length based on mm
9 constexpr double millimeter = 1.;
10 constexpr double millimeter2 = millimeter*millimeter;
11 constexpr double millimeter3 = millimeter*millimeter*millimeter;
12 constexpr double millimetre = millimeter;
13 constexpr double millimetre2 = millimeter2;
14 constexpr double millimetre3 = millimeter3;
15
16 constexpr double centimeter = 10.*millimeter;
17 constexpr double centimeter2 = centimeter*centimeter;
18 constexpr double centimeter3 = centimeter*centimeter*centimeter;
19 constexpr double centimetre = centimeter;
20 constexpr double centimetre2 = centimeter2;
21 constexpr double centimetre3 = centimeter3;
22
23 constexpr double meter = 1000.*millimeter;
24 constexpr double meter2 = meter*meter;
25 constexpr double meter3 = meter*meter*meter;
26 constexpr double metre = meter;
27 constexpr double metre2 = meter2;
28 constexpr double metre3 = meter3;
29
30 constexpr double micrometer = 1.e-6 *meter;
31 constexpr double nanometer = 1.e-9 *meter;
32 constexpr double picometer = 1.e-12*meter;
33 constexpr double femtometer = 1.e-15*meter;
34 constexpr double attometer = 1.e-18*meter;
35 constexpr double micrometre = micrometer;
36 constexpr double nanometre = nanometer;
37 constexpr double picometre = picometer;
38 constexpr double femtometre = femtometer;
39 constexpr double attometre = attometer;
40
41 // Non-SI names
42 constexpr double angstrom = 1.e-10*meter;
43 constexpr double fermi = femtometer;
44
45 // Quick symbols
46 constexpr double mm = millimeter;
47 constexpr double mm2 = millimeter2;
48 constexpr double mm3 = millimeter3;
49
50 constexpr double cm = centimeter;
51 constexpr double cm2 = centimeter2;
52 constexpr double cm3 = centimeter3;
53
54 // Too confusable:
55 // constexpr double m = meter;
56 // constexpr double m2 = meter2;
57 // constexpr double m3 = meter3;
58
59 // constexpr double barn = 1.e-28*meter2;
60 // Barn-units based on pb
61 constexpr double picobarn = 1.0;
62 constexpr double barn = 1.0e+12* picobarn;
63 constexpr double millibarn = 1.0e-3 * barn;
64 constexpr double microbarn = 1.0e-6 * barn;
65 constexpr double nanobarn = 1.0e-9 * barn;
66 constexpr double femtobarn = 1.0e-15 * barn;
67 constexpr double attobarn = 1.0e-18 * barn;
68
69 // Time [T] based on nanoseconds (?!)
70 constexpr double nanosecond = 1.0;
71 constexpr double second = 1.e+9 *nanosecond;
72 constexpr double millisecond = 1.e-3 *second;
73 constexpr double microsecond = 1.e-6 *second;
74 constexpr double picosecond = 1.e-12*second;
75
76 // Too confusable
77 // constexpr double ns = nanosecond;
78 // constexpr double s = second;
79 // constexpr double ms = millisecond;
80
81 // //
82 // // Electric charge [Q]
83 // //
84 // constexpr double eplus = 1.0; // positron charge
85 // constexpr double e_SI = 1.60217733e-19; // positron charge in coulomb
86
87 // Energy [E] based on GeV
88 constexpr double gigaelectronvolt = 1.;
89 constexpr double electronvolt = 1.e-9*gigaelectronvolt;
90 constexpr double kiloelectronvolt = 1.e-6*gigaelectronvolt;
91 constexpr double megaelectronvolt = 1.e-3*gigaelectronvolt;
92 constexpr double teraelectronvolt = 1.e+3*gigaelectronvolt;
93 constexpr double petaelectronvolt = 1.e+6*gigaelectronvolt;
94
95 // Symbols
96 constexpr double eV = electronvolt;
97 constexpr double keV = kiloelectronvolt;
98 constexpr double MeV = megaelectronvolt;
99 constexpr double GeV = gigaelectronvolt;
100 constexpr double TeV = teraelectronvolt;
101 constexpr double PeV = petaelectronvolt;
102
103 constexpr double eV2 = eV*eV;
104 constexpr double keV2 = keV*keV;
105 constexpr double MeV2 = MeV*MeV;
106 constexpr double GeV2 = GeV*GeV;
107 constexpr double TeV2 = TeV*TeV;
108 constexpr double PeV2 = PeV*PeV;
109
110}
111
112#endif
Definition MC_CENT_PPB_Projections.hh:10