20#ifndef _LINEAR_TRANSFER_SYSTEM_
21#define _LINEAR_TRANSFER_SYSTEM_
23#include "mbsimControl/signal_.h"
25namespace MBSimControl {
36 void initializeUsingXML(xercesc::DOMElement * element)
override;
38 void calcxSize()
override {
xSize = A.rows(); }
40 void init(
InitStage stage,
const MBSim::InitConfigSet &config)
override;
42 void setInitialState(
const fmatvec::Vec &x0_) {
x0 <<= x0_; }
44 void updateSignal()
override;
45 void updatexd()
override;
47 void setSystemMatrix(
const fmatvec::SqrMatV &A_) { A <<= A_; }
48 void setInputMatrix(
const fmatvec::MatV &B_) { B <<= B_; }
49 void setOutputMatrix(
const fmatvec::MatV &C_) { C <<= C_; }
50 void setFeedthroughMatrix(
const fmatvec::MatV &D_) { D <<= D_; }
52 void setInputSignal(
Signal * inputSignal_) { inputSignal = inputSignal_; }
53 int getSignalSize()
const override {
return C()?C.rows():A.size(); }
56 Signal* inputSignal{
nullptr};
57 std::string inputSignalString;
59 fmatvec::MatV B, C, D;
60 bool feedthrough{
true};
Linear tansfer system.
Definition: linear_transfer_system.h:31
Signal.
Definition: signal_.h:38