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