WSF
WsfPassiveDetector.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 WSFPASSIVEDETECTOR_HPP
13#define WSFPASSIVEDETECTOR_HPP
14
15#include "wsf_export.h"
16
17#include <map>
18
19#include "TblLookup.hpp"
20#include "WsfSensor.hpp"
21
27{
28public:
34
36 typedef std::vector<std::pair<double, double>> SensitivityThresholdList;
37
39 typedef std::map<SignalType, SensitivityThresholdList> SignalTypeToSensThreshTable;
40
41 // NOTE: Using default constructor, copy constructor and destructor.
42
43 bool Initialize();
44
45 bool ProcessInput(UtInput& aInput);
46
48
49 bool SetDetectionSensitivity(SignalType aSignalType, double aFrequency, double aSensitivity);
50
51 bool SetDetectionThreshold(SignalType aSignalType, double aFrequency, double aThreshold);
52
55
56 size_t GetDetectionThresholdCount(SignalType aSignalType) const;
57 void GetDetectionThresholdEntry(SignalType aSignalType, size_t aIndex, double& aFrequency, double& aThreshold) const;
58
59 size_t GetDetectionSensitivityCount(SignalType aSignalType) const;
60 void GetDetectionSensitivityEntry(SignalType aSignalType, size_t aIndex, double& aFrequency, double& aSensitivity) const;
62
63private:
64 bool AddDetectionThreshold(SignalType aSignalType, double aFrequency, double aThreshold);
65
66 bool AddDetectionSensitivity(SignalType aSignalType, double aFrequency, double aSensitivity);
67
68 double GetDetectionThreshold(SignalType aSignalType, double aFrequency) const;
69
70 double GetDetectionSensitivity(SignalType aSignalType, double aFrequency) const;
71
72 void ClearDetectionTables();
73 void ClearDetectionThresholdTable();
74 void ClearDetectionSensitivityTable();
75
76 bool AddDetectionThresholdSensitivity(SensitivityThresholdList& aDetectionThreshSensList,
77 double aFrequency,
78 double aThreshSens);
79
80 double GetDetectionThresholdSensitivity(const SensitivityThresholdList& aDetectionThreshSensList, double aFrequency) const;
81
83 SignalTypeToSensThreshTable mDetectionThresholdTable;
84
86 SignalTypeToSensThreshTable mDetectionSensitivityTable;
87
89 TblIndVarU<double> mSignalTable;
90 TblDepVar1<double> mPdTable;
91};
92
93#endif
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfPassiveDetector.hpp:27
void GetDetectionThresholdEntry(SignalType aSignalType, size_t aIndex, double &aFrequency, double &aThreshold) const
Definition WsfPassiveDetector.cpp:428
bool ProcessInput(UtInput &aInput)
Definition WsfPassiveDetector.cpp:112
SignalType
Definition WsfPassiveDetector.hpp:30
@ cST_CONTINUOUS
Definition WsfPassiveDetector.hpp:31
@ cST_PULSED
Definition WsfPassiveDetector.hpp:32
std::vector< std::pair< double, double > > SensitivityThresholdList
Type definition for the frequency dependent detection sensitivities / thresholds.
Definition WsfPassiveDetector.hpp:36
bool Initialize()
Definition WsfPassiveDetector.cpp:26
void ComputeDetectability(WsfSensorResult &aResult)
Determines if the signal level from the current detection chance can be detected.
Definition WsfPassiveDetector.cpp:327
size_t GetDetectionSensitivityCount(SignalType aSignalType) const
Definition WsfPassiveDetector.cpp:449
bool SetDetectionSensitivity(SignalType aSignalType, double aFrequency, double aSensitivity)
Definition WsfPassiveDetector.cpp:380
void GetDetectionSensitivityEntry(SignalType aSignalType, size_t aIndex, double &aFrequency, double &aSensitivity) const
Definition WsfPassiveDetector.cpp:470
size_t GetDetectionThresholdCount(SignalType aSignalType) const
Definition WsfPassiveDetector.cpp:407
std::map< SignalType, SensitivityThresholdList > SignalTypeToSensThreshTable
Type definition of the mapping of the PassiveSignalType enumeration to the Sensitivity / Threshold.
Definition WsfPassiveDetector.hpp:39
bool SetDetectionThreshold(SignalType aSignalType, double aFrequency, double aThreshold)
Definition WsfPassiveDetector.cpp:395
Definition WsfSensorResult.hpp:27
Copyrights Multiple, All Rights Reserved