1#ifndef RotatingMachine_H
2#define RotatingMachine_H
10#include <unordered_map>
12#include "RegulatingCondEq.hpp"
13#include "BaseClassDefiner.hpp"
14#include "CGMESProfile.hpp"
15#include "CimClassDetails.hpp"
17#include "ActivePower.hpp"
18#include "ApparentPower.hpp"
20#include "ReactivePower.hpp"
29 class RotatingMachine :
public RegulatingCondEq
34 ~RotatingMachine()
override;
57 static const char debugName[];
58 const char* debugString()
const override;
60 const std::list<std::string>& getAttributeNames()
const override;
62 const std::string& getClassNamespaceUrl()
const override;
63 const std::string& getAttributeNamespaceUrl(
const std::string& attrName)
const override;
65 const std::list<CGMESProfile>& getPossibleProfiles()
const override;
66 const CGMESProfile& getRecommendedProfile()
const override;
67 const std::list<CGMESProfile>& getPossibleAttributeProfiles(
const std::string& attrName)
const override;
68 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes()
const override;
70 static void addConstructToMap(std::unordered_map<std::string,
BaseClass* (*)()>& factory_map);
71 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
72 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
73 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map)
const override;
74 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map)
const override;
75 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map)
const override;
77 bool isAssignableFrom(
BaseClass* otherObject)
const override;
81 std::map<std::string, AttrDetails> allAttrDetailsMap()
const override;
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
Product of the RMS value of the voltage and the RMS value of the current.
Definition ApparentPower.hpp:14
Definition BaseClassDefiner.hpp:12
A floating point number. The range is unspecified and not limited.
Definition Float.hpp:14
A single or set of synchronous machines for converting mechanical power into alternating-current powe...
Definition GeneratingUnit.hpp:32
A synchronous motor-driven pump, typically associated with a pumped storage plant.
Definition HydroPump.hpp:25
Product of RMS value of the voltage and the RMS value of the quadrature component of the current.
Definition ReactivePower.hpp:14
CIMPP::HydroPump * HydroPump
The synchronous machine drives the turbine which moves the water from a low elevation to a higher ele...
Definition RotatingMachine.hpp:40
CIMPP::Voltage ratedU
Rated voltage (nameplate data, Ur in IEC 60909-0). It is primarily used for short circuit data exchan...
Definition RotatingMachine.hpp:55
CIMPP::ActivePower p
Active power injection. Load sign convention is used, i.e. positive sign means flow out from a node....
Definition RotatingMachine.hpp:43
CIMPP::ReactivePower q
Reactive power injection. Load sign convention is used, i.e. positive sign means flow out from a node...
Definition RotatingMachine.hpp:46
CIMPP::ApparentPower ratedS
Nameplate apparent power rating for the unit. The attribute shall have a positive value....
Definition RotatingMachine.hpp:52
CIMPP::Float ratedPowerFactor
Power factor (nameplate data). It is primarily used for short circuit data exchange according to IEC ...
Definition RotatingMachine.hpp:49
CIMPP::GeneratingUnit * GeneratingUnit
A synchronous machine may operate as a generator and as such becomes a member of a generating unit....
Definition RotatingMachine.hpp:37
Electrical voltage, can be both AC and DC.
Definition Voltage.hpp:14