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