Program listing for file control/src/Observer/SlidingReducedOrderObserver.hpp#
Return to documentation for this file
1#ifndef SlidingReducedOrderObserver_H
2#define SlidingReducedOrderObserver_H
3
4#include "Observer.hpp"
5#include "SiconosAlgebraTypeDef.hpp"
6
7class SlidingReducedOrderObserver : public Observer
8{
9private:
10
11 ACCEPT_SERIALIZATION(SlidingReducedOrderObserver);
12
13
14 SlidingReducedOrderObserver() {};
15
16protected:
17
18
19 SP::SimpleMatrix _C;
20
21
22 SP::SimpleMatrix _L;
23
24 double _theta;
25
26
27 bool _pass;
28
29public:
30
31
32 SlidingReducedOrderObserver(SP::ControlSensor sensor, const SiconosVector& xHat0):
33 Observer(SLIDING_REDUCED_ORDER, sensor, xHat0), _pass(false) {}
34
35
36 SlidingReducedOrderObserver(SP::ControlSensor sensor, const SiconosVector& xHat0, SP::SimpleMatrix C, SP::SimpleMatrix L):
37 Observer(SLIDING_REDUCED_ORDER, sensor, xHat0), _C(C), _L(L), _pass(false) {}
38
39
40 virtual void process();
41
42
43 virtual void initialize(const NonSmoothDynamicalSystem& nsds, const Simulation& s);
44
45
46 inline void setLPtr(SP::SimpleMatrix L)
47 {
48 _L = L;
49 };
50
51
52 inline void setCPtr(SP::SimpleMatrix C)
53 {
54 _C = C;
55 };
56
57};
58#endif