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 <fhsim/simobject/SimObject.h>
20
21class CSrcBase : public SimObject
22{
23 public:
25 CSrcBase(std::string sSimObjectName, ISimObjectCreator* pCreator);
26
28 virtual ~CSrcBase();
29
31 virtual void OdeFcn(const double dT, const double* const adX, double* const adXDot) const{};
32
33
34 protected:
36 void ReadParameter(std::string sTag, double* adVals, double dDefault, ISimObjectCreator* pCreator);
37
39 bool ReadTwinParameters(std::string sTagA, double dDefaultA, std::string sTagB, double dDefaultB, double* adVals, 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 double* m_adOutSignal;
53};
54
55
56#endif
Definition CSrcBase.h:22
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.
virtual void CalcOutput(const double dT, const double *const adX)=0
Calculations of the output signals.
void ReadParameter(std::string sTag, double *adVals, double dDefault, ISimObjectCreator *pCreator)
Utility function to read a parameter.
virtual ~CSrcBase()
The destructor.
double * m_adOutSignal
The output signal.
Definition CSrcBase.h:50
int m_iPortWidth
The width of the output port.
Definition CSrcBase.h:52
bool ReadTwinParameters(std::string sTagA, double dDefaultA, std::string sTagB, double dDefaultB, double *adVals, ISimObjectCreator *pCreator)
Utility function to read a parameter with two possible representations or units.
virtual void OdeFcn(const double dT, const double *const adX, double *const adXDot) const
Calculates the state derivatives.
Definition CSrcBase.h:31
virtual const double * Signal(const double dT, const double *const adX)
The output signal.
double * m_adOutSignalDot
The derivative of the output signal.
Definition CSrcBase.h:51