WSF
SOSM_Interaction Class Referenceabstract

#include <SOSM_Interaction.hpp>

Inheritance diagram for SOSM_Interaction:

Public Member Functions

 SOSM_Interaction ()
virtual ~SOSM_Interaction ()
virtual float GetSlantRange ()=0
virtual float GetSensorAltitude ()=0
float GetSensorSpeed ()
virtual float GetTargetAltitude ()=0
virtual float GetTargetSpeed ()=0
virtual float GetTargetThrottle ()
virtual float GetAbsoluteTargetElevation ()=0
virtual void GetSensorToTargetAspect (float &aAzimuth, float &aElevation)=0
virtual void GetTargetToSensorAspect (float &aAzimuth, float &aElevation)=0
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).

Public Attributes

size_t mTargetStateIndex

computed values.

The following values are computed during calls to SOSM_Sensor::ComputeTargetIrradiance() and SOSM_Sensor::ComputeProbabilityOfDetection. They are provided so calling applications can have more insight into the information that went into the computations.

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

An abstract interface for acquiring dynamic sensor/target data.

This defines the interfaces by which SOSM communicates with the calling simulation. In particular, it defines:

  • The methods used by the sensor, target and atmosphere objects to access the states of sensor and target objects maintained within the calling simulation (position, orientation, speed, etc.) that are needed to perform the detection calculations.
  • Data members that are passed back to the calling simulation which contain the values of intermediate calculations that may be of interest to the calling simulation.

This interface is abstract to allow the calling simulation to utilize any existing data that it may be maintaining, thus potentially eliminating the need for recalculating the data that is exposed by this class. Methods that are declared abstract represent the minimal set that MUST be provided. All others are optional.

The class SOSM_SimpleInteraction provides a minimal implementation for those simulations who wish SOSM to compute the data.

Constructor & Destructor Documentation

◆ SOSM_Interaction()

SOSM_Interaction::SOSM_Interaction ( )

◆ ~SOSM_Interaction()

virtual SOSM_Interaction::~SOSM_Interaction ( )
inlinevirtual

Member Function Documentation

◆ GetAbsoluteTargetElevation()

virtual float SOSM_Interaction::GetAbsoluteTargetElevation ( )
pure virtual

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)

Implemented in SOSM_SimpleInteraction, and WsfSOSM_Interaction.

Referenced by SOSM_TableAtmosphere::ComputeAtmosphereData(), SOSM_Sensor::ComputeProbabilityOfDetection(), SOSM_SensorTarget::ComputeTargetIrradiance(), and Print().

◆ GetSensorAltitude()

virtual float SOSM_Interaction::GetSensorAltitude ( )
pure virtual

Return the altitude of the sensor.

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

Implemented in SOSM_SimpleInteraction, and WsfSOSM_Interaction.

Referenced by SOSM_TableAtmosphere::ComputeAtmosphereData(), SOSM_Sensor::ComputeProbabilityOfDetection(), SOSM_SensorTarget::ComputeTargetIrradiance(), and Print().

◆ GetSensorSpeed()

float SOSM_Interaction::GetSensorSpeed ( )
inline

◆ GetSensorToTargetAspect()

virtual void SOSM_Interaction::GetSensorToTargetAspect ( float & aAzimuth,
float & aElevation )
pure virtual

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.

Implemented in SOSM_SimpleInteraction, and WsfSOSM_Interaction.

Referenced by SOSM_Sensor::ComputeProbabilityOfDetection().

◆ GetSlantRange()

virtual float SOSM_Interaction::GetSlantRange ( )
pure virtual

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

Implemented in SOSM_SimpleInteraction, and WsfSOSM_Interaction.

Referenced by SOSM_TableAtmosphere::ComputeAtmosphereData(), SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and Print().

◆ GetTargetAltitude()

virtual float SOSM_Interaction::GetTargetAltitude ( )
pure virtual

Return the altitude of the target.

Returns
The altitude of the target (meters).

Implemented in SOSM_SimpleInteraction, and WsfSOSM_Interaction.

Referenced by SOSM_SimpleTarget::BodyTemperature(), Print(), and SOSM_Target::SelectState().

◆ GetTargetSpeed()

virtual float SOSM_Interaction::GetTargetSpeed ( )
pure virtual

Return the speed of the target.

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

Implemented in SOSM_SimpleInteraction, and WsfSOSM_Interaction.

Referenced by SOSM_SimpleTarget::BodyTemperature(), Print(), and SOSM_Target::SelectState().

◆ GetTargetThrottle()

virtual float SOSM_Interaction::GetTargetThrottle ( )
inlinevirtual

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 in SOSM_SimpleInteraction, and WsfSOSM_Interaction.

Referenced by SOSM_Target::SelectState().

◆ GetTargetToSensorAspect()

virtual void SOSM_Interaction::GetTargetToSensorAspect ( float & aAzimuth,
float & aElevation )
pure virtual

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.

Implemented in SOSM_SimpleInteraction, and WsfSOSM_Interaction.

References Print().

Referenced by SOSM_SimpleTarget::ComputeRadiantIntensity(), SOSM_TableTarget::ComputeRadiantIntensity(), SOSM_SensorTarget::ComputeTargetIrradiance(), and Print().

◆ Print()

Member Data Documentation

◆ mBackgroundRadiance

float SOSM_Interaction::mBackgroundRadiance

The radiance of the background path at the observer(W/cm^2/sr).

Referenced by WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and Print().

◆ mBackgroundScaleFactor

float SOSM_Interaction::mBackgroundScaleFactor

A multiplier on the calculated background.

Referenced by SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and SOSM_Interaction().

◆ mBodyArea

float SOSM_Interaction::mBodyArea

◆ mBodyIntensity

float SOSM_Interaction::mBodyIntensity

◆ mContrastIntensity

float SOSM_Interaction::mContrastIntensity

◆ mDetectionThreshold

float SOSM_Interaction::mDetectionThreshold

◆ mForegroundRadiance

float SOSM_Interaction::mForegroundRadiance

The radiance of the foreground path at the observer (W/cm^2/sr).

Referenced by SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and Print().

◆ mForegroundScaleFactor

float SOSM_Interaction::mForegroundScaleFactor

A multiplier on the calculated foreground.

Referenced by SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and SOSM_Interaction().

◆ mInstallationAdjustment

float SOSM_Interaction::mInstallationAdjustment

The 'Installation Adjustment' in the range [0..1].

Referenced by WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), and SOSM_Sensor::ComputeProbabilityOfDetection().

◆ mNoiseEquivalentIrradiance

float SOSM_Interaction::mNoiseEquivalentIrradiance

The noise equivalent irradiance (NEI) (W/cm^2).

Referenced by WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), and SOSM_Sensor::ComputeProbabilityOfDetection().

◆ mPlumeArea

float SOSM_Interaction::mPlumeArea

◆ mPlumeIntensity

float SOSM_Interaction::mPlumeIntensity

◆ mTargetStateIndex

◆ mTransmittance

float SOSM_Interaction::mTransmittance

The transmittance of the path to the target (unit-less, in the range [0..1]).

Referenced by WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and Print().

◆ mTransmittanceScaleFactor

float SOSM_Interaction::mTransmittanceScaleFactor

A multiplier on the calculated transmittance.

Referenced by SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and SOSM_Interaction().


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