]>
Commit | Line | Data |
---|---|---|
1 | /*************************************************************************** | |
2 | * | |
3 | * $Id$ | |
4 | * | |
5 | * Author: CLHEP (see below) | |
6 | *************************************************************************** | |
7 | * | |
8 | * Description: Taken as-is from CLHEP. | |
9 | * Modified original CVS-Id to retain version info. | |
10 | *************************************************************************** | |
11 | * | |
12 | * $Log$ | |
13 | * Revision 1.1.1.1 2007/04/25 15:38:41 panos | |
14 | * Importing the HBT code dir | |
15 | * | |
16 | * Revision 1.1.1.1 2007/03/07 10:14:49 mchojnacki | |
17 | * First version on CVS | |
18 | * | |
19 | * Revision 1.2 1999/02/22 16:52:47 didenko | |
20 | * updates from Gene | |
21 | * | |
22 | * Revision 1.1 1999/01/30 03:58:59 fisyak | |
23 | * Root Version of StarClassLibrary | |
24 | * | |
25 | * Revision 1.1 1999/01/23 00:27:34 ullrich | |
26 | * Initial Revision | |
27 | * | |
28 | **************************************************************************/ | |
29 | ||
30 | #ifndef HEP_PHYSICAL_CONSTANTS_H | |
31 | #define HEP_PHYSICAL_CONSTANTS_H | |
32 | ||
33 | #include "SystemOfUnits.h" | |
34 | ||
35 | #ifndef ST_NO_NAMESPACES | |
36 | using namespace std; | |
37 | using namespace units; | |
38 | #endif | |
39 | ||
40 | #include <math.h> | |
41 | #include <cmath> | |
42 | ||
43 | // | |
44 | #ifndef M_PI | |
45 | #define M_PI 3.14159265358979312 | |
46 | #endif | |
47 | // | |
48 | //#ifdef MACOSX | |
49 | //extern const double pi; // from <math.h> | |
50 | //#else | |
51 | static const double pi = M_PI; // from <math.h> | |
52 | //#endif | |
53 | static const double twopi = 2*pi; | |
54 | static const double halfpi = pi/2; | |
55 | static const double pi2 = pi*pi; | |
56 | ||
57 | // | |
58 | // | |
59 | // | |
60 | static const double Avogadro = 6.0221367e+23/mole; | |
61 | ||
62 | // | |
63 | // c = 299.792458 mm/ns | |
64 | // c^2 = 898.7404 (mm/ns)^2 | |
65 | // | |
66 | static const double c_light = 2.99792458e+8 * meter/second; | |
67 | static const double c_squared = c_light * c_light; | |
68 | ||
69 | // | |
70 | // h = 4.13566e-12 MeV*ns | |
71 | // hbar = 6.58212e-13 MeV*ns | |
72 | // hbarc = 197.32705e-12 MeV*mm | |
73 | // | |
74 | static const double h_Planck = 6.6260755e-34 * joule*second; | |
75 | static const double hbar_Planck = h_Planck/twopi; | |
76 | static const double hbarc = hbar_Planck * c_light; | |
77 | static const double hbarc_squared = hbarc * hbarc; | |
78 | ||
79 | // | |
80 | // | |
81 | // | |
82 | static const double electron_charge = - eplus; // see SystemOfUnits.h | |
83 | static const double e_squared = eplus * eplus; | |
84 | ||
85 | // | |
86 | // amu_c2 - atomic equivalent mass unit | |
87 | // amu - atomic mass unit | |
88 | // | |
89 | static const double electron_mass_c2 = 0.51099906 * MeV; | |
90 | static const double proton_mass_c2 = 938.27231 * MeV; | |
91 | static const double neutron_mass_c2 = 939.56563 * MeV; | |
92 | static const double amu_c2 = 931.49432 * MeV; | |
93 | static const double amu = amu_c2/c_squared; | |
94 | ||
95 | static const double kaon_0_short_mass_c2 = 497.672 * MeV; | |
96 | static const double pion_plus_mass_c2 = 139.5700 * MeV; | |
97 | static const double pion_minus_mass_c2 = 139.5700 * MeV; | |
98 | static const double lambda_mass_c2 = 1115.684 * MeV; | |
99 | static const double antilambda_mass_c2 = 1115.684 * MeV; | |
100 | static const double xi_minus_mass_c2 = 1321.32 * MeV; | |
101 | ||
102 | ||
103 | // | |
104 | // permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm | |
105 | // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm) | |
106 | // | |
107 | static const double mu0 = 4*pi*1.e-7 * henry/meter; | |
108 | static const double epsilon0 = 1./(c_squared*mu0); | |
109 | ||
110 | // | |
111 | // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2) | |
112 | // | |
113 | static const double elm_coupling = e_squared/(4*pi*epsilon0); | |
114 | static const double fine_structure_const = elm_coupling/hbarc; | |
115 | static const double classic_electr_radius = elm_coupling/electron_mass_c2; | |
116 | static const double electron_Compton_length = hbarc/electron_mass_c2; | |
117 | static const double Bohr_radius = electron_Compton_length/fine_structure_const; | |
118 | ||
119 | static const double alpha_rcl2 = fine_structure_const | |
120 | *classic_electr_radius | |
121 | *classic_electr_radius; | |
122 | ||
123 | static const double twopi_mc2_rcl2 = twopi*electron_mass_c2 | |
124 | *classic_electr_radius | |
125 | *classic_electr_radius; | |
126 | // | |
127 | // | |
128 | // | |
129 | static const double k_Boltzmann = 8.617385e-11 * MeV/kelvin; | |
130 | ||
131 | // | |
132 | // | |
133 | // | |
134 | static const double STP_Temperature = 273.15*kelvin; | |
135 | static const double STP_Pressure = 1.*atmosphere; | |
136 | static const double kGasThreshold = 1.e-2*gram/centimeter3; | |
137 | ||
138 | #endif /* HEP_PHYSICAL_CONSTANTS_H */ | |
139 | ||
140 | ||
141 | ||
142 | ||
143 |