12#ifndef WSFCTD_SENSORCOMPONENT_HPP
13#define WSFCTD_SENSORCOMPONENT_HPP
15#include "wsf_mil_export.h"
17#include <unordered_set>
78 void TurnOff(
double aSimTime)
override;
136 void ResetPlatforms();
138 std::vector<CTD_Mode> mModeList;
140 bool mIsWsfRadarSensor{
false};
141 bool mDebugEnabled{
false};
142 bool mEnabled{
false};
#define WSF_DECLARE_COMPONENT_ROLE_TYPE(TYPE, ROLE)
Definition WsfComponentRoles.hpp:44
@ cWSF_COMPONENT_CTD_SENSOR
Close Target Detection (CTD) model sensor component.
Definition WsfMilComponentRoles.hpp:37
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
The component extensions to a sensor beam.
Definition WsfCTD_SensorComponent.hpp:89
Deltas mReacquireDeltas
Definition WsfCTD_SensorComponent.hpp:102
Deltas mAcquireDeltas
Definition WsfCTD_SensorComponent.hpp:101
std::unordered_set< size_t > mCTD_Platforms
Definition WsfCTD_SensorComponent.hpp:104
size_t mTargetIndex
Definition WsfCTD_SensorComponent.hpp:103
std::vector< WsfSensorResult > mCTD_Results
Definition WsfCTD_SensorComponent.hpp:105
size_t mBeamIndex
Definition WsfCTD_SensorComponent.hpp:100
The CTD component extensions to a sensor mode.
Definition WsfCTD_SensorComponent.hpp:110
std::map< size_t, TargetResult > mTargetResults
Definition WsfCTD_SensorComponent.hpp:126
std::vector< CTD_Beam > mBeamList
Definition WsfCTD_SensorComponent.hpp:117
CTD_Mode()
Definition WsfCTD_SensorComponent.cpp:669
CTD_Mode & operator=(const CTD_Mode &aRhs)
Definition WsfCTD_SensorComponent.cpp:681
The Close Target Detection (CTD) sensor component that will be attached to all sensor systems.
Definition WsfCTD_SensorComponent.hpp:28
static WsfCTD_SensorComponent * Find(const WsfSensor &aSensor)
Find the instance of this component attached to the specified sensor.
Definition WsfCTD_SensorComponent.cpp:78
~WsfCTD_SensorComponent() override=default
WsfCTD_SensorComponent & operator=(const WsfCTD_SensorComponent &)=delete
static void RegisterComponentFactory(WsfScenario &aScenario)
Register the component factory that handles input for this component.
Definition WsfCTD_SensorComponent.cpp:71
static WsfCTD_SensorComponent * FindOrCreate(WsfSensor &aSensor)
Definition WsfCTD_SensorComponent.cpp:88
WsfCTD_SensorComponent(const WsfCTD_SensorComponent &aSrc)=default
WsfCTD_SensorComponent()=default
std::map< WsfEM_Xmtr *, WsfSensorResult > CTD_ResultsMap
Definition WsfCTD_SensorComponent.hpp:85
Definition WsfComponent.hpp:39
virtual const int * GetComponentRoles() const =0
virtual WsfStringId GetComponentName() const =0
virtual WsfComponent * CloneComponent() const =0
virtual void * QueryInterface(int aRole)=0
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfSensorBeam.hpp:58
Definition WsfSensorComponent.hpp:36
virtual void PlatformDeleted(WsfPlatform *aPlatformPtr)
Definition WsfSensorComponent.hpp:65
virtual void AttemptToDetect(double aSimTime, WsfSensorResult &aResult)
Extends the sensor-model implementation of AttemptToDetect.
Definition WsfSensorComponent.hpp:80
virtual void PostAttemptToDetect(double aSimTime, WsfPlatform *aTargetPtr, WsfSensorResult &aResult)
Definition WsfSensorComponent.hpp:85
virtual bool Initialize(double aSimTime)
Definition WsfComponent.cpp:45
WsfSensorTrackerSettings TrackerSettings
Definition WsfSensorComponent.hpp:39
virtual void DeselectMode(double aSimTime, WsfStringId aModeNameId)
Definition WsfSensorComponent.hpp:68
virtual void PlatformAdded(double aSimTime, WsfPlatform *aPlatformPtr)
Definition WsfSensorComponent.hpp:64
virtual bool ProcessBeamInput(UtInput &aInput, WsfSensorBeam &aSensorBeam)
Definition WsfSensorComponent.hpp:62
virtual void TurnOff(double aSimTime)
Definition WsfSensorComponent.hpp:70
virtual bool TrackerAllowTracking(double aSimTime, const TrackerSettings &aSettings, const WsfTrackId &aRequestId, size_t aObjectId, WsfTrack *aTrackPtr, WsfSensorResult &aResult)
Definition WsfSensorComponent.hpp:123
virtual void TrackerDropTrack(double aSimTime, const TrackerSettings &aSettings, const WsfTrackId &aRequestId, size_t aObjectId, WsfSensorMode *aModePtr, WsfTrack *aTrackPtr)
Definition WsfSensorComponent.hpp:176
virtual void SelectMode(double aSimTime, WsfStringId aModeNameId)
Definition WsfSensorComponent.hpp:67
Definition WsfSensorMode.hpp:36
Definition WsfSensorResult.hpp:27
Definition WsfSensor.hpp:92
Definition WsfTrackId.hpp:33
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfCTD_SensorComponent.hpp:94
double mAzimuthDelta
Definition WsfCTD_SensorComponent.hpp:95
double mRangeDelta
Definition WsfCTD_SensorComponent.hpp:97
double mElevationDelta
Definition WsfCTD_SensorComponent.hpp:96
Definition WsfCTD_SensorComponent.hpp:120
bool mReacquirePossible
Definition WsfCTD_SensorComponent.hpp:122
bool mTargetReacquired
Definition WsfCTD_SensorComponent.hpp:123
bool mTrackingCloseTarget
Definition WsfCTD_SensorComponent.hpp:121
size_t mLastTargetResult
Definition WsfCTD_SensorComponent.hpp:124