CGMES_3_0_0
Loading...
Searching...
No Matches
HydroPowerPlant.hpp
1#ifndef HydroPowerPlant_H
2#define HydroPowerPlant_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 "HydroPlantStorageKind.hpp"
18
19namespace CIMPP
20{
22 class HydroPump;
23
25 class HydroPowerPlant : public PowerSystemResource
26 {
27 public:
28 /* constructor initialising all attributes to null */
29 HydroPowerPlant();
30 ~HydroPowerPlant() override;
31
33 std::list<CIMPP::HydroGeneratingUnit*> HydroGeneratingUnits;
34
36 std::list<CIMPP::HydroPump*> HydroPumps;
37
40
41 static const char debugName[];
42 const char* debugString() const override;
43
44 const std::list<std::string>& getAttributeNames() const override;
45
46 const std::string& getClassNamespaceUrl() const override;
47 const std::string& getAttributeNamespaceUrl(const std::string& attrName) const override;
48
49 const std::list<CGMESProfile>& getPossibleProfiles() const override;
50 const CGMESProfile& getRecommendedProfile() const override;
51 const std::list<CGMESProfile>& getPossibleAttributeProfiles(const std::string& attrName) const override;
52 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes() const override;
53
54 static void addConstructToMap(std::unordered_map<std::string, BaseClass* (*)()>& factory_map);
55 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
56 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
57 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
58 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map) const override;
59 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
60
61 bool isAssignableFrom(BaseClass* otherObject) const override;
62 static const BaseClassDefiner declare();
63
64 protected:
65 std::map<std::string, AttrDetails> allAttrDetailsMap() const override;
66 };
67
68 BaseClass* HydroPowerPlant_factory();
69}
70#endif
Definition BaseClass.hpp:22
Definition BaseClassDefiner.hpp:12
A generating unit whose prime mover is a hydraulic turbine (e.g., Francis, Pelton,...
Definition HydroGeneratingUnit.hpp:27
The type of hydro power plant.
Definition HydroPlantStorageKind.hpp:14
std::list< CIMPP::HydroGeneratingUnit * > HydroGeneratingUnits
The hydro generating unit belongs to a hydro power plant. Default: {}.
Definition HydroPowerPlant.hpp:33
CIMPP::HydroPlantStorageKind hydroPlantStorageType
The type of hydro power plant water storage. Default: 0.
Definition HydroPowerPlant.hpp:39
std::list< CIMPP::HydroPump * > HydroPumps
The hydro pump may be a member of a pumped storage plant or a pump for distributing water....
Definition HydroPowerPlant.hpp:36
A synchronous motor-driven pump, typically associated with a pumped storage plant.
Definition HydroPump.hpp:25