WSF
wsf::StandardSensorErrorModel Class Reference

#include <WsfStandardSensorErrorModel.hpp>

Inheritance diagram for wsf::StandardSensorErrorModel:
Collaboration diagram for wsf::StandardSensorErrorModel:

Classes

struct  Sigmas
 A set of standard deviations of the mean associated with single sensor monostatic detections. More...

Public Member Functions

StandardSensorErrorModelClone () const override
 Create a clone of "this" object.
bool ProcessInput (UtInput &aInput) override
bool IsStandardModel () const final
Public Member Functions inherited from wsf::SensorErrorModelBase
virtual bool Initialize (WsfSensorMode *aSensorModePtr)
virtual void ApplyMeasurementErrors (WsfSensorResult &aResult)=0
virtual bool IsNullModel () const
 Is this a null model (i.e., ApplyMeasurementErrors has no effect).
bool DebugEnabled () const
WsfSensorModeGetSensorMode () const
void SetSensorMode (WsfSensorMode *aSensorModePtr)
Public Member Functions inherited from WsfObject
 WsfObject ()
 This is the constructor for the WsfObject class.
 ~WsfObject () override
 This is the destructor for the WsfObject class.
const char * GetScriptClassName () const override
const std::string & GetType () const
WsfStringId GetTypeId () const
 Get the string ID of the 'type' of the object.
void SetType (WsfStringId aType)
const std::string & GetBaseType () const
WsfStringId GetBaseTypeId () const
const TypeListGetTypeList () const
bool IsA_TypeOf (WsfStringId aType) const
WsfObjectoperator= (const WsfObject &aRhs)
 Assignment operator.
template<typename T>
void Serialize (T &aBuff)
 For XIO (de)serialization.
const std::string & GetName () const
WsfStringId GetNameId () const
void SetName (WsfStringId aName)

Static Public Member Functions

static std::unique_ptr< SensorErrorModelBaseObjectFactory (const std::string &aTypeName)

Sensor error access methods.

void SetSigmas (const Sigmas &aSigmas)
const SigmasGetSigmas () const
void SetAzErrorStdDev (double aAzErrorStdDev)
void SetElErrorStdDev (double aElErrorStdDev)
void SetRangeErrorStdDev (double aRangeErrorStdDev)
void SetRangeRateErrorStdDev (double aRangeRateErrorStdDev)
std::unique_ptr< SphericalMeasurementErrorsComputeMeasurementErrors (WsfSensorResult &aResult) const override
void ApplyMeasurementErrors (const SphericalMeasurementErrors &aErrors, WsfSensorResult &aResult) override
virtual SphericalMeasurementErrors GetSphericalErrorStdDev (ut::Random &aRandom, WsfSensorResult &aResult, const Sigmas &aSigmas) const

Additional Inherited Members

Public Types inherited from wsf::SensorErrorModelBase
using SensorModelTypes = WsfObjectTypeList<SensorErrorModelBase>
Public Types inherited from WsfObject
typedef std::vector< WsfStringIdTypeList
 The list of types returned by GetTypeList.
 WsfObject (const WsfObject &aSrc)
 Copy constructor (for Clone()).

Detailed Description

A sensor error model for the default/standard sensor error model functionality. This model explicitly uses spherical input parameters (Sigmas) to produce normally-distributed az, el, range and range-rate errors.

Member Function Documentation

◆ ApplyMeasurementErrors()

◆ Clone()

StandardSensorErrorModel * wsf::StandardSensorErrorModel::Clone ( ) const
overridevirtual

Create a clone of "this" object.

Implements wsf::SensorErrorModelBase.

Reimplemented in wsf::SurfaceWaveRadarSensorErrorModel.

◆ ComputeMeasurementErrors()

std::unique_ptr< SphericalMeasurementErrors > wsf::StandardSensorErrorModel::ComputeMeasurementErrors ( WsfSensorResult & aResult) const
overridevirtual

Compute the 'standard' measurement errors.

Parameters
aResultThe sensing chance result data.
Returns
The computed errors.

Implements wsf::SensorErrorModel< SphericalMeasurementErrors >.

References WsfSensorComponent::ComputeSphericalMeasurementErrors(), wsf::SensorErrorModelBase::GetSensorMode(), and GetSphericalErrorStdDev().

◆ GetSigmas()

◆ GetSphericalErrorStdDev()

SphericalMeasurementErrors wsf::StandardSensorErrorModel::GetSphericalErrorStdDev ( ut::Random & aRandom,
WsfSensorResult & aResult,
const Sigmas & aSigmas ) const
virtual

