12#ifndef WSFEOIR_SENSOR_HPP
13#define WSFEOIR_SENSOR_HPP
15#include "wsf_mil_export.h"
41 void TurnOff(
double aSimTime)
override;
42 void TurnOn(
double aSimTime)
override;
43 void Update(
double aSimTime)
override;
90 void Deselect(
double aSimTime)
override;
91 void Select(
double aSimTime)
override;
108 double& aNextSimTime,
109 size_t& aTargetIndex,
116 size_t mTargetNumber;
127 using Chances = std::unordered_map<size_t, EOIR_Chance>;
Definition WsfEM_Rcvr.hpp:68
WsfSensorResult Result
Definition WsfEOIR_IRST_SensorMode.hpp:37
WsfEOIR_IRST_SensorMode(WsfScenario &aScenario)
Definition WsfEOIR_IRST_SensorMode.cpp:36
WsfSensor::Settings Settings
Definition WsfEOIR_IRST_SensorMode.hpp:38
A detection opportunity for a specific platform.
Definition WsfEOIR_Sensor.hpp:60
double mLocationWCS[3]
Definition WsfEOIR_Sensor.hpp:69
size_t mTargetIndex
Definition WsfEOIR_Sensor.hpp:70
EOIR_Chance(WsfPlatform *aTargetPtr)
Definition WsfEOIR_Sensor.cpp:498
EOIR_Chance & operator=(const EOIR_Chance &)=delete
WsfTrack * mTrackPtr
Definition WsfEOIR_Sensor.hpp:67
bool mNowDetecting
Used in NotifyObservers.
Definition WsfEOIR_Sensor.hpp:72
size_t mModeIndex
Definition WsfEOIR_Sensor.hpp:68
bool mVisibleInImage
Definition WsfEOIR_Sensor.hpp:71
EOIR sensor Error model.
Definition WsfEOIR_Sensor.hpp:50
EOIR_ErrorModel * Clone() const
Create a clone of "this" object.
Definition WsfEOIR_Sensor.hpp:52
A 'mode' of the sensor.
Definition WsfEOIR_Sensor.hpp:77
bool ProcessInput(UtInput &aInput) override
Definition WsfEOIR_Sensor.cpp:563
EOIR_Mode & operator=(const EOIR_Mode &)=delete
void Select(double aSimTime) override
Definition WsfEOIR_Sensor.cpp:660
double mAngularResolution
Definition WsfEOIR_Sensor.hpp:95
int mPixelCountWidth
Definition WsfEOIR_Sensor.hpp:93
double mOmegaResolution
radians
Definition WsfEOIR_Sensor.hpp:96
bool Initialize(double aSimTime) override
Definition WsfEOIR_Sensor.cpp:539
void Deselect(double aSimTime) override
Definition WsfEOIR_Sensor.cpp:653
int mPixelCountHeight
Definition WsfEOIR_Sensor.hpp:94
WsfMode * Clone() const override
Create an exact duplicate of this mode.
Definition WsfEOIR_Sensor.cpp:532
bool AttemptToDetect(double aSimTime, WsfPlatform *aTargetPtr, Settings &aSettings, Result &aResult) override
Definition WsfEOIR_Sensor.cpp:592
EOIR_Mode(const EOIR_Mode &aSrc)=default
EOIR_Mode(WsfScenario &aScenario)
Definition WsfEOIR_Sensor.cpp:519
~EOIR_Mode() override=default
WsfSensorScheduler * Clone() const override
Definition WsfEOIR_Sensor.cpp:707
~EOIR_SensorScheduler() override=default
bool SelectTarget(double aSimTime, double &aNextSimTime, size_t &aTargetIndex, WsfTrackId &aRequestId, WsfSensor::Settings &aSettings) override
Definition WsfEOIR_Sensor.cpp:674
EOIR_SensorScheduler()
Definition WsfEOIR_Sensor.cpp:667
void NotifyObservers(double aSimTime, EOIR_Mode *aModePtr, EOIR_Chance *aChancePtr, WsfSensorResult &aResult)
Definition WsfEOIR_Sensor.cpp:422
std::vector< EOIR_Mode * > mEOIR_ModeList
The sensor-specific list of modes (not valid until Initialize is called).
Definition WsfEOIR_Sensor.hpp:124
Chances mChances
Definition WsfEOIR_Sensor.hpp:128
unsigned int mFrameNumber
Definition WsfEOIR_Sensor.hpp:135
unsigned int mStreamNumber
The stream number is incremented each time the sensor is turned on.
Definition WsfEOIR_Sensor.hpp:131
void ProcessSensorDetectionChanged(double aSimTime, const EOIR_Chance &aChance, unsigned int aStatus)
Definition WsfEOIR_Sensor.cpp:482
std::unordered_map< size_t, EOIR_Chance > Chances
The list of platforms that are eligible for detection attempts.
Definition WsfEOIR_Sensor.hpp:127
WsfEOIR_Sensor(WsfScenario &aScenario)
Definition WsfEOIR_Sensor.cpp:36
WsfEOIR_Sensor & operator=(const WsfEOIR_Sensor &)=delete
void ClearSensingChances()
Clear the sensing chance list.
Definition WsfEOIR_Sensor.cpp:410
bool mCallSensorTrackObservers
true if SensorTrack<XXX> observers should be called
Definition WsfEOIR_Sensor.hpp:138
WsfMode()
Definition WsfMode.cpp:15
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfSensorResult.hpp:27
WsfSensorScheduler()
Definition WsfSensorScheduler.cpp:26
Definition WsfSensor.hpp:133
bool ProcessInput(UtInput &aInput) override
Definition WsfSensor.cpp:380
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
void TurnOff(double aSimTime) override
Definition WsfSensor.cpp:523
void PlatformAdded(double aSimTime, WsfPlatform *aPlatformPtr) override
Definition WsfSensor.cpp:334
void TurnOn(double aSimTime) override
Definition WsfSensor.cpp:563
Definition WsfTrackId.hpp:33
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfStandardSensorErrorModel.hpp:47
A standard set of errors associated with single sensor mono-static detections.
Definition WsfStandardSensorErrorModel.hpp:26