WSF
WsfEOIR_IRST_SensorMode.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 WSFEOIR_IRST_SENSORMODE_HPP
13#define WSFEOIR_IRST_SENSORMODE_HPP
14
15#include "wsf_mil_export.h"
16
17#include <vector>
18
19#include "UtAtmosphere.hpp"
20#include "WsfEM_Antenna.hpp"
22#include "WsfEM_Rcvr.hpp"
24#include "WsfSensor.hpp"
25#include "WsfSensorMode.hpp"
26#include "WsfSensorResult.hpp"
27
32
33class WSF_MIL_EXPORT WsfEOIR_IRST_SensorMode : public WsfSensorMode
34{
35public:
36 // Redefine a few things to to simplify coding.
40
43 ~WsfEOIR_IRST_SensorMode() override = default;
45
46 bool Initialize(double aSimTime) override;
47
48 bool ProcessInput(UtInput& aInput) override;
49
50 void AttemptToDetectInfrared(double aSimTime, WsfPlatform* aTargetPtr, Settings& aSettings, Result& aResult);
51
52 void AttemptToDetectVisual(double aSimTime, WsfPlatform* aTargetPtr, Settings& aSettings, Result& aResult);
53
54 bool BeginDetectionAttempt(double aSimTime, WsfPlatform* aTargetPtr, Settings& aSettings, Result& aResult);
55
56 bool EndDetectionAttempt(double aSimTime, WsfPlatform* aTargetPtr, Settings& aSettings, Result& aResult);
57
60
61protected:
62 double ComputeInstallationEffects(Result& aResult);
63
64 double ComputeProbabilityOfDetection(double aSignal, double aNoise, double aThreshold);
65
74
89
91
93 UtAtmosphere mAtmosphere;
95
100};
101
102#endif
Definition WsfEM_Antenna.hpp:49
Definition WsfEM_Attenuation.hpp:28
Definition WsfEM_Rcvr.hpp:68
WsfEM_Types::InfraredBand mInfraredBand
Band for infrared spectrum (only valid if IR band selected).
Definition WsfEOIR_IRST_SensorMode.hpp:82
WsfEM_Rcvr & GetReceiver()
Definition WsfEOIR_IRST_SensorMode.hpp:59
WsfSensorResult Result
Definition WsfEOIR_IRST_SensorMode.hpp:37
void AttemptToDetectVisual(double aSimTime, WsfPlatform *aTargetPtr, Settings &aSettings, Result &aResult)
Definition WsfEOIR_IRST_SensorMode.cpp:517
WsfEM_Types::OpticalBand mOpticalBand
Optical spectrum band (visual, or one of the IR bands).
Definition WsfEOIR_IRST_SensorMode.hpp:81
WsfEOIR_IRST_SensorMode(WsfScenario &aScenario)
Definition WsfEOIR_IRST_SensorMode.cpp:36
void AttemptToDetectInfrared(double aSimTime, WsfPlatform *aTargetPtr, Settings &aSettings, Result &aResult)
Definition WsfEOIR_IRST_SensorMode.cpp:418
bool mComputeOldInstallationEffects
Atmosphere model.
Definition WsfEOIR_IRST_SensorMode.hpp:99
WsfSensor::Settings Settings
Definition WsfEOIR_IRST_SensorMode.hpp:38
bool mDetectNegativeContrast
true if negative contrast is the same as positive contrast
Definition WsfEOIR_IRST_SensorMode.hpp:83
double mDetectorGain
Definition WsfEOIR_IRST_SensorMode.hpp:85
WsfEM_Rcvr mRcvr
Definition WsfEOIR_IRST_SensorMode.hpp:76
void SetVisualBandDefault(bool aVisualBand)
Definition WsfEOIR_IRST_SensorMode.hpp:68
double mNoiseEquivalentIrradiance
Definition WsfEOIR_IRST_SensorMode.hpp:87
bool EndDetectionAttempt(double aSimTime, WsfPlatform *aTargetPtr, Settings &aSettings, Result &aResult)
Definition WsfEOIR_IRST_SensorMode.cpp:394
BandList mOpticalBands
Definition WsfEOIR_IRST_SensorMode.hpp:80
double mIntegrationGain
Definition WsfEOIR_IRST_SensorMode.hpp:86
bool mUseSimpleVisualDetector
If true, use the simple legacy visual detector.
Definition WsfEOIR_IRST_SensorMode.hpp:84
UtAtmosphere mAtmosphere
Attenuation (1/m).
Definition WsfEOIR_IRST_SensorMode.hpp:93
~WsfEOIR_IRST_SensorMode() override=default
WsfEOIR_IRST_SensorMode & operator=(const WsfEOIR_IRST_SensorMode &)=delete
WsfOpticalEnvironment::BandList BandList
Definition WsfEOIR_IRST_SensorMode.hpp:39
bool BeginDetectionAttempt(double aSimTime, WsfPlatform *aTargetPtr, Settings &aSettings, Result &aResult)
Definition WsfEOIR_IRST_SensorMode.cpp:348
double mDetectionThreshold
Noise Equivalent Irradiance (NEI) (W/m^2).
Definition WsfEOIR_IRST_SensorMode.hpp:88
double mAtmosphericAttenuation
Definition WsfEOIR_IRST_SensorMode.hpp:92
WsfEM_Antenna mAntenna
Definition WsfEOIR_IRST_SensorMode.hpp:75
WsfOpticalEnvironment mEnvironment
Definition WsfEOIR_IRST_SensorMode.hpp:77
WsfEM_Antenna & GetAntenna()
Definition WsfEOIR_IRST_SensorMode.hpp:58
This class provides a common optical environment for WSF_EOIR_SENSOR, WSF_IRST_SENSOR and WSF_OPTICAL...
Definition WsfOpticalEnvironment.hpp:30
std::vector< WsfEM_Types::OpticalBand > BandList
Definition WsfOpticalEnvironment.hpp:36
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
virtual bool Initialize(double aSimTime)
Definition WsfSensorMode.cpp:213
bool ProcessInput(UtInput &aInput) override
Definition WsfSensorMode.cpp:300
WsfSensorMode()
Definition WsfSensorMode.cpp:47
Definition WsfSensorResult.hpp:27
Definition WsfSensor.hpp:133
OpticalBand
Definition WsfEM_Types.hpp:48
@ cOPT_VISUAL
Visual, 380-760nm.
Definition WsfEM_Types.hpp:57
@ cOPT_IR_COUNT
Must be same as IRBAND_COUNT.
Definition WsfEM_Types.hpp:54
InfraredBand
Infrared band names.
Definition WsfEM_Types.hpp:34
@ cIRBAND_COUNT
Number of types.
Definition WsfEM_Types.hpp:40
Copyrights Multiple, All Rights Reserved