CGMES_3_0_0
Loading...
Searching...
No Matches
Measurement.hpp
1#ifndef Measurement_H
2#define Measurement_H
3/*
4Generated from the CGMES files via cimgen: https://github.com/sogno-platform/cimgen
5*/
6
7#include <list>
8#include <map>
9#include <string>
10#include <unordered_map>
11
12#include "IdentifiedObject.hpp"
13#include "BaseClassDefiner.hpp"
14#include "CGMESProfile.hpp"
15#include "CimClassDetails.hpp"
16
17#include "PhaseCode.hpp"
18#include "String.hpp"
19#include "UnitMultiplier.hpp"
20#include "UnitSymbol.hpp"
21
22namespace CIMPP
23{
24 class ACDCTerminal;
26
28 class Measurement : public IdentifiedObject
29 {
30 public:
31 /* constructor initialising all attributes to null */
32 Measurement();
33 ~Measurement() override;
34
37
40
43
46
49
52
53 static const char debugName[];
54 const char* debugString() const override;
55
56 const std::list<std::string>& getAttributeNames() const override;
57
58 const std::string& getClassNamespaceUrl() const override;
59 const std::string& getAttributeNamespaceUrl(const std::string& attrName) const override;
60
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;
65
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;
72
73 bool isAssignableFrom(BaseClass* otherObject) const override;
74 static const BaseClassDefiner declare();
75
76 protected:
77 std::map<std::string, AttrDetails> allAttrDetailsMap() const override;
78 };
79
80 BaseClass* Measurement_factory();
81}
82#endif
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