CLHEP 2.4.6.4
C++ Class Library for High Energy Physics
Loading...
Searching...
No Matches
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// 17.07.20 Use PDG 2019 values
39// 06.05.21 Added Bohr_magneton and nuclear_magneton constants
40
41#ifndef HEP_PHYSICAL_CONSTANTS_H
42#define HEP_PHYSICAL_CONSTANTS_H
43
44#include "CLHEP/Units/defs.h"
45#include "CLHEP/Units/SystemOfUnits.h"
46
47namespace CLHEP {
48
49//
50//
51//
52static constexpr double Avogadro = 6.02214076e+23/mole;
53
54//
55// c = 299.792458 mm/ns
56// c^2 = 898.7404 (mm/ns)^2
57//
58static constexpr double c_light = 2.99792458e+8 * m/s;
59static constexpr double c_squared = c_light * c_light;
60
61//
62// h = 4.13566e-12 MeV*ns
63// hbar = 6.58212e-13 MeV*ns
64// hbarc = 197.32705e-12 MeV*mm
65//
66static constexpr double h_Planck = 6.62607015e-34 * joule*s;
67static constexpr double hbar_Planck = h_Planck/twopi;
68static constexpr double hbarc = hbar_Planck * c_light;
69static constexpr double hbarc_squared = hbarc * hbarc;
70
71//
72//
73//
74static constexpr double electron_charge = - eplus; // see SystemOfUnits.h
75static constexpr double e_squared = eplus * eplus;
76
77//
78// amu_c2 - atomic equivalent mass unit
79// - AKA, unified atomic mass unit (u)
80// amu - atomic mass unit
81//
82static constexpr double electron_mass_c2 = 0.510998910 * MeV;
83static constexpr double proton_mass_c2 = 938.272013 * MeV;
84static constexpr double neutron_mass_c2 = 939.56536 * MeV;
85static constexpr double amu_c2 = 931.494028 * MeV;
86static constexpr double amu = amu_c2/c_squared;
87
88//
89// permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm
90// permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
91//
92static constexpr double mu0 = 4*pi*1.e-7 * henry/m;
93static constexpr double epsilon0 = 1./(c_squared*mu0);
94
95//
96// electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
97//
98static constexpr double elm_coupling = e_squared/(4*pi*epsilon0);
99static constexpr double fine_structure_const = elm_coupling/hbarc;
100static constexpr double classic_electr_radius = elm_coupling/electron_mass_c2;
101static constexpr double electron_Compton_length = hbarc/electron_mass_c2;
102static constexpr double Bohr_radius = electron_Compton_length/fine_structure_const;
103
104static constexpr double alpha_rcl2 = fine_structure_const
105 *classic_electr_radius
106 *classic_electr_radius;
107
108static constexpr double twopi_mc2_rcl2 = twopi*electron_mass_c2
109 *classic_electr_radius
110 *classic_electr_radius;
111
112static constexpr double Bohr_magneton = (eplus*hbarc*c_light)/(2*electron_mass_c2);
113static constexpr double nuclear_magneton = (eplus*hbarc*c_light)/(2*proton_mass_c2);
114
115//
116//
117//
118static constexpr double k_Boltzmann = 8.617333e-11 * MeV/kelvin;
119
120//
121//
122//
123static constexpr double STP_Temperature = 273.15*kelvin;
124static constexpr double STP_Pressure = 1.*atmosphere;
125static constexpr double kGasThreshold = 10.*mg/cm3;
126
127//
128//
129//
130static constexpr double universe_mean_density = 1.e-25*g/cm3;
131
132} // namespace CLHEP
133
134#ifdef ENABLE_BACKWARDS_COMPATIBILITY
135// backwards compatibility will be enabled ONLY in CLHEP 1.9
136using namespace CLHEP;
137#endif
138
139#endif /* HEP_PHYSICAL_CONSTANTS_H */
140
141
142
143
144
int g(shared_ptr< X >)