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 << 38 // 06.05.21 Added Bohr_magneton and nuclear_ma << 39 37 40 #ifndef HEP_PHYSICAL_CONSTANTS_H 38 #ifndef HEP_PHYSICAL_CONSTANTS_H 41 #define HEP_PHYSICAL_CONSTANTS_H 39 #define HEP_PHYSICAL_CONSTANTS_H 42 40 43 #include "CLHEP/Units/SystemOfUnits.h" 41 #include "CLHEP/Units/SystemOfUnits.h" 44 42 45 namespace CLHEP { 43 namespace CLHEP { 46 44 47 // 45 // 48 // 46 // 49 // 47 // 50 static constexpr double Avogadro = 6.02214076e << 48 static constexpr double Avogadro = 6.02214179e+23/mole; 51 49 52 // 50 // 53 // c = 299.792458 mm/ns 51 // c = 299.792458 mm/ns 54 // c^2 = 898.7404 (mm/ns)^2 52 // c^2 = 898.7404 (mm/ns)^2 55 // 53 // 56 static constexpr double c_light = 2.99792458 54 static constexpr double c_light = 2.99792458e+8 * m/s; 57 static constexpr double c_squared = c_light * 55 static constexpr double c_squared = c_light * c_light; 58 56 59 // 57 // 60 // h = 4.13566e-12 MeV*ns 58 // h = 4.13566e-12 MeV*ns 61 // hbar = 6.58212e-13 MeV*ns 59 // hbar = 6.58212e-13 MeV*ns 62 // hbarc = 197.32705e-12 MeV*mm 60 // hbarc = 197.32705e-12 MeV*mm 63 // 61 // 64 static constexpr double h_Planck = 6.6260 << 62 static constexpr double h_Planck = 6.62606896e-34 * joule*s; 65 static constexpr double hbar_Planck = h_Plan 63 static constexpr double hbar_Planck = h_Planck/twopi; 66 static constexpr double hbarc = hbar_P 64 static constexpr double hbarc = hbar_Planck * c_light; 67 static constexpr double hbarc_squared = hbarc 65 static constexpr double hbarc_squared = hbarc * hbarc; 68 66 69 // 67 // 70 // 68 // 71 // 69 // 72 static constexpr double electron_charge = - ep 70 static constexpr double electron_charge = - eplus; // see SystemOfUnits.h 73 static constexpr double e_squared = eplus * ep 71 static constexpr double e_squared = eplus * eplus; 74 72 75 // 73 // 76 // amu_c2 - atomic equivalent mass unit 74 // amu_c2 - atomic equivalent mass unit 77 // - AKA, unified atomic mass unit (u) 75 // - AKA, unified atomic mass unit (u) 78 // amu - atomic mass unit 76 // amu - atomic mass unit 79 // 77 // 80 static constexpr double electron_mass_c2 = 0.5 78 static constexpr double electron_mass_c2 = 0.510998910 * MeV; 81 static constexpr double proton_mass_c2 = 938 79 static constexpr double proton_mass_c2 = 938.272013 * MeV; 82 static constexpr double neutron_mass_c2 = 939 80 static constexpr double neutron_mass_c2 = 939.56536 * MeV; 83 static constexpr double amu_c2 = 931 81 static constexpr double amu_c2 = 931.494028 * MeV; 84 static constexpr double amu = amu 82 static constexpr double amu = amu_c2/c_squared; 85 83 86 // 84 // 87 // permeability of free space mu0 = 2.01334 85 // permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm 88 // permittivity of free space epsil0 = 5.52636 86 // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm) 89 // 87 // 90 static constexpr double mu0 = 4*pi*1.e-7 88 static constexpr double mu0 = 4*pi*1.e-7 * henry/m; 91 static constexpr double epsilon0 = 1./(c_squar 89 static constexpr double epsilon0 = 1./(c_squared*mu0); 92 90 93 // 91 // 94 // electromagnetic coupling = 1.43996e-12 MeV* 92 // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2) 95 // 93 // 96 static constexpr double elm_coupling 94 static constexpr double elm_coupling = e_squared/(4*pi*epsilon0); 97 static constexpr double fine_structure_const 95 static constexpr double fine_structure_const = elm_coupling/hbarc; 98 static constexpr double classic_electr_radius 96 static constexpr double classic_electr_radius = elm_coupling/electron_mass_c2; 99 static constexpr double electron_Compton_lengt 97 static constexpr double electron_Compton_length = hbarc/electron_mass_c2; 100 static constexpr double Bohr_radius = electron 98 static constexpr double Bohr_radius = electron_Compton_length/fine_structure_const; 101 99 102 static constexpr double alpha_rcl2 = fine_stru 100 static constexpr double alpha_rcl2 = fine_structure_const 103 *classic_el 101 *classic_electr_radius 104 *classic_el 102 *classic_electr_radius; 105 103 106 static constexpr double twopi_mc2_rcl2 = twopi 104 static constexpr double twopi_mc2_rcl2 = twopi*electron_mass_c2 107 * 105 *classic_electr_radius 108 * 106 *classic_electr_radius; 109 << 110 static constexpr double Bohr_magneton = (eplus << 111 static constexpr double nuclear_magneton = (ep << 112 << 113 // 107 // 114 // 108 // 115 // 109 // 116 static constexpr double k_Boltzmann = 8.617333 << 110 static constexpr double k_Boltzmann = 8.617343e-11 * MeV/kelvin; 117 111 118 // 112 // 119 // 113 // 120 // 114 // 121 static constexpr double STP_Temperature = 273. 115 static constexpr double STP_Temperature = 273.15*kelvin; 122 static constexpr double STP_Pressure = 1.*a 116 static constexpr double STP_Pressure = 1.*atmosphere; 123 static constexpr double kGasThreshold = 10.* 117 static constexpr double kGasThreshold = 10.*mg/cm3; 124 118 125 // 119 // 126 // 120 // 127 // 121 // 128 static constexpr double universe_mean_density 122 static constexpr double universe_mean_density = 1.e-25*g/cm3; 129 123 130 } // namespace CLHEP 124 } // namespace CLHEP 131 125 132 #endif /* HEP_PHYSICAL_CONSTANTS_H */ 126 #endif /* HEP_PHYSICAL_CONSTANTS_H */ 133 127 134 128 135 129 136 130 137 131 138 132