|
WSF
|
The Close Target Detection (CTD) sensor component that will be attached to all sensor systems. More...
#include <WsfCTD_SensorComponent.hpp>


Classes | |
| class | CTD_Beam |
| The component extensions to a sensor beam. More... | |
| class | CTD_Mode |
| The CTD component extensions to a sensor mode. More... | |
Public Member Functions | |
| WsfCTD_SensorComponent ()=default | |
| WsfCTD_SensorComponent (const WsfCTD_SensorComponent &aSrc)=default | |
| WsfCTD_SensorComponent & | operator= (const WsfCTD_SensorComponent &)=delete |
| ~WsfCTD_SensorComponent () override=default | |
| WsfSensor * | GetSensor () const |
| WsfPlatform * | GetPlatform () const |
| WsfSimulation * | GetSimulation () const |
| virtual bool | ProcessModeInput (UtInput &aInput, WsfSensorMode &aSensorMode) |
| virtual void | TurnOn (double aSimTime) |
| virtual bool | Initialize (double aSimTime) |
| virtual bool | Initialize2 (double aSimTime) |
| virtual bool | PreInitialize (double aSimTime) |
| virtual bool | ProcessInput (UtInput &aInput) |
| virtual void | ComputeSphericalMeasurementErrors (const WsfSensorResult &aResult, wsf::SphericalMeasurementErrors &aErrors) const |
| virtual void | PrePerformScheduledDetections (double aSimTime) |
| virtual void | PostPerformScheduledDetections (double aSimTime) |
| virtual void | UpdateTrack (double aSimTime, WsfTrack *aTrackPtr, WsfPlatform *aTargetPtr, WsfSensorResult &aResult) |
| virtual void | TrackerInitializeTrack (double aSimTime, const TrackerSettings &aSettings, const WsfTrackId &aRequestId, size_t aObjectId, WsfSensorMode *aModePtr, WsfTrack *&aTrackPtr) |
| virtual void | TrackerUpdateTrack (double aSimTime, const TrackerSettings &aSettings, const WsfTrackId &aRequestId, size_t aObjectId, WsfSensorMode *aModePtr, WsfTrack *aTrackPtr, WsfPlatform *aTargetPtr, WsfSensorResult &aResult) |
| Public Member Functions inherited from WsfComponentT< WsfSensor > | |
| WsfComponentT () | |
| WsfComponentT & | operator= (const WsfComponentT &) noexcept |
| ~WsfComponentT () override=default | |
| virtual void | ComponentParentChanged (ParentType *aParentPtr) |
| ParentType * | GetComponentParent () const |
| void | SetComponentParent (ParentType *aParentPtr) |
| Public Member Functions inherited from WsfComponent | |
| virtual | ~WsfComponent ()=default |
| virtual int | GetComponentInitializationOrder () const |
| template<typename T> | |
| bool | QueryInterfaceT (T *&aRolePtr) |
| bool | ComponentHasRole (int aRole) |
| Returns true if the component has the specified role. | |
| virtual void | PreInput () |
Static Public Member Functions | |
| static void | RegisterComponentFactory (WsfScenario &aScenario) |
| Register the component factory that handles input for this component. | |
| static WsfCTD_SensorComponent * | Find (const WsfSensor &aSensor) |
| Find the instance of this component attached to the specified sensor. | |
| static WsfCTD_SensorComponent * | FindOrCreate (WsfSensor &aSensor) |
| static void | AttemptToDetect (WsfSensor &aSensor, double aSimTime, WsfSensorResult &aResult) |
| Convenience method to call AttemptToDetect on all the components. | |
| static bool | PostAttemptToDetect (WsfSensor &aSensor, double aSimTime, WsfPlatform *aTargetPtr, WsfSensorResult &aResult) |
| static WSF_DEPRECATED void | ComputeMeasurementErrors (WsfSensor &aSensor, WsfSensorResult &aResult, double &aAzError, double &aElError, double &aRangeError, double &aRangeRateError) |
| (DEPRECATED) Convenience method to call ComputeMeasurementErrors on all the components. | |
| static void | ComputeSphericalMeasurementErrors (WsfSensor &aSensor, const WsfSensorResult &aResult, wsf::SphericalMeasurementErrors &aErrors) |
| Convenience method to call ComputeSphericalMeasurementErrors on all the components. | |
| static void | PrePerformScheduledDetections (WsfSensor &aSensor, double aSimTime) |
| Convenience method to call PrePerformScheduledDetections on all the components. | |
| static void | PostPerformScheduledDetections (WsfSensor &aSensor, double aSimTime) |
| Convenience method to call PostPerformScheduledDetections on all the components. | |
| static void | UpdateTrack (WsfSensor &aSensor, double aSimTime, WsfTrack *aTrackPtr, WsfPlatform *aTargetPtr, WsfSensorResult &aResult) |
| Convenience method to call UpdateTrack on all the components. | |
Interface from WsfSensorComponent. | |
| using | CTD_ResultsMap = std::map<WsfEM_Xmtr*, WsfSensorResult> |
| bool | Initialize (double aSimTime) override |
| bool | ProcessBeamInput (UtInput &aInput, WsfSensorBeam &aSensorBeam) override |
| void | SelectMode (double aSimTime, WsfStringId aModeNameId) override |
| void | DeselectMode (double aSimTime, WsfStringId aModeNameId) override |
| void | AttemptToDetect (double aSimTime, WsfSensorResult &aResult) override |
| Extends the sensor-model implementation of AttemptToDetect. | |
| void | PostAttemptToDetect (double aSimTime, WsfPlatform *aTargetPtr, WsfSensorResult &aResult) override |
| bool | TrackerAllowTracking (double aSimTime, const TrackerSettings &aSettings, const WsfTrackId &aRequestId, size_t aObjectId, WsfTrack *aTrackPtr, WsfSensorResult &aResult) override |
| void | TrackerDropTrack (double aSimTime, const TrackerSettings &aSettings, const WsfTrackId &aRequestId, size_t aObjectId, WsfSensorMode *aModePtr, WsfTrack *aTrackPtr) override |
| void | PlatformAdded (double aSimTime, WsfPlatform *aPlatformPtr) override |
| void | PlatformDeleted (WsfPlatform *aPlatformPtr) override |
| void | TurnOff (double aSimTime) override |
Required interface from WsfComponent. | |
| WsfComponent * | CloneComponent () const override |
| WsfStringId | GetComponentName () const override |
| const int * | GetComponentRoles () const override |
| void * | QueryInterface (int aRole) override |
Additional Inherited Members | |
| Public Types inherited from WsfSensorComponent | |
| using | TrackerSettings = WsfSensorTrackerSettings |
| Public Types inherited from WsfComponentT< WsfSensor > | |
| typedef WsfSensor | ParentType |
| This is needed to support the WsfComponentList template. | |
The Close Target Detection (CTD) sensor component that will be attached to all sensor systems.
| using WsfCTD_SensorComponent::CTD_ResultsMap = std::map<WsfEM_Xmtr*, WsfSensorResult> |
WsfCTD_SensorComponent methods. These are called explicitly called by various components of the CTD model
|
default |
Referenced by CloneComponent(), Find(), FindOrCreate(), operator=(), and WsfCTD_SensorComponent().
|
default |
References WsfCTD_SensorComponent().
|
overridedefault |
|
overridevirtual |
Extends the sensor-model implementation of AttemptToDetect.
Reimplemented from WsfSensorComponent.
References WsfRadarSensor::RadarBeam::AttemptToDetect(), WsfSensorResult::Detected(), WsfSensorMode::GetBeamEntry(), WsfPlatform::GetIndex(), WsfMode::GetModeIndex(), WsfSimulation::GetPlatformByIndex(), WsfEM_Interaction::GetReceiver(), WsfSensorComponent::GetSimulation(), WsfEM_Interaction::GetTarget(), WsfSensorResult::mBeamIndex, WsfCTD_SensorComponent::CTD_Mode::mBeamList, WsfCTD_SensorComponent::CTD_Beam::mCTD_Platforms, WsfCTD_SensorComponent::CTD_Beam::mCTD_Results, WsfSensorResult::mModeIndex, WsfSensorResult::mRequiredPd, WsfCTD_SensorComponent::CTD_Beam::mTargetIndex, settings(), and WsfPlatform::Update().
|
overridevirtual |
Clones a component. May return null if component does not support clone.
Implements WsfComponent.
References WsfCTD_SensorComponent().
|
overridevirtual |
Reimplemented from WsfSensorComponent.
References WsfMode::GetModeIndex(), and WsfCTD_SensorComponent::CTD_Mode::mTargetResults.
|
static |
Find the instance of this component attached to the specified sensor.
References WsfComponentList::FindByRole(), WsfSensor::GetComponents(), and WsfCTD_SensorComponent().
Referenced by FindOrCreate().
|
static |
Find the instance of this component attached to the specified sensor, and create it if it doesn't exist.
References WsfComponentListT< COMPONENT_TYPE >::AddComponent(), Find(), WsfSensor::GetComponents(), and WsfCTD_SensorComponent().
|
overridevirtual |
Returns the component's name. Each component in a component list has a unique name. Names are usually defined by the user, but they may also be generated by code and prefixed with a '#' to guarantee no collisions with user-defined names.
Implements WsfComponent.
|
overridevirtual |
Returns a zero-terminated array of component roles. Note that the array should be in decreasing order of specificity and should generally the inheritance hierarchy. The first entry should be the components 'primary' role. For example a sensor would do the following:
Implements WsfComponent.
References cWSF_COMPONENT_CTD_SENSOR, cWSF_COMPONENT_NULL, and cWSF_COMPONENT_SENSOR_COMPONENT.
|
overridevirtual |
Perform phase 1 initialization. This is called by WsfPlatform::Initialize() during phase 1 initialization of the platform. The component should complete validation of input data that could not be done by ProcessInput, as well as any other functions to prepare for simulation use (subject to the next paragraph).
The order in which components are initialized is defined by GetComponentInitializationOrder. In general a component implementation of this method should not be dependent on the state of another component, i.e.: it should not assume that the other components Initialize() method has been called. If such a dependency exists one should use Initialize2() if possible, or specify a value GetComponentInitializationOrder to force things to initialize in a particular order.
| aSimTime | The current simulation time. |
Reimplemented from WsfComponent.
References WsfPlatformPart::DebugEnabled(), WsfSensorMode::GetBeamCount(), WsfSensorMode::GetBeamEntry(), WsfSensorBeam::GetBeamIndex(), WsfSensor::GetModeEntry(), WsfMode::GetModeIndex(), WsfSensorComponent::GetSensor(), WsfSensorMode::GetSensor(), WsfSensorBeam::GetSensorMode(), WsfCTD_SensorComponent::CTD_Mode::mBeamList, and ok.
|
delete |
References WsfCTD_SensorComponent().
|
overridevirtual |
Reimplemented from WsfSensorComponent.
References WsfPlatform::GetIndex().
|
overridevirtual |
Reimplemented from WsfSensorComponent.
References WsfPlatform::GetIndex().
|
overridevirtual |
Extends the sensor-model implementation of AttemptToDetect with post detection by the sensor.
Reimplemented from WsfSensorComponent.
References WsfPlatform::GetIndex(), WsfObject::GetName(), WsfEM_Interaction::GetTarget(), WsfEM_Interaction::RelativeData::mRange, WsfEM_Interaction::mRcvrToTgt, WsfEM_Interaction::mSignalToNoise, WsfEM_Interaction::RelativeData::mTrueAz, WsfEM_Interaction::RelativeData::mTrueEl, and WsfEM_Interaction::Print().
|
overridevirtual |
Reimplemented from WsfSensorComponent.
|
overridevirtual |
Requests a component's role interface. A component can support one or more roles.
| aRole | The role whose interface is to be returned. |
Implements WsfComponent.
References cWSF_COMPONENT_CTD_SENSOR, and cWSF_COMPONENT_SENSOR_COMPONENT.
|
static |
Register the component factory that handles input for this component.
References WsfScenario::RegisterComponentFactory().
Referenced by WsfMilExtension::AddedToScenario().
|
overridevirtual |
Reimplemented from WsfSensorComponent.
References WsfMode::GetModeIndex(), and WsfCTD_SensorComponent::CTD_Mode::mTargetResults.
|
overridevirtual |
Called when WsfSensorTracker::TargetDetected receives a detection.
| aSimTime | The current simulation time. |
| aSettings | The 'aSettings' argument from the calling 'Target...' method. |
| aRequestId | The 'aRequestId' argument from the calling 'Target...' method. |
| aObjectId | The 'aObjectId' argument from the calling 'Target...' method. |
| aTrackPtr | Pointer to the current track if one exists (can be null). |
| aResult | The results from the sensor detection. Return true to allow track update/creation to proceed with the current detection. If false the detection will be ignored and any existing track will be dropped. |
Reimplemented from WsfSensorComponent.
References WsfPlatform::GetIndex(), WsfMode::GetModeIndex(), WsfObject::GetName(), WsfSimulation::GetPlatformByIndex(), WsfEM_Interaction::GetReceiver(), WsfSensorComponent::GetSimulation(), WsfEM_Interaction::GetTarget(), WsfCTD_SensorComponent::CTD_Beam::Deltas::mAzimuthDelta, WsfSensorResult::mBeamIndex, WsfCTD_SensorComponent::CTD_Mode::mBeamList, WsfCTD_SensorComponent::CTD_Beam::Deltas::mElevationDelta, WsfEM_Interaction::LocationData::mLocWCS, WsfCTD_SensorComponent::CTD_Beam::Deltas::mRangeDelta, WsfEM_Interaction::mRcvrLoc, WsfCTD_SensorComponent::CTD_Beam::mReacquireDeltas, and WsfCTD_SensorComponent::CTD_Mode::mTargetResults.
|
overridevirtual |
Called from an implementation of the WsfSensorTracker 'Target...' methods when they want to drop a track.
| aSimTime | The current simulation time. |
| aSettings | The 'aSettings' argument from the calling 'Target...' method. |
| aRequestId | The 'aRequestId' argument from the calling 'Target...' method. |
| aObjectId | The 'aObjectId' argument from the calling 'Target...' method. |
| aModePtr | The sensor mode last used in updating the track. |
| aTrackPtr | The track to be dropped. |
Reimplemented from WsfSensorComponent.
References WsfMode::GetModeIndex(), WsfTrack::GetTargetName(), WsfSensorTrackerSettings::mComponentRole, and WsfCTD_SensorComponent::CTD_Mode::mTargetResults.
|
overridevirtual |
Reimplemented from WsfSensorComponent.