AugerUnits.cc
Go to the documentation of this file.
1 #include <utl/AugerUnits.h>
2 #include <boost/assign/list_of.hpp>
3 #include <string>
4 
5 using namespace std;
6 
7 
8 namespace utl {
9 
10  SymbolTable AugerUnits::fgUnitMap = SymbolTable();
11 
12 
13  void
14  AugerUnits::FillMap()
15  {
16  if (!fgUnitMap.empty())
17  return;
18 
19  const utl::SymbolTable sym =
20  boost::assign::map_list_of<std::string, double>
21  ("meter", meter)("m", meter)("m2", meter2)("m3", meter3)
22  ("centimeter", centimeter)("cm", centimeter)("cm2", centimeter2)("cm3", centimeter3)
23  ("millimeter", millimeter)("mm", millimeter)("mm2", millimeter2)("mm3", millimeter3)
24  ("nanometer", nanometer)("nm", nanometer)
25  ("kilometer", kilometer)("km", kilometer)("km2", kilometer2)("km3", kilometer3)
26 
27  ("radian", radian)("rad", radian)
28  ("milliradian", milliradian)("mrad", milliradian)
29  ("steradian", steradian)("sr", steradian)
30  ("degree", degree)("deg", degree)
31  ("hour", hour)
32  ("minute", minute)
33  ("second", second)("s", second)
34  ("millisecond", millisecond)("ms", millisecond)
35  ("microsecond", microsecond)
36  ("nanosecond", nanosecond)("ns", nanosecond)
37 
38  ("hertz", hertz)("Hz", Hz)
39  ("kilohertz", kilohertz)("kHz", kHz)
40  ("megahertz", megahertz)("MHz", MHz)
41 
42  ("kilogram", kilogram)("kg", kilogram)
43  ("gram", gram)("g", gram)
44  ("milligram", milligram)("mg", milligram)
45 
46  ("MeV", megaelectronvolt)
47  ("eV", electronvolt)
48  ("keV", kiloelectronvolt)
49  ("GeV", gigaelectronvolt)
50  ("TeV", teraelectronvolt)
51  ("PeV", petaelectronvolt)
52  ("EeV", exaelectronvolt)
53  ("ZeV", zettaelectronvolt)
54  ("joule", joule)
55 
56  ("watt", watt)
57 
58  ("newton", newton)
59 
60  ("lux", lux)("lumen", lumen)("candela", candela)
61 
62  ("gray", gray)
63  ("curie", curie)
64  ("becquerel", becquerel)
65 
66  ("coulomb", coulomb)
67  ("ampere", ampere)
68  ("milliampere", milliampere)
69  ("volt", volt)("V", V)
70  ("millivolt", millivolt)
71  ("microvolt", microvolt)
72  ("ohm", ohm)
73 
74  ("tesla", tesla)
75  ("microtesla", microtesla)
76 
77  ("kelvin", kelvin)
78  ("pascal", pascal)("hPa", hPa)
79 
80  ("fraction", fraction)("perCent", perCent)("permil", permil)
81 
82  // prefixes
83 
84  ("yocto", yocto)
85  ("zepto", zepto)
86  ("atto", atto)
87  ("femto", femto)
88  ("pico", pico)
89  ("nano", nano)
90  ("micro", micro)
91  ("milli", milli)
92  ("centi", centi)
93  ("deci", deci)
94  ("deka", deka)
95  ("hecto", hecto)
96  ("kilo", kilo)
97  ("mega", mega)
98  ("giga", giga)
99  ("tera", tera)
100  ("peta", peta)
101  ("exa", exa)
102  ("zetta", zetta)
103  ("yotta", yotta)
104 
105  // add more as needed
106  ;
107 
108  fgUnitMap = sym;
109  }
110 
111 }
constexpr double milliradian
Definition: AugerUnits.h:131
constexpr double millisecond
Definition: AugerUnits.h:146
constexpr double kilo
Definition: AugerUnits.h:71
constexpr double centimeter
Definition: AugerUnits.h:89
constexpr double kilometer2
Definition: AugerUnits.h:94
constexpr double milli
Definition: AugerUnits.h:66
constexpr double perCent
Definition: AugerUnits.h:282
constexpr double milligram
Definition: AugerUnits.h:196
const double degree
constexpr double hecto
Definition: AugerUnits.h:70
const double ampere
Definition: GalacticUnits.h:46
constexpr double petaelectronvolt
Definition: AugerUnits.h:177
const double tesla
Definition: GalacticUnits.h:40
constexpr double lux
Definition: AugerUnits.h:278
constexpr double MHz
Definition: AugerUnits.h:159
constexpr double kilogram
Definition: AugerUnits.h:194
constexpr double centi
Definition: AugerUnits.h:67
constexpr double femto
Definition: AugerUnits.h:62
constexpr double kilometer3
Definition: AugerUnits.h:95
constexpr double radian
Definition: AugerUnits.h:130
constexpr double curie
Definition: AugerUnits.h:266
constexpr double Hz
Definition: AugerUnits.h:157
const double meter
Definition: GalacticUnits.h:29
constexpr double gigaelectronvolt
Definition: AugerUnits.h:175
constexpr double giga
Definition: AugerUnits.h:73
constexpr double megaelectronvolt
Definition: AugerUnits.h:173
constexpr double exaelectronvolt
Definition: AugerUnits.h:178
constexpr double tera
Definition: AugerUnits.h:74
constexpr double centimeter3
Definition: AugerUnits.h:91
constexpr double nanometer
Definition: AugerUnits.h:102
#define V
constexpr double gray
Definition: AugerUnits.h:269
constexpr double lumen
Definition: AugerUnits.h:275
const double meter2
Definition: GalacticUnits.h:30
constexpr double exa
Definition: AugerUnits.h:76
constexpr double permil
Definition: AugerUnits.h:285
constexpr double pascal
Definition: AugerUnits.h:212
constexpr double pico
Definition: AugerUnits.h:63
constexpr double zettaelectronvolt
Definition: AugerUnits.h:179
constexpr double millimeter
Definition: AugerUnits.h:85
constexpr double nanosecond
Definition: AugerUnits.h:143
constexpr double fraction
Definition: AugerUnits.h:281
constexpr double ohm
Definition: AugerUnits.h:236
const double second
Definition: GalacticUnits.h:32
constexpr double deka
Definition: AugerUnits.h:69
constexpr double candela
Definition: AugerUnits.h:272
constexpr double peta
Definition: AugerUnits.h:75
constexpr double megahertz
Definition: AugerUnits.h:155
constexpr double kHz
Definition: AugerUnits.h:158
constexpr double yocto
Definition: AugerUnits.h:59
std::map< std::string, double > SymbolTable
Definition: SymbolTable.h:10
constexpr double watt
Definition: AugerUnits.h:204
constexpr double microtesla
Definition: AugerUnits.h:250
constexpr double hertz
Definition: AugerUnits.h:153
constexpr double minute
Definition: AugerUnits.h:149
constexpr double hour
Definition: AugerUnits.h:150
constexpr double kelvin
Definition: AugerUnits.h:259
constexpr double microvolt
Definition: AugerUnits.h:231
constexpr double joule
Definition: AugerUnits.h:181
constexpr double millivolt
Definition: AugerUnits.h:230
constexpr double hPa
Definition: AugerUnits.h:218
constexpr double deci
Definition: AugerUnits.h:68
constexpr double teraelectronvolt
Definition: AugerUnits.h:176
constexpr double steradian
Definition: AugerUnits.h:134
constexpr double kilometer
Definition: AugerUnits.h:93
constexpr double kiloelectronvolt
Definition: AugerUnits.h:174
constexpr double micro
Definition: AugerUnits.h:65
constexpr double centimeter2
Definition: AugerUnits.h:90
constexpr double kilohertz
Definition: AugerUnits.h:154
constexpr double becquerel
Definition: AugerUnits.h:265
constexpr double atto
Definition: AugerUnits.h:61
constexpr double zetta
Definition: AugerUnits.h:77
constexpr double milliampere
Definition: AugerUnits.h:222
constexpr double nano
Definition: AugerUnits.h:64
constexpr double coulomb
Definition: AugerUnits.h:169
constexpr double microsecond
Definition: AugerUnits.h:147
constexpr double gram
Definition: AugerUnits.h:195
constexpr double zepto
Definition: AugerUnits.h:60
constexpr double millimeter3
Definition: AugerUnits.h:87
constexpr double yotta
Definition: AugerUnits.h:78
constexpr double millimeter2
Definition: AugerUnits.h:86
const double volt
Definition: GalacticUnits.h:38
constexpr double meter3
Definition: AugerUnits.h:83
constexpr double mega
Definition: AugerUnits.h:72
constexpr double newton
Definition: AugerUnits.h:207
constexpr double electronvolt
Definition: AugerUnits.h:172

, generated on Tue Sep 26 2023.