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