FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
CSrcBase.h
1#ifndef C_SRC_BASE_H
2#define C_SRC_BASE_H
3
19#include "../math/SignalBlock.h"
20#include <fhsim/simobject/SimObject.h>
21#include <string>
22#include <vector>
23
25{
26 public:
28 CSrcBase(std::string sSimObjectName, ISimObjectCreator* pCreator);
29
31 virtual ~CSrcBase();
32
34 virtual void OdeFcn(const double dT, const double* const adX, double* const adXDot) const{};
35
36
37 protected:
39 bool ReadTwinParameters(std::string sTagA, double dDefaultA, std::string sTagB, double dDefaultB, std::vector<double>& vals, ISimObjectCreator* pCreator);
40
42 virtual void CalcOutput(const double dT, const double* const adX) = 0;
43
45 virtual const double* Signal(const double dT, const double* const adX);
46
48 virtual const double* SignalDot(const double dT, const double* const adX);
49
50 std::vector<double> m_outDot;
51};
52
53
54#endif
Definition CSrcBase.h:25
bool ReadTwinParameters(std::string sTagA, double dDefaultA, std::string sTagB, double dDefaultB, std::vector< double > &vals, ISimObjectCreator *pCreator)
Utility function to read a parameter with two possible representations or units.
CSrcBase(std::string sSimObjectName, ISimObjectCreator *pCreator)
The constructor.
virtual const double * SignalDot(const double dT, const double *const adX)
The derivative of the output signal.
std::vector< double > m_outDot
The derivative of the output signal (the output signal is m_out).
Definition CSrcBase.h:50
virtual void CalcOutput(const double dT, const double *const adX)=0
Calculations of the output signals.
virtual ~CSrcBase()
The destructor.
virtual void OdeFcn(const double dT, const double *const adX, double *const adXDot) const
Calculates the state derivatives.
Definition CSrcBase.h:34
virtual const double * Signal(const double dT, const double *const adX)
The output signal.
Definition SignalBlock.h:18