|
WSF
|
#include <SOSM_Interaction.hpp>

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. | |
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:
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.
| SOSM_Interaction::SOSM_Interaction | ( | ) |
References mBackgroundScaleFactor, mForegroundScaleFactor, mTargetStateIndex, and mTransmittanceScaleFactor.
|
inlinevirtual |
|
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.
Implemented in SOSM_SimpleInteraction, and WsfSOSM_Interaction.
Referenced by SOSM_TableAtmosphere::ComputeAtmosphereData(), SOSM_Sensor::ComputeProbabilityOfDetection(), SOSM_SensorTarget::ComputeTargetIrradiance(), and Print().
|
pure virtual |
Return the altitude of the sensor.
Implemented in SOSM_SimpleInteraction, and WsfSOSM_Interaction.
Referenced by SOSM_TableAtmosphere::ComputeAtmosphereData(), SOSM_Sensor::ComputeProbabilityOfDetection(), SOSM_SensorTarget::ComputeTargetIrradiance(), and Print().
|
inline |
|
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).
| 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().
|
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().
|
pure virtual |
Return the altitude of the target.
Implemented in SOSM_SimpleInteraction, and WsfSOSM_Interaction.
Referenced by SOSM_SimpleTarget::BodyTemperature(), Print(), and SOSM_Target::SelectState().
|
pure virtual |
Return the speed of the target.
Implemented in SOSM_SimpleInteraction, and WsfSOSM_Interaction.
Referenced by SOSM_SimpleTarget::BodyTemperature(), Print(), and SOSM_Target::SelectState().
|
inlinevirtual |
Return the 'throttle setting' of the target.
Reimplemented in SOSM_SimpleInteraction, and WsfSOSM_Interaction.
Referenced by SOSM_Target::SelectState().
|
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.
| 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().
|
virtual |
Print the interaction data to standard output (for debugging).
References GetAbsoluteTargetElevation(), GetSensorAltitude(), GetSlantRange(), GetTargetAltitude(), GetTargetSpeed(), GetTargetToSensorAspect(), mBackgroundRadiance, mBodyArea, mBodyIntensity, mContrastIntensity, mForegroundRadiance, mPlumeArea, mPlumeIntensity, SOSM_Target::StateBase::mStateName, mTargetStateIndex, mTransmittance, and SOSM_Target::StateEntry().
Referenced by SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and GetTargetToSensorAspect().
| 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().
| float SOSM_Interaction::mBackgroundScaleFactor |
A multiplier on the calculated background.
Referenced by SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and SOSM_Interaction().
| float SOSM_Interaction::mBodyArea |
The projected area of the target structure (cm^2).
Referenced by WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and Print().
| float SOSM_Interaction::mBodyIntensity |
The radiant intensity of the target body (W/sr).
Referenced by WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and Print().
| float SOSM_Interaction::mContrastIntensity |
The contrast radiant intensity at the observer (W/sr).
Referenced by WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and Print().
| float SOSM_Interaction::mDetectionThreshold |
The detection threshold.
Referenced by WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), and SOSM_Sensor::ComputeProbabilityOfDetection().
| 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().
| float SOSM_Interaction::mForegroundScaleFactor |
A multiplier on the calculated foreground.
Referenced by SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and SOSM_Interaction().
| float SOSM_Interaction::mInstallationAdjustment |
The 'Installation Adjustment' in the range [0..1].
Referenced by WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), and SOSM_Sensor::ComputeProbabilityOfDetection().
| float SOSM_Interaction::mNoiseEquivalentIrradiance |
The noise equivalent irradiance (NEI) (W/cm^2).
Referenced by WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), and SOSM_Sensor::ComputeProbabilityOfDetection().
| float SOSM_Interaction::mPlumeArea |
The projected area of the target plume (cm^2).
Referenced by WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and Print().
| float SOSM_Interaction::mPlumeIntensity |
The radiant intensity of the target plume (W/sr).
Referenced by WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and Print().
| size_t SOSM_Interaction::mTargetStateIndex |
Referenced by SOSM_SimpleTarget::BodyTemperature(), SOSM_SimpleTarget::ComputeRadiantIntensity(), SOSM_TableTarget::ComputeRadiantIntensity(), SOSM_SensorTarget::CreateOrLoadSensorTargetTables(), SOSM_TableTarget::GetSamplePoints(), SOSM_SimpleTarget::GetSampleTargetState(), Print(), SOSM_Target::SelectState(), and SOSM_Interaction().
| 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().
| float SOSM_Interaction::mTransmittanceScaleFactor |
A multiplier on the calculated transmittance.
Referenced by SOSM_Sensor::ComputeTargetIrradiance(), SOSM_SensorTarget::ComputeTargetIrradiance(), and SOSM_Interaction().