WSF
WsfRadarMTD_SignalProcessor.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFRADARMTD_SIGNALPROCESSOR
13#define WSFRADARMTD_SIGNALPROCESSOR
14
15#include "wsf_export.h"
16
17#include <vector>
18
19#include "UtTable.hpp"
20#include "WsfSensor.hpp"
22
23class WsfMTI_Filter;
24class WsfPD_Filter;
25
28
30{
31public:
38
44
45 static WsfSensorSignalProcessor* ObjectFactory(const std::string& aTypeName);
46
47 WsfSensorSignalProcessor* Clone() const override;
48
49 bool Initialize(double aSimTime, WsfSensor* aSensorPtr, WsfSensorMode* aModePtr, size_t aBeamIndex = 0) override;
50
51 bool ProcessInput(UtInput& aInput) override;
52
53 void Execute(double aSimTime, WsfSensorResult& aResult) override;
54
55private:
57 double ComputeMTD_Response(const double aTgtBearing,
58 const double aTgtSlantRange,
59 const double aTgtDopplerFrequency,
60 const std::vector<double>& aPulseRepetitionFrequencies,
61 const int aTypeFlag,
62 bool aZVF_Only = false);
63
65 double GetTableResponse(const double aTargetDopplerFrequency);
66
68 bool mFilterOwnshipFromDoppler;
69
71 MTD_Type mMTD_Type;
72
75 double mMTD_MinResponse; // dB
76
78 // std::vector<double> mMTD_MinRanges; // meters
79
81 // std::vector<double> mMTD_MaxRanges; // meters
82
84 // std::vector<double> mMTD_MinAngles; // radians
85
87 // std::vector<double> mMTD_MaxAngles; // radians
88
90 UtTable::Curve mResponseTable;
91
92 std::vector<WsfMTI_Filter*> mMTI_Filters;
93 WsfPD_Filter* mPD_Filter;
94 WsfPD_Filter* mZVF_Filter;
95};
96
97#endif
Definition WsfMTI_Filter.hpp:23
Definition WsfPD_Filter.hpp:23
~WsfRadarMTD_SignalProcessor() override
Destructor.
Definition WsfRadarMTD_SignalProcessor.cpp:73
bool ProcessInput(UtInput &aInput) override
Definition WsfRadarMTD_SignalProcessor.cpp:210
bool Initialize(double aSimTime, WsfSensor *aSensorPtr, WsfSensorMode *aModePtr, size_t aBeamIndex=0) override
Definition WsfRadarMTD_SignalProcessor.cpp:109
void Execute(double aSimTime, WsfSensorResult &aResult) override
Definition WsfRadarMTD_SignalProcessor.cpp:258
WsfSensorSignalProcessor * Clone() const override
Definition WsfRadarMTD_SignalProcessor.cpp:102
static WsfSensorSignalProcessor * ObjectFactory(const std::string &aTypeName)
The object factory for the MTD signal processor type.
Definition WsfRadarMTD_SignalProcessor.cpp:86
WsfRadarMTD_SignalProcessor & operator=(const WsfRadarMTD_SignalProcessor &)=delete
MTD_Type
Allowed MTD types.
Definition WsfRadarMTD_SignalProcessor.hpp:34
@ cMTDT_DATA_TABLE
Definition WsfRadarMTD_SignalProcessor.hpp:36
@ cMTDT_ALARM
Definition WsfRadarMTD_SignalProcessor.hpp:35
Definition WsfSensorMode.hpp:36
Definition WsfSensorResult.hpp:27
Definition WsfSensorSignalProcessor.hpp:35
Definition WsfSensor.hpp:92
Copyrights Multiple, All Rights Reserved