Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
PhysicalConstants.h
Go to the documentation of this file.
1// -*- C++ -*-
2// $Id:$
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
43
44namespace CLHEP {
45
46//
47//
48//
49static const double pi = 3.14159265358979323846;
50static const double twopi = 2*pi;
51static const double halfpi = pi/2;
52static const double pi2 = pi*pi;
53
54//
55//
56//
57static const double Avogadro = 6.02214179e+23/mole;
58
59//
60// c = 299.792458 mm/ns
61// c^2 = 898.7404 (mm/ns)^2
62//
63static const double c_light = 2.99792458e+8 * m/s;
64static const double c_squared = c_light * c_light;
65
66//
67// h = 4.13566e-12 MeV*ns
68// hbar = 6.58212e-13 MeV*ns
69// hbarc = 197.32705e-12 MeV*mm
70//
71static const double h_Planck = 6.62606896e-34 * joule*s;
72static const double hbar_Planck = h_Planck/twopi;
73static const double hbarc = hbar_Planck * c_light;
74static const double hbarc_squared = hbarc * hbarc;
75
76//
77//
78//
79static const double electron_charge = - eplus; // see SystemOfUnits.h
80static const double e_squared = eplus * eplus;
81
82//
83// amu_c2 - atomic equivalent mass unit
84// - AKA, unified atomic mass unit (u)
85// amu - atomic mass unit
86//
87static const double electron_mass_c2 = 0.510998910 * MeV;
88static const double proton_mass_c2 = 938.272013 * MeV;
89static const double neutron_mass_c2 = 939.56536 * MeV;
90static const double amu_c2 = 931.494028 * MeV;
91static const double amu = amu_c2/c_squared;
92
93//
94// permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm
95// permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
96//
97static const double mu0 = 4*pi*1.e-7 * henry/m;
98static const double epsilon0 = 1./(c_squared*mu0);
99
100//
101// electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
102//
103static const double elm_coupling = e_squared/(4*pi*epsilon0);
104static const double fine_structure_const = elm_coupling/hbarc;
105static const double classic_electr_radius = elm_coupling/electron_mass_c2;
106static const double electron_Compton_length = hbarc/electron_mass_c2;
107static const double Bohr_radius = electron_Compton_length/fine_structure_const;
108
109static const double alpha_rcl2 = fine_structure_const
110 *classic_electr_radius
111 *classic_electr_radius;
112
113static const double twopi_mc2_rcl2 = twopi*electron_mass_c2
114 *classic_electr_radius
115 *classic_electr_radius;
116//
117//
118//
119static const double k_Boltzmann = 8.617343e-11 * MeV/kelvin;
120
121//
122//
123//
124static const double STP_Temperature = 273.15*kelvin;
125static const double STP_Pressure = 1.*atmosphere;
126static const double kGasThreshold = 10.*mg/cm3;
127
128//
129//
130//
131static const double universe_mean_density = 1.e-25*g/cm3;
132
133} // namespace CLHEP
134
135#endif /* HEP_PHYSICAL_CONSTANTS_H */
136
137
138
139
140
Definition: DoubConv.h:17