WSF
wsf::SurfaceWaveRadarSensorErrorModel Class Reference

A sensor error model for the Radar Sensor Specific Error Model functionality. More...

#include <WsfSurfaceWaveRadarSensorErrorModel.hpp>

Inheritance diagram for wsf::SurfaceWaveRadarSensorErrorModel:
Collaboration diagram for wsf::SurfaceWaveRadarSensorErrorModel:

Public Member Functions

SurfaceWaveRadarSensorErrorModelClone () const override
 Create a clone of "this" object.
bool Initialize (WsfSensorMode *aSensorModePtr) override
bool ProcessInput (UtInput &aInput) override
void ApplyMeasurementErrors (const wsf::SphericalMeasurementErrors &aErrors, WsfSensorResult &aResult) override
Public Member Functions inherited from wsf::StandardSensorErrorModel
bool IsStandardModel () const final
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
Public Member Functions inherited from wsf::SensorErrorModelBase
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< wsf::SensorErrorModelBaseObjectFactory (const std::string &aTypeName)
Static Public Member Functions inherited from wsf::StandardSensorErrorModel
static std::unique_ptr< SensorErrorModelBaseObjectFactory (const std::string &aTypeName)

Protected Member Functions

SphericalMeasurementErrors GetSphericalErrorStdDev (ut::Random &aRandom, WsfSensorResult &aResult, const Sigmas &aSigmas) const override
 WsfObject (const WsfObject &aSrc)
 Copy constructor (for Clone()).

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.

Detailed Description

A sensor error model for the Radar Sensor Specific Error Model functionality.

Member Function Documentation

◆ ApplyMeasurementErrors()

void wsf::SurfaceWaveRadarSensorErrorModel::ApplyMeasurementErrors ( const wsf::SphericalMeasurementErrors & aErrors,
WsfSensorResult & aResult )
overridevirtual

Apply measurement errors computed with ComputeMeasurementErrors to a sensor result.

Parameters
aErrorsThe sensor errors as returned from ComputeMeasurementErrors.
aResultThe sensing chance result to which the error is applied.

Reimplemented from wsf::StandardSensorErrorModel.

References wsf::SensorErrorModelBase::GetSensorMode(), wsf::SphericalMeasurementErrors::mAzError, wsf::SphericalMeasurementErrors::mElError, WsfSensorResult::mMeasurement, WsfEM_Interaction::RelativeData::mRange, wsf::SphericalMeasurementErrors::mRangeError, wsf::SphericalMeasurementErrors::mRangeRateError, WsfEM_Interaction::mRcvrToTgt, WsfEM_Interaction::RelativeData::mTrueAz, and WsfEM_Interaction::RelativeData::mTrueEl.

◆ Clone()

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

Create a clone of "this" object.

Reimplemented from wsf::StandardSensorErrorModel.

◆ GetSphericalErrorStdDev()

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

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 from wsf::StandardSensorErrorModel.

References WsfEM_XmtrRcvr::GetAzimuthBeamwidth(), WsfEM_XmtrRcvr::GetBandwidth(), WsfSurfaceWaveRadarSensor::RadarMode::GetDopplerResolution(), WsfEM_XmtrRcvr::GetElevationBeamwidth(), WsfEM_Xmtr::GetPulseCompressionRatio(), WsfEM_Xmtr::GetPulseWidth(), WsfEM_Interaction::GetReceiver(), wsf::SensorErrorModelBase::GetSensorMode(), WsfEM_Interaction::GetTransmitter(), wsf::SphericalMeasurementErrors::mAzError, wsf::SphericalMeasurementErrors::mElError, WsfSensorResult::mMeasurement, wsf::SphericalMeasurementErrors::mRangeError, wsf::SphericalMeasurementErrors::mRangeRateError, WsfEM_Interaction::mSignalToNoise, WsfSensorMode::ReportsBearing(), WsfSensorMode::ReportsElevation(), WsfSensorMode::ReportsLocation(), WsfSensorMode::ReportsRange(), and WsfSensorMode::ReportsRangeRate().

◆ Initialize()

bool wsf::SurfaceWaveRadarSensorErrorModel::Initialize ( WsfSensorMode * aSensorModePtr)
overridevirtual

Perform any necessary initialization.

Parameters
aSensorModePtrThe sensor mode used by this error model.

Reimplemented from wsf::SensorErrorModelBase.

References WsfObject::GetName(), WsfSensorMode::GetSensor(), wsf::SensorErrorModelBase::Initialize(), and ok.

◆ ObjectFactory()

std::unique_ptr< SensorErrorModelBase > wsf::SurfaceWaveRadarSensorErrorModel::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 WsfMilExtension::AddedToScenario().

◆ ProcessInput()

bool wsf::SurfaceWaveRadarSensorErrorModel::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::StandardSensorErrorModel.


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