PhysicalConstants.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. //#ifdef _VANILLA_ROOT_
  2. #ifndef HEP_PHYSICAL_CONSTANTS_H
  3. #ifndef __CINT__
  4. #define HEP_PHYSICAL_CONSTANTS_H
  5. // ROOT headers
  6. #include "TMath.h"
  7. // StHbtMaker headers
  8. #include "SystemOfUnits.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. // return
  91. // pi
  92. // + halfpi
  93. // + pi2
  94. // + Avogadro
  95. // + c_light
  96. // + c_squared
  97. // + h_Planck
  98. // + hbar_Planck
  99. // + hbarc
  100. // + hbarc_squared
  101. // + electron_charge
  102. // + electron_mass_c2
  103. // + proton_mass_c2
  104. // + neutron_mass_c2
  105. // + amu_c2
  106. // + kaon_0_short_mass_c2
  107. // + pion_plus_mass_c2
  108. // + pion_minus_mass_c2
  109. // + lambda_mass_c2
  110. // + antilambda_mass_c2
  111. // + xi_minus_mass_c2
  112. // + mu0
  113. // + epsilon0
  114. // + elm_coupling
  115. // + fine_structure_const
  116. // + classic_electr_radius
  117. // + electron_Compton_length
  118. // + Bohr_radius
  119. // + alpha_rcl2
  120. // + twopi_mc2_rcl2
  121. // + k_Boltzmann
  122. // + STP_Temperature
  123. // + STP_Pressure
  124. // + kGasThreshold;
  125. //}
  126. #endif /* HEP_PHYSICAL_CONSTANTS_H */
  127. //#endif // #ifdef _VANILLA_ROOT_