Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/clhep/src/setSystemOfUnits.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /externals/clhep/src/setSystemOfUnits.cc (Version 11.3.0) and /externals/clhep/src/setSystemOfUnits.cc (Version 3.2)


  1 // -*- C++ -*-                                      1 
  2 // -------------------------------------------    
  3                                                   
  4 #include "CLHEP/Evaluator/Evaluator.h"            
  5                                                   
  6 namespace HepTool {                               
  7                                                   
  8 void Evaluator::setSystemOfUnits(double meter,    
  9          double kilogram,                         
 10          double second,                           
 11          double ampere,                           
 12          double kelvin,                           
 13          double mole,                             
 14          double candela)                          
 15 {                                                 
 16   const double kilo_  = 1.e+03; // chilioi (Gr    
 17   const double mega_  = 1.e+06; // megas (Gree    
 18   const double giga_  = 1.e+09; // gigas (Gree    
 19   const double tera_  = 1.e+12; // teras (Gree    
 20   const double peta_  = 1.e+15; // pente (Gree    
 21                                                   
 22   const double deci_  = 1.e-01; // decimus (La    
 23   const double centi_ = 1.e-02; // centum  (La    
 24   const double milli_ = 1.e-03; // mille   (La    
 25   const double micro_ = 1.e-06; // micro (Lati    
 26   const double nano_  = 1.e-09; // nanus (Lati    
 27   const double pico_  = 1.e-12; // pico (Spani    
 28                                                   
 29   // =========================================    
 30   //                                              
 31   // Base (default) SI units                      
 32   // for the basic measurable quantities (dime    
 33   //                                              
 34   // =========================================    
 35                                                   
 36   // Length                                       
 37   // metrum (Latin) and metron (Greek) "measur    
 38   const double m = meter;                         
 39   setVariable("meter", m);                        
 40   setVariable("metre", m);                        
 41   setVariable("m",     m);                        
 42                                                   
 43   // Mass                                         
 44   const double kg = kilogram;                     
 45   setVariable("kilogram", kg);                    
 46   setVariable("kg",       kg);                    
 47                                                   
 48   // Time                                         
 49   // minuta secundam (Latin) "second small one    
 50   const double s = second;                        
 51   setVariable("second", s);                       
 52   setVariable("s",      s);                       
 53                                                   
 54   // Current                                      
 55   // ---  honors Andre-Marie Ampere (1775-1836    
 56   const double A = ampere;                        
 57   setVariable("ampere", A);                       
 58   setVariable("amp",    A);                       
 59   setVariable("A",      A);                       
 60                                                   
 61   // Temperature                                  
 62   // ---  honors William Thomson, 1st Baron Lo    
 63   const double K = kelvin;                        
 64   setVariable("kelvin", K);                       
 65   setVariable("K",      K);                       
 66                                                   
 67   // Amount of substance                          
 68   const double mol = mole;                        
 69   setVariable("mole", mol);                       
 70   setVariable("mol",  mol);                       
 71                                                   
 72   // Luminous intensity                           
 73   const double cd  = candela;                     
 74   setVariable("candela", cd);                     
 75   setVariable("cd",      cd);                     
 76                                                   
 77   // =========================================    
 78   //                                              
 79   // Supplementary SI units having special sym    
 80   //                                              
 81   // =========================================    
 82                                                   
 83   // Plane angle                                  
 84   const double rad = 1.;                          
 85   setVariable("radian", rad);                     
 86   setVariable("rad",    rad);                     
 87   setVariable("milliradian", milli_ * rad);       
 88   setVariable("mrad",        milli_ * rad);       
 89                                                   
 90   const double pi  = 3.14159265358979323846;      
 91   const double deg = rad*pi/180.;                 
 92   setVariable("degree", deg);                     
 93   setVariable("deg",    deg);                     
 94                                                   
 95   // Solid angle                                  
 96   const double sr  = 1.;                          
 97   setVariable("steradian", sr);                   
 98   setVariable("sr",        sr);                   
 99                                                   
100   // =========================================    
101   //                                              
102   // Derived SI units having special symbols:     
103   //                                              
104   // =========================================    
105                                                   
106   // Frequency                                    
107   // ---  honors Heinrich Rudolf Hertz (1857-1    
108   const double Hz = 1./s;                         
109   setVariable("hertz", Hz);                       
110   setVariable("Hz",    Hz);                       
111                                                   
112   // Force                                        
113   // ---  honors Sir Isaac Newton (1642-1727)     
114   const double N = m * kg / (s*s);                
115   setVariable("newton", N);                       
116   setVariable("N",      N);                       
117                                                   
118   // Pressure                                     
119   // ---  honors Blaise Pascal (1623-1662) of     
120   const double Pa = N / (m*m);                    
121   setVariable("pascal", Pa);                      
122   setVariable("Pa",     Pa);                      
123                                                   
124   const double atm = 101325. * Pa;                
125   setVariable("atmosphere", atm);                 
126   setVariable("atm",        atm);                 
127                                                   
128   const double bar = 100000*Pa;                   
129   setVariable("bar", bar);                        
130                                                   
131   // Energy                                       
132   // ---  honors James Prescott Joule (1818-18    
133   const double J = N * m;                         
134   setVariable("joule", J);                        
135   setVariable("J",     J);                        
136                                                   
137   // Power                                        
138   // ---  honors James Watt (1736-1819) of Sco    
139   const double W = J / s;                         
140   setVariable("watt", W);                         
141   setVariable("W",    W);                         
142                                                   
143   // Electric charge                              
144   // ---  honors Charles-Augustin de Coulomb (    
145   const double C = A * s;                         
146   setVariable("coulomb", C);                      
147   setVariable("C",       C);                      
148                                                   
149   // Electric potential                           
150   // ---  honors Count Alessandro Volta (1745-    
151   const double V = J / C;                         
152   setVariable("volt", V);                         
153   setVariable("V",    V);                         
154                                                   
155   // Electric resistance                          
156   // ---  honors Georg Simon Ohm (1787-1854) o    
157   const double ohm = V / A;                       
158   setVariable("ohm", ohm);                        
159                                                   
160   // Electric conductance                         
161   // ---  honors Ernst Werner von Siemens (181    
162   //      his brother Sir William (Karl Wilhel    
163   //      of Germany (England)                    
164   const double S = 1./ ohm;                       
165   setVariable("siemens", S);                      
166   setVariable("S",       S);                      
167                                                   
168   // Electric capacitance                         
169   // ---  honors Michael Faraday (1791-1867) o    
170   const double F = C / V;                         
171   setVariable("farad", F);                        
172   setVariable("F",     F);                        
173                                                   
174   // Magnetic flux density                        
175   // ---  honors Nikola Tesla (1856-1943) of C    
176   const double T = V * s / (m*m);                 
177   setVariable("tesla", T);                        
178   setVariable("T",     T);                        
179                                                   
180   // ---  honors Karl Friedrich Gauss (1777-18    
181   const double Gs = 1.e-4*T;                      
182   setVariable("gauss", Gs);                       
183   setVariable("Gs",    Gs);                       
184                                                   
185   // Magnetic flux                                
186   // ---  honors Wilhelm Eduard Weber (1804-18    
187   const double Wb = V * s;                        
188   setVariable("weber", Wb);                       
189   setVariable("Wb",    Wb);                       
190                                                   
191   // Inductance                                   
192   // ---  honors Joseph Henry (1797-1878) of t    
193   const double H = Wb / A;                        
194   setVariable("henry", H);                        
195   setVariable("H",     H);                        
196                                                   
197   // Luminous flux                                
198   const double lm = cd * sr;                      
199   setVariable("lumen", lm);                       
200   setVariable("lm",    lm);                       
201                                                   
202   // Illuminace                                   
203   const double lx = lm / (m*m);                   
204   setVariable("lux", lx);                         
205   setVariable("lx",  lx);                         
206                                                   
207   // Radioactivity                                
208   // ---  honors Antoine-Henri Becquerel (1852    
209   const double Bq = 1./s;                         
210   setVariable("becquerel", Bq);                   
211   setVariable("Bq",        Bq);                   
212   setVariable("kilobecquerel",  kilo_ * Bq);      
213   setVariable("kBq",            kilo_ * Bq);      
214   setVariable("megabecquerel",  mega_ * Bq);      
215   setVariable("MBq",            mega_ * Bq);      
216   setVariable("gigabecquerel",  giga_ * Bq);      
217   setVariable("GBq",            giga_ * Bq);      
218                                                   
219   // ---  honors Pierre Curie (1859-1906) of F    
220   //      and Marie Sklodowska Curie (1867-193    
221   setVariable("curie", 3.7e+10 * Bq);             
222   setVariable("Ci",    3.7e+10 * Bq);             
223   setVariable("millicurie", milli_ * 3.7e+10 *    
224   setVariable("mCi",        milli_ * 3.7e+10 *    
225   setVariable("microcurie", micro_ * 3.7e+10 *    
226   setVariable("uCi",        micro_ * 3.7e+10 *    
227                                                   
228   // Specific energy                              
229   // ---  honors Louis Harold Gray, F.R.S. (19    
230   const double Gy = J / kg;                       
231   setVariable("gray", Gy);                        
232   setVariable("Gy",   Gy);                        
233   setVariable("kilogray",   kilo_ * Gy);          
234   setVariable("milligray", milli_ * Gy);          
235   setVariable("microgray", micro_ * Gy);          
236                                                   
237   // Dose equivalent                              
238   const double Sv = J / kg;                       
239   setVariable("sievert", Sv);                     
240   setVariable("Sv",      Sv);                     
241                                                   
242   // =========================================    
243   //                                              
244   // Selected units:                              
245   //                                              
246   // =========================================    
247                                                   
248   // Length                                       
249                                                   
250   const double mm = milli_ * m;                   
251   setVariable("millimeter", mm);                  
252   setVariable("mm",         mm);                  
253                                                   
254   const double cm = centi_ * m;                   
255   setVariable("centimeter", cm);                  
256   setVariable("cm",         cm);                  
257                                                   
258   setVariable("decimeter",  deci_ * m);           
259                                                   
260   const double km = kilo_ * m;                    
261   setVariable("kilometer",  km);                  
262   setVariable("km",         km);                  
263                                                   
264   setVariable("micrometer", micro_ * m);          
265   setVariable("micron",     micro_ * m);          
266   setVariable("um",         micro_ * m);          
267   setVariable("nanometer",  nano_  * m);          
268   setVariable("nm",         nano_  * m);          
269                                                   
270   const double parsec = 3.0856775807e+16 * m;     
271   setVariable("parsec",     parsec);              
272   setVariable("pc",         parsec);              
273                                                   
274   // ---  honors Anders Jonas Angstrom (1814-1    
275   setVariable("angstrom",   1.e-10 * m);          
276                                                   
277   // ---  honors Enrico Fermi (1901-1954) of I    
278   setVariable("fermi",      1.e-15 * m);          
279                                                   
280   // Length^2                                     
281                                                   
282   setVariable("m2",  m*m);                        
283   setVariable("mm2", mm*mm);                      
284   setVariable("cm2", cm*cm);                      
285   setVariable("km2", km*km);                      
286                                                   
287   const double barn = 1.e-28 * m*m;               
288   setVariable("barn",      barn);                 
289   setVariable("millibarn", milli_ * barn);        
290   setVariable("mbarn",     milli_ * barn);        
291   setVariable("microbarn", micro_ * barn);        
292   setVariable("nanobarn",  nano_  * barn);        
293   setVariable("picobarn",  pico_  * barn);        
294                                                   
295   // LengthL^3                                    
296                                                   
297   setVariable("m3",  m*m*m);                      
298   setVariable("mm3", mm*mm*mm);                   
299   setVariable("cm3", cm*cm*cm);                   
300   setVariable("cc",  cm*cm*cm);                   
301   setVariable("km3", km*km*km);                   
302                                                   
303   const double L = 1.e-3*m*m*m;                   
304   setVariable("liter", L);                        
305   setVariable("litre", L);                        
306   setVariable("L",     L);                        
307   setVariable("centiliter",  centi_ * L);         
308   setVariable("cL",          centi_ * L);         
309   setVariable("milliliter",  milli_ * L);         
310   setVariable("mL",          milli_ * L);         
311                                                   
312   // Length^-1                                    
313                                                   
314   const double dpt = 1./m;                        
315   setVariable("diopter", dpt);                    
316   setVariable("dioptre", dpt);                    
317   setVariable("dpt",     dpt);                    
318                                                   
319   // Mass                                         
320                                                   
321   const double g = 0.001*kg;                      
322   setVariable("gram", g);                         
323   setVariable("g",    g);                         
324   setVariable("milligram",   milli_ * g);         
325   setVariable("mg",          milli_ * g);         
326                                                   
327   // Time                                         
328                                                   
329   setVariable("millisecond", milli_ * s);         
330   setVariable("ms",          milli_ * s);         
331   setVariable("microsecond", micro_ * s);         
332   setVariable("us",          micro_ * s);         
333   setVariable("nanosecond",  nano_  * s);         
334   setVariable("ns",          nano_  * s);         
335   setVariable("picosecond",  pico_  * s);         
336   setVariable("ps",          pico_  * s);         
337                                                   
338   const double minute = 60*s;                     
339   setVariable("minute", minute);                  
340   const double hour   = 60*minute;                
341   setVariable("hour", hour);                      
342   const double day    = 24*hour;                  
343   setVariable("day", day);                        
344   const double year   = 365*day;                  
345   setVariable("year", year);                      
346                                                   
347   // Current                                      
348                                                   
349   setVariable("milliampere", milli_ * A);         
350   setVariable("mA",          milli_ * A);         
351   setVariable("microampere", micro_ * A);         
352   setVariable("nanoampere",  nano_  * A);         
353                                                   
354   // Frequency                                    
355                                                   
356   setVariable("kilohertz",   kilo_ * Hz);         
357   setVariable("kHz",         kilo_ * Hz);         
358   setVariable("megahertz",   mega_ * Hz);         
359   setVariable("MHz",         mega_ * Hz);         
360                                                   
361   // Force                                        
362   setVariable("kilonewton",  kilo_ * N);          
363   setVariable("kN",          kilo_ * N);          
364                                                   
365   // Pressure                                     
366   setVariable("kilobar",     kilo_ * bar);        
367   setVariable("kbar",        kilo_ * bar);        
368   setVariable("millibar",    milli_ * bar);       
369   setVariable("mbar",        milli_ * bar);       
370                                                   
371   // Energy                                       
372   setVariable("kilojoule",   kilo_ * J);          
373   setVariable("kJ",          kilo_ * J);          
374   setVariable("megajoule",   mega_ * J);          
375   setVariable("MJ",          mega_ * J);          
376   setVariable("gigajoule",   giga_ * J);          
377   setVariable("GJ",          giga_ * J);          
378                                                   
379   const double e_SI  = 1.602176634e-19; // pos    
380   const double ePlus = e_SI * C;        // pos    
381   const double eV    = ePlus * V;                 
382   setVariable("electronvolt", eV);                
383   setVariable("eV",           eV);                
384   setVariable("millielectronvolt", milli_ * eV    
385   setVariable("kiloelectronvolt", kilo_ * eV);    
386   setVariable("keV",              kilo_ * eV);    
387   setVariable("megaelectronvolt", mega_ * eV);    
388   setVariable("MeV",              mega_ * eV);    
389   setVariable("gigaelectronvolt", giga_ * eV);    
390   setVariable("GeV",              giga_ * eV);    
391   setVariable("teraelectronvolt", tera_ * eV);    
392   setVariable("TeV",              tera_ * eV);    
393   setVariable("petaelectronvolt", peta_ * eV);    
394   setVariable("PeV",              peta_ * eV);    
395                                                   
396   // Power                                        
397   setVariable("kilowatt",    kilo_ * W);          
398   setVariable("kW",          kilo_ * W);          
399   setVariable("megawatt",    mega_ * W);          
400   setVariable("MW",          mega_ * W);          
401   setVariable("gigawatt",    giga_ * W);          
402   setVariable("GW",          giga_ * W);          
403                                                   
404   // Electric potential                           
405   setVariable("kilovolt",    kilo_ * V);          
406   setVariable("kV",          kilo_ * V);          
407   setVariable("megavolt",    mega_ * V);          
408   setVariable("MV",          mega_ * V);          
409                                                   
410   // Electric capacitance                         
411   setVariable("millifarad",  milli_ * F);         
412   setVariable("mF",          milli_ * F);         
413   setVariable("microfarad",  micro_ * F);         
414   setVariable("uF",          micro_ * F);         
415   setVariable("nanofarad",   nano_  * F);         
416   setVariable("nF",          nano_  * F);         
417   setVariable("picofarad",   pico_  * F);         
418   setVariable("pF",          pico_  * F);         
419                                                   
420   // Magnetic flux density                        
421   setVariable("kilogauss",   kilo_ * Gs);         
422   setVariable("kGs",         kilo_ * Gs);         
423 }                                                 
424                                                   
425 } // namespace HepTool                            
426