12#ifndef WSFMTI_TABLEMANAGER_HPP
13#define WSFMTI_TABLEMANAGER_HPP
15#include "wsf_export.h"
29#include "TblLookup.hpp"
86 void AddTable(
double aFrequencyHz, std::vector<double>& aSpeedValues, std::vector<double>& aAdjustmentValues);
145 WsfMTI_TableManager();
146 WsfMTI_TableManager(
const WsfMTI_TableManager& aSrc);
147 virtual ~WsfMTI_TableManager();
149 WsfMTI_TableManager operator=(
const WsfMTI_TableManager& aSrc) =
delete;
153 static WsfMTI_TableManager* sTheManager;
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
std::vector< FreqTablePair > mFreqTablePairList
Definition WsfMTI_TableManager.hpp:93
MTI_AdjustmentTableCompound()
Definition WsfMTI_TableManager.cpp:542
double ComputeAdjustmentFactor(double aClosingSpeed, double aFrequency) override
virtual
Definition WsfMTI_TableManager.cpp:594
WsfMTI_TableManager::MTI_AdjustmentTable * GetTable(double aFrequencyHz)
Definition WsfMTI_TableManager.cpp:573
void AddTable(double aFrequencyHz, std::vector< double > &aSpeedValues, std::vector< double > &aAdjustmentValues)
Definition WsfMTI_TableManager.cpp:555
A nested class for the MTI adjustment table. This was extracted from WsfRadarSensor.
Definition WsfMTI_TableManager.hpp:44
bool IsDopplerFrequency() const
Definition WsfMTI_TableManager.hpp:52
virtual double ComputeAdjustmentFactor(double aClosingSpeed, double aFrequency)
Definition WsfMTI_TableManager.cpp:514
TblIndVarU< double > mSpeedFrequencyTable
Definition WsfMTI_TableManager.hpp:62
TblDepVar1< double > & GetAdjustmentTable()
Definition WsfMTI_TableManager.hpp:54
TblDepVar1< double > mAdjustmentTable
Definition WsfMTI_TableManager.hpp:63
MTI_AdjustmentTable()
Definition WsfMTI_TableManager.cpp:537
void SetDopplerFrequency(bool aIsDopplerFrequency)
If read from external table, the independent variable is speed.
Definition WsfMTI_TableManager.hpp:57
bool mIV_IsDopplerFrequency
'true' if the independent variable is closing speed, 'false' if it is Doppler frequency
Definition WsfMTI_TableManager.hpp:61
TblIndVarU< double > & GetSpeedFrequencyTable()
Definition WsfMTI_TableManager.hpp:53
virtual ~MTI_AdjustmentTable()=default
void SetDebug(bool aTruth)
Definition WsfMTI_TableManager.hpp:131
void WriteBinary(const std::string &aFileName, MTI_AdjustmentTable &aAdjustmentTable)
Definition WsfMTI_TableManager.cpp:396
void WriteCsv(const std::string &aFileName, MTI_AdjustmentTable &aAdjustmentTable)
Definition WsfMTI_TableManager.cpp:346
bool ReadCsv(const std::string &aFileName, MTI_AdjustmentTable &aAdjustmentTable)
Definition WsfMTI_TableManager.cpp:73
static WsfMTI_TableManager & GetManager()
Static.
Definition WsfMTI_TableManager.cpp:47
MTI_AdjustmentTable * ReadCsvCompound(const std::string &aFileName)
This table-version has mutiple columns mapped to a single function outputs/attenuations.
Definition WsfMTI_TableManager.cpp:183
bool ReadBinary(const std::string &aFileName, MTI_AdjustmentTable &aAdjustmentTable)
Definition WsfMTI_TableManager.cpp:440
A data structure used for parsing the compound tables.
Definition WsfMTI_TableManager.hpp:136
double mFrequencyHz
Definition WsfMTI_TableManager.hpp:137
std::vector< double > speedValues
Definition WsfMTI_TableManager.hpp:139
double mFreqencyHz
Definition WsfMTI_TableManager.hpp:79
FreqTablePair()
Definition WsfMTI_TableManager.hpp:73
MTI_AdjustmentTable * mMTI_TablePtr
Definition WsfMTI_TableManager.hpp:80