Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:06:47

0001 #ifndef RIVET_MATH_UNITS
0002 #define RIVET_MATH_UNITS
0003 
0004 #include "Rivet/Math/MathConstants.hh"
0005 
0006 namespace Rivet {
0007 
0008   //
0009   // Length [L]
0010   //
0011   constexpr double millimeter  = 1.;
0012   constexpr double millimeter2 = millimeter*millimeter;
0013   constexpr double millimeter3 = millimeter*millimeter*millimeter;
0014 
0015   constexpr double centimeter  = 10.*millimeter;
0016   constexpr double centimeter2 = centimeter*centimeter;
0017   constexpr double centimeter3 = centimeter*centimeter*centimeter;
0018 
0019   constexpr double meter  = 1000.*millimeter;
0020   constexpr double meter2 = meter*meter;
0021   constexpr double meter3 = meter*meter*meter;
0022 
0023   constexpr double micrometer = 1.e-6 *meter;
0024   constexpr double nanometer  = 1.e-9 *meter;
0025   constexpr double angstrom   = 1.e-10*meter;
0026   constexpr double picometer  = 1.e-12*meter;
0027   constexpr double femtometer = 1.e-15*meter;
0028   constexpr double attometer  = 1.e-18*meter;
0029   constexpr double fermi      = femtometer;
0030 
0031   // symbols
0032   constexpr double mm  = millimeter;
0033   constexpr double mm2 = millimeter2;
0034   constexpr double mm3 = millimeter3;
0035 
0036   constexpr double cm  = centimeter;
0037   constexpr double cm2 = centimeter2;
0038   constexpr double cm3 = centimeter3;
0039 
0040   constexpr double m  = meter;
0041   constexpr double m2 = meter2;
0042   constexpr double m3 = meter3;
0043 
0044   // constexpr double barn = 1.e-28*meter2;
0045   // Barn-units in terms of the pb returned by AGILe
0046   constexpr double  picobarn = 1.0;
0047   constexpr double      barn = 1.0e+12* picobarn;
0048   constexpr double millibarn = 1.0e-3 * barn;
0049   constexpr double microbarn = 1.0e-6 * barn;
0050   constexpr double  nanobarn = 1.0e-9 * barn;
0051   constexpr double femtobarn = 1.0e-15 * barn;
0052   constexpr double attobarn  = 1.0e-18 * barn;
0053 
0054   //
0055   // Time [T]
0056   //
0057   constexpr double nanosecond  = 1.0;
0058   constexpr double second      = 1.e+9 *nanosecond;
0059   constexpr double millisecond = 1.e-3 *second;
0060   constexpr double microsecond = 1.e-6 *second;
0061   constexpr double  picosecond = 1.e-12*second;
0062 
0063   // symbols
0064   constexpr double ns = nanosecond;
0065   constexpr double  s = second;
0066   constexpr double ms = millisecond;
0067 
0068   //
0069   // Electric charge [Q]
0070   //
0071   constexpr double eplus = 1.0;     // positron charge
0072   constexpr double e_SI  = 1.60217733e-19;  // positron charge in coulomb
0073 
0074   //
0075   // Energy [E]
0076   //
0077   constexpr double gigaelectronvolt = 1.;
0078   constexpr double     electronvolt = 1.e-9*gigaelectronvolt;
0079   constexpr double kiloelectronvolt = 1.e-6*gigaelectronvolt;
0080   constexpr double megaelectronvolt = 1.e-3*gigaelectronvolt;
0081   constexpr double teraelectronvolt = 1.e+3*gigaelectronvolt;
0082   constexpr double petaelectronvolt = 1.e+6*gigaelectronvolt;
0083 
0084   // symbols
0085   constexpr double  eV = electronvolt;
0086   constexpr double keV = kiloelectronvolt;
0087   constexpr double MeV = megaelectronvolt;
0088   constexpr double GeV = gigaelectronvolt;
0089   constexpr double TeV = teraelectronvolt;
0090   constexpr double PeV = petaelectronvolt;
0091 
0092   constexpr double  eV2 = eV*eV;
0093   constexpr double keV2 = keV*keV;
0094   constexpr double MeV2 = MeV*MeV;
0095   constexpr double GeV2 = GeV*GeV;
0096   constexpr double TeV2 = TeV*TeV;
0097   constexpr double PeV2 = PeV*PeV;
0098 
0099 }
0100 
0101 #endif