WSF
WsfJamStrobeDetector.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
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 WSFJAMSTROBEDETECTOR_HPP
13#define WSFJAMSTROBEDETECTOR_HPP
14
15#include <map>
16
17class UtInput;
19#include "wsf_mil_export.h"
20
21#include "WsfSensor.hpp"
22class WsfSensorMode;
23
24class WSF_MIL_EXPORT WsfJamStrobeDetector
25{
26public:
30 virtual ~WsfJamStrobeDetector() = default;
31 virtual bool Initialize(double aSimTime, WsfSensorMode* aSensorModePtr);
32 virtual bool ProcessInput(UtInput& aInput);
33
34 virtual void ApplyMeasurementErrors(WsfSensorResult& aResult);
35
36 bool PerceiveJammingFirst() const { return mPerceiveJammingFirst; }
37
38 double GetContJNR_PerceptionThreshold() const { return mContJNR_PerceptionThreshold; }
39 double GetPulsedJNR_PerceptionThreshold() const { return mPulsedJNR_PerceptionThreshold; }
40 double GetCoherentJNR_PerceptionThreshold() const { return mCoherentJNR_PerceptionThreshold; }
41
42 double GetTrackQuality() const { return mTrackQuality; }
43
44 void InitializeTrack(double aSimTime, WsfTrack*& aTrackPtr);
45
46 void UpdateTrack(double aSimTime, WsfTrack* aTrackPtr, WsfPlatform* aTargetPtr, WsfSensorResult& aResult);
47
48 WsfSimulation* GetSimulation() const;
49
50protected:
51 // virtual void ComputeMeasurementErrors(WsfSensorResult& aResult,
52 // double& aAzError,
53 // double& aElError,
54 // double& aRangeError);
55
56 // virtual void UpdateSensorCueingLimits();
57
58 virtual void UpdateTrackReportingFlags(double aSimTime, WsfTrack*& aTrackPtr);
59
60private:
61 double ReadMeasurementError(UtInput& aInput);
62
63 bool mPerceiveJammingFirst;
64 double mContJNR_PerceptionThreshold;
65 double mPulsedJNR_PerceptionThreshold;
66 double mCoherentJNR_PerceptionThreshold;
67
68 bool mReportsBearing;
69 bool mReportsElevation;
70 double mTrackQuality;
71
74 double mAzErrorStdDev;
75 double mElErrorStdDev;
76
78 bool mGaussianAzError;
79 bool mGaussianElError;
80
81 static const double cSDURN; // Standard deviation of Uniform distribution from -1 to +1
82
83 WsfSensorMode* mSensorModePtr;
84};
85
86#endif
Definition WsfEM_Interaction.hpp:68
virtual bool Initialize(double aSimTime, WsfSensorMode *aSensorModePtr)
Definition WsfJamStrobeDetector.cpp:72
double GetContJNR_PerceptionThreshold() const
Definition WsfJamStrobeDetector.hpp:38
double GetTrackQuality() const
Definition WsfJamStrobeDetector.hpp:42
double GetCoherentJNR_PerceptionThreshold() const
Definition WsfJamStrobeDetector.hpp:40
virtual ~WsfJamStrobeDetector()=default
virtual void ApplyMeasurementErrors(WsfSensorResult &aResult)
Definition WsfJamStrobeDetector.cpp:196
virtual bool ProcessInput(UtInput &aInput)
Definition WsfJamStrobeDetector.cpp:105
WsfJamStrobeDetector & operator=(const WsfJamStrobeDetector &)=delete
double GetPulsedJNR_PerceptionThreshold() const
Definition WsfJamStrobeDetector.hpp:39
bool PerceiveJammingFirst() const
Definition WsfJamStrobeDetector.hpp:36
WsfJamStrobeDetector()
Definition WsfJamStrobeDetector.cpp:40
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
Definition WsfSensorMode.hpp:36
Definition WsfSensorResult.hpp:27
The main controller for a simulation.
Definition WsfSimulation.hpp:109
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Copyrights Multiple, All Rights Reserved