The Gaudi Framework  v29r0 (ff2e7097)
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 {
44  namespace Units
45  {
46 
47  constexpr double pi = 3.14159265358979323846;
48  constexpr double twopi = 2 * pi;
49  constexpr double halfpi = pi / 2;
50  constexpr double pi2 = pi * pi;
51 
52  constexpr double Avogadro = 6.0221367e+23 / mole;
53 
54  //
55  // c = 299.792458 mm/ns
56  // c^2 = 898.7404 (mm/ns)^2
57  //
58  constexpr double c_light = 2.99792458e+8 * m / s;
59  constexpr double c_squared = c_light * c_light;
60 
61  //
62  // h = 4.13566e-12 MeV*ns
63  // hbar = 6.58212e-13 MeV*ns
64  // hbarc = 197.32705e-12 MeV*mm
65  //
66  constexpr double h_Planck = 6.6260755e-34 * joule * s;
67  constexpr double hbar_Planck = h_Planck / twopi;
68  constexpr double hbarc = hbar_Planck * c_light;
69  constexpr double hbarc_squared = hbarc * hbarc;
70 
71  constexpr double electron_charge = -eplus; // see SystemOfUnits.h
72  constexpr double e_squared = eplus * eplus;
73 
74  //
75  // amu_c2 - atomic equivalent mass unit
76  // amu - atomic mass unit
77  //
78  constexpr double electron_mass_c2 = 0.51099906 * MeV;
79  constexpr double proton_mass_c2 = 938.27231 * MeV;
80  constexpr double neutron_mass_c2 = 939.56563 * MeV;
81  constexpr double amu_c2 = 931.49432 * MeV;
82  constexpr double amu = amu_c2 / c_squared;
83 
84  //
85  // permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm
86  // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
87  //
88  constexpr double mu0 = 4 * pi * 1.e-7 * henry / m;
89  constexpr double epsilon0 = 1. / ( c_squared * mu0 );
90 
91  //
92  // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
93  //
94  constexpr double elm_coupling = e_squared / ( 4 * pi * epsilon0 );
95  constexpr double fine_structure_const = elm_coupling / hbarc;
96  constexpr double classic_electr_radius = elm_coupling / electron_mass_c2;
97  constexpr double electron_Compton_length = hbarc / electron_mass_c2;
98  constexpr double Bohr_radius = electron_Compton_length / fine_structure_const;
99 
100  constexpr double alpha_rcl2 = fine_structure_const * classic_electr_radius * classic_electr_radius;
101 
102  constexpr double twopi_mc2_rcl2 = twopi * electron_mass_c2 * classic_electr_radius * classic_electr_radius;
103 
104  constexpr double k_Boltzmann = 8.617385e-11 * MeV / kelvin;
105 
106  constexpr double STP_Temperature = 273.15 * kelvin;
107  constexpr double STP_Pressure = 1. * atmosphere;
108  constexpr double kGasThreshold = 10. * mg / cm3;
109 
110  constexpr double universe_mean_density = 1.e-25 * g / cm3;
111 
112  } // namespace Units
113 } // namespace Gaudi
114 
115 #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:94
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:92
constexpr double classic_electr_radius
constexpr double amu