WSF
WsfOrbitDeterminationFusion Class Reference

An implementation of WsfFusionStratgey for orbit determination from sensor measurements. More...

#include <WsfOrbitDeterminationFusion.hpp>

Inheritance diagram for WsfOrbitDeterminationFusion:
Collaboration diagram for WsfOrbitDeterminationFusion:

Public Member Functions

 WsfOrbitDeterminationFusion (const WsfScenario &aScenario)
 WsfOrbitDeterminationFusion (const WsfOrbitDeterminationFusion &aSrc)=default
WsfOrbitDeterminationFusionoperator= (const WsfOrbitDeterminationFusion &)=delete
 ~WsfOrbitDeterminationFusion () override=default
WsfFusionStrategyClone () const override
 Create a clone of "this" object.
bool ProcessInput (UtInput &aInput) override
bool Initialize (WsfTrackManager *aTrackManagerPtr) override
 Perform any necessary initialization.
bool UpdateLocalTrackFromNonLocalTrack (double aSimTime, WsfLocalTrack &aLocalTrack, const WsfTrack &aNonLocalTrack) override
bool UpdateLocalResultFromNonLocalResult (double aSimTime, WsfLocalSensorResult &aLocalResult, const WsfSensorResult &aNonLocalResult) override
void ReviewTrack (WsfLocalTrack &aLocalTrack) override
Public Member Functions inherited from WsfDefaultFusion
 WsfDefaultFusion (const WsfScenario &aScenario, bool aIsWeightedAverage=false)
 ~WsfDefaultFusion () override=default
bool UpdateNonKinematicData (double aSimTime, WsfLocalTrack &aLocalTrack, const WsfTrack &aNonLocalTrack) override
Public Member Functions inherited from WsfFusionStrategy
 ~WsfFusionStrategy () override=default
virtual bool Initialize (WsfProcessor *aProcessorPtr)
 Perform any necessary initialization.
virtual bool DebugEnabled () const
 Return whether debug is enabled for this instance.
virtual bool InitializeLocalTrackFromNonLocalTrack (double aSimTime, WsfLocalTrack &aLocalTrack, const WsfTrack &aNonLocalTrack)
virtual bool InitializeLocalResultFromNonLocalResult (double aSimTime, WsfLocalSensorResult &aLocalResult, const WsfSensorResult &aNonLocalResult)
WsfSimulationGetSimulation () const
double GetSimTime ()
WsfPlatformGetPlatform () const
WsfTrackManagerGetTrackManager ()
 Return a reference to the track manager being accessed internally by this object.
const WsfTrackManagerGetTrackManager () const
WsfProcessorGetProcessor ()
 Return a reference to the processor being accessed internally by this object.
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 void ReviewTrack (WsfTrackManager &aTrackManager, WsfLocalTrack &aLocalTrack)
Static Public Member Functions inherited from WsfDefaultFusion
static void ReviewTrack (WsfTrackManager &aTrackManager, WsfLocalTrack &aLocalTrack)
Static Public Member Functions inherited from WsfFusionStrategy
static bool UpdateNonKinematicData (double aSimTime, WsfTrackManager &aTracManager, WsfLocalTrack &aLocalTrack, const WsfTrack &aNonLocalTrack)

Static Protected Member Functions

static bool IsBearingElevation (const UtMeasurementData &aTrack)
static bool IsLocation (const UtMeasurementData &aTrack)
Static Protected Member Functions inherited from WsfDefaultFusion
static void ReviewIFF (WsfTrackManager &aTrackManager, WsfLocalTrack &aLocalTrack)
static void ReviewTrackQuality (WsfTrackManager &aTrackManager, WsfLocalTrack &aLocalTrack)
Static Protected Member Functions inherited from WsfFusionStrategy
static void FuseEstimates (const UtMatrixd &aEstimate1, const UtMatrixd &aEstimate2, const UtMatrixd &aCovar1, const UtMatrixd &aCovar2, UtMatrixd &aEstimateOut, UtMatrixd &aCovarOut)
static void NormalizeAzRangeEstimate (const UtMatrixd &aEstimate, const UtMatrixd &aCovar, const double &aElevation, UtMatrixd &aNormEstimate, UtMatrixd &aNormCovar)
static void NormalizeElRangeEstimate (const UtMatrixd &aEstimate, const UtMatrixd &aCovar, const double &aAzimuth, UtMatrixd &aNormEstimate, UtMatrixd &aNormCovar)

Additional Inherited Members

Public Types inherited from WsfFusionStrategy
using FusionStrategyTypes = WsfObjectTypeList<WsfFusionStrategy>
Public Types inherited from WsfObject
typedef std::vector< WsfStringIdTypeList
 The list of types returned by GetTypeList.
Protected Member Functions inherited from WsfDefaultFusion
 WsfDefaultFusion (const WsfDefaultFusion &aSrc)
WsfDefaultFusionoperator= (const WsfDefaultFusion &)=delete
bool UpdateIFF_Status (double aSimTime, WsfLocalTrack &aLocalTrack, const WsfTrack &aNonLocalTrack) override
bool UpdateSide (double aSimTime, WsfLocalTrack &aLocalTrack, const WsfTrack &aNonLocalTrack) override
bool UpdateType (double aSimTime, WsfLocalTrack &aLocalTrack, const WsfTrack &aNonLocalTrack) override
bool UpdateSpatialDomain (double aSimTime, WsfLocalTrack &aLocalTrack, const WsfTrack &aNonLocalTrack) override
bool UpdateTrackQuality (double aSimTime, WsfLocalTrack &aLocalTrack, const WsfTrack &aNonLocalTrack) override
bool UpdateSignalToNoise (double aSimTime, WsfLocalTrack &aLocalTrack, const WsfTrack &aNonLocalTrack) override
bool UpdateSignalList (double aSimTime, WsfLocalTrack &aLocalTrack, const WsfTrack &aNonLocalTrack) override
bool UpdateAuxData (double aSimTime, WsfLocalTrack &aLocalTrack, const WsfTrack &aNonLocalTrack) override
void SetWeightedAverage (bool aIsWeightedAverage)
void PerformMirrorTrackUpdate (double aSimTime, WsfLocalTrack &aLocalTrack, const WsfTrack &aNonLocalTrack)
bool PerformStandardTrackUpdate (double aSimTime, WsfLocalTrack &aLocalTrack, const WsfTrack &aNonLocalTrack)
Protected Member Functions inherited from WsfFusionStrategy
 WsfFusionStrategy ()
 WsfFusionStrategy (const WsfFusionStrategy &aSrc)
WsfFusionStrategyoperator= (const WsfFusionStrategy &)=delete
void SetTrackManager (WsfTrackManager &aTrackManager)
 Set the track manager reference.
void SetProcessor (WsfProcessor &aProcessor)
 Set the processor reference.
 WsfObject (const WsfObject &aSrc)
 Copy constructor (for Clone()).

Detailed Description

An implementation of WsfFusionStratgey for orbit determination from sensor measurements.

Constructor & Destructor Documentation

◆ WsfOrbitDeterminationFusion() [1/2]

WsfOrbitDeterminationFusion::WsfOrbitDeterminationFusion ( const WsfScenario & aScenario)
explicit

◆ WsfOrbitDeterminationFusion() [2/2]

WsfOrbitDeterminationFusion::WsfOrbitDeterminationFusion ( const WsfOrbitDeterminationFusion & aSrc)
default

◆ ~WsfOrbitDeterminationFusion()

WsfOrbitDeterminationFusion::~WsfOrbitDeterminationFusion ( )
overridedefault

Member Function Documentation

◆ Clone()

WsfFusionStrategy * WsfOrbitDeterminationFusion::Clone ( ) const
inlineoverridevirtual

Create a clone of "this" object.

Reimplemented from WsfDefaultFusion.

References WsfFusionStrategy::WsfFusionStrategy(), and WsfOrbitDeterminationFusion().

◆ Initialize()

bool WsfOrbitDeterminationFusion::Initialize ( WsfTrackManager * aTrackManagerPtr)
overridevirtual

Perform any necessary initialization.

Reimplemented from WsfDefaultFusion.

References WsfFusionStrategy::Initialize(), and WsfDefaultFusion::SetWeightedAverage().

◆ IsBearingElevation()

bool WsfOrbitDeterminationFusion::IsBearingElevation ( const UtMeasurementData & aTrack)
staticprotected

◆ IsLocation()

bool WsfOrbitDeterminationFusion::IsLocation ( const UtMeasurementData & aTrack)
staticprotected

Helper method to determine if a track has range and should be processed with the range-based algorithm (Lambert Universal).

Referenced by UpdateLocalTrackFromNonLocalTrack().

◆ operator=()

WsfOrbitDeterminationFusion & WsfOrbitDeterminationFusion::operator= ( const WsfOrbitDeterminationFusion & )
delete

◆ ProcessInput()

bool WsfOrbitDeterminationFusion::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 WsfDefaultFusion.

References WsfDefaultFusion::ProcessInput().

◆ ReviewTrack() [1/2]

void WsfOrbitDeterminationFusion::ReviewTrack ( WsfLocalTrack & aLocalTrack)
overridevirtual

Review a track, adjusting parameters based on available information. Usually these are IFF and track quality. This review is usually performed after a track de-correlation.

Reimplemented from WsfDefaultFusion.

References WsfFusionStrategy::GetTrackManager(), WsfDefaultFusion::ReviewIFF(), WsfDefaultFusion::ReviewTrackQuality(), and WsfLocalTrack::UpdateSignalList().

◆ ReviewTrack() [2/2]

void WsfOrbitDeterminationFusion::ReviewTrack ( WsfTrackManager & aTrackManager,
WsfLocalTrack & aLocalTrack )
static

◆ UpdateLocalResultFromNonLocalResult()

bool WsfOrbitDeterminationFusion::UpdateLocalResultFromNonLocalResult ( double aSimTime,
WsfLocalSensorResult & aLocalResult,
const WsfSensorResult & aNonLocalResult )
inlineoverridevirtual

Fuse a non-local result with an existing local result.

Returns
true if the local result was updated with non-local result data or false if the non-local result data was out-of-date.

The result will be marked as non-3d to prevent weighted-average fusion (the covariance matrix cannot be computed from sensor errors).

Reimplemented from WsfDefaultFusion.

◆ UpdateLocalTrackFromNonLocalTrack()

bool WsfOrbitDeterminationFusion::UpdateLocalTrackFromNonLocalTrack ( double aSimTime,
WsfLocalTrack & aLocalTrack,
const WsfTrack & aNonLocalTrack )
overridevirtual

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