Constants.hh

Go to the documentation of this file.
00001 #ifndef RIVET_MATH_CONSTANTS
00002 #define RIVET_MATH_CONSTANTS
00003 
00004 #include "Rivet/Math/MathHeader.hh"
00005 #include "Rivet/Math/Units.hh"
00006 
00007 namespace Rivet {
00008 
00009   //
00010   //
00011   //
00012   static const double     pi  = 3.14159265358979323846;
00013   static const double  twopi  = 2*pi;
00014   static const double halfpi  = pi/2;
00015   static const double     pi2 = pi*pi;
00016 
00017   //
00018   //
00019   //
00020   static const double Avogadro = 6.0221367e+23/mole;
00021 
00022   //
00023   // c   = 299.792458 mm/ns
00024   // c^2 = 898.7404 (mm/ns)^2
00025   //
00026   static const double c_light   = 2.99792458e+8 * m/s;
00027   static const double c_squared = c_light * c_light;
00028 
00029   //
00030   // h     = 4.13566e-12 MeV*ns
00031   // hbar  = 6.58212e-13 MeV*ns
00032   // hbarc = 197.32705e-12 MeV*mm
00033   //
00034   static const double h_Planck      = 6.6260755e-34 * joule*s;
00035   static const double hbar_Planck   = h_Planck/twopi;
00036   static const double hbarc         = hbar_Planck * c_light;
00037   static const double hbarc_squared = hbarc * hbarc;
00038 
00039   //
00040   //
00041   //
00042   static const double electron_charge = - eplus; // see SystemOfUnits.h
00043   static const double e_squared = eplus * eplus;
00044 
00045   //
00046   // amu_c2 - atomic equivalent mass unit
00047   // amu    - atomic mass unit
00048   //
00049   static const double electron_mass_c2 = 0.51099906 * MeV;
00050   static const double   proton_mass_c2 = 938.27231 * MeV;
00051   static const double  neutron_mass_c2 = 939.56563 * MeV;
00052   static const double           amu_c2 = 931.49432 * MeV;
00053   static const double              amu = amu_c2/c_squared;
00054 
00055   //
00056   // permeability of free space mu0    = 2.01334e-16 Mev*(ns*eplus)^2/mm
00057   // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm)
00058   //
00059   static const double mu0      = 4*pi*1.e-7 * henry/m;
00060   static const double epsilon0 = 1./(c_squared*mu0);
00061 
00062   //
00063   // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
00064   //
00065   static const double elm_coupling           = e_squared/(4*pi*epsilon0);
00066   static const double fine_structure_const   = elm_coupling/hbarc;
00067   static const double classic_electr_radius  = elm_coupling/electron_mass_c2;
00068   static const double electron_Compton_length = hbarc/electron_mass_c2;
00069   static const double Bohr_radius = electron_Compton_length/fine_structure_const;
00070 
00071   static const double alpha_rcl2 = fine_structure_const
00072                                      *classic_electr_radius
00073                                      *classic_electr_radius;
00074 
00075   static const double twopi_mc2_rcl2 = twopi*electron_mass_c2
00076                                                *classic_electr_radius
00077                                                *classic_electr_radius;
00078   //
00079   //
00080   //
00081   static const double k_Boltzmann = 8.617385e-11 * MeV/kelvin;
00082 
00083   //
00084   //
00085   //
00086   static const double STP_Temperature = 273.15*kelvin;
00087   static const double STP_Pressure    = 1.*atmosphere;
00088   static const double kGasThreshold   = 10.*mg/cm3;
00089 
00090   //
00091   //
00092   //
00093   static const double universe_mean_density = 1.e-25*g/cm3;
00094 
00095 }
00096 
00097 #endif