UnitsConfig.cc
Go to the documentation of this file.
1 #include <utl/UnitsConfig.h>
2 
3 #include <utl/AugerUnits.h>
4 #include <utl/Branch.h>
5 #include <utl/ConfigUtils.h>
6 
7 namespace utl {
8 
10  {
11  // XXX Are the names defined somewhere?
35  SetTimeDefault(utl::ns, "ns");
36  }
37 
38 
39  void
40  UnitsConfig::SetDefault(Entry& e, const double unit, const std::string& name)
41  {
42  e.fUnitDefault = unit;
43  e.fNameDefault = name;
44  }
45 
46 
47  void
48  UnitsConfig::SetValue(Entry& e, const double unit, const std::string& name)
49  {
50  e.fUnit = unit;
51  e.fName = name;
52  }
53 
54 
55  // Defaults.
56  void
57  UnitsConfig::SetAbsorbedDoseDefault(const double unit, const std::string& name)
58  {
59  SetDefault(fAbsorbedDose, unit, name);
60  }
61 
62 
63  void
64  UnitsConfig::SetActivityDefault(const double unit, const std::string& name)
65  {
66  SetDefault(fActivity, unit, name);
67  }
68 
69 
70  void
71  UnitsConfig::SetAmountOfSubstanceDefault(const double unit, const std::string& name)
72  {
73  SetDefault(fAmountOfSubstance, unit, name);
74  }
75 
76 
77  void
78  UnitsConfig::SetAngleDefault(const double unit, const std::string& name)
79  {
80  SetDefault(fAngle, unit, name);
81  }
82 
83 
84  void
85  UnitsConfig::SetElectricCapacitanceDefault(const double unit, const std::string& name)
86  {
87  SetDefault(fElectricCapacitance, unit, name);
88  }
89 
90 
91  void
92  UnitsConfig::SetElectricChargeDefault(const double unit, const std::string& name)
93  {
94  SetDefault(fElectricCharge, unit, name);
95  }
96 
97 
98  void
99  UnitsConfig::SetElectricCurrentDefault(const double unit, const std::string& name)
100  {
101  SetDefault(fElectricCurrent, unit, name);
102  }
103 
104 
105  void
106  UnitsConfig::SetElectricPotentialDefault(const double unit, const std::string& name)
107  {
108  SetDefault(fElectricPotential, unit, name);
109  }
110 
111 
112  void
113  UnitsConfig::SetElectricResistanceDefault(const double unit, const std::string& name)
114  {
115  SetDefault(fElectricResistance, unit, name);
116  }
117 
118 
119  void
120  UnitsConfig::SetEnergyDefault(const double unit, const std::string& name)
121  {
122  SetDefault(fEnergy, unit, name);
123  }
124 
125 
126  void
127  UnitsConfig::SetForceDefault(const double unit, const std::string& name)
128  {
129  SetDefault(fForce, unit, name);
130  }
131 
132 
133  void
134  UnitsConfig::SetFrequencyDefault(const double unit, const std::string& name)
135  {
136  SetDefault(fFrequency, unit, name);
137  }
138 
139 
140  void
141  UnitsConfig::SetIlluminanceDefault(const double unit, const std::string& name)
142  {
143  SetDefault(fIlluminance, unit, name);
144  }
145 
146 
147  void
148  UnitsConfig::SetInductanceDefault(const double unit, const std::string& name)
149  {
150  SetDefault(fInductance, unit, name);
151  }
152 
153 
154  void
155  UnitsConfig::SetLengthDefault(const double unit, const std::string& name)
156  {
157  SetDefault(fLength, unit, name);
158  }
159 
160 
161  void
162  UnitsConfig::SetLuminousFluxDefault(const double unit, const std::string& name)
163  {
164  SetDefault(fLuminousFlux, unit, name);
165  }
166 
167 
168  void
169  UnitsConfig::SetLuminousIntensityDefault(const double unit, const std::string& name)
170  {
171  SetDefault(fLuminousIntensity, unit, name);
172  }
173 
174 
175  void
176  UnitsConfig::SetMagneticFieldDefault(const double unit, const std::string& name)
177  {
178  SetDefault(fMagneticField, unit, name);
179  }
180 
181 
182  void
183  UnitsConfig::SetMagneticFluxDefault(const double unit, const std::string& name)
184  {
185  SetDefault(fMagneticFlux, unit, name);
186  }
187 
188 
189  void
190  UnitsConfig::SetMassDefault(const double unit, const std::string& name)
191  {
192  SetDefault(fMass, unit, name);
193  }
194 
195 
196  void
197  UnitsConfig::SetPowerDefault(const double unit, const std::string& name)
198  {
199  SetDefault(fPower, unit, name);
200  }
201 
202 
203  void
204  UnitsConfig::SetPressureDefault(const double unit, const std::string& name)
205  {
206  SetDefault(fPressure, unit, name);
207  }
208 
209 
210  void
211  UnitsConfig::SetTemperatureDefault(const double unit, const std::string& name)
212  {
213  SetDefault(fTemperature, unit, name);
214  }
215 
216 
217  void
218  UnitsConfig::SetTimeDefault(const double unit, const std::string& name)
219  {
220  SetDefault(fTime, unit, name);
221  }
222 
223 
224  // Values
225  void
226  UnitsConfig::SetAbsorbedDose(const double unit, const std::string& name)
227  {
228  SetValue(fAbsorbedDose, unit, name);
229  }
230 
231 
232  void
233  UnitsConfig::SetActivity(const double unit, const std::string& name)
234  {
235  SetValue(fActivity, unit, name);
236  }
237 
238 
239  void
240  UnitsConfig::SetAmountOfSubstance(const double unit, const std::string& name)
241  {
242  SetValue(fAmountOfSubstance, unit, name);
243  }
244 
245 
246  void
247  UnitsConfig::SetAngle(const double unit, const std::string& name)
248  {
249  SetValue(fAngle, unit, name);
250  }
251 
252 
253  void
254  UnitsConfig::SetElectricCapacitance(const double unit, const std::string& name)
255  {
256  SetValue(fElectricCapacitance, unit, name);
257  }
258 
259 
260  void
261  UnitsConfig::SetElectricCharge(const double unit, const std::string& name)
262  {
263  SetValue(fElectricCharge, unit, name);
264  }
265 
266 
267  void
268  UnitsConfig::SetElectricCurrent(const double unit, const std::string& name)
269  {
270  SetValue(fElectricCurrent, unit, name);
271  }
272 
273 
274  void
275  UnitsConfig::SetElectricPotential(const double unit, const std::string& name)
276  {
277  SetValue(fElectricPotential, unit, name);
278  }
279 
280 
281  void
282  UnitsConfig::SetElectricResistance(const double unit, const std::string& name)
283  {
284  SetValue(fElectricResistance, unit, name);
285  }
286 
287 
288  void
289  UnitsConfig::SetEnergy(const double unit, const std::string& name)
290  {
291  SetValue(fEnergy, unit, name);
292  }
293 
294 
295  void
296  UnitsConfig::SetForce(const double unit, const std::string& name)
297  {
298  SetValue(fForce, unit, name);
299  }
300 
301 
302  void
303  UnitsConfig::SetFrequency(const double unit, const std::string& name)
304  {
305  SetValue(fFrequency, unit, name);
306  }
307 
308 
309  void
310  UnitsConfig::SetIlluminance(const double unit, const std::string& name)
311  {
312  SetValue(fIlluminance, unit, name);
313  }
314 
315 
316  void
317  UnitsConfig::SetInductance(const double unit, const std::string& name)
318  {
319  SetValue(fInductance, unit, name);
320  }
321 
322 
323  void
324  UnitsConfig::SetLength(const double unit, const std::string& name)
325  {
326  SetValue(fLength, unit, name);
327  }
328 
329 
330  void
331  UnitsConfig::SetLuminousFlux(const double unit, const std::string& name)
332  {
333  SetValue(fLuminousFlux, unit, name);
334  }
335 
336 
337  void
338  UnitsConfig::SetLuminousIntensity(const double unit, const std::string& name)
339  {
340  SetValue(fLuminousIntensity, unit, name);
341  }
342 
343 
344  void
345  UnitsConfig::SetMagneticField(const double unit, const std::string& name)
346  {
347  SetValue(fMagneticField, unit, name);
348  }
349 
350 
351  void
352  UnitsConfig::SetMagneticFlux(const double unit, const std::string& name)
353  {
354  SetValue(fMagneticFlux, unit, name);
355  }
356 
357 
358  void
359  UnitsConfig::SetMass(const double unit, const std::string& name)
360  {
361  SetValue(fMass, unit, name);
362  }
363 
364 
365  void
366  UnitsConfig::SetPower(const double unit, const std::string& name)
367  {
368  SetValue(fPower, unit, name);
369  }
370 
371 
372  void
373  UnitsConfig::SetPressure(const double unit, const std::string& name)
374  {
375  SetValue(fPressure, unit, name);
376  }
377 
378 
379  void
380  UnitsConfig::SetTemperature(const double unit, const std::string& name)
381  {
382  SetValue(fTemperature, unit, name);
383  }
384 
385 
386  void
387  UnitsConfig::SetTime(const double unit, const std::string& name)
388  {
389  SetValue(fTime, unit, name);
390  }
391 
392 
394  void
396  {
397  LoadConfig(b, "absorbedDoseUnit", fAbsorbedDose.fUnit, fAbsorbedDose.fUnitDefault);
398  LoadConfig(b, "activityUnit", fActivity.fUnit, fActivity.fUnitDefault);
399  LoadConfig(b, "amountOfSubstanceUnit", fAmountOfSubstance.fUnit, fAmountOfSubstance.fUnitDefault);
400  LoadConfig(b, "angleUnit", fAngle.fUnit, fAngle.fUnitDefault);
402  LoadConfig(b, "electricChargeUnit", fElectricCharge.fUnit, fElectricCharge.fUnitDefault);
403  LoadConfig(b, "electricCurrentUnit", fElectricCurrent.fUnit, fElectricCurrent.fUnitDefault);
404  LoadConfig(b, "electricPotentialUnit", fElectricPotential.fUnit, fElectricPotential.fUnitDefault);
406  LoadConfig(b, "energyUnit", fEnergy.fUnit, fEnergy.fUnitDefault);
407  LoadConfig(b, "forceUnit", fForce.fUnit, fForce.fUnitDefault);
408  LoadConfig(b, "frequencyUnit", fFrequency.fUnit, fFrequency.fUnitDefault);
409  LoadConfig(b, "illuminanceUnit", fIlluminance.fUnit, fIlluminance.fUnitDefault);
410  LoadConfig(b, "inductanceUnit", fInductance.fUnit, fInductance.fUnitDefault);
411  LoadConfig(b, "lengthUnit", fLength.fUnit, fLength.fUnitDefault);
412  LoadConfig(b, "luminousFluxUnit", fLuminousFlux.fUnit, fLuminousFlux.fUnitDefault);
413  LoadConfig(b, "luminousIntensityUnit", fLuminousIntensity.fUnit, fLuminousIntensity.fUnitDefault);
414  LoadConfig(b, "magneticFieldUnit", fMagneticField.fUnit, fMagneticField.fUnitDefault);
415  LoadConfig(b, "magneticFluxUnit", fMagneticFlux.fUnit, fMagneticFlux.fUnitDefault);
416  LoadConfig(b, "massUnit", fMass.fUnit, fMass.fUnitDefault);
417  LoadConfig(b, "powerUnit", fPower.fUnit, fPower.fUnitDefault);
418  LoadConfig(b, "pressureUnit", fPressure.fUnit, fPressure.fUnitDefault);
419  LoadConfig(b, "temperatureUnit", fTemperature.fUnit, fTemperature.fUnitDefault);
420  LoadConfig(b, "timeUnit", fTime.fUnit, fTime.fUnitDefault);
421  //
422  LoadConfig(b, "absorbedDoseName", fAbsorbedDose.fName, fAbsorbedDose.fNameDefault);
423  LoadConfig(b, "activityName", fActivity.fName, fActivity.fNameDefault);
424  LoadConfig(b, "amountOfSubstanceName", fAmountOfSubstance.fName, fAmountOfSubstance.fNameDefault);
425  LoadConfig(b, "angleName", fAngle.fName, fAngle.fNameDefault);
427  LoadConfig(b, "electricChargeName", fElectricCharge.fName, fElectricCharge.fNameDefault);
428  LoadConfig(b, "electricCurrentName", fElectricCurrent.fName, fElectricCurrent.fNameDefault);
429  LoadConfig(b, "electricPotentialName", fElectricPotential.fName, fElectricPotential.fNameDefault);
431  LoadConfig(b, "energyName", fEnergy.fName, fEnergy.fNameDefault);
432  LoadConfig(b, "forceName", fForce.fName, fForce.fNameDefault);
433  LoadConfig(b, "frequencyName", fFrequency.fName, fFrequency.fNameDefault);
434  LoadConfig(b, "illuminanceName", fIlluminance.fName, fIlluminance.fNameDefault);
435  LoadConfig(b, "inductanceName", fInductance.fName, fInductance.fNameDefault);
436  LoadConfig(b, "lengthName", fLength.fName, fLength.fNameDefault);
437  LoadConfig(b, "luminousFluxName", fLuminousFlux.fName, fLuminousFlux.fNameDefault);
438  LoadConfig(b, "luminousIntensityName", fLuminousIntensity.fName, fLuminousIntensity.fNameDefault);
439  LoadConfig(b, "magneticFieldName", fMagneticField.fName, fMagneticField.fNameDefault);
440  LoadConfig(b, "magneticFluxName", fMagneticFlux.fName, fMagneticFlux.fNameDefault);
441  LoadConfig(b, "massName", fMass.fName, fMass.fNameDefault);
442  LoadConfig(b, "powerName", fPower.fName, fPower.fNameDefault);
443  LoadConfig(b, "pressureName", fPressure.fName, fPressure.fNameDefault);
444  LoadConfig(b, "temperatureName", fTemperature.fName, fTemperature.fNameDefault);
445  LoadConfig(b, "timeName", fTime.fName, fTime.fNameDefault);
446  }
447 
448 }
constexpr double second
Definition: AugerUnits.h:145
void SetPowerDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:197
void SetPower(const double unit, const std::string &name)
Definition: UnitsConfig.cc:366
void SetAmountOfSubstanceDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:71
Entry fElectricCurrent
Definition: UnitsConfig.h:153
constexpr double lux
Definition: AugerUnits.h:278
void SetElectricCurrent(const double unit, const std::string &name)
Definition: UnitsConfig.cc:268
void SetPressureDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:204
void SetIlluminanceDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:141
constexpr double kilogram
Definition: AugerUnits.h:194
constexpr double weber
Definition: AugerUnits.h:246
static void SetValue(Entry &e, const double unit, const std::string &name)
Helper for current value.
Definition: UnitsConfig.cc:48
constexpr double millifarad
Definition: AugerUnits.h:240
void SetElectricPotential(const double unit, const std::string &name)
Definition: UnitsConfig.cc:275
void SetActivity(const double unit, const std::string &name)
Definition: UnitsConfig.cc:233
void SetEnergyDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:120
constexpr double radian
Definition: AugerUnits.h:130
void SetInductance(const double unit, const std::string &name)
Definition: UnitsConfig.cc:317
void SetMass(const double unit, const std::string &name)
Definition: UnitsConfig.cc:359
constexpr double exaelectronvolt
Definition: AugerUnits.h:178
Entry fAmountOfSubstance
Definition: UnitsConfig.h:149
void SetElectricCurrentDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:99
void SetMassDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:190
constexpr double gray
Definition: AugerUnits.h:269
void SetEnergy(const double unit, const std::string &name)
Definition: UnitsConfig.cc:289
Class representing a document branch.
Definition: Branch.h:107
constexpr double lumen
Definition: AugerUnits.h:275
constexpr double mole
Definition: AugerUnits.h:262
void SetLuminousIntensityDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:169
constexpr double pascal
Definition: AugerUnits.h:212
void Configure(const utl::Branch &config)
Configure units (values and defaults) given a branch.
Definition: UnitsConfig.cc:395
constexpr double tesla
Definition: AugerUnits.h:249
void SetAngleDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:78
constexpr double ohm
Definition: AugerUnits.h:236
constexpr double meter
Definition: AugerUnits.h:81
void SetLengthDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:155
void SetAbsorbedDose(const double unit, const std::string &name)
Definition: UnitsConfig.cc:226
constexpr double candela
Definition: AugerUnits.h:272
void SetMagneticFlux(const double unit, const std::string &name)
Definition: UnitsConfig.cc:352
void SetTemperature(const double unit, const std::string &name)
Definition: UnitsConfig.cc:380
Entry fElectricResistance
Definition: UnitsConfig.h:155
void SetFrequencyDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:134
constexpr double watt
Definition: AugerUnits.h:204
void SetTimeDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:218
constexpr double kelvin
Definition: AugerUnits.h:259
void SetAmountOfSubstance(const double unit, const std::string &name)
Definition: UnitsConfig.cc:240
void SetActivityDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:64
void SetAbsorbedDoseDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:57
void SetTemperatureDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:211
void SetPressure(const double unit, const std::string &name)
Definition: UnitsConfig.cc:373
const double unit[npar]
Definition: UnivRec.h:76
void SetIlluminance(const double unit, const std::string &name)
Definition: UnitsConfig.cc:310
void SetMagneticFluxDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:183
void SetTime(const double unit, const std::string &name)
Definition: UnitsConfig.cc:387
UnitsConfig()
Create loading Auger default units as self-defaults.
Definition: UnitsConfig.cc:9
void SetElectricCapacitanceDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:85
constexpr double volt
Definition: AugerUnits.h:229
void SetForce(const double unit, const std::string &name)
Definition: UnitsConfig.cc:296
void SetElectricPotentialDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:106
void SetLuminousFluxDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:162
void SetInductanceDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:148
void SetElectricCharge(const double unit, const std::string &name)
Definition: UnitsConfig.cc:261
void LoadConfig(const utl::Branch &b, const std::string &tag, T1 &var, const T2 &defaultValue)
Helper method to load a particular configuration parameter.
Definition: ConfigUtils.h:35
void SetLength(const double unit, const std::string &name)
Definition: UnitsConfig.cc:324
std::string fNameDefault
Definition: UnitsConfig.h:137
void SetLuminousFlux(const double unit, const std::string &name)
Definition: UnitsConfig.cc:331
void SetFrequency(const double unit, const std::string &name)
Definition: UnitsConfig.cc:303
Entry fElectricCapacitance
Definition: UnitsConfig.h:151
constexpr double ns
Definition: AugerUnits.h:162
constexpr double becquerel
Definition: AugerUnits.h:265
Entry fElectricPotential
Definition: UnitsConfig.h:154
constexpr double milliampere
Definition: AugerUnits.h:222
constexpr double coulomb
Definition: AugerUnits.h:169
void SetAngle(const double unit, const std::string &name)
Definition: UnitsConfig.cc:247
constexpr double henry
Definition: AugerUnits.h:256
void SetLuminousIntensity(const double unit, const std::string &name)
Definition: UnitsConfig.cc:338
void SetForceDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:127
void SetMagneticFieldDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:176
void SetElectricResistance(const double unit, const std::string &name)
Definition: UnitsConfig.cc:282
Entry fLuminousIntensity
Definition: UnitsConfig.h:163
void SetElectricChargeDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:92
void SetElectricResistanceDefault(const double unit, const std::string &name)
Definition: UnitsConfig.cc:113
constexpr double newton
Definition: AugerUnits.h:207
void SetElectricCapacitance(const double unit, const std::string &name)
Definition: UnitsConfig.cc:254
static void SetDefault(Entry &e, const double unit, const std::string &name)
Helper. Define it as member so as to have access to the type.
Definition: UnitsConfig.cc:40
void SetMagneticField(const double unit, const std::string &name)
Definition: UnitsConfig.cc:345

, generated on Tue Sep 26 2023.