Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
PhysicalConstants.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 // ----------------------------------------------------------------------
3 // HEP coherent Physical Constants
4 //
5 // This file has been provided by Geant4 (simulation toolkit for HEP).
6 //
7 // The basic units are :
8 // millimeter
9 // nanosecond
10 // Mega electron Volt
11 // positon charge
12 // degree Kelvin
13 // amount of substance (mole)
14 // luminous intensity (candela)
15 // radian
16 // steradian
17 //
18 // Below is a non exhaustive list of Physical CONSTANTS,
19 // computed in the Internal HEP System Of Units.
20 //
21 // Most of them are extracted from the Particle Data Book :
22 // Phys. Rev. D volume 50 3-1 (1994) page 1233
23 //
24 // ...with a meaningful (?) name ...
25 //
26 // You can add your own constants.
27 //
28 // Author: M.Maire
29 //
30 // History:
31 //
32 // 23.02.96 Created
33 // 26.03.96 Added constants for standard conditions of temperature
34 // and pressure; also added Gas threshold.
35 // 28.04.06 Imported from CLHEP into GaudiKernel -- HD
36 
37 #ifndef GAUDI_PHYSICAL_CONSTANTS_H
38 #define GAUDI_PHYSICAL_CONSTANTS_H
39 
41 
42 namespace Gaudi {
43  namespace Units {
44 
45  constexpr double pi = 3.14159265358979323846;
46  constexpr double twopi = 2 * pi;
47  constexpr double halfpi = pi / 2;
48  constexpr double pi2 = pi * pi;
49 
50  constexpr double Avogadro = 6.0221367e+23 / mole;
51 
52  //
53  // c = 299.792458 mm/ns
54  // c^2 = 898.7404 (mm/ns)^2
55  //
56  constexpr double c_light = 2.99792458e+8 * m / s;
57  constexpr double c_squared = c_light * c_light;
58 
59  //
60  // h = 4.13566e-12 MeV*ns
61  // hbar = 6.58212e-13 MeV*ns
62  // hbarc = 197.32705e-12 MeV*mm
63  //
64  constexpr double h_Planck = 6.6260755e-34 * joule * s;
65  constexpr double hbar_Planck = h_Planck / twopi;
66  constexpr double hbarc = hbar_Planck * c_light;
67  constexpr double hbarc_squared = hbarc * hbarc;
68 
69  constexpr double electron_charge = -eplus; // see SystemOfUnits.h
70  constexpr double e_squared = eplus * eplus;
71 
72  //
73  // amu_c2 - atomic equivalent mass unit
74  // amu - atomic mass unit
75  //
76  constexpr double electron_mass_c2 = 0.51099906 * MeV;
77  constexpr double proton_mass_c2 = 938.27231 * MeV;
78  constexpr double neutron_mass_c2 = 939.56563 * MeV;
79  constexpr double amu_c2 = 931.49432 * MeV;
80  constexpr double amu = amu_c2 / c_squared;
81 
82  //
83  // permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm
84  // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
85  //
86  constexpr double mu0 = 4 * pi * 1.e-7 * henry / m;
87  constexpr double epsilon0 = 1. / ( c_squared * mu0 );
88 
89  //
90  // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
91  //
92  constexpr double elm_coupling = e_squared / ( 4 * pi * epsilon0 );
93  constexpr double fine_structure_const = elm_coupling / hbarc;
94  constexpr double classic_electr_radius = elm_coupling / electron_mass_c2;
95  constexpr double electron_Compton_length = hbarc / electron_mass_c2;
96  constexpr double Bohr_radius = electron_Compton_length / fine_structure_const;
97 
98  constexpr double alpha_rcl2 = fine_structure_const * classic_electr_radius * classic_electr_radius;
99 
100  constexpr double twopi_mc2_rcl2 = twopi * electron_mass_c2 * classic_electr_radius * classic_electr_radius;
101 
102  constexpr double k_Boltzmann = 8.617385e-11 * MeV / kelvin;
103 
104  constexpr double STP_Temperature = 273.15 * kelvin;
105  constexpr double STP_Pressure = 1. * atmosphere;
106  constexpr double kGasThreshold = 10. * mg / cm3;
107 
108  constexpr double universe_mean_density = 1.e-25 * g / cm3;
109 
110  } // namespace Units
111 } // namespace Gaudi
112 
113 #endif /* GAUDI_PHYSICAL_CONSTANTS_H */
constexpr double twopi
constexpr double s
constexpr double STP_Pressure
constexpr double eplus
constexpr double epsilon0
constexpr double mg
constexpr double MeV
constexpr double henry
constexpr double halfpi
constexpr double universe_mean_density
constexpr double hbar_Planck
constexpr double c_squared
constexpr double e_squared
constexpr double elm_coupling
constexpr double electron_Compton_length
constexpr double neutron_mass_c2
constexpr double electron_charge
constexpr double proton_mass_c2
constexpr double Avogadro
constexpr double m
Definition: SystemOfUnits.h:92
constexpr double hbarc
constexpr double joule
constexpr double twopi_mc2_rcl2
constexpr double kelvin
constexpr double fine_structure_const
constexpr double k_Boltzmann
constexpr double h_Planck
constexpr double hbarc_squared
constexpr double amu_c2
constexpr double mu0
constexpr double alpha_rcl2
constexpr double kGasThreshold
constexpr double atmosphere
constexpr double pi2
constexpr double electron_mass_c2
constexpr double c_light
constexpr double Bohr_radius
constexpr double mole
constexpr double STP_Temperature
constexpr double g
Helper functions to set/get the application return code.
Definition: __init__.py:1
constexpr double pi
constexpr double cm3
Definition: SystemOfUnits.h:90
constexpr double classic_electr_radius
constexpr double amu