CGMES_3_0_0
Loading...
Searching...
No Matches
ControlArea.hpp
1#ifndef ControlArea_H
2#define ControlArea_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 "PowerSystemResource.hpp"
13#include "BaseClassDefiner.hpp"
14#include "CGMESProfile.hpp"
15#include "CimClassDetails.hpp"
16
17#include "ActivePower.hpp"
18#include "ControlAreaTypeKind.hpp"
19
20namespace CIMPP
21{
23 class EnergyArea;
24 class TieFlow;
25
27 class ControlArea : public PowerSystemResource
28 {
29 public:
30 /* constructor initialising all attributes to null */
31 ControlArea();
32 ~ControlArea() override;
33
35 std::list<CIMPP::ControlAreaGeneratingUnit*> ControlAreaGeneratingUnit;
36
39
41 std::list<CIMPP::TieFlow*> TieFlow;
42
45
48
51
52 static const char debugName[];
53 const char* debugString() const override;
54
55 const std::list<std::string>& getAttributeNames() const override;
56
57 const std::string& getClassNamespaceUrl() const override;
58 const std::string& getAttributeNamespaceUrl(const std::string& attrName) const override;
59
60 const std::list<CGMESProfile>& getPossibleProfiles() const override;
61 const CGMESProfile& getRecommendedProfile() const override;
62 const std::list<CGMESProfile>& getPossibleAttributeProfiles(const std::string& attrName) const override;
63 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes() const override;
64
65 static void addConstructToMap(std::unordered_map<std::string, BaseClass* (*)()>& factory_map);
66 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
67 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
68 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
69 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map) const override;
70 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
71
72 bool isAssignableFrom(BaseClass* otherObject) const override;
73 static const BaseClassDefiner declare();
74
75 protected:
76 std::map<std::string, AttrDetails> allAttrDetailsMap() const override;
77 };
78
79 BaseClass* ControlArea_factory();
80}
81#endif
Definition BaseClass.hpp:22
Product of RMS value of the voltage and the RMS value of the in-phase component of the current.
Definition ActivePower.hpp:14
Definition BaseClassDefiner.hpp:12
A control area generating unit. This class is needed so that alternate control area definitions may i...
Definition ControlAreaGeneratingUnit.hpp:25
The type of control area.
Definition ControlAreaTypeKind.hpp:14
CIMPP::EnergyArea * EnergyArea
The energy area that is forecast from this control area specification. Default: nullptr.
Definition ControlArea.hpp:38
CIMPP::ControlAreaTypeKind type
The primary type of control area definition used to determine if this is used for automatic generatio...
Definition ControlArea.hpp:50
std::list< CIMPP::ControlAreaGeneratingUnit * > ControlAreaGeneratingUnit
The generating unit specifications for the control area. Default: {}.
Definition ControlArea.hpp:35
CIMPP::ActivePower pTolerance
Active power net interchange tolerance. The attribute shall be a positive value or zero....
Definition ControlArea.hpp:47
CIMPP::ActivePower netInterchange
The specified positive net interchange into the control area, i.e. positive sign means flow into the ...
Definition ControlArea.hpp:44
std::list< CIMPP::TieFlow * > TieFlow
The tie flows associated with the control area. Default: {}.
Definition ControlArea.hpp:41
Describes an area having energy production or consumption. Specializations are intended to support th...
Definition EnergyArea.hpp:24
Defines the structure (in terms of location and direction) of the net interchange constraint for a co...
Definition TieFlow.hpp:26