CLHEP VERSION Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

Units/Units/PhysicalConstants.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id: PhysicalConstants.h,v 1.4 2010/06/16 17:12:28 garren Exp $
3 // ----------------------------------------------------------------------
4 // HEP coherent Physical Constants
5 //
6 // This file has been provided by Geant4 (simulation toolkit for HEP).
7 //
8 // The basic units are :
9 // millimeter
10 // nanosecond
11 // Mega electron Volt
12 // positon charge
13 // degree Kelvin
14 // amount of substance (mole)
15 // luminous intensity (candela)
16 // radian
17 // steradian
18 //
19 // Below is a non exhaustive list of Physical CONSTANTS,
20 // computed in the Internal HEP System Of Units.
21 //
22 // Most of them are extracted from the Particle Data Book :
23 // Phys. Rev. D volume 50 3-1 (1994) page 1233
24 //
25 // ...with a meaningful (?) name ...
26 //
27 // You can add your own constants.
28 //
29 // Author: M.Maire
30 //
31 // History:
32 //
33 // 23.02.96 Created
34 // 26.03.96 Added constants for standard conditions of temperature
35 // and pressure; also added Gas threshold.
36 // 29.04.08 use PDG 2006 values
37 // 03.11.08 use PDG 2008 values
38 
39 #ifndef HEP_PHYSICAL_CONSTANTS_H
40 #define HEP_PHYSICAL_CONSTANTS_H
41 
42 #include "CLHEP/Units/defs.h"
43 #include "CLHEP/Units/SystemOfUnits.h"
44 
45 namespace CLHEP {
46 
47 //
48 //
49 //
50 static const double pi = 3.14159265358979323846;
51 static const double twopi = 2*pi;
52 static const double halfpi = pi/2;
53 static const double pi2 = pi*pi;
54 
55 //
56 //
57 //
58 static const double Avogadro = 6.02214179e+23/mole;
59 
60 //
61 // c = 299.792458 mm/ns
62 // c^2 = 898.7404 (mm/ns)^2
63 //
64 static const double c_light = 2.99792458e+8 * m/s;
65 static const double c_squared = c_light * c_light;
66 
67 //
68 // h = 4.13566e-12 MeV*ns
69 // hbar = 6.58212e-13 MeV*ns
70 // hbarc = 197.32705e-12 MeV*mm
71 //
72 static const double h_Planck = 6.62606896e-34 * joule*s;
73 static const double hbar_Planck = h_Planck/twopi;
74 static const double hbarc = hbar_Planck * c_light;
75 static const double hbarc_squared = hbarc * hbarc;
76 
77 //
78 //
79 //
80 static const double electron_charge = - eplus; // see SystemOfUnits.h
81 static const double e_squared = eplus * eplus;
82 
83 //
84 // amu_c2 - atomic equivalent mass unit
85 // - AKA, unified atomic mass unit (u)
86 // amu - atomic mass unit
87 //
88 static const double electron_mass_c2 = 0.510998910 * MeV;
89 static const double proton_mass_c2 = 938.272013 * MeV;
90 static const double neutron_mass_c2 = 939.56536 * MeV;
91 static const double amu_c2 = 931.494028 * MeV;
92 static const double amu = amu_c2/c_squared;
93 
94 //
95 // permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm
96 // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
97 //
98 static const double mu0 = 4*pi*1.e-7 * henry/m;
99 static const double epsilon0 = 1./(c_squared*mu0);
100 
101 //
102 // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
103 //
104 static const double elm_coupling = e_squared/(4*pi*epsilon0);
105 static const double fine_structure_const = elm_coupling/hbarc;
106 static const double classic_electr_radius = elm_coupling/electron_mass_c2;
107 static const double electron_Compton_length = hbarc/electron_mass_c2;
108 static const double Bohr_radius = electron_Compton_length/fine_structure_const;
109 
110 static const double alpha_rcl2 = fine_structure_const
111  *classic_electr_radius
112  *classic_electr_radius;
113 
114 static const double twopi_mc2_rcl2 = twopi*electron_mass_c2
115  *classic_electr_radius
116  *classic_electr_radius;
117 //
118 //
119 //
120 static const double k_Boltzmann = 8.617343e-11 * MeV/kelvin;
121 
122 //
123 //
124 //
125 static const double STP_Temperature = 273.15*kelvin;
126 static const double STP_Pressure = 1.*atmosphere;
127 static const double kGasThreshold = 10.*mg/cm3;
128 
129 //
130 //
131 //
132 static const double universe_mean_density = 1.e-25*g/cm3;
133 
134 } // namespace CLHEP
135 
136 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
137 // backwards compatibility will be enabled ONLY in CLHEP 1.9
138 using namespace CLHEP;
139 #endif
140 
141 #endif /* HEP_PHYSICAL_CONSTANTS_H */
142 
143 
144 
145 
146 
g
int g(shared_ptr< X >)
Definition: testSharedPtrConvertible.cc:46
CLHEP
Definition: ClhepVersion.h:13
s
Methods applicble to containers of as in std::list< LorentzVector > s
Definition: keyMergeIssues.doc:328
n_constructors::m
int m
Definition: testSharedPtr.cc:370