All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
PhysicalConstants.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id: PhysicalConstants.h,v 1.1 2006/05/02 13:03:03 hmd 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 // 28.04.06 Imported from CLHEP into GaudiKernel -- HD
37 
38 #ifndef GAUDI_PHYSICAL_CONSTANTS_H
39 #define GAUDI_PHYSICAL_CONSTANTS_H
40 
42 
43 namespace Gaudi {
44  namespace Units {
45 
46  static const double pi = 3.14159265358979323846;
47  static const double twopi = 2*pi;
48  static const double halfpi = pi/2;
49  static const double pi2 = pi*pi;
50 
51  static const double Avogadro = 6.0221367e+23/mole;
52 
53  //
54  // c = 299.792458 mm/ns
55  // c^2 = 898.7404 (mm/ns)^2
56  //
57  static const double c_light = 2.99792458e+8 * m/s;
58  static const double c_squared = c_light * c_light;
59 
60  //
61  // h = 4.13566e-12 MeV*ns
62  // hbar = 6.58212e-13 MeV*ns
63  // hbarc = 197.32705e-12 MeV*mm
64  //
65  static const double h_Planck = 6.6260755e-34 * joule*s;
66  static const double hbar_Planck = h_Planck/twopi;
67  static const double hbarc = hbar_Planck * c_light;
68  static const double hbarc_squared = hbarc * hbarc;
69 
70  static const double electron_charge = - eplus; // see SystemOfUnits.h
71  static const double e_squared = eplus * eplus;
72 
73  //
74  // amu_c2 - atomic equivalent mass unit
75  // amu - atomic mass unit
76  //
77  static const double electron_mass_c2 = 0.51099906 * MeV;
78  static const double proton_mass_c2 = 938.27231 * MeV;
79  static const double neutron_mass_c2 = 939.56563 * MeV;
80  static const double amu_c2 = 931.49432 * MeV;
81  static const double amu = amu_c2/c_squared;
82 
83  //
84  // permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm
85  // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
86  //
87  static const double mu0 = 4*pi*1.e-7 * henry/m;
88  static const double epsilon0 = 1./(c_squared*mu0);
89 
90  //
91  // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
92  //
93  static const double elm_coupling = e_squared/(4*pi*epsilon0);
94  static const double fine_structure_const = elm_coupling/hbarc;
95  static const double classic_electr_radius = elm_coupling/electron_mass_c2;
96  static const double electron_Compton_length = hbarc/electron_mass_c2;
97  static const double Bohr_radius = electron_Compton_length/fine_structure_const;
98 
99  static const double alpha_rcl2 = fine_structure_const
100  *classic_electr_radius
101  *classic_electr_radius;
102 
103  static const double twopi_mc2_rcl2 = twopi*electron_mass_c2
104  *classic_electr_radius
105  *classic_electr_radius;
106 
107  static const double k_Boltzmann = 8.617385e-11 * MeV/kelvin;
108 
109  static const double STP_Temperature = 273.15*kelvin;
110  static const double STP_Pressure = 1.*atmosphere;
111  static const double kGasThreshold = 10.*mg/cm3;
112 
113  static const double universe_mean_density = 1.e-25*g/cm3;
114 
115  } // namespace Units
116 } // namespace Gaudi
117 
118 
119 #endif /* GAUDI_PHYSICAL_CONSTANTS_H */
120 
121 
122 
123 
124 
This is a number of static methods for bootstrapping the Gaudi framework.
Definition: Bootstrap.h:14