WSF
SOSM_SimpleInteraction Class Reference

#include <SOSM_SimpleInteraction.hpp>

Inheritance diagram for SOSM_SimpleInteraction:
Collaboration diagram for SOSM_SimpleInteraction:

Public Member Functions

 SOSM_SimpleInteraction ()
Public Member Functions inherited from SOSM_Interaction
 SOSM_Interaction ()
virtual ~SOSM_Interaction ()
float GetSensorSpeed ()
virtual void Print (ut::log::MessageStream &aMsgStream, const UtAtmosphere &aAtmosphere, SOSM_Sensor *aSensorPtr, SOSM_Target *aTargetPtr)
 Print the interaction data to standard output (for debugging).

Methods to directly set the values returned by this class.

void SetSlantRange (float aSlantRange)
void SetSensorAltitude (float aAltitude)
void SetSensorSpeed (float aSpeed)
void SetTargetAltitude (float aAltitude)
void SetTargetSpeed (float aSpeed)
void SetTargetThrottle (float aThrottle)
void SetAbsoluteTargetElevation (float aElevation)
void SetSensorToTargetAspect (float aAzimuth, float aElevation)
void SetTargetToSensorAspect (float aAzimuth, float aElevation)

Implementations of base class methods.

float GetSlantRange () override
float GetSensorAltitude () override
virtual float GetSensorSpeed ()
float GetTargetAltitude () override
float GetTargetSpeed () override
float GetTargetThrottle () override
float GetAbsoluteTargetElevation () override
void GetSensorToTargetAspect (float &aAzimuth, float &aElevation) override
void GetTargetToSensorAspect (float &aAzimuth, float &aElevation) override
void ComputeGeometry (float aRange, float aSensorAltitude, float aTargetAltitude, float aTargetHeading, float aTargetPitch, float aTargetRoll)
void ComputeGeometry (double aSensorLatitude, double aSensorLongitude, float aSensorAltitude, float aSensorHeading, float aSensorPitch, float aSensorRoll, double aTargetLatitude, double aTargetLongitude, float aTargetAltitude, float aTargetHeading, float aTargetPitch, float aTargetRoll)

Additional Inherited Members

Public Attributes inherited from SOSM_Interaction
size_t mTargetStateIndex
float mBodyArea
 The projected area of the target structure (cm^2).
float mBodyIntensity
 The radiant intensity of the target body (W/sr).
float mPlumeArea
 The projected area of the target plume (cm^2).
float mPlumeIntensity
 The radiant intensity of the target plume (W/sr).
float mTransmittance
 The transmittance of the path to the target (unit-less, in the range [0..1]).
float mBackgroundRadiance
 The radiance of the background path at the observer(W/cm^2/sr).
float mForegroundRadiance
 The radiance of the foreground path at the observer (W/cm^2/sr).
float mContrastIntensity
 The contrast radiant intensity at the observer (W/sr).
float mInstallationAdjustment
 The 'Installation Adjustment' in the range [0..1].
float mNoiseEquivalentIrradiance
 The noise equivalent irradiance (NEI) (W/cm^2).
float mDetectionThreshold
 The detection threshold.
float mTransmittanceScaleFactor
 A multiplier on the calculated transmittance.
float mForegroundScaleFactor
 A multiplier on the calculated foreground.
float mBackgroundScaleFactor
 A multiplier on the calculated background.

Detailed Description

A concrete class that provides a minimal implementation of SOSM_Interaction.

This class provides a minimal implementation of SOSM_Interaction for those uses where the simulation may not be maintaining this data by itself. Methods are provides to either set the values directly or by calling one of the ComputeGeometry methods to compute the required data based on the supplied parameters.

Constructor & Destructor Documentation

◆ SOSM_SimpleInteraction()

SOSM_SimpleInteraction::SOSM_SimpleInteraction ( )

Member Function Documentation

◆ ComputeGeometry() [1/2]

void SOSM_SimpleInteraction::ComputeGeometry ( double aSensorLatitude,
double aSensorLongitude,
float aSensorAltitude,
float aSensorHeading,
float aSensorPitch,
float aSensorRoll,
double aTargetLatitude,
double aTargetLongitude,
float aTargetAltitude,
float aTargetHeading,
float aTargetPitch,
float aTargetRoll )

Compute geometry using the supplied positions and orientations.

Parameters
aSensorLatitudeThe latitude of the sensor (degrees)
aSensorLongitudeThe longitude of the sensor (degrees)
aSensorAltitudeThe altitude of the sensor (meters).
aSensorHeadingThe heading of the sensor (radians from north).
aSensorPitchThe pitch angle of the sensor (radians, + nose up).
aSensorRollThe roll angle of the sensor (radians, + right wing down).
aTargetLatitudeThe latitude of the target (degrees)
aTargetLongitudeThe longitude of the target (degrees)
aTargetAltitudeThe altitude of the target (meters).
aTargetHeadingThe heading of the target (radians from north).
aTargetPitchThe pitch angle of the target (radians, + nose up).
aTargetRollThe roll angle of the target (radians, + right wing down).
Note
An ellipsoidal Earth is assumed.

◆ ComputeGeometry() [2/2]

void SOSM_SimpleInteraction::ComputeGeometry ( float aSlantRange,
float aSensorAltitude,
float aTargetAltitude,
float aTargetHeading,
float aTargetPitch,
float aTargetRoll )

Compute geometry using the supplied slant range, altitudes, and target orientation.

Parameters
aSlantRangeThe slant range to the target (meters).
aSensorAltitudeThe sensor altitude (meters).
aTargetAltitudeThe target altitude (meters).
aTargetHeadingThe heading of the target (radians from north).
aTargetPitchThe pitch angle of the target (radians, + nose up).
aTargetRollThe roll angle of the target (radians, + right wing down).

◆ GetAbsoluteTargetElevation()

float SOSM_SimpleInteraction::GetAbsoluteTargetElevation ( )
inlineoverridevirtual

Return the elevation of the target with respect to the horizontal plane at the sensor location.

This method should returns the elevation angle of the target location with respect to a plane that is tangent to the Earth's surface at the sensor location. It is NOT a function of the orientation of either the sensor or the target.

Returns
elevation angle in radians (+ up, - down)

Implements SOSM_Interaction.

◆ GetSensorAltitude()

float SOSM_SimpleInteraction::GetSensorAltitude ( )
inlineoverridevirtual

Return the altitude of the sensor.

Returns
The altitude of the sensor (meters/second).

Implements SOSM_Interaction.

◆ GetSensorSpeed()

virtual float SOSM_SimpleInteraction::GetSensorSpeed ( )
inlinevirtual

◆ GetSensorToTargetAspect()

void SOSM_SimpleInteraction::GetSensorToTargetAspect ( float & aAzimuth,
float & aElevation )
inlineoverridevirtual

Return the aspect of the target with respect to the sensor.

This method should return the azimuth and elevation of the target platform with respect to the location AND orientation of the sensor platform (NOT the installed sensor angle).

Parameters
aAzimuth[output] The azimuth angle (radians). Positive values are to the RIGHT with respect to the 'pilot' on the sensor platform.
aElevation[output] The elevation angle (radians). Positive values are UP with respect to the 'pilot' on the sensor platform.

Implements SOSM_Interaction.

◆ GetSlantRange()

float SOSM_SimpleInteraction::GetSlantRange ( )
inlineoverridevirtual

Return the slant range between the sensor and the target. The slant range between the sensor and the target (meters)

Implements SOSM_Interaction.

◆ GetTargetAltitude()

float SOSM_SimpleInteraction::GetTargetAltitude ( )
inlineoverridevirtual

Return the altitude of the target.

Returns
The altitude of the target (meters).

Implements SOSM_Interaction.

◆ GetTargetSpeed()

float SOSM_SimpleInteraction::GetTargetSpeed ( )
inlineoverridevirtual

Return the speed of the target.

Returns
The speed of the target (meters/second).

Implements SOSM_Interaction.

◆ GetTargetThrottle()

float SOSM_SimpleInteraction::GetTargetThrottle ( )
inlineoverridevirtual

Return the 'throttle setting' of the target.

Returns
The throttle setting of the target in the range [0..1].
Note
The following values should be used as indicated:
  • 0.0 = no power applied.
  • 1.0 = afterburner activated.

Reimplemented from SOSM_Interaction.

◆ GetTargetToSensorAspect()

void SOSM_SimpleInteraction::GetTargetToSensorAspect ( float & aAzimuth,
float & aElevation )
inlineoverridevirtual

Return the aspect of the sensor with respect to the target.

This method should return the azimuth and elevation of the sensor platform with respect to the location AND orientation of the target. This is used for target signature determination.

Parameters
aAzimuth[output] The azimuth angle (radians). Positive values are to the RIGHT with respect to the 'pilot' on the target platform.
aElevation[output] The elevation angle (radians). Positive values are UP with respect to the 'pilot' on the target platform.

Implements SOSM_Interaction.

◆ SetAbsoluteTargetElevation()

void SOSM_SimpleInteraction::SetAbsoluteTargetElevation ( float aElevation)
inline

◆ SetSensorAltitude()

void SOSM_SimpleInteraction::SetSensorAltitude ( float aAltitude)
inline

◆ SetSensorSpeed()

void SOSM_SimpleInteraction::SetSensorSpeed ( float aSpeed)
inline

◆ SetSensorToTargetAspect()

void SOSM_SimpleInteraction::SetSensorToTargetAspect ( float aAzimuth,
float aElevation )
inline

◆ SetSlantRange()

void SOSM_SimpleInteraction::SetSlantRange ( float aSlantRange)
inline

◆ SetTargetAltitude()

void SOSM_SimpleInteraction::SetTargetAltitude ( float aAltitude)
inline

◆ SetTargetSpeed()

void SOSM_SimpleInteraction::SetTargetSpeed ( float aSpeed)
inline

◆ SetTargetThrottle()

void SOSM_SimpleInteraction::SetTargetThrottle ( float aThrottle)
inline

◆ SetTargetToSensorAspect()

void SOSM_SimpleInteraction::SetTargetToSensorAspect ( float aAzimuth,
float aElevation )
inline

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