|
SimulationChain
|
#include <Regulator.h>


Public Member Functions | |
| CRegulator (int nID=0, ObjType Type=regulator, std::string sName="regulator") | |
| virtual double | Simulate (double) override=0 |
| Outputs one step of the simualtion given one sample of the input. More... | |
| void | SetSetpointValue (double dSV) |
| Sets setopoint value. More... | |
| double | GetSetpointValue () const |
| Returns setpoint value. | |
| void | AddGenerator (std::shared_ptr< IGenerator > Gen) |
| Adds generator to the list. More... | |
| void | ResetGenerators () |
| Resets generator to the entry state. | |
| void | DeleteGenerators () |
| Drops the generator list. | |
| void | ResetMemory () override |
| Resets objects memory (reset generators if present). More... | |
| void | GetName (boost::property_tree::ptree &nameTree) const override |
| Builds a tree containing names and types of all children nodes. More... | |
| void | GetGeneratorList (std::list< std::weak_ptr< IGenerator > > &genList) |
| Returns list of generators. More... | |
| IGenerator * | FindGenerator (const std::string &sName) |
| Searches for a generator holding given name. More... | |
| ISISO * | SearchObject (const std::string &s) override |
| Searches all the children of the object to find object with the specified name. More... | |
| void | LoadGeneratorState (const boost::property_tree::ptree &pt) |
| Deserializes generators data. More... | |
| void | SaveGeneratorHistory () |
| Saves generators states to load using LoadGeneratorHistory(). | |
| void | LoadGeneratorHistory () |
| Loads generators states saved with SaveGeneratorHistory(). | |
Public Member Functions inherited from CSimNode | |
| CSimNode (int nID=0, ObjType Type=simobject, std::string const &sName=std::string("node")) | |
| Constructs the base abstract class for simulation object handling. More... | |
| void | GetOutputHistory (std::vector< double > &vHist) const override |
| Outputs all output samples recorded by far. More... | |
| void | EraseOutputHistory () override |
| Deletes all recorded samples of output. More... | |
| virtual void | SetOutputHistory (std::vector< double > &vHist) override |
| Set output history. More... | |
| virtual void | SetInputHistory (std::vector< double > &vHist) override |
| Set input history. More... | |
| void | SaveState (boost::property_tree::ptree &pt) const override=0 |
| Adds internal object state data to the stream object. More... | |
| void | LoadState (boost::property_tree::ptree::value_type const &v) override=0 |
| Load internal object state data from tree. Each object manages the data itself. More... | |
| void | SetID (int nID=0) override |
| Enables user to set an ID of the object. User must ensure that the name is unique. More... | |
| int | GetID () const override |
| Fetches object's ID. More... | |
| void | SetName (std::string &sName) override |
| Registers a name with the object. User must ensure that the name is unique. More... | |
| const std::string & | GetName () const override |
| Fetches object's name. More... | |
| void | GetName (boost::property_tree::ptree &nameTree) const override |
| Builds a tree containing names and types of all children nodes. More... | |
| void | SetParent (ISISO *Parent) override |
| Sets object's parent. There can be only one parent of the same object. More... | |
| ISISO * | GetParent () override |
| Fetches object's parent pointer. More... | |
| void | AddChild (std::shared_ptr< ISISO > Child) override |
| Allows adding children to the object. More... | |
| void | RemoveChild (std::shared_ptr< ISISO > Child) |
| Removes a child of the object. More... | |
| void | GetChildren (std::list< std::weak_ptr< ISISO > > &lChildren) const override |
| Fetches the list of object's children. More... | |
| bool | RemoveObject (int nID) override |
| Allows to remove the object. Function searches all the children of the object. More... | |
| ISISO * | SearchObject (const std::string &s) override |
| Searches all the children of the object to find object with the specified name. More... | |
| ISISO * | FindFirstRegulator () override |
| Searches the tree for the first regulator object. | |
| ObjType | GetType () const override |
| Retrive object functional type. More... | |
| void | SetType (ObjType Type) override |
| Set object functional type. More... | |
| void | SetStreamForOutput (std::shared_ptr< std::ostream > oStream) override |
| Set the output stream for object output values. More... | |
| void | SetVariableToStoreCurrentOutput (std::weak_ptr< double > dOutVal) |
| Set the variable to store the current output value. More... | |
| void | SetVariableToStoreCurrentInput (std::weak_ptr< double > dInVal) |
| Set the variable to store the current input value. More... | |
| void | RemoveStreamForOutput () override |
| Disable the output stream for objects input values. More... | |
| bool | MoveObjectToFront (ISISO *FrontObject) override |
| Move object to the front so it can be run first. More... | |
| void | ResetMemory () override |
| Resets objects memory (reset generators if present). More... | |
Protected Member Functions | |
| double | GetNextGeneratorValue () |
| Will predict next generated value from all generators. Use with LoadGeneratorHistory() and SaveGeneratorHistory() methods. More... | |
Protected Attributes | |
| double | m_dSV |
| setpoint value | |
|
std::list< std::shared_ptr < IGenerator > > | m_lGen |
| list containing generators | |
Protected Attributes inherited from CSimNode | |
| int | m_nID |
| Objects unique ID. | |
| std::string | m_sName |
| Objects unique name. | |
| CHistorian | m_OutputHistory |
| Output sample history. | |
| CHistorian | m_InputHistory |
| Input sample history. | |
|
std::list< std::shared_ptr < ISISO > > | m_lChildren |
| List of children. | |
| ISISO * | m_Parent |
| Pointer to parent. | |
| ObjType | m_Type |
| Objects type. | |
| std::shared_ptr< std::ostream > | m_oStream |
| Output stream. | |
| std::weak_ptr< double > | m_dOutVal |
| Pointer to variable storing last output value. | |
| std::weak_ptr< double > | m_dInVal |
| Pointer to variable storing last input value. | |
Regulator abstract base class with all the necessary functionality.
|
inline |
Adds generator to the list.
| [in] | Generator | to add. |

| IGenerator * CRegulator::FindGenerator | ( | const std::string & | sName | ) |
Searches for a generator holding given name.
| [in] | sName | Name of the generator to find. |

| void CRegulator::GetGeneratorList | ( | std::list< std::weak_ptr< IGenerator > > & | genList | ) |
Returns list of generators.
| [out] | genList | List to store generator pointers. |

|
overridevirtual |
Builds a tree containing names and types of all children nodes.
| [out] | nameTree | Tree with all collected names of the children and generators. |
Implements ISISO.

|
protected |
Will predict next generated value from all generators. Use with LoadGeneratorHistory() and SaveGeneratorHistory() methods.

| void CRegulator::LoadGeneratorState | ( | const boost::property_tree::ptree & | pt | ) |
Deserializes generators data.
| [in] | pt | Tree holding generator parameters. |


|
overridevirtual |
Resets objects memory (reset generators if present).
Implements ISISO.


|
overridevirtual |
Searches all the children of the object to find object with the specified name.
| [in] | s | Name of the object or generator to find. |
Implements ISISO.

|
inline |
Sets setopoint value.
| [in] | dSV | Sets setpoint value. |

|
overridepure virtual |
Outputs one step of the simualtion given one sample of the input.
Implements CSimNode.
Implemented in CGPC, CPIDRegulator, and CPRegulator.