WSF
WsfRadarSTC_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 WSFRADARSTC_SIGNALPROCESSOR_HPP
13#define WSFRADARSTC_SIGNALPROCESSOR_HPP
14
15#include "wsf_export.h"
16
17#include "UtTable.hpp"
18#include "WsfSensor.hpp"
20
35
37{
38public:
41 ~WsfRadarSTC_SignalProcessor() override = default;
43
44 static WsfSensorSignalProcessor* ObjectFactory(const std::string& aTypeName);
45
46 WsfSensorSignalProcessor* Clone() const override;
47
48 virtual bool Initialize(double aSimTime, WsfSensor* aSensorPtr, WsfSensorMode* aModePtr);
49
50 bool ProcessInput(UtInput& aInput) override;
51
52 void Execute(double aSimTime, WsfSensorResult& aResult) override;
53
54private:
56 enum SensitivityTimeContolType
57 {
58 cSTC_MIN_RANGE,
59 cSTC_MAX_RANGE,
60 cSTC_MIN_MAX_RANGE,
61 cSTC_DATA_TABLE
62 };
63
65 SensitivityTimeContolType mSTC_Type;
66
69 double mSTC_MinResponse; // dB
70
72 double mSTC_MinRange; // meters
73
75 double mSTC_MaxRange; // meters
76
78 double mSTC_Order;
79
81 UtTable::Curve mResponseTable;
82
84 double ComputeSTC_Response(const double aSlantRange, const double aPulseRepetitionFrequency);
85
87 double GetTableResponse(const double aSlantRange);
88};
89
90#endif
~WsfRadarSTC_SignalProcessor() override=default
static WsfSensorSignalProcessor * ObjectFactory(const std::string &aTypeName)
The object factory for the STC signal processor type.
Definition WsfRadarSTC_SignalProcessor.cpp:40
bool ProcessInput(UtInput &aInput) override
Definition WsfRadarSTC_SignalProcessor.cpp:127
virtual bool Initialize(double aSimTime, WsfSensor *aSensorPtr, WsfSensorMode *aModePtr)
Definition WsfRadarSTC_SignalProcessor.cpp:61
WsfRadarSTC_SignalProcessor & operator=(const WsfRadarSTC_SignalProcessor &)=delete
WsfRadarSTC_SignalProcessor(const WsfRadarSTC_SignalProcessor &aSrc)=default
WsfSensorSignalProcessor * Clone() const override
Definition WsfRadarSTC_SignalProcessor.cpp:53
WsfRadarSTC_SignalProcessor()
Constructor.
Definition WsfRadarSTC_SignalProcessor.cpp:26
void Execute(double aSimTime, WsfSensorResult &aResult) override
Definition WsfRadarSTC_SignalProcessor.cpp:197
Definition WsfSensorMode.hpp:36
Definition WsfSensorResult.hpp:27
Definition WsfSensorSignalProcessor.hpp:35
Definition WsfSensor.hpp:92
Copyrights Multiple, All Rights Reserved