PhysicalConstants.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. #ifdef _VANILLA_ROOT_
  2. #ifndef HEP_PHYSICAL_CONSTANTS_H
  3. #ifndef __CINT__
  4. #define HEP_PHYSICAL_CONSTANTS_H
  5. // FemtoDst headers
  6. #include "SystemOfUnits.h"
  7. // ROOT headers
  8. #include "TMath.h"
  9. #ifndef ST_NO_NAMESPACES
  10. using namespace units;
  11. #endif
  12. //
  13. //
  14. //
  15. static const double pi = TMath::Pi(); // from <math.h>
  16. static const double twopi = 2*pi;
  17. static const double halfpi = pi/2;
  18. static const double pi2 = pi*pi;
  19. //
  20. //
  21. //
  22. static const double Avogadro = 6.0221367e+23/mole;
  23. //
  24. // c = 299.792458 mm/ns
  25. // c^2 = 898.7404 (mm/ns)^2
  26. //
  27. static const double c_light = 2.99792458e+8 * meter/second;
  28. static const double c_squared = c_light * c_light;
  29. //
  30. // h = 4.13566e-12 MeV*ns
  31. // hbar = 6.58212e-13 MeV*ns
  32. // hbarc = 197.32705e-12 MeV*mm
  33. //
  34. static const double h_Planck = 6.6260755e-34 * joule*second;
  35. static const double hbar_Planck = h_Planck/twopi;
  36. static const double hbarc = hbar_Planck * c_light;
  37. static const double hbarc_squared = hbarc * hbarc;
  38. //
  39. //
  40. //
  41. static const double electron_charge = - eplus; // see SystemOfUnits.h
  42. static const double e_squared = eplus * eplus;
  43. //
  44. // amu_c2 - atomic equivalent mass unit
  45. // amu - atomic mass unit
  46. //
  47. static const double electron_mass_c2 = 0.51099906 * MeV;
  48. static const double proton_mass_c2 = 938.27231 * MeV;
  49. static const double neutron_mass_c2 = 939.56563 * MeV;
  50. static const double amu_c2 = 931.49432 * MeV;
  51. //VP static const double amu = amu_c2/c_squared; //same name in SystemOfUnits.h
  52. static const double kaon_0_short_mass_c2 = 497.672 * MeV;
  53. static const double pion_plus_mass_c2 = 139.5700 * MeV;
  54. static const double pion_minus_mass_c2 = 139.5700 * MeV;
  55. static const double lambda_mass_c2 = 1115.684 * MeV;
  56. static const double antilambda_mass_c2 = 1115.684 * MeV;
  57. static const double xi_minus_mass_c2 = 1321.32 * MeV;
  58. //
  59. // permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm
  60. // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
  61. //
  62. static const double mu0 = 4*pi*1.e-7 * henry/meter;
  63. static const double epsilon0 = 1./(c_squared*mu0);
  64. //
  65. // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
  66. //
  67. static const double elm_coupling = e_squared/(4*pi*epsilon0);
  68. static const double fine_structure_const = elm_coupling/hbarc;
  69. static const double classic_electr_radius = elm_coupling/electron_mass_c2;
  70. static const double electron_Compton_length = hbarc/electron_mass_c2;
  71. static const double Bohr_radius = electron_Compton_length/fine_structure_const;
  72. static const double alpha_rcl2 = fine_structure_const
  73. *classic_electr_radius
  74. *classic_electr_radius;
  75. static const double twopi_mc2_rcl2 = twopi*electron_mass_c2
  76. *classic_electr_radius
  77. *classic_electr_radius;
  78. //
  79. //
  80. //
  81. static const double k_Boltzmann = 8.617385e-11 * MeV/kelvin;
  82. //
  83. //
  84. //
  85. static const double STP_Temperature = 273.15*kelvin;
  86. static const double STP_Pressure = 1.*atmosphere;
  87. static const double kGasThreshold = 1.e-2*gram/centimeter3;
  88. #endif /* !__CINT__ */
  89. inline int dummyPhysicalConstants()
  90. {
  91. return
  92. pi
  93. +halfpi
  94. +pi2
  95. +Avogadro
  96. +c_light
  97. +c_squared
  98. +h_Planck
  99. +hbar_Planck
  100. +hbarc
  101. +hbarc_squared
  102. +electron_charge
  103. +electron_mass_c2
  104. +proton_mass_c2
  105. +neutron_mass_c2
  106. +amu_c2
  107. +kaon_0_short_mass_c2
  108. +pion_plus_mass_c2
  109. +pion_minus_mass_c2
  110. +lambda_mass_c2
  111. +antilambda_mass_c2
  112. +xi_minus_mass_c2
  113. +mu0
  114. +epsilon0
  115. +elm_coupling
  116. +fine_structure_const
  117. +classic_electr_radius
  118. +electron_Compton_length
  119. +Bohr_radius
  120. +alpha_rcl2
  121. +twopi_mc2_rcl2
  122. +k_Boltzmann
  123. +STP_Temperature
  124. +STP_Pressure
  125. +kGasThreshold;
  126. }
  127. #endif // HEP_PHYSICAL_CONSTANTS_H
  128. #endif // _VANILLA_ROOT_