WSF
SOSM_Interaction.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef SOSM_INTERACTION_HPP
13#define SOSM_INTERACTION_HPP
14
15#include "sosm_export.h"
16
17#include <cstddef> // to get size_t
18
19#include "UtLog.hpp"
20
21class SOSM_Sensor;
22class SOSM_Target;
23class UtAtmosphere;
24
44
45class SOSM_EXPORT SOSM_Interaction
46{
47public:
49
50 virtual ~SOSM_Interaction() {}
51
54 virtual float GetSlantRange() = 0;
55
58 virtual float GetSensorAltitude() = 0;
59
60 // Return the speed of the sensor.
61 // @returns The speed of the sensor (meters/second).
62 float GetSensorSpeed() { return 0.0F; }
63
66 virtual float GetTargetAltitude() = 0;
67
70 virtual float GetTargetSpeed() = 0;
71
77 virtual float GetTargetThrottle() { return 0.5F; }
78
86 virtual float GetAbsoluteTargetElevation() = 0;
87
97 virtual void GetSensorToTargetAspect(float& aAzimuth, float& aElevation) = 0;
98
108 virtual void GetTargetToSensorAspect(float& aAzimuth, float& aElevation) = 0;
109
111 virtual void Print(ut::log::MessageStream& aMsgStream,
112 const UtAtmosphere& aAtmosphere,
113 SOSM_Sensor* aSensorPtr,
114 SOSM_Target* aTargetPtr);
115
116 // The target state index corresponding to the conditions.
117 // This is set by SOSM_Sensor/SOSM_SensorTarget prior to calling the target routines.
119
124
125
128
131
134
137
140
143
146
149
152
155
158
161
164
168};
169
170#endif
virtual void GetSensorToTargetAspect(float &aAzimuth, float &aElevation)=0
float mInstallationAdjustment
The 'Installation Adjustment' in the range [0..1].
Definition SOSM_Interaction.hpp:151
virtual float GetTargetAltitude()=0
float mBodyArea
The projected area of the target structure (cm^2).
Definition SOSM_Interaction.hpp:127
float mBodyIntensity
The radiant intensity of the target body (W/sr).
Definition SOSM_Interaction.hpp:130
virtual float GetTargetSpeed()=0
float mNoiseEquivalentIrradiance
The noise equivalent irradiance (NEI) (W/cm^2).
Definition SOSM_Interaction.hpp:154
virtual void GetTargetToSensorAspect(float &aAzimuth, float &aElevation)=0
float mForegroundScaleFactor
A multiplier on the calculated foreground.
Definition SOSM_Interaction.hpp:163
float mPlumeArea
The projected area of the target plume (cm^2).
Definition SOSM_Interaction.hpp:133
float mForegroundRadiance
The radiance of the foreground path at the observer (W/cm^2/sr).
Definition SOSM_Interaction.hpp:145
float mBackgroundScaleFactor
A multiplier on the calculated background.
Definition SOSM_Interaction.hpp:166
float mBackgroundRadiance
The radiance of the background path at the observer(W/cm^2/sr).
Definition SOSM_Interaction.hpp:142
virtual float GetAbsoluteTargetElevation()=0
SOSM_Interaction()
Definition SOSM_Interaction.cpp:23
virtual float GetSensorAltitude()=0
float mContrastIntensity
The contrast radiant intensity at the observer (W/sr).
Definition SOSM_Interaction.hpp:148
virtual float GetSlantRange()=0
float mDetectionThreshold
The detection threshold.
Definition SOSM_Interaction.hpp:157
float mTransmittanceScaleFactor
A multiplier on the calculated transmittance.
Definition SOSM_Interaction.hpp:160
virtual ~SOSM_Interaction()
Definition SOSM_Interaction.hpp:50
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).
Definition SOSM_Interaction.cpp:32
float mPlumeIntensity
The radiant intensity of the target plume (W/sr).
Definition SOSM_Interaction.hpp:136
virtual float GetTargetThrottle()
Definition SOSM_Interaction.hpp:77
size_t mTargetStateIndex
Definition SOSM_Interaction.hpp:118
float GetSensorSpeed()
Definition SOSM_Interaction.hpp:62
float mTransmittance
The transmittance of the path to the target (unit-less, in the range [0..1]).
Definition SOSM_Interaction.hpp:139
A class that represents an optical sensor (IR or visible).
Definition SOSM_Sensor.hpp:30
Abstract base class that represents a target.
Definition SOSM_Target.hpp:31
Copyrights Multiple, All Rights Reserved