Specifically compute normally distributed polar measurement errors based on the given sensor result and set of standard deviations.

Parameters
aRandomThe random number generator used to generate the errors.
aResultThe sensing chance result that may be used to help compute the sensor errors.
aSigmasThe set of standard deviations used to compute the sensor errors.
Note
The sensor result may be modified by this method.
Once the deprecated WsfSensorMode::ComputeMeasurementErrors is removed, this method can be made protected.

Reimplemented in wsf::BistaticErrorModel, wsf::OTH_RadarSensorErrorModel, and wsf::SurfaceWaveRadarSensorErrorModel.

References wsf::SensorErrorModelBase::GetSensorMode(), wsf::SphericalMeasurementErrors::mAzError, wsf::StandardSensorErrorModel::Sigmas::mAzErrorStdDev, wsf::SphericalMeasurementErrors::mElError, wsf::StandardSensorErrorModel::Sigmas::mElErrorStdDev, WsfSensorResult::mMeasurement, WsfEM_Interaction::RelativeData::mRange, wsf::SphericalMeasurementErrors::mRangeError, wsf::StandardSensorErrorModel::Sigmas::mRangeErrorStdDev, wsf::SphericalMeasurementErrors::mRangeRateError, wsf::StandardSensorErrorModel::Sigmas::mRangeRateErrorStdDev, WsfEM_Interaction::mRcvrToTgt, WsfEM_Interaction::mRcvrToXmtr, WsfSensorMode::ReportsBearing(), WsfSensorMode::ReportsElevation(), WsfSensorMode::ReportsLocation(), WsfSensorMode::ReportsRange(), and WsfSensorMode::ReportsRangeRate().

Referenced by ComputeMeasurementErrors(), WsfPassiveSensor::PassiveMode::PassiveErrorModel::ComputeMeasurementErrors(), and wsf::OTH_RadarSensorErrorModel::GetSphericalErrorStdDev().

◆ IsStandardModel()

bool wsf::StandardSensorErrorModel::IsStandardModel ( ) const
inlinefinalvirtual

Is this a "standard" model that utilizes az/el/range/range rate standard deviations to compute normally distributed errors.

Reimplemented from wsf::SensorErrorModelBase.

◆ ObjectFactory()

std::unique_ptr< SensorErrorModelBase > wsf::StandardSensorErrorModel::ObjectFactory ( const std::string & aTypeName)
static

Factory method for WsfSensorErrorModelTypes. This is called by WsfSensorErrorModelTypes::LoadType to determine if a pattern represented by this class is being requested.

Referenced by WsfSensorErrorModelTypes::WsfSensorErrorModelTypes().

◆ ProcessInput()

bool wsf::StandardSensorErrorModel::ProcessInput ( UtInput & aInput)
overridevirtual

Process input from a generic source.

Examine the current input command. If it is NOT one of the commands recognized by this class then it simply returns 'false'. If it is one of the commands recognized by this class then it processes the command and returns 'true'.

Parameters
aInputa reference to a UtInput object.
Returns
'true' if the command was one recognized by the class or 'false' if not.
Exceptions
UtInput::ExceptionBase(or an object derived from it) if the command was recognized but contains some sort of error.
Note
If a derived class does not recognize the command (i.e.: the return value is false) then it should call the base class ProcessInput method. This chain should continue until either the command is recognized or the top-level base class is encountered.

Reimplemented from wsf::SensorErrorModelBase.

Reimplemented in wsf::SurfaceWaveRadarSensorErrorModel.

References wsf::SensorErrorModelBase::ProcessInput().

Referenced by wsf::BistaticErrorModel::ProcessInput(), wsf::OTH_RadarSensorErrorModel::ProcessInput(), wsf::RadarSensorErrorModel::ProcessInput(), and WsfSAR_Sensor::SAR_Mode::SAR_ErrorModel::ProcessInput().

◆ SetAzErrorStdDev()

void wsf::StandardSensorErrorModel::SetAzErrorStdDev ( double aAzErrorStdDev)
inline

◆ SetElErrorStdDev()

void wsf::StandardSensorErrorModel::SetElErrorStdDev ( double aElErrorStdDev)
inline

◆ SetRangeErrorStdDev()

void wsf::StandardSensorErrorModel::SetRangeErrorStdDev ( double aRangeErrorStdDev)
inline

◆ SetRangeRateErrorStdDev()

void wsf::StandardSensorErrorModel::SetRangeRateErrorStdDev ( double aRangeRateErrorStdDev)
inline

◆ SetSigmas()

void wsf::StandardSensorErrorModel::SetSigmas ( const Sigmas & aSigmas)
inline

The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved