CLHEP 2.0.4.7 Reference Documentation
CLHEP Home Page CLHEP Documentation CLHEP Bug Reports |
00001 // -*- C++ -*- 00002 // $Id: SystemOfUnits.h,v 1.3.4.3.2.1 2008/11/04 17:24:39 garren Exp $ 00003 // ---------------------------------------------------------------------- 00004 // HEP coherent system of Units 00005 // 00006 // This file has been provided to CLHEP by Geant4 (simulation toolkit for HEP). 00007 // 00008 // The basic units are : 00009 // millimeter (millimeter) 00010 // nanosecond (nanosecond) 00011 // Mega electron Volt (MeV) 00012 // positron charge (eplus) 00013 // degree Kelvin (kelvin) 00014 // the amount of substance (mole) 00015 // luminous intensity (candela) 00016 // radian (radian) 00017 // steradian (steradian) 00018 // 00019 // Below is a non exhaustive list of derived and pratical units 00020 // (i.e. mostly the SI units). 00021 // You can add your own units. 00022 // 00023 // The SI numerical value of the positron charge is defined here, 00024 // as it is needed for conversion factor : positron charge = e_SI (coulomb) 00025 // 00026 // The others physical constants are defined in the header file : 00027 //PhysicalConstants.h 00028 // 00029 // Authors: M.Maire, S.Giani 00030 // 00031 // History: 00032 // 00033 // 06.02.96 Created. 00034 // 28.03.96 Added miscellaneous constants. 00035 // 05.12.97 E.Tcherniaev: Redefined pascal (to avoid warnings on WinNT) 00036 // 20.05.98 names: meter, second, gram, radian, degree 00037 // (from Brian.Lasiuk@yale.edu (STAR)). Added luminous units. 00038 // 05.08.98 angstrom, picobarn, microsecond, picosecond, petaelectronvolt 00039 // 01.03.01 parsec 00040 // 31.01.06 kilogray, milligray, microgray 00041 // 29.04.08 use PDG 2006 value of e_SI 00042 // 03.11.08 use PDG 2008 value of e_SI 00043 00044 #ifndef HEP_SYSTEM_OF_UNITS_H 00045 #define HEP_SYSTEM_OF_UNITS_H 00046 00047 #include "CLHEP/Units/defs.h" 00048 00049 namespace CLHEP { 00050 00051 // 00052 // Length [L] 00053 // 00054 static const double millimeter = 1.; 00055 static const double millimeter2 = millimeter*millimeter; 00056 static const double millimeter3 = millimeter*millimeter*millimeter; 00057 00058 static const double centimeter = 10.*millimeter; 00059 static const double centimeter2 = centimeter*centimeter; 00060 static const double centimeter3 = centimeter*centimeter*centimeter; 00061 00062 static const double meter = 1000.*millimeter; 00063 static const double meter2 = meter*meter; 00064 static const double meter3 = meter*meter*meter; 00065 00066 static const double kilometer = 1000.*meter; 00067 static const double kilometer2 = kilometer*kilometer; 00068 static const double kilometer3 = kilometer*kilometer*kilometer; 00069 00070 static const double parsec = 3.0856775807e+16*meter; 00071 00072 static const double micrometer = 1.e-6 *meter; 00073 static const double nanometer = 1.e-9 *meter; 00074 static const double angstrom = 1.e-10*meter; 00075 static const double fermi = 1.e-15*meter; 00076 00077 static const double barn = 1.e-28*meter2; 00078 static const double millibarn = 1.e-3 *barn; 00079 static const double microbarn = 1.e-6 *barn; 00080 static const double nanobarn = 1.e-9 *barn; 00081 static const double picobarn = 1.e-12*barn; 00082 00083 // symbols 00084 static const double nm = nanometer; 00085 static const double um = micrometer; 00086 00087 static const double mm = millimeter; 00088 static const double mm2 = millimeter2; 00089 static const double mm3 = millimeter3; 00090 00091 static const double cm = centimeter; 00092 static const double cm2 = centimeter2; 00093 static const double cm3 = centimeter3; 00094 00095 static const double m = meter; 00096 static const double m2 = meter2; 00097 static const double m3 = meter3; 00098 00099 static const double km = kilometer; 00100 static const double km2 = kilometer2; 00101 static const double km3 = kilometer3; 00102 00103 static const double pc = parsec; 00104 00105 // 00106 // Angle 00107 // 00108 static const double radian = 1.; 00109 static const double milliradian = 1.e-3*radian; 00110 static const double degree = (3.14159265358979323846/180.0)*radian; 00111 00112 static const double steradian = 1.; 00113 00114 // symbols 00115 static const double rad = radian; 00116 static const double mrad = milliradian; 00117 static const double sr = steradian; 00118 static const double deg = degree; 00119 00120 // 00121 // Time [T] 00122 // 00123 static const double nanosecond = 1.; 00124 static const double second = 1.e+9 *nanosecond; 00125 static const double millisecond = 1.e-3 *second; 00126 static const double microsecond = 1.e-6 *second; 00127 static const double picosecond = 1.e-12*second; 00128 00129 static const double hertz = 1./second; 00130 static const double kilohertz = 1.e+3*hertz; 00131 static const double megahertz = 1.e+6*hertz; 00132 00133 // symbols 00134 static const double ns = nanosecond; 00135 static const double s = second; 00136 static const double ms = millisecond; 00137 00138 // 00139 // Electric charge [Q] 00140 // 00141 static const double eplus = 1. ;// positron charge 00142 static const double e_SI = 1.602176487e-19;// positron charge in coulomb 00143 static const double coulomb = eplus/e_SI;// coulomb = 6.24150 e+18 * eplus 00144 00145 // 00146 // Energy [E] 00147 // 00148 static const double megaelectronvolt = 1. ; 00149 static const double electronvolt = 1.e-6*megaelectronvolt; 00150 static const double kiloelectronvolt = 1.e-3*megaelectronvolt; 00151 static const double gigaelectronvolt = 1.e+3*megaelectronvolt; 00152 static const double teraelectronvolt = 1.e+6*megaelectronvolt; 00153 static const double petaelectronvolt = 1.e+9*megaelectronvolt; 00154 00155 static const double joule = electronvolt/e_SI;// joule = 6.24150 e+12 * MeV 00156 00157 // symbols 00158 static const double MeV = megaelectronvolt; 00159 static const double eV = electronvolt; 00160 static const double keV = kiloelectronvolt; 00161 static const double GeV = gigaelectronvolt; 00162 static const double TeV = teraelectronvolt; 00163 static const double PeV = petaelectronvolt; 00164 00165 // 00166 // Mass [E][T^2][L^-2] 00167 // 00168 static const double kilogram = joule*second*second/(meter*meter); 00169 static const double gram = 1.e-3*kilogram; 00170 static const double milligram = 1.e-3*gram; 00171 00172 // symbols 00173 static const double kg = kilogram; 00174 static const double g = gram; 00175 static const double mg = milligram; 00176 00177 // 00178 // Power [E][T^-1] 00179 // 00180 static const double watt = joule/second;// watt = 6.24150 e+3 * MeV/ns 00181 00182 // 00183 // Force [E][L^-1] 00184 // 00185 static const double newton = joule/meter;// newton = 6.24150 e+9 * MeV/mm 00186 00187 // 00188 // Pressure [E][L^-3] 00189 // 00190 #define pascal hep_pascal // a trick to avoid warnings 00191 static const double hep_pascal = newton/m2; // pascal = 6.24150 e+3 * MeV/mm3 00192 static const double bar = 100000*pascal; // bar = 6.24150 e+8 * MeV/mm3 00193 static const double atmosphere = 101325*pascal; // atm = 6.32420 e+8 * MeV/mm3 00194 00195 // 00196 // Electric current [Q][T^-1] 00197 // 00198 static const double ampere = coulomb/second; // ampere = 6.24150 e+9 * eplus/ns 00199 static const double milliampere = 1.e-3*ampere; 00200 static const double microampere = 1.e-6*ampere; 00201 static const double nanoampere = 1.e-9*ampere; 00202 00203 // 00204 // Electric potential [E][Q^-1] 00205 // 00206 static const double megavolt = megaelectronvolt/eplus; 00207 static const double kilovolt = 1.e-3*megavolt; 00208 static const double volt = 1.e-6*megavolt; 00209 00210 // 00211 // Electric resistance [E][T][Q^-2] 00212 // 00213 static const double ohm = volt/ampere;// ohm = 1.60217e-16*(MeV/eplus)/(eplus/ns) 00214 00215 // 00216 // Electric capacitance [Q^2][E^-1] 00217 // 00218 static const double farad = coulomb/volt;// farad = 6.24150e+24 * eplus/Megavolt 00219 static const double millifarad = 1.e-3*farad; 00220 static const double microfarad = 1.e-6*farad; 00221 static const double nanofarad = 1.e-9*farad; 00222 static const double picofarad = 1.e-12*farad; 00223 00224 // 00225 // Magnetic Flux [T][E][Q^-1] 00226 // 00227 static const double weber = volt*second;// weber = 1000*megavolt*ns 00228 00229 // 00230 // Magnetic Field [T][E][Q^-1][L^-2] 00231 // 00232 static const double tesla = volt*second/meter2;// tesla =0.001*megavolt*ns/mm2 00233 00234 static const double gauss = 1.e-4*tesla; 00235 static const double kilogauss = 1.e-1*tesla; 00236 00237 // 00238 // Inductance [T^2][E][Q^-2] 00239 // 00240 static const double henry = weber/ampere;// henry = 1.60217e-7*MeV*(ns/eplus)**2 00241 00242 // 00243 // Temperature 00244 // 00245 static const double kelvin = 1.; 00246 00247 // 00248 // Amount of substance 00249 // 00250 static const double mole = 1.; 00251 00252 // 00253 // Activity [T^-1] 00254 // 00255 static const double becquerel = 1./second ; 00256 static const double curie = 3.7e+10 * becquerel; 00257 00258 // 00259 // Absorbed dose [L^2][T^-2] 00260 // 00261 static const double gray = joule/kilogram ; 00262 static const double kilogray = 1.e+3*gray; 00263 static const double milligray = 1.e-3*gray; 00264 static const double microgray = 1.e-6*gray; 00265 00266 // 00267 // Luminous intensity [I] 00268 // 00269 static const double candela = 1.; 00270 00271 // 00272 // Luminous flux [I] 00273 // 00274 static const double lumen = candela*steradian; 00275 00276 // 00277 // Illuminance [I][L^-2] 00278 // 00279 static const double lux = lumen/meter2; 00280 00281 // 00282 // Miscellaneous 00283 // 00284 static const double perCent = 0.01 ; 00285 static const double perThousand = 0.001; 00286 static const double perMillion = 0.000001; 00287 00288 } // namespace CLHEP 00289 00290 #ifdef ENABLE_BACKWARDS_COMPATIBILITY 00291 // backwards compatibility will be enabled ONLY in CLHEP 1.9 00292 using namespace CLHEP; 00293 #endif 00294 00295 #endif /* HEP_SYSTEM_OF_UNITS_H */