Elements  6.0.1
A C++ base framework for the Euclid Software.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
SystemOfUnits.h
Go to the documentation of this file.
1 
26 #ifndef ELEMENTSKERNEL_ELEMENTSKERNEL_SYSTEMOFUNITS_H_
27 #define ELEMENTSKERNEL_ELEMENTSKERNEL_SYSTEMOFUNITS_H_
28 
30 
31 namespace Elements {
32 inline namespace Kernel {
33 namespace Units {
34 
35 //
36 // Length [L]
37 //
38 constexpr double meter = 1.0;
39 constexpr double meter2 = meter * meter;
40 constexpr double meter3 = meter * meter * meter;
41 
42 constexpr double millimeter = 1.e-3 * meter;
43 constexpr double millimeter2 = millimeter * millimeter;
45 
46 constexpr double centimeter = 1.e-2 * meter;
47 constexpr double centimeter2 = centimeter * centimeter;
49 
50 constexpr double kilometer = 1000. * meter;
51 constexpr double kilometer2 = kilometer * kilometer;
52 constexpr double kilometer3 = kilometer * kilometer * kilometer;
53 
54 constexpr double parsec = 3.0856775807e+16 * meter;
55 
56 constexpr double micrometer = 1.e-6 * meter;
57 constexpr double nanometer = 1.e-9 * meter;
58 constexpr double angstrom = 1.e-10 * meter;
59 constexpr double fermi = 1.e-15 * meter;
60 
61 constexpr double barn = 1.e-28 * meter2;
62 constexpr double millibarn = 1.e-3 * barn;
63 constexpr double microbarn = 1.e-6 * barn;
64 constexpr double nanobarn = 1.e-9 * barn;
65 constexpr double picobarn = 1.e-12 * barn;
66 
67 // symbols
68 constexpr double nm = nanometer;
69 constexpr double um = micrometer;
70 
71 constexpr double mm = millimeter;
72 constexpr double mm2 = millimeter2;
73 constexpr double mm3 = millimeter3;
74 
75 constexpr double cm = centimeter;
76 constexpr double cm2 = centimeter2;
77 constexpr double cm3 = centimeter3;
78 
79 constexpr double m = meter;
80 constexpr double m2 = meter2;
81 constexpr double m3 = meter3;
82 
83 constexpr double km = kilometer;
84 constexpr double km2 = kilometer2;
85 constexpr double km3 = kilometer3;
86 
87 constexpr double pc = parsec;
88 
89 //
90 // Angle
91 //
92 constexpr double radian = 1.;
93 constexpr double milliradian = 1.e-3 * radian;
94 constexpr double degree = (pi / 180.0) * radian;
95 
96 constexpr double steradian = 1.;
97 
98 // symbols
99 constexpr double rad = radian;
100 constexpr double mrad = milliradian;
101 constexpr double sr = steradian;
102 constexpr double deg = degree;
103 
104 //
105 // Time [T]
106 //
107 constexpr double second = 1.;
108 
109 constexpr double nanosecond = 1.e-9 * second;
110 constexpr double millisecond = 1.e-3 * second;
111 constexpr double microsecond = 1.e-6 * second;
112 constexpr double picosecond = 1.e-12 * second;
113 constexpr double femtosecond = 1.e-15 * second;
114 
115 constexpr double hertz = 1. / second;
116 constexpr double kilohertz = 1.e+3 * hertz;
117 constexpr double megahertz = 1.e+6 * hertz;
118 
119 // symbols
120 constexpr double ns = nanosecond;
121 constexpr double s = second;
122 constexpr double ms = millisecond;
123 
124 //
125 // Electric current [I]
126 //
127 constexpr double ampere = 1.0;
128 constexpr double milliampere = 1.e-3 * ampere;
129 constexpr double microampere = 1.e-6 * ampere;
130 constexpr double nanoampere = 1.e-9 * ampere;
131 
132 //
133 // Electric charge [I][T]
134 //
135 constexpr double coulomb = ampere * second;
136 constexpr double eplus = 1.; // positron charge
137 constexpr double e_SI = 1.602176565e-19 * coulomb; // positron charge in coulomb
138 
139 //
140 // Mass [M]
141 //
142 constexpr double kilogram = 1.0;
143 constexpr double gram = 1.e-3 * kilogram;
144 constexpr double milligram = 1.e-3 * gram;
145 
146 // symbols
147 constexpr double kg = kilogram;
148 constexpr double g = gram;
149 constexpr double mg = milligram;
150 
151 //
152 // Energy [M][L^2][T^-2]
153 //
154 constexpr double joule = kilogram * (meter * meter) / (second * second);
155 constexpr double electronvolt = joule * e_SI;
156 constexpr double megaelectronvolt = 1.e+6 * electronvolt;
157 constexpr double kiloelectronvolt = 1.e+3 * electronvolt;
158 constexpr double gigaelectronvolt = 1.e+9 * electronvolt;
159 constexpr double teraelectronvolt = 1.e+12 * electronvolt;
160 constexpr double petaelectronvolt = 1.e+15 * electronvolt;
161 constexpr double erg = 1.e-7 * joule;
162 
163 // symbols
164 constexpr double MeV = megaelectronvolt;
165 constexpr double eV = electronvolt;
166 constexpr double keV = kiloelectronvolt;
167 constexpr double GeV = gigaelectronvolt;
168 constexpr double TeV = teraelectronvolt;
169 constexpr double PeV = petaelectronvolt;
170 
171 //
172 // Power [E][T^-1]
173 //
174 constexpr double watt = joule / second;
175 
176 //
177 // Force [E][L^-1]
178 //
179 constexpr double newton = joule / meter;
180 
181 //
182 // Pressure [E][L^-3]
183 //
184 constexpr double Pa = newton / m2;
185 constexpr double bar = 100000 * Pa;
186 constexpr double atmosphere = 101325 * Pa;
187 
188 //
189 // Electric potential [E][Q^-1]
190 //
191 constexpr double volt = electronvolt / eplus;
192 constexpr double megavolt = 1.e+6 * volt;
193 constexpr double kilovolt = 1.e+3 * volt;
194 
195 //
196 // Electric resistance [E][T][Q^-2]
197 //
198 constexpr double ohm = volt / ampere;
199 
200 //
201 // Electric capacitance [Q^2][E^-1]
202 //
203 constexpr double farad = coulomb / volt;
204 constexpr double millifarad = 1.e-3 * farad;
205 constexpr double microfarad = 1.e-6 * farad;
206 constexpr double nanofarad = 1.e-9 * farad;
207 constexpr double picofarad = 1.e-12 * farad;
208 
209 //
210 // Magnetic Flux [T][E][Q^-1]
211 //
212 constexpr double weber = volt * second;
213 //
214 // Magnetic Field [T][E][Q^-1][L^-2]
215 //
216 constexpr double tesla = volt * second / meter2;
217 
218 constexpr double gauss = 1.e-4 * tesla;
219 constexpr double kilogauss = 1.e-1 * tesla;
220 
221 //
222 // Inductance [T^2][E][Q^-2]
223 //
224 constexpr double henry = weber / ampere;
225 
226 //
227 // Temperature
228 //
229 constexpr double kelvin = 1.;
230 
231 //
232 // Amount of substance
233 //
234 constexpr double mole = 1.;
235 
236 //
237 // Activity [T^-1]
238 //
239 constexpr double becquerel = 1. / second;
240 constexpr double curie = 3.7e+10 * becquerel;
241 
242 //
243 // Absorbed dose [L^2][T^-2]
244 //
245 constexpr double gray = joule / kilogram;
246 
247 //
248 // Luminous intensity [I]
249 //
250 constexpr double candela = 1.;
251 
252 //
253 // Luminous flux [I]
254 //
255 constexpr double lumen = candela * steradian;
256 constexpr double jansky = 1.e-26 * watt / (m2 * hertz);
257 constexpr double microjansky = 1.e-6 * jansky;
258 
259 //
260 // Illuminance [I][L^-2]
261 //
262 constexpr double lux = lumen / meter2;
263 
264 //
265 // Miscellaneous
266 //
267 constexpr double perCent = 0.01;
268 constexpr double perThousand = 0.001;
269 constexpr double perMillion = 0.000001;
270 
271 } // namespace Units
272 } // namespace Kernel
273 } // namespace Elements
274 
275 #endif // ELEMENTSKERNEL_ELEMENTSKERNEL_SYSTEMOFUNITS_H_
276 
constexpr double electronvolt
constexpr double volt
constexpr double eV
constexpr double keV
constexpr double centimeter
Definition: SystemOfUnits.h:46
constexpr double km3
Definition: SystemOfUnits.h:85
constexpr double perCent
constexpr double jansky
constexpr double meter3
Definition: SystemOfUnits.h:40
constexpr double mm3
Definition: SystemOfUnits.h:73
constexpr double kiloelectronvolt
constexpr double microbarn
Definition: SystemOfUnits.h:63
constexpr double PeV
constexpr double joule
constexpr double ohm
constexpr double km
Definition: SystemOfUnits.h:83
constexpr double barn
Definition: SystemOfUnits.h:61
constexpr double sr
constexpr double millibarn
Definition: SystemOfUnits.h:62
constexpr double kilometer2
Definition: SystemOfUnits.h:51
constexpr double kelvin
constexpr double deg
constexpr double megaelectronvolt
constexpr double nanobarn
Definition: SystemOfUnits.h:64
constexpr double milligram
constexpr double meter2
Definition: SystemOfUnits.h:39
constexpr double radian
Definition: SystemOfUnits.h:92
constexpr double kg
constexpr double km2
Definition: SystemOfUnits.h:84
constexpr double mm2
Definition: SystemOfUnits.h:72
constexpr double tesla
constexpr double gauss
constexpr double nanometer
Definition: SystemOfUnits.h:57
constexpr double millisecond
constexpr double picofarad
constexpr double henry
constexpr double nm
Definition: SystemOfUnits.h:68
constexpr double kilovolt
constexpr double weber
constexpr double megavolt
constexpr double kilometer3
Definition: SystemOfUnits.h:52
constexpr double milliampere
constexpr double kilometer
Definition: SystemOfUnits.h:50
constexpr double candela
constexpr double perMillion
constexpr double farad
constexpr double gray
constexpr double bar
constexpr double gram
constexpr double Pa
constexpr double perThousand
constexpr double centimeter2
Definition: SystemOfUnits.h:47
constexpr double um
Definition: SystemOfUnits.h:69
constexpr double teraelectronvolt
constexpr double picobarn
Definition: SystemOfUnits.h:65
constexpr double curie
constexpr double m3
Definition: SystemOfUnits.h:81
constexpr double s
constexpr double millifarad
constexpr double cm2
Definition: SystemOfUnits.h:76
constexpr double microfarad
constexpr double fermi
Definition: SystemOfUnits.h:59
constexpr double micrometer
Definition: SystemOfUnits.h:56
constexpr double GeV
constexpr double kilogram
constexpr double mrad
constexpr double mm
Definition: SystemOfUnits.h:71
constexpr double watt
constexpr double meter
Definition: SystemOfUnits.h:38
constexpr double microsecond
constexpr double megahertz
constexpr double mole
constexpr double m2
Definition: SystemOfUnits.h:80
constexpr double millimeter
Definition: SystemOfUnits.h:42
constexpr double femtosecond
constexpr double eplus
constexpr double lumen
constexpr double nanofarad
constexpr double microjansky
constexpr double nanoampere
constexpr double e_SI
constexpr double MeV
constexpr double ns
constexpr double mg
constexpr double millimeter2
Definition: SystemOfUnits.h:43
constexpr double picosecond
constexpr double g
constexpr double kilohertz
constexpr double parsec
Definition: SystemOfUnits.h:54
constexpr double rad
Definition: SystemOfUnits.h:99
constexpr double becquerel
constexpr double steradian
Definition: SystemOfUnits.h:96
constexpr double pc
Definition: SystemOfUnits.h:87
constexpr double angstrom
Definition: SystemOfUnits.h:58
constexpr double coulomb
constexpr double TeV
constexpr double second
constexpr double millimeter3
Definition: SystemOfUnits.h:44
constexpr double newton
constexpr double milliradian
Definition: SystemOfUnits.h:93
constexpr double m
Definition: SystemOfUnits.h:79
constexpr double lux
constexpr double microampere
constexpr double atmosphere
constexpr double cm3
Definition: SystemOfUnits.h:77
constexpr double degree
Definition: SystemOfUnits.h:94
constexpr double cm
Definition: SystemOfUnits.h:75
constexpr double erg
constexpr double pi
Definition: MathConstants.h:34
constexpr double ms
constexpr double hertz
constexpr double kilogauss
constexpr double petaelectronvolt
A few math constants.
constexpr double centimeter3
Definition: SystemOfUnits.h:48
constexpr double gigaelectronvolt
constexpr double ampere
constexpr double nanosecond