Geant4 Cross Reference |
1 // -*- C++ -*- 1 // -*- C++ -*- 2 // ------------------------------------------- 2 // ---------------------------------------------------------------------- 3 // HEP coherent Physical Constants 3 // HEP coherent Physical Constants 4 // 4 // 5 // This file has been provided by Geant4 (simu 5 // This file has been provided by Geant4 (simulation toolkit for HEP). 6 // 6 // 7 // The basic units are : 7 // The basic units are : 8 // millimeter 8 // millimeter 9 // nanosecond 9 // nanosecond 10 // Mega electron Volt 10 // Mega electron Volt 11 // positon charge 11 // positon charge 12 // degree Kelvin 12 // degree Kelvin 13 // amount of substance (mole) 13 // amount of substance (mole) 14 // luminous intensity (candela) 14 // luminous intensity (candela) 15 // radian 15 // radian 16 // steradian 16 // steradian 17 // 17 // 18 // Below is a non exhaustive list of Physical 18 // Below is a non exhaustive list of Physical CONSTANTS, 19 // computed in the Internal HEP System Of Unit 19 // computed in the Internal HEP System Of Units. 20 // 20 // 21 // Most of them are extracted from the Particl 21 // Most of them are extracted from the Particle Data Book : 22 // Phys. Rev. D volume 50 3-1 (1994) p 22 // Phys. Rev. D volume 50 3-1 (1994) page 1233 23 // 23 // 24 // ...with a meaningful (?) name ... 24 // ...with a meaningful (?) name ... 25 // 25 // 26 // You can add your own constants. 26 // You can add your own constants. 27 // 27 // 28 // Author: M.Maire 28 // Author: M.Maire 29 // 29 // 30 // History: 30 // History: 31 // 31 // 32 // 23.02.96 Created 32 // 23.02.96 Created 33 // 26.03.96 Added constants for standard condi 33 // 26.03.96 Added constants for standard conditions of temperature 34 // and pressure; also added Gas thres 34 // and pressure; also added Gas threshold. 35 // 29.04.08 Use PDG 2006 values 35 // 29.04.08 Use PDG 2006 values 36 // 03.11.08 Use PDG 2008 values 36 // 03.11.08 Use PDG 2008 values 37 // 17.07.20 Use PDG 2019 values 37 // 17.07.20 Use PDG 2019 values 38 // 06.05.21 Added Bohr_magneton and nuclear_ma 38 // 06.05.21 Added Bohr_magneton and nuclear_magneton constants 39 39 40 #ifndef HEP_PHYSICAL_CONSTANTS_H 40 #ifndef HEP_PHYSICAL_CONSTANTS_H 41 #define HEP_PHYSICAL_CONSTANTS_H 41 #define HEP_PHYSICAL_CONSTANTS_H 42 42 43 #include "CLHEP/Units/SystemOfUnits.h" 43 #include "CLHEP/Units/SystemOfUnits.h" 44 44 45 namespace CLHEP { 45 namespace CLHEP { 46 46 47 // 47 // 48 // 48 // 49 // 49 // 50 static constexpr double Avogadro = 6.02214076e 50 static constexpr double Avogadro = 6.02214076e+23/mole; 51 51 52 // 52 // 53 // c = 299.792458 mm/ns 53 // c = 299.792458 mm/ns 54 // c^2 = 898.7404 (mm/ns)^2 54 // c^2 = 898.7404 (mm/ns)^2 55 // 55 // 56 static constexpr double c_light = 2.99792458 56 static constexpr double c_light = 2.99792458e+8 * m/s; 57 static constexpr double c_squared = c_light * 57 static constexpr double c_squared = c_light * c_light; 58 58 59 // 59 // 60 // h = 4.13566e-12 MeV*ns 60 // h = 4.13566e-12 MeV*ns 61 // hbar = 6.58212e-13 MeV*ns 61 // hbar = 6.58212e-13 MeV*ns 62 // hbarc = 197.32705e-12 MeV*mm 62 // hbarc = 197.32705e-12 MeV*mm 63 // 63 // 64 static constexpr double h_Planck = 6.6260 64 static constexpr double h_Planck = 6.62607015e-34 * joule*s; 65 static constexpr double hbar_Planck = h_Plan 65 static constexpr double hbar_Planck = h_Planck/twopi; 66 static constexpr double hbarc = hbar_P 66 static constexpr double hbarc = hbar_Planck * c_light; 67 static constexpr double hbarc_squared = hbarc 67 static constexpr double hbarc_squared = hbarc * hbarc; 68 68 69 // 69 // 70 // 70 // 71 // 71 // 72 static constexpr double electron_charge = - ep 72 static constexpr double electron_charge = - eplus; // see SystemOfUnits.h 73 static constexpr double e_squared = eplus * ep 73 static constexpr double e_squared = eplus * eplus; 74 74 75 // 75 // 76 // amu_c2 - atomic equivalent mass unit 76 // amu_c2 - atomic equivalent mass unit 77 // - AKA, unified atomic mass unit (u) 77 // - AKA, unified atomic mass unit (u) 78 // amu - atomic mass unit 78 // amu - atomic mass unit 79 // 79 // 80 static constexpr double electron_mass_c2 = 0.5 80 static constexpr double electron_mass_c2 = 0.510998910 * MeV; 81 static constexpr double proton_mass_c2 = 938 81 static constexpr double proton_mass_c2 = 938.272013 * MeV; 82 static constexpr double neutron_mass_c2 = 939 82 static constexpr double neutron_mass_c2 = 939.56536 * MeV; 83 static constexpr double amu_c2 = 931 83 static constexpr double amu_c2 = 931.494028 * MeV; 84 static constexpr double amu = amu 84 static constexpr double amu = amu_c2/c_squared; 85 85 86 // 86 // 87 // permeability of free space mu0 = 2.01334 87 // permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm 88 // permittivity of free space epsil0 = 5.52636 88 // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm) 89 // 89 // 90 static constexpr double mu0 = 4*pi*1.e-7 90 static constexpr double mu0 = 4*pi*1.e-7 * henry/m; 91 static constexpr double epsilon0 = 1./(c_squar 91 static constexpr double epsilon0 = 1./(c_squared*mu0); 92 92 93 // 93 // 94 // electromagnetic coupling = 1.43996e-12 MeV* 94 // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2) 95 // 95 // 96 static constexpr double elm_coupling 96 static constexpr double elm_coupling = e_squared/(4*pi*epsilon0); 97 static constexpr double fine_structure_const 97 static constexpr double fine_structure_const = elm_coupling/hbarc; 98 static constexpr double classic_electr_radius 98 static constexpr double classic_electr_radius = elm_coupling/electron_mass_c2; 99 static constexpr double electron_Compton_lengt 99 static constexpr double electron_Compton_length = hbarc/electron_mass_c2; 100 static constexpr double Bohr_radius = electron 100 static constexpr double Bohr_radius = electron_Compton_length/fine_structure_const; 101 101 102 static constexpr double alpha_rcl2 = fine_stru 102 static constexpr double alpha_rcl2 = fine_structure_const 103 *classic_el 103 *classic_electr_radius 104 *classic_el 104 *classic_electr_radius; 105 105 106 static constexpr double twopi_mc2_rcl2 = twopi 106 static constexpr double twopi_mc2_rcl2 = twopi*electron_mass_c2 107 * 107 *classic_electr_radius 108 * 108 *classic_electr_radius; 109 109 110 static constexpr double Bohr_magneton = (eplus 110 static constexpr double Bohr_magneton = (eplus*hbarc*c_light)/(2*electron_mass_c2); 111 static constexpr double nuclear_magneton = (ep 111 static constexpr double nuclear_magneton = (eplus*hbarc*c_light)/(2*proton_mass_c2); 112 112 113 // 113 // 114 // 114 // 115 // 115 // 116 static constexpr double k_Boltzmann = 8.617333 116 static constexpr double k_Boltzmann = 8.617333e-11 * MeV/kelvin; 117 117 118 // 118 // 119 // 119 // 120 // 120 // 121 static constexpr double STP_Temperature = 273. 121 static constexpr double STP_Temperature = 273.15*kelvin; 122 static constexpr double STP_Pressure = 1.*a 122 static constexpr double STP_Pressure = 1.*atmosphere; 123 static constexpr double kGasThreshold = 10.* 123 static constexpr double kGasThreshold = 10.*mg/cm3; 124 124 125 // 125 // 126 // 126 // 127 // 127 // 128 static constexpr double universe_mean_density 128 static constexpr double universe_mean_density = 1.e-25*g/cm3; 129 129 130 } // namespace CLHEP 130 } // namespace CLHEP 131 131 132 #endif /* HEP_PHYSICAL_CONSTANTS_H */ 132 #endif /* HEP_PHYSICAL_CONSTANTS_H */ 133 133 134 134 135 135 136 136 137 137 138 138