Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:54:39

0001 // -*- C++ -*-
0002 // $Id: PhysicalConstants.h,v 1.4 2010/06/16 17:12:28 garren Exp $
0003 // ----------------------------------------------------------------------
0004 // HEP coherent Physical Constants
0005 //
0006 // This file has been provided by Geant4 (simulation toolkit for HEP).
0007 //
0008 // The basic units are :
0009 //          millimeter  
0010 //      nanosecond  
0011 //      Mega electron Volt  
0012 //      positon charge 
0013 //      degree Kelvin
0014 //              amount of substance (mole)
0015 //              luminous intensity (candela)
0016 //      radian  
0017 //              steradian 
0018 //
0019 // Below is a non exhaustive list of Physical CONSTANTS,
0020 // computed in the Internal HEP System Of Units.
0021 //
0022 // Most of them are extracted from the Particle Data Book :
0023 //        Phys. Rev. D  volume 50 3-1 (1994) page 1233
0024 // 
0025 //        ...with a meaningful (?) name ...
0026 //
0027 // You can add your own constants.
0028 //
0029 // Author: M.Maire
0030 //
0031 // History:
0032 //
0033 // 23.02.96 Created
0034 // 26.03.96 Added constants for standard conditions of temperature
0035 //          and pressure; also added Gas threshold.
0036 // 29.04.08 Use PDG 2006 values
0037 // 03.11.08 Use PDG 2008 values
0038 // 17.07.20 Use PDG 2019 values
0039 // 06.05.21 Added Bohr_magneton and nuclear_magneton constants
0040 
0041 #ifndef HEP_PHYSICAL_CONSTANTS_H
0042 #define HEP_PHYSICAL_CONSTANTS_H
0043 
0044 #include "CLHEP/Units/defs.h"
0045 #include "CLHEP/Units/SystemOfUnits.h"
0046 
0047 namespace CLHEP {
0048 
0049 //
0050 // 
0051 //
0052 static constexpr double Avogadro = 6.02214076e+23/mole;
0053 
0054 //
0055 // c   = 299.792458 mm/ns
0056 // c^2 = 898.7404 (mm/ns)^2 
0057 //
0058 static constexpr double c_light   = 2.99792458e+8 * m/s;
0059 static constexpr double c_squared = c_light * c_light;
0060 
0061 //
0062 // h     = 4.13566e-12 MeV*ns
0063 // hbar  = 6.58212e-13 MeV*ns
0064 // hbarc = 197.32705e-12 MeV*mm
0065 //
0066 static constexpr double h_Planck      = 6.62607015e-34 * joule*s;
0067 static constexpr double hbar_Planck   = h_Planck/twopi;
0068 static constexpr double hbarc         = hbar_Planck * c_light;
0069 static constexpr double hbarc_squared = hbarc * hbarc;
0070 
0071 //
0072 //
0073 //
0074 static constexpr double electron_charge = - eplus; // see SystemOfUnits.h
0075 static constexpr double e_squared = eplus * eplus;
0076 
0077 //
0078 // amu_c2 - atomic equivalent mass unit
0079 //        - AKA, unified atomic mass unit (u)
0080 // amu    - atomic mass unit
0081 //
0082 static constexpr double electron_mass_c2 = 0.510998910 * MeV;
0083 static constexpr double   proton_mass_c2 = 938.272013 * MeV;
0084 static constexpr double  neutron_mass_c2 = 939.56536 * MeV;
0085 static constexpr double           amu_c2 = 931.494028 * MeV;
0086 static constexpr double              amu = amu_c2/c_squared;
0087 
0088 //
0089 // permeability of free space mu0    = 2.01334e-16 Mev*(ns*eplus)^2/mm
0090 // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
0091 //
0092 static constexpr double mu0      = 4*pi*1.e-7 * henry/m;
0093 static constexpr double epsilon0 = 1./(c_squared*mu0);
0094 
0095 //
0096 // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
0097 //
0098 static constexpr double elm_coupling           = e_squared/(4*pi*epsilon0);
0099 static constexpr double fine_structure_const   = elm_coupling/hbarc;
0100 static constexpr double classic_electr_radius  = elm_coupling/electron_mass_c2;
0101 static constexpr double electron_Compton_length = hbarc/electron_mass_c2;
0102 static constexpr double Bohr_radius = electron_Compton_length/fine_structure_const;
0103 
0104 static constexpr double alpha_rcl2 = fine_structure_const
0105                                    *classic_electr_radius
0106                                    *classic_electr_radius;
0107 
0108 static constexpr double twopi_mc2_rcl2 = twopi*electron_mass_c2
0109                                              *classic_electr_radius
0110                                              *classic_electr_radius;
0111 
0112 static constexpr double Bohr_magneton = (eplus*hbarc*c_light)/(2*electron_mass_c2);
0113 static constexpr double nuclear_magneton = (eplus*hbarc*c_light)/(2*proton_mass_c2);
0114 
0115 //
0116 //
0117 //
0118 static constexpr double k_Boltzmann = 8.617333e-11 * MeV/kelvin;
0119 
0120 //
0121 //
0122 //
0123 static constexpr double STP_Temperature = 273.15*kelvin;
0124 static constexpr double STP_Pressure    = 1.*atmosphere;
0125 static constexpr double kGasThreshold   = 10.*mg/cm3;
0126 
0127 //
0128 //
0129 //
0130 static constexpr double universe_mean_density = 1.e-25*g/cm3;
0131 
0132 }  // namespace CLHEP
0133 
0134 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
0135 //  backwards compatibility will be enabled ONLY in CLHEP 1.9
0136 using namespace CLHEP;
0137 #endif
0138 
0139 #endif /* HEP_PHYSICAL_CONSTANTS_H */
0140 
0141 
0142 
0143 
0144