Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
SystemOfUnits.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 // ----------------------------------------------------------------------
3 // HEP coherent system of Units
4 //
5 // This file has been provided to CLHEP by Geant4 (simulation toolkit for HEP).
6 //
7 // The basic units are :
8 // millimeter (millimeter)
9 // nanosecond (nanosecond)
10 // Mega electron Volt (MeV)
11 // positron charge (eplus)
12 // degree Kelvin (kelvin)
13 // the amount of substance (mole)
14 // luminous intensity (candela)
15 // radian (radian)
16 // steradian (steradian)
17 //
18 // Below is a non exhaustive list of derived and pratical units
19 // (i.e. mostly the SI units).
20 // You can add your own units.
21 //
22 // The SI numerical value of the positron charge is defined here,
23 // as it is needed for conversion factor : positron charge = e_SI (coulomb)
24 //
25 // The others physical constants are defined in the header file :
26 // PhysicalConstants.h
27 //
28 // Authors: M.Maire, S.Giani
29 //
30 // History:
31 //
32 // 06.02.96 Created.
33 // 28.03.96 Added miscellaneous constants.
34 // 05.12.97 E.Tcherniaev: Redefined pascal (to avoid warnings on WinNT)
35 // 20.05.98 names: meter, second, gram, radian, degree
36 // (from Brian.Lasiuk@yale.edu (STAR)). Added luminous units.
37 // 05.08.98 angstrom, picobarn, microsecond, picosecond, petaelectronvolt
38 // 01.03.01 parsec
39 // 28.04.06 import from CLHEP to GaudiKernel -- HD
40 // 11.05.06 Rename pascal to Pa to avoid warnings on Windows - MC
41 
42 #ifndef GAUDI_SYSTEM_OF_UNITS_H
43 #define GAUDI_SYSTEM_OF_UNITS_H
44 
45 namespace Gaudi {
46  namespace Units {
47 
48  //
49  // Length [L]
50  //
51  constexpr double millimeter = 1.;
52  constexpr double millimeter2 = millimeter * millimeter;
53  constexpr double millimeter3 = millimeter * millimeter * millimeter;
54 
55  constexpr double centimeter = 10. * millimeter;
56  constexpr double centimeter2 = centimeter * centimeter;
57  constexpr double centimeter3 = centimeter * centimeter * centimeter;
58 
59  constexpr double meter = 1000. * millimeter;
60  constexpr double meter2 = meter * meter;
61  constexpr double meter3 = meter * meter * meter;
62 
63  constexpr double kilometer = 1000. * meter;
64  constexpr double kilometer2 = kilometer * kilometer;
65  constexpr double kilometer3 = kilometer * kilometer * kilometer;
66 
67  constexpr double parsec = 3.0856775807e+16 * meter;
68 
69  constexpr double micrometer = 1.e-6 * meter;
70  constexpr double nanometer = 1.e-9 * meter;
71  constexpr double angstrom = 1.e-10 * meter;
72  constexpr double fermi = 1.e-15 * meter;
73 
74  constexpr double barn = 1.e-28 * meter2;
75  constexpr double millibarn = 1.e-3 * barn;
76  constexpr double microbarn = 1.e-6 * barn;
77  constexpr double nanobarn = 1.e-9 * barn;
78  constexpr double picobarn = 1.e-12 * barn;
79 
80  // symbols
81  constexpr double nm = nanometer;
82  constexpr double um = micrometer;
83 
84  constexpr double mm = millimeter;
85  constexpr double mm2 = millimeter2;
86  constexpr double mm3 = millimeter3;
87 
88  constexpr double cm = centimeter;
89  constexpr double cm2 = centimeter2;
90  constexpr double cm3 = centimeter3;
91 
92  constexpr double m = meter;
93  constexpr double m2 = meter2;
94  constexpr double m3 = meter3;
95 
96  constexpr double km = kilometer;
97  constexpr double km2 = kilometer2;
98  constexpr double km3 = kilometer3;
99 
100  constexpr double pc = parsec;
101 
102  //
103  // Angle
104  //
105  constexpr double radian = 1.;
106  constexpr double milliradian = 1.e-3 * radian;
107  constexpr double degree = ( 3.14159265358979323846 / 180.0 ) * radian;
108 
109  constexpr double steradian = 1.;
110 
111  // symbols
112  constexpr double rad = radian;
113  constexpr double mrad = milliradian;
114  constexpr double sr = steradian;
115  constexpr double deg = degree;
116 
117  //
118  // Time [T]
119  //
120  constexpr double nanosecond = 1.;
121  constexpr double second = 1.e+9 * nanosecond;
122  constexpr double millisecond = 1.e-3 * second;
123  constexpr double microsecond = 1.e-6 * second;
124  constexpr double picosecond = 1.e-12 * second;
125  constexpr double femtosecond = 1.e-15 * second;
126 
127  constexpr double hertz = 1. / second;
128  constexpr double kilohertz = 1.e+3 * hertz;
129  constexpr double megahertz = 1.e+6 * hertz;
130 
131  // symbols
132  constexpr double ns = nanosecond;
133  constexpr double s = second;
134  constexpr double ms = millisecond;
135 
136  //
137  // Electric charge [Q]
138  //
139  constexpr double eplus = 1.; // positron charge
140  constexpr double e_SI = 1.60217733e-19; // positron charge in coulomb
141  constexpr double coulomb = eplus / e_SI; // coulomb = 6.24150 e+18 * eplus
142 
143  //
144  // Energy [E]
145  //
146  constexpr double megaelectronvolt = 1.;
147  constexpr double electronvolt = 1.e-6 * megaelectronvolt;
148  constexpr double kiloelectronvolt = 1.e-3 * megaelectronvolt;
149  constexpr double gigaelectronvolt = 1.e+3 * megaelectronvolt;
150  constexpr double teraelectronvolt = 1.e+6 * megaelectronvolt;
151  constexpr double petaelectronvolt = 1.e+9 * megaelectronvolt;
152 
153  constexpr double joule = electronvolt / e_SI; // joule = 6.24150 e+12 * MeV
154 
155  // symbols
156  constexpr double MeV = megaelectronvolt;
157  constexpr double eV = electronvolt;
158  constexpr double keV = kiloelectronvolt;
159  constexpr double GeV = gigaelectronvolt;
160  constexpr double TeV = teraelectronvolt;
161  constexpr double PeV = petaelectronvolt;
162 
163  //
164  // Mass [E][T^2][L^-2]
165  //
166  constexpr double kilogram = joule * second * second / ( meter * meter );
167  constexpr double gram = 1.e-3 * kilogram;
168  constexpr double milligram = 1.e-3 * gram;
169 
170  // symbols
171  constexpr double kg = kilogram;
172  constexpr double g = gram;
173  constexpr double mg = milligram;
174 
175  //
176  // Power [E][T^-1]
177  //
178  constexpr double watt = joule / second; // watt = 6.24150 e+3 * MeV/ns
179 
180  //
181  // Force [E][L^-1]
182  //
183  constexpr double newton = joule / meter; // newton = 6.24150 e+9 * MeV/mm
184 
185  //
186  // Pressure [E][L^-3]
187  //
188  constexpr double Pa = newton / m2; // pascal = 6.24150 e+3 * MeV/mm3
189  constexpr double bar = 100000 * Pa; // bar = 6.24150 e+8 * MeV/mm3
190  constexpr double atmosphere = 101325 * Pa; // atm = 6.32420 e+8 * MeV/mm3
191 
192  //
193  // Electric current [Q][T^-1]
194  //
195  constexpr double ampere = coulomb / second; // ampere = 6.24150 e+9 * eplus/ns
196  constexpr double milliampere = 1.e-3 * ampere;
197  constexpr double microampere = 1.e-6 * ampere;
198  constexpr double nanoampere = 1.e-9 * ampere;
199 
200  //
201  // Electric potential [E][Q^-1]
202  //
203  constexpr double megavolt = megaelectronvolt / eplus;
204  constexpr double kilovolt = 1.e-3 * megavolt;
205  constexpr double volt = 1.e-6 * megavolt;
206 
207  //
208  // Electric resistance [E][T][Q^-2]
209  //
210  constexpr double ohm = volt / ampere; // ohm = 1.60217e-16*(MeV/eplus)/(eplus/ns)
211 
212  //
213  // Electric capacitance [Q^2][E^-1]
214  //
215  constexpr double farad = coulomb / volt; // farad = 6.24150e+24 * eplus/Megavolt
216  constexpr double millifarad = 1.e-3 * farad;
217  constexpr double microfarad = 1.e-6 * farad;
218  constexpr double nanofarad = 1.e-9 * farad;
219  constexpr double picofarad = 1.e-12 * farad;
220 
221  //
222  // Magnetic Flux [T][E][Q^-1]
223  //
224  constexpr double weber = volt * second; // weber = 1000*megavolt*ns
225 
226  //
227  // Magnetic Field [T][E][Q^-1][L^-2]
228  //
229  constexpr double tesla = volt * second / meter2; // tesla =0.001*megavolt*ns/mm2
230 
231  constexpr double gauss = 1.e-4 * tesla;
232  constexpr double kilogauss = 1.e-1 * tesla;
233 
234  //
235  // Inductance [T^2][E][Q^-2]
236  //
237  constexpr double henry = weber / ampere; // henry = 1.60217e-7*MeV*(ns/eplus)**2
238 
239  //
240  // Temperature
241  //
242  constexpr double kelvin = 1.;
243 
244  //
245  // Amount of substance
246  //
247  constexpr double mole = 1.;
248 
249  //
250  // Activity [T^-1]
251  //
252  constexpr double becquerel = 1. / second;
253  constexpr double curie = 3.7e+10 * becquerel;
254 
255  //
256  // Absorbed dose [L^2][T^-2]
257  //
258  constexpr double gray = joule / kilogram;
259 
260  //
261  // Luminous intensity [I]
262  //
263  constexpr double candela = 1.;
264 
265  //
266  // Luminous flux [I]
267  //
268  constexpr double lumen = candela * steradian;
269 
270  //
271  // Illuminance [I][L^-2]
272  //
273  constexpr double lux = lumen / meter2;
274 
275  //
276  // Miscellaneous
277  //
278  constexpr double perCent = 0.01;
279  constexpr double perThousand = 0.001;
280  constexpr double perMillion = 0.000001;
281 
282  } // namespace Units
283 } // namespace Gaudi
284 
285 #endif /* GAUDI_SYSTEM_OF_UNITS_H */
constexpr double e_SI
constexpr double radian
constexpr double gigaelectronvolt
constexpr double candela
constexpr double sr
constexpr double degree
constexpr double teraelectronvolt
constexpr double deg
constexpr double s
constexpr double keV
constexpr double barn
Definition: SystemOfUnits.h:74
constexpr double m2
Definition: SystemOfUnits.h:93
constexpr double um
Definition: SystemOfUnits.h:82
constexpr double km
Definition: SystemOfUnits.h:96
constexpr double eplus
constexpr double Pa
constexpr double mg
constexpr double ohm
constexpr double parsec
Definition: SystemOfUnits.h:67
constexpr double kilogauss
constexpr double MeV
constexpr double henry
constexpr double fermi
Definition: SystemOfUnits.h:72
constexpr double kiloelectronvolt
constexpr double lux
constexpr double nanobarn
Definition: SystemOfUnits.h:77
constexpr double km3
Definition: SystemOfUnits.h:98
constexpr double volt
constexpr double milligram
constexpr double milliradian
constexpr double microsecond
constexpr double rad
constexpr double pc
constexpr double perCent
constexpr double kilometer
Definition: SystemOfUnits.h:63
constexpr double mm
Definition: SystemOfUnits.h:84
constexpr double angstrom
Definition: SystemOfUnits.h:71
constexpr double kilometer3
Definition: SystemOfUnits.h:65
constexpr double mm3
Definition: SystemOfUnits.h:86
constexpr double becquerel
constexpr double millifarad
constexpr double PeV
constexpr double second
constexpr double meter3
Definition: SystemOfUnits.h:61
constexpr double eV
constexpr double milliampere
constexpr double electronvolt
constexpr double centimeter3
Definition: SystemOfUnits.h:57
constexpr double nanoampere
constexpr double petaelectronvolt
constexpr double picosecond
constexpr double m
Definition: SystemOfUnits.h:92
constexpr double millibarn
Definition: SystemOfUnits.h:75
constexpr double lumen
constexpr double millimeter3
Definition: SystemOfUnits.h:53
constexpr double kilometer2
Definition: SystemOfUnits.h:64
constexpr double joule
constexpr double picobarn
Definition: SystemOfUnits.h:78
constexpr double kelvin
constexpr double kilovolt
constexpr double micrometer
Definition: SystemOfUnits.h:69
constexpr double perMillion
constexpr double nm
Definition: SystemOfUnits.h:81
constexpr double TeV
constexpr double mrad
constexpr double coulomb
constexpr double km2
Definition: SystemOfUnits.h:97
constexpr double megaelectronvolt
constexpr double millimeter
Definition: SystemOfUnits.h:51
constexpr double nanosecond
constexpr double cm
Definition: SystemOfUnits.h:88
constexpr double microampere
constexpr double gauss
constexpr double meter2
Definition: SystemOfUnits.h:60
constexpr double megavolt
constexpr double weber
constexpr double perThousand
constexpr double centimeter2
Definition: SystemOfUnits.h:56
constexpr double kg
constexpr double kilogram
constexpr double megahertz
constexpr double kilohertz
constexpr double atmosphere
constexpr double cm2
Definition: SystemOfUnits.h:89
constexpr double watt
constexpr double m3
Definition: SystemOfUnits.h:94
constexpr double millisecond
constexpr double picofarad
constexpr double gram
constexpr double newton
constexpr double millimeter2
Definition: SystemOfUnits.h:52
constexpr double GeV
constexpr double mm2
Definition: SystemOfUnits.h:85
constexpr double curie
constexpr double steradian
constexpr double bar
constexpr double microfarad
constexpr double meter
Definition: SystemOfUnits.h:59
constexpr double microbarn
Definition: SystemOfUnits.h:76
constexpr double hertz
constexpr double mole
constexpr double nanometer
Definition: SystemOfUnits.h:70
constexpr double nanofarad
constexpr double ms
constexpr double ns
constexpr double g
Helper functions to set/get the application return code.
Definition: __init__.py:1
constexpr double femtosecond
constexpr double centimeter
Definition: SystemOfUnits.h:55
constexpr double cm3
Definition: SystemOfUnits.h:90
constexpr double farad
constexpr double tesla
constexpr double gray
constexpr double ampere