12#ifndef WSFOPTICALSENSOR_HPP
13#define WSFOPTICALSENSOR_HPP
15#include "wsf_mil_export.h"
21#include "UtAtmosphere.hpp"
39 void Update(
double aSimTime)
override;
61 void Deselect(
double aSimTime)
override;
62 void Select(
double aSimTime)
override;
76 std::unique_ptr<WsfEM_Rcvr>
mRcvr;
104 CumPd(
double aSearchPd = 1.0,
double aReacquirePd = 0.0,
double aTrackPd = 0.0)
Definition WsfEM_Rcvr.hpp:68
WsfMode()
Definition WsfMode.cpp:15
Glimpse probability data.
Definition WsfOpticalSensor.hpp:118
virtual GlimpseProbability * Clone() const
Definition WsfOpticalSensor.cpp:610
virtual double InterpolateDistribution(double aThetaMin, double aThetaMax)
Definition WsfOpticalSensor.cpp:856
std::vector< double > mProbabilityDistribution
angular separation cumulative probability distribution
Definition WsfOpticalSensor.hpp:166
double mMaxElevation
maximum elevation of FOV
Definition WsfOpticalSensor.hpp:137
virtual double ContrastRatioToPd(double aRatio)
Definition WsfOpticalSensor.cpp:705
double mApparentHalfAngle
apparent half-angle FOV
Definition WsfOpticalSensor.hpp:146
double mGain
sensor gain
Definition WsfOpticalSensor.hpp:152
GlimpseProbability()
Definition WsfOpticalSensor.cpp:595
double mMinElevation
minimum elevation of FOV
Definition WsfOpticalSensor.hpp:134
virtual double ContrastThreshold0(double aAlpha)
Definition WsfOpticalSensor.cpp:785
double mResolution
sensor resolution (stored steradians, entered as deg)
Definition WsfOpticalSensor.hpp:149
GlimpseProbability(const GlimpseProbability &aSrc)=default
virtual double ContrastThreshold(double aSolidAngle, double aAngle)
Definition WsfOpticalSensor.cpp:746
virtual bool ProcessInput(UtInput &aInput)
virtual
Definition WsfOpticalSensor.cpp:916
double mMagnification
magnification
Definition WsfOpticalSensor.hpp:143
virtual ~GlimpseProbability()=default
virtual void ComputeProbabilityDistribution()
Definition WsfOpticalSensor.cpp:625
GlimpseProbability & operator=(const GlimpseProbability &)=delete
double mAzimuthFOV
Azimuth FOV.
Definition WsfOpticalSensor.hpp:131
virtual bool Initialize()
Definition WsfOpticalSensor.cpp:616
virtual double ContrastThreshold1(double aAlpha)
Definition WsfOpticalSensor.cpp:820
double mOcularIntegration
ocular integration interval (deg)
Definition WsfOpticalSensor.hpp:155
int mNumIterations
number of iterations
Definition WsfOpticalSensor.hpp:140
virtual double ProbabilityOfDetection(double aSize, double aContrast)
Definition WsfOpticalSensor.cpp:874
double ComputeProbabilityOfDetection(double aSize, double aContrast, size_t aTgtIndex)
Definition WsfOpticalSensor.cpp:549
double ComputeAtmosphericTransmittance(WsfSensorResult &aResult)
Definition WsfOpticalSensor.cpp:450
double mAtmosphericAttenuation
Fixed atmospheric attenuation (1/m).
Definition WsfOpticalSensor.hpp:85
void Select(double aSimTime) override
Definition WsfOpticalSensor.cpp:441
void Deselect(double aSimTime) override
Definition WsfOpticalSensor.cpp:435
bool mVerbose
Definition WsfOpticalSensor.hpp:93
double mReacquireTime
re-acquisition time
Definition WsfOpticalSensor.hpp:82
bool AttemptToDetect(double aSimTime, WsfPlatform *aTargetPtr, Settings &aSettings, WsfSensorResult &aResult) override
Definition WsfOpticalSensor.cpp:318
GlimpseProbability mReacquire
Definition WsfOpticalSensor.hpp:175
bool Initialize(double aSimTime) override
Definition WsfOpticalSensor.cpp:165
std::unique_ptr< WsfEM_Rcvr > mRcvr
Definition WsfOpticalSensor.hpp:76
virtual void PlatformDeleted(WsfPlatform *aPlatformPtr)
Definition WsfOpticalSensor.cpp:588
double ComputeSimpleTransmittance(double aAttenuationPerMeter, double aHeightMSL_1, double aHeightMSL_2, double aGroundRange)
Definition WsfOpticalSensor.cpp:484
std::unique_ptr< WsfEM_Antenna > mAntenna
Definition WsfOpticalSensor.hpp:75
double mBackgroundRadiance
Fixed background radiance (W/m^2/sr).
Definition WsfOpticalSensor.hpp:88
UtAtmosphere mAtmosphere
Atmosphere model.
Definition WsfOpticalSensor.hpp:96
GlimpseProbability mTrack
Definition WsfOpticalSensor.hpp:176
double mGlimpseTime
observer glimpse time
Definition WsfOpticalSensor.hpp:79
OpticalMode(WsfScenario &aScenario)
Definition WsfOpticalSensor.cpp:119
std::map< size_t, CumPd > mPdMap
map to store cumulative probabilities
Definition WsfOpticalSensor.hpp:171
OpticalMode & operator=(const OpticalMode &)=delete
double mPathRadiance
Fixed path radiance (W/m^/sr).
Definition WsfOpticalSensor.hpp:91
WsfMode * Clone() const override
Create an exact duplicate of this mode.
Definition WsfOpticalSensor.cpp:159
GlimpseProbability mSearch
The mode-specific search, re-acquire and track glimpse probabilities.
Definition WsfOpticalSensor.hpp:174
double mRhoSeaLevel
Air density at sea level (kg/m^3).
Definition WsfOpticalSensor.hpp:99
bool ProcessInput(UtInput &aInput) override
Definition WsfOpticalSensor.cpp:185
~OpticalMode() override=default
std::vector< OpticalMode * > mOpticalModeList
The sensor-specific list of modes (not valid until Initialize is called).
Definition WsfOpticalSensor.hpp:181
WsfOpticalSensor & operator=(const WsfOpticalSensor &)=delete
WsfOpticalSensor(WsfScenario &aScenario)
Definition WsfOpticalSensor.cpp:41
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
WsfSensorMode()
Definition WsfSensorMode.cpp:47
Definition WsfSensorResult.hpp:27
Definition WsfSensor.hpp:133
void Update(double aSimTime) override
Definition WsfSensor.cpp:497
virtual WsfEM_Rcvr & GetEM_Rcvr(size_t aIndex) const
Definition WsfSensor.cpp:660
WsfSensor(const WsfScenario &aScenario)
Definition WsfSensor.cpp:52
virtual size_t GetEM_RcvrCount() const
Definition WsfSensor.cpp:646
void PlatformDeleted(WsfPlatform *aPlatformPtr) override
Definition WsfSensor.cpp:355
WsfSensor * Clone() const override=0
bool Initialize(double aSimTime) override
Definition WsfSensor.cpp:255
double mReacquirePd
Definition WsfOpticalSensor.hpp:112
double mTrackPd
Definition WsfOpticalSensor.hpp:113
CumPd(double aSearchPd=1.0, double aReacquirePd=0.0, double aTrackPd=0.0)
Definition WsfOpticalSensor.hpp:104
double mSearchPd
Definition WsfOpticalSensor.hpp:111