|
WSF
|
A measurement class that provides WSF-specific interfaces and data extrapolation. More...
#include <WsfMeasurement.hpp>


Public Member Functions | |
| WsfMeasurement () | |
| WsfMeasurement (const WsfMeasurement &aSrc)=default | |
| virtual WsfMeasurement * | Clone () const |
| virtual bool | ProcessInput (UtInput &aInput) |
| virtual void | Update (double aSimTime) |
| virtual bool | IsTrack () const |
Spatial domain methods. | |
The spatial domain represents the domain in which that track is thought to exist (land, air, space, etc.) Some systems report tracks differently depending on their domain. | |
| using | WsfSpatialDomainInformation = UtInformation<int> |
| WsfSpatialDomainInformation | mSpatialDomain |
| WsfSimulation * | mSimulationPtr {nullptr} |
| WsfSpatialDomain | GetSpatialDomain () const |
| Get the spatial domain of the platform. | |
| void | SetSpatialDomain (const WsfSpatialDomain &aSpatialDomain) |
| Set the spatial domain of the platform. | |
| double | GetDefaultAltitude () const |
| Return a default altitude based on the platform's spatial domain. | |
| static double | GetDefaultAltitude (WsfSpatialDomain aDomain) |
| Given a spatial domain, return the default altitude of that domain. | |
| const wsf::TrackExtrapolators * | GetTrackExtrapolators () const |
Virtual filter methods. | |
| virtual WsfFilter * | GetFilter () |
| Return a pointer to the filter. If no filter is present, the pointer will be zero. | |
| virtual const WsfFilter * | GetFilter () const |
| Return a pointer to the filter (const version). If no filter is present, the pointer will be zero. | |
Extrapolation methods. | |
| virtual bool | GetExtrapolatedLocationWCS (double aSimTime, double aLocationWCS[3]) const |
| template<typename T> | |
| bool | GetExtrapolatedData (double aSimTime, const std::string &aExtrapolationType, T &aData) const |
| virtual void | KinematicUpdate (double aSimTime) |
| Update the measurement/track to the given time using filtering and extrapolation. | |
| WsfSimulation * | GetSimulation () const |
| Return the simulation object this measurement is associated with, or nullptr if WsfMeasurement::Initialize was not called. | |
| void | SetSimulation (WsfSimulation &aSimulation) |
| void | SetSphericalMeasurement (double aSimTime, double aAzimuth, double aElevation, double aRange, double aRangeRate) |
| Convenience method to set a 3D spherical measurement result. | |
A measurement class that provides WSF-specific interfaces and data extrapolation.
|
protected |
| WsfMeasurement::WsfMeasurement | ( | ) |
References mSpatialDomain, and WSF_SPATIAL_DOMAIN_UNKNOWN.
Referenced by Clone(), WsfTrack::KinematicUpdate(), WsfLocalTrack::UpdateFilter(), WsfMeasurement(), and WsfTrack::WsfTrack().
|
default |
References Clone(), ProcessInput(), and WsfMeasurement().
|
virtual |
Reimplemented in WsfLocalTrack, and WsfTrack.
References WsfMeasurement().
Referenced by WsfEW_SensorComponent::TrackerUpdateTrack(), and WsfMeasurement().
|
inline |
Return a default altitude based on the platform's spatial domain.
References GetDefaultAltitude(), and GetSpatialDomain().
Referenced by MTT_PerceivedCluster::CopyFrom(), MTT_ActiveTrack::CopyTo(), and GetDefaultAltitude().
|
staticprotected |
Given a spatial domain, return the default altitude of that domain.
References WSF_SPATIAL_DOMAIN_AIR, WSF_SPATIAL_DOMAIN_LAND, WSF_SPATIAL_DOMAIN_SPACE, and WSF_SPATIAL_DOMAIN_SUBSURFACE.
|
inline |
Extrapolate measurement data based on stored wsf::TrackExtrapolation objects.
| aSimTime | The time to which the data should be extrapolated. |
| aExtrapolationType | The type of extrapolation to be performed, obtained from the track extrapolation object's GetTypeId method. |
| aData | The output extrapolated data. |
References wsf::TrackExtrapolation< T >::Extrapolate(), wsf::TrackExtrapolators::Find(), and GetTrackExtrapolators().
Referenced by GetExtrapolatedLocationWCS().
|
virtual |
Get the predicted perceived target WCS location at a time other than the last updated time. Returns true if successful or false if not enough information is present (e.g.: this is a 'range-only' track).
| aSimTime | The time at which the location estimate is desired. |
| aLocationWCS | (output) The estimated location at the given time. |
References GetExtrapolatedData(), wsf::KinematicStateExtrapolation::GetTypeId(), and wsf::TrackExtrapolation< KinematicState >::Type().
Referenced by WsfBallisticMissileLaunchComputer::ComputeAirIntercept(), WsfATA_LaunchComputer::EstimatedTimeToIntercept(), WsfBallisticMissileLaunchComputer::EstimatedTimeToIntercept(), WsfSAM_LaunchComputer::EstimatedTimeToIntercept(), WsfQuantumEvaluatorDistance::Evaluate(), WsfQuantumEvaluatorInterceptTime::Evaluate(), WsfWeaponTrackProcessor::GetInterceptData(), WsfWeapon::GetTargetLocationWCS(), WsfDefaultSensorTracker::GetTargetState(), WsfRoadMover::GetTravelTime(), WsfRoadMover::GoToTrack(), WsfTrack::Initialize(), WsfParabolicMover::InitShot(), KinematicUpdate(), WsfTrack::LineOfSightRatesFrom(), WsfHeatMap::LocalTrackDropped(), wsf::event::utils::PrintTrackData(), wsf::event::utilsCSV::PrintTrackData(), WsfSA_Predict::ProjectPositionInTime(), WsfDefaultSensorScheduler::SelectTarget(), WsfLocalTrack::UpdateFilter(), UT_DEFINE_SCRIPT_METHOD(), WsfATG_LaunchComputer::WithinConstraintsAt(), WsfLaunchComputer::WithinConstraintsAt(), WsfRF_Jammer::WithinFieldOfView(), WsfSensor::WithinFieldOfView(), and WsfWeapon::WithinFieldOfView().
|
inlinevirtual |
Return a pointer to the filter. If no filter is present, the pointer will be zero.
Reimplemented in WsfLocalTrack.
Referenced by wsf::space::KinematicStateExtrapolation::Extrapolate(), and WsfTrack::KinematicUpdate().
|
inlinevirtual |
Return a pointer to the filter (const version). If no filter is present, the pointer will be zero.
Reimplemented in WsfLocalTrack.
|
inline |
Return the simulation object this measurement is associated with, or nullptr if WsfMeasurement::Initialize was not called.
References mSimulationPtr.
Referenced by wsf::space::KinematicStateExtrapolation::Extrapolate().
|
inline |
Get the spatial domain of the platform.
References mSpatialDomain.
Referenced by WsfWeaponServer::GenerateCommand(), GetDefaultAltitude(), WsfL16::SurveillancePart::HaveReportingResponsibility(), wsf::DefaultTrackExtrapolationStrategy::InitializeExtrapolation(), WsfL16::SurveillancePart::IsTrackReportable(), wsf::UCI_AMTI_Component::OnSensorTrackInitiated(), wsf::UCI_AMTI_Component::OnSensorTrackUpdated(), WsfEventPipeInterface::PackTrack(), wsf::event::utils::PrintTrackData(), wsf::event::utilsCSV::PrintTrackData(), WsfDefaultFusion::UpdateSpatialDomain(), WsfJamStrobeDetector::UpdateTrack(), and WsfSensorMode::UpdateTrack().
|
protected |
If WsfMeasurement::mSimulationPtr is non-null, this method performs a just-in-time initialization of WsfMeasurement::mExtrapolators. This is necessary because the desired extrapolation objects are unknown until the measurement data are populated (i.e., post-construction/initialization).
References wsf::TrackExtrapolationStrategyTypes::Get(), wsf::TrackExtrapolationStrategyTypes::GetDefaultStrategy(), wsf::DefaultTrackExtrapolationStrategy::InitializeExtrapolation(), and mSimulationPtr.
Referenced by GetExtrapolatedData().
|
inlinevirtual |
Reimplemented in WsfTrack.
|
virtual |
Update the measurement/track to the given time using filtering and extrapolation.
Reimplemented in WsfTrack.
References GetExtrapolatedLocationWCS(), and SetLocationWCS().
Referenced by WsfTrack::KinematicUpdate(), and WsfDefaultFusion::UpdateLocalResultFromNonLocalResult().
|
virtual |
Reimplemented in WsfTrack.
References mSpatialDomain, and WsfTypes::StringToEnum().
Referenced by WsfTrack::ProcessInput(), and WsfMeasurement().
|
inline |
Set the simulation object associated with this measurement.
References mSimulationPtr.
Referenced by WsfTrack::Initialize().
|
inline |
Set the spatial domain of the platform.
References mSpatialDomain.
Referenced by WsfWeaponServer::CreateATargetPoint(), WsfWeaponServer::CreateATargetPoint(), WsfSensorMode::InitializeTrack(), WsfUtil::MakeTrack(), WsfWeaponServer::ProcessCommand(), WsfDefaultFusion::UpdateSpatialDomain(), WsfJamStrobeDetector::UpdateTrack(), WsfSensorMode::UpdateTrack(), and WsfSensorMode::UpdateTrackReportingFlags().
| void WsfMeasurement::SetSphericalMeasurement | ( | double | aSimTime, |
| double | aAzimuth, | ||
| double | aElevation, | ||
| double | aRange, | ||
| double | aRangeRate ) |
Convenience method to set a 3D spherical measurement result.
| aSimTime | The time at which the measurement is valid. |
| aAzimuth | The measurement azimuth. |
| aElevation | The measurement elevation. |
| aRange | The range of the measurement. |
| aRangeRate | The measurement range rate. |
Referenced by wsf::AbsoluteSensorErrorModel::ApplyMeasurementErrors(), and wsf::StandardSensorErrorModel::ApplyMeasurementErrors().
|
inlinevirtual |
Reimplemented in WsfTrack.
Referenced by WsfDefaultFusion::UpdateLocalResultFromNonLocalResult().
|
protected |
|
protected |
Referenced by GetSpatialDomain(), ProcessInput(), SetSpatialDomain(), WsfTrack::UpdateFromMeasurement(), and WsfMeasurement().