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