source: trunk/CLHEP/Units/PhysicalConstants.h@ 10

Last change on this file since 10 was 4, checked in by Pavel Demin, 17 years ago

first commit

File size: 3.8 KB
RevLine 
[4]1// -*- C++ -*-
2// $Id: PhysicalConstants.h,v 1.1 2008-06-04 14:14:54 demin 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
37#ifndef HEP_PHYSICAL_CONSTANTS_H
38#define HEP_PHYSICAL_CONSTANTS_H
39
40#include "CLHEP/Units/defs.h"
41#include "CLHEP/Units/SystemOfUnits.h"
42
43namespace CLHEP {
44
45//
46//
47//
48static const double pi = 3.14159265358979323846;
49static const double twopi = 2*pi;
50static const double halfpi = pi/2;
51static const double pi2 = pi*pi;
52
53//
54//
55//
56static const double Avogadro = 6.0221367e+23/mole;
57
58//
59// c = 299.792458 mm/ns
60// c^2 = 898.7404 (mm/ns)^2
61//
62static const double c_light = 2.99792458e+8 * m/s;
63static const double c_squared = c_light * c_light;
64
65//
66// h = 4.13566e-12 MeV*ns
67// hbar = 6.58212e-13 MeV*ns
68// hbarc = 197.32705e-12 MeV*mm
69//
70static const double h_Planck = 6.6260755e-34 * joule*s;
71static const double hbar_Planck = h_Planck/twopi;
72static const double hbarc = hbar_Planck * c_light;
73static const double hbarc_squared = hbarc * hbarc;
74
75//
76//
77//
78static const double electron_charge = - eplus; // see SystemOfUnits.h
79static const double e_squared = eplus * eplus;
80
81//
82// amu_c2 - atomic equivalent mass unit
83// amu - atomic mass unit
84//
85static const double electron_mass_c2 = 0.51099906 * MeV;
86static const double proton_mass_c2 = 938.27231 * MeV;
87static const double neutron_mass_c2 = 939.56563 * MeV;
88static const double amu_c2 = 931.49432 * MeV;
89static const double amu = amu_c2/c_squared;
90
91//
92// permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm
93// permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
94//
95static const double mu0 = 4*pi*1.e-7 * henry/m;
96static const double epsilon0 = 1./(c_squared*mu0);
97
98//
99// electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
100//
101static const double elm_coupling = e_squared/(4*pi*epsilon0);
102static const double fine_structure_const = elm_coupling/hbarc;
103static const double classic_electr_radius = elm_coupling/electron_mass_c2;
104static const double electron_Compton_length = hbarc/electron_mass_c2;
105static const double Bohr_radius = electron_Compton_length/fine_structure_const;
106
107static const double alpha_rcl2 = fine_structure_const
108 *classic_electr_radius
109 *classic_electr_radius;
110
111static const double twopi_mc2_rcl2 = twopi*electron_mass_c2
112 *classic_electr_radius
113 *classic_electr_radius;
114//
115//
116//
117static const double k_Boltzmann = 8.617385e-11 * MeV/kelvin;
118
119//
120//
121//
122static const double STP_Temperature = 273.15*kelvin;
123static const double STP_Pressure = 1.*atmosphere;
124static const double kGasThreshold = 10.*mg/cm3;
125
126//
127//
128//
129static const double universe_mean_density = 1.e-25*g/cm3;
130
131} // namespace CLHEP
132
133#ifdef ENABLE_BACKWARDS_COMPATIBILITY
134// backwards compatibility will be enabled ONLY in CLHEP 1.9
135using namespace CLHEP;
136#endif
137
138#endif /* HEP_PHYSICAL_CONSTANTS_H */
139
140
141
142
143
Note: See TracBrowser for help on using the repository browser.