Logo ROOT   6.12/07
Reference Guide
TGeoPhysicalConstants.h
Go to the documentation of this file.
1 /*************************************************************************
2  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
3  * All rights reserved. *
4  * *
5  * For the licensing terms see $ROOTSYS/LICENSE. *
6  * For the list of contributors see $ROOTSYS/README/CREDITS. *
7  *************************************************************************/
8 
9 // ----------------------------------------------------------------------
10 // HEP coherent Physical Constants
11 // Adapted for ROOT by Marko Petric
12 //
13 // This file has been provided by Geant4 (simulation toolkit for HEP).
14 //
15 // Below is a non exhaustive list of Physical CONSTANTS,
16 // computed in the Internal HEP System Of Units.
17 //
18 // Most of them are extracted from the Particle Data Book :
19 // Phys. Rev. D volume 50 3-1 (1994) page 1233
20 //
21 //
22 // Author: M.Maire
23 //
24 // History:
25 //
26 // 23.02.96 Created
27 // 26.03.96 Added constants for standard conditions of temperature
28 // and pressure; also added Gas threshold.
29 // 29.04.08 use PDG 2006 values
30 // 03.11.08 use PDG 2008 values
31 // 02.10.17 addopted constant from CLHEP 2.3.4.3
32 
33 #ifndef TGEO_PHYSICAL_CONSTANTS_H
34 #define TGEO_PHYSICAL_CONSTANTS_H
35 
36 #include "TGeoSystemOfUnits.h"
37 
38 namespace TGeoUnit {
39 
40 //
41 //
42 //
43 static constexpr double Avogadro = 6.02214179e+23 / mole;
44 
45 //
46 // c = 299.792458 mm/ns
47 // c^2 = 898.7404 (mm/ns)^2
48 //
49 static constexpr double c_light = 2.99792458e+8 * m / s;
50 static constexpr double c_squared = c_light * c_light;
51 
52 //
53 // h = 4.13566e-12 MeV*ns
54 // hbar = 6.58212e-13 MeV*ns
55 // hbarc = 197.32705e-12 MeV*mm
56 //
57 static constexpr double h_Planck = 6.62606896e-34 * joule * s;
58 static constexpr double hbar_Planck = h_Planck / twopi;
59 static constexpr double hbarc = hbar_Planck * c_light;
60 static constexpr double hbarc_squared = hbarc * hbarc;
61 
62 //
63 //
64 //
65 static constexpr double electron_charge = -eplus; // see SystemOfUnits.h
66 static constexpr double e_squared = eplus * eplus;
67 
68 //
69 // amu_c2 - atomic equivalent mass unit
70 // - AKA, unified atomic mass unit (u)
71 // amu - atomic mass unit
72 //
73 static constexpr double electron_mass_c2 = 0.510998910 * MeV;
74 static constexpr double proton_mass_c2 = 938.272013 * MeV;
75 static constexpr double neutron_mass_c2 = 939.56536 * MeV;
76 static constexpr double amu_c2 = 931.494028 * MeV;
77 static constexpr double amu = amu_c2 / c_squared;
78 
79 //
80 // permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm
81 // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
82 //
83 static constexpr double mu0 = 4 * pi * 1.e-7 * henry / m;
84 static constexpr double epsilon0 = 1. / (c_squared * mu0);
85 
86 //
87 // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
88 //
89 static constexpr double elm_coupling = e_squared / (4 * pi * epsilon0);
90 static constexpr double fine_structure_const = elm_coupling / hbarc;
91 static constexpr double classic_electr_radius = elm_coupling / electron_mass_c2;
92 static constexpr double electron_Compton_length = hbarc / electron_mass_c2;
93 static constexpr double Bohr_radius = electron_Compton_length / fine_structure_const;
94 
95 static constexpr double alpha_rcl2 = fine_structure_const * classic_electr_radius * classic_electr_radius;
96 
97 static constexpr double twopi_mc2_rcl2 = twopi * electron_mass_c2 * classic_electr_radius * classic_electr_radius;
98 //
99 //
100 //
101 static constexpr double k_Boltzmann = 8.617343e-11 * MeV / kelvin;
102 
103 //
104 //
105 //
106 static constexpr double STP_Temperature = 273.15 * kelvin;
107 static constexpr double STP_Pressure = 1. * atmosphere;
108 static constexpr double kGasThreshold = 10. * mg / cm3;
109 
110 //
111 //
112 //
113 static constexpr double universe_mean_density = 1.e-25 * g / cm3;
114 
115 } // namespace TGeoUnit
116 
117 #endif /* TGEO_PHYSICAL_CONSTANTS_H */
static constexpr double Bohr_radius
static constexpr double pi
static constexpr double STP_Temperature
static constexpr double h_Planck
static constexpr double m
static constexpr double amu
static constexpr double STP_Pressure
static constexpr double epsilon0
static constexpr double mu0
static constexpr double mg
static constexpr double mole
static constexpr double k_Boltzmann
static constexpr double eplus
static constexpr double atmosphere
static constexpr double c_light
static constexpr double MeV
static constexpr double Avogadro
static constexpr double elm_coupling
static constexpr double proton_mass_c2
static constexpr double universe_mean_density
static constexpr double neutron_mass_c2
static constexpr double joule
static constexpr double electron_charge
static constexpr double henry
static constexpr double twopi
static constexpr double classic_electr_radius
static constexpr double hbar_Planck
static constexpr double c_squared
static constexpr double alpha_rcl2
static constexpr double s
static constexpr double hbarc_squared
static constexpr double electron_mass_c2
static constexpr double cm3
static constexpr double electron_Compton_length
static constexpr double fine_structure_const
static constexpr double twopi_mc2_rcl2
static constexpr double amu_c2
static constexpr double e_squared
static constexpr double kelvin
static constexpr double hbarc
static constexpr double kGasThreshold
static constexpr double g