10#include <unordered_map>
12#include "IdentifiedObject.hpp"
13#include "BaseClassDefiner.hpp"
14#include "CGMESProfile.hpp"
15#include "CimClassDetails.hpp"
17#include "PhaseCode.hpp"
19#include "UnitMultiplier.hpp"
20#include "UnitSymbol.hpp"
28 class Measurement :
public IdentifiedObject
33 ~Measurement()
override;
53 static const char debugName[];
54 const char* debugString()
const override;
56 const std::list<std::string>& getAttributeNames()
const override;
58 const std::string& getClassNamespaceUrl()
const override;
59 const std::string& getAttributeNamespaceUrl(
const std::string& attrName)
const override;
61 const std::list<CGMESProfile>& getPossibleProfiles()
const override;
62 const CGMESProfile& getRecommendedProfile()
const override;
63 const std::list<CGMESProfile>& getPossibleAttributeProfiles(
const std::string& attrName)
const override;
64 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes()
const override;
66 static void addConstructToMap(std::unordered_map<std::string,
BaseClass* (*)()>& factory_map);
67 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
68 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
69 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map)
const override;
70 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map)
const override;
71 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map)
const override;
73 bool isAssignableFrom(
BaseClass* otherObject)
const override;
77 std::map<std::string, AttrDetails> allAttrDetailsMap()
const override;
Definition BaseClass.hpp:22
An electrical connection point (AC or DC) to a piece of conducting equipment. Terminals are connected...
Definition ACDCTerminal.hpp:28
Definition BaseClassDefiner.hpp:12
CIMPP::ACDCTerminal * Terminal
One or more measurements may be associated with a terminal in the network. Default: nullptr.
Definition Measurement.hpp:39
CIMPP::UnitMultiplier unitMultiplier
The unit multiplier of the measured quantity. Default: 0.
Definition Measurement.hpp:48
CIMPP::UnitSymbol unitSymbol
The unit of measure of the measured quantity. Default: 0.
Definition Measurement.hpp:51
CIMPP::PhaseCode phases
Indicates to which phases the measurement applies and avoids the need to use measurementType to also ...
Definition Measurement.hpp:45
CIMPP::String measurementType
Specifies the type of measurement. For example, this specifies if the measurement represents an indoo...
Definition Measurement.hpp:42
CIMPP::PowerSystemResource * PowerSystemResource
The power system resource that contains the measurement. Default: nullptr.
Definition Measurement.hpp:36
An unordered enumeration of phase identifiers. Allows designation of phases for both transmission and...
Definition PhaseCode.hpp:14
A power system resource (PSR) can be an item of equipment such as a switch, an equipment container co...
Definition PowerSystemResource.hpp:26
A string consisting of a sequence of characters. The character encoding is UTF-8. The string length i...
Definition String.hpp:15
The unit multipliers defined for the CIM. When applied to unit symbols, the unit symbol is treated as...
Definition UnitMultiplier.hpp:14
The derived units defined for usage in the CIM. In some cases, the derived unit is equal to an SI uni...
Definition UnitSymbol.hpp:14