WSF
WsfRadarPD_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 WSFRADARPD_SIGNALPROCESSOR
13#define WSFRADARPD_SIGNALPROCESSOR
14
15#include "wsf_export.h"
16
17#include "UtTable.hpp"
18#include "WsfSensor.hpp"
20
21class WsfPD_Filter;
22
25
27{
28public:
35
41
42 static WsfSensorSignalProcessor* ObjectFactory(const std::string& aTypeName);
43
44 WsfSensorSignalProcessor* Clone() const override;
45
46 bool Initialize(double aSimTime, WsfSensor* aSensorPtr, WsfSensorMode* aModePtr, size_t aBeamIndex = 0) override;
47
48 bool ProcessInput(UtInput& aInput) override;
49
50 void Execute(double aSimTime, WsfSensorResult& aResult) override;
51
52private:
54 double ComputePD_Response(const double aTgtDopplerFrequency,
55 const std::vector<double>& aPulseRepetitionFrequencies,
56 const int aTypeFlag);
57
59 double GetTableResponse(const double aTargetDopplerFrequency);
60
62 bool mFilterOwnshipFromDoppler;
63
65 PulseDopplerType mPD_Type;
66
69 double mPD_MinResponse; // dB
70
72 UtTable::Curve mResponseTable;
73
74 WsfPD_Filter* mPD_Filter;
75};
76
77#endif
Definition WsfPD_Filter.hpp:23
static WsfSensorSignalProcessor * ObjectFactory(const std::string &aTypeName)
The object factory for the PD signal processor type.
Definition WsfRadarPD_SignalProcessor.cpp:69
WsfSensorSignalProcessor * Clone() const override
Definition WsfRadarPD_SignalProcessor.cpp:85
WsfRadarPD_SignalProcessor & operator=(const WsfRadarPD_SignalProcessor &)=delete
bool Initialize(double aSimTime, WsfSensor *aSensorPtr, WsfSensorMode *aModePtr, size_t aBeamIndex=0) override
Definition WsfRadarPD_SignalProcessor.cpp:93
bool ProcessInput(UtInput &aInput) override
Definition WsfRadarPD_SignalProcessor.cpp:158
void Execute(double aSimTime, WsfSensorResult &aResult) override
Definition WsfRadarPD_SignalProcessor.cpp:200
PulseDopplerType
Allowed PD types.
Definition WsfRadarPD_SignalProcessor.hpp:31
@ cPDT_ALARM
Definition WsfRadarPD_SignalProcessor.hpp:32
@ cPDT_DATA_TABLE
Definition WsfRadarPD_SignalProcessor.hpp:33
~WsfRadarPD_SignalProcessor() override
Destructor.
Definition WsfRadarPD_SignalProcessor.cpp:61
Definition WsfSensorMode.hpp:36
Definition WsfSensorResult.hpp:27
Definition WsfSensorSignalProcessor.hpp:35
Definition WsfSensor.hpp:92
Copyrights Multiple, All Rights Reserved