UnitDescriptor.h
1 /**************************************************************************************
2 Copyright 2015 Applied Research Associates, Inc.
3 Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4 this file except in compliance with the License. You may obtain a copy of the License
5 at:
6 http://www.apache.org/licenses/LICENSE-2.0
7 Unless required by applicable law or agreed to in writing, software distributed under
8 the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
9 CONDITIONS OF ANY KIND, either express or implied. See the License for the
10 specific language governing permissions and limitations under the License.
11 **************************************************************************************/
12 
13 //----------------------------------------------------------------------------
18 //----------------------------------------------------------------------------
19 #pragma once
20 #include <string>
21 namespace biogears {
23 public:
24  // Defines what kind of constraint we impose on prefixes for this unit.
25  typedef enum { NONE,
29 
30  // ctor
31  CUnitDescriptor(const std::string& name, const std::string& symbol, unsigned int quantityTypeId, const std::string& targetUnit,
32  const double& convFac, const double& bias, PrefixModeType mode, const std::string& prefixSet);
33 
34  bool IsPrefixAllowed(char prefix) const;
35 
36  const double& GetConvFac() const
37  {
38  return m_dConvFac;
39  }
40 
41  const double& GetBias() const
42  {
43  return m_dBias;
44  }
45 
46  const std::string& GetName() const
47  {
48  return m_strName;
49  }
50 
51  const std::string& GetSymbol() const
52  {
53  return m_strSymbol;
54  }
55 
56  unsigned int GetQuantityTypeID() const
57  {
58  return m_uiQuantityTypeId;
59  }
60 
61  bool IsDecibel() const
62  {
63  return m_bDBFlag;
64  }
65 
66 private:
67  double m_dConvFac;
68  double m_dBias;
69  std::string m_strName;
70  std::string m_strSymbol;
71  unsigned int m_uiQuantityTypeId;
73  std::string m_strPrefixSet;
74  bool m_bDBFlag;
75 };}
PrefixModeType m_uiPrefixMode
Definition: UnitDescriptor.h:72
Definition: UnitDescriptor.h:27
CUnitDescriptor(const std::string &name, const std::string &symbol, unsigned int quantityTypeId, const std::string &targetUnit, const double &convFac, const double &bias, PrefixModeType mode, const std::string &prefixSet)
Definition: UnitDescriptor.cpp:26
const double & GetBias() const
Definition: UnitDescriptor.h:41
const double & GetConvFac() const
Definition: UnitDescriptor.h:36
bool IsPrefixAllowed(char prefix) const
Definition: UnitDescriptor.cpp:80
std::string m_strPrefixSet
Definition: UnitDescriptor.h:73
unsigned int GetQuantityTypeID() const
Definition: UnitDescriptor.h:56
std::string m_strSymbol
Definition: UnitDescriptor.h:70
std::string m_strName
Definition: UnitDescriptor.h:69
unsigned int m_uiQuantityTypeId
Definition: UnitDescriptor.h:71
const std::string & GetName() const
Definition: UnitDescriptor.h:46
PrefixModeType
Definition: UnitDescriptor.h:25
Definition: UnitDescriptor.h:22
Definition: UnitDescriptor.h:25
bool m_bDBFlag
Definition: UnitDescriptor.h:74
bool IsDecibel() const
Definition: UnitDescriptor.h:61
const std::string & GetSymbol() const
Definition: UnitDescriptor.h:51
double m_dBias
Definition: UnitDescriptor.h:68
Definition: UnitDescriptor.h:26
Definition: UnitDescriptor.h:28
double m_dConvFac
Definition: UnitDescriptor.h:67
Definition: SEElectricalCircuit.h:18