WSF
SOSM_SimpleTarget Class Reference

#include <SOSM_SimpleTarget.hpp>

Inheritance diagram for SOSM_SimpleTarget:
Collaboration diagram for SOSM_SimpleTarget:

Classes

class  ST_State

Public Member Functions

 SOSM_SimpleTarget (SOSM_Manager *aManagerPtr)
SOSM_TargetClone () const override
 A virtual copy constructor.
void ComputeRadiantIntensity (const SOSM_SpectralObject &aRequestor, SOSM_Interaction &aInteraction, std::vector< float > &aBodyIntensity, float &aBodyArea, std::vector< float > &aPlumeIntensity, float &aPlumeArea) override
void GetSamplePoints (SOSM_Interaction &aInteraction, std::vector< float > &aAzValues, std::vector< float > &aElValues) override
 Return the sample points to be used for 'fast detection mode' table generation.
void GetSampleTargetState (SOSM_Interaction &aInteraction, float &aAltitude, float &aSpeed, float &aThrottle) override
 Get the sample target state (altitude, speed, throttle) (for fast detection mode table generation).
float BodyTemperature (SOSM_Interaction &aInteraction)
Public Member Functions inherited from SOSM_Target
 SOSM_Target (SOSM_Manager *aManagerPtr)
 Constructor.
 SOSM_Target (const SOSM_Target &aSrc)
 Copy constructor.
SOSM_Targetoperator= (const SOSM_Target &)=delete
bool Initialize () override
void InputComplete () override
bool ProcessInput (UtInput &aInput) override
size_t StateCount () const
 Return the number of defined states.
const StateBaseStateEntry (size_t aIndex) const
size_t SelectState (SOSM_Interaction &aInteraction) const
 Select a state using the current target state from an interaction object.
SOSM_ManagerGetManager () const
Public Member Functions inherited from SOSM_CoreBase
 SOSM_CoreBase ()
 SOSM_CoreBase (const SOSM_CoreBase &aSrc)
 ~SOSM_CoreBase () override
SOSM_CoreBaseoperator= (const SOSM_CoreBase &)=delete
std::string GetTypeName () const
 Return the user-specified type name of the object.
void SetTypeName (const std::string &aTypeName)
 Set the user-specified type name of the object.
double GetModificationTime () const
 Return when the source file from which the object was recreated was last modified.
void SetModificationTime (double aModificationTime)
 Set the last modification time of the object.
void UpdateModificationTime (double aModificationTime)
std::string GetCachePrefix () const
 Return the name of the cache prefix for this object.
void SetCachePrefix (const std::string &aCachePrefix)
 Set the cache prefix (subdirectory) to be used for creating cache files of this object.
Public Member Functions inherited from SOSM_SpectralObject
 SOSM_SpectralObject ()
 SOSM_SpectralObject (float aOrigin, float aIncrement, int aCount)
virtual ~SOSM_SpectralObject ()
float Origin () const
 Return the origin (wavenumber, cm-1) of the first sample point.
float Increment () const
int Count () const
void DefineSpectralLimits (float aOrigin, float aIncrement, int aCount)
void DefineSpectralLimits (const SOSM_SpectralObject &aSource)
bool Equals (const SOSM_SpectralObject &aRhs) const
 Do this object and another object have the same spectral limits?
Status Union (const SOSM_SpectralObject &aObject)
Status Union (const SOSM_SpectralObject &aObject1, const SOSM_SpectralObject &aObject2)
float LowerWavelength () const
float UpperWavelength () const
void SetWavelengthLimits (float aLowerWavelength, float aUpperWavelength)

Protected Types

typedef SOSM_ScalarTable2D::TablePtr PolarTablePtr

Protected Member Functions

StateBaseCreateState (const std::string &aStateName) const override
 Called by the base class to create an instance of State specific to our model.

Additional Inherited Members

Public Types inherited from SOSM_SpectralObject
enum  Status { cOK = 0 , cINCOMPATIBLE_INCREMENTS , cINCOMPATIBLE_ORIGINS }
 Return value from 'UnionOf'. More...
Static Public Member Functions inherited from SOSM_SpectralObject
static std::string StatusString (Status aStatus)
Protected Attributes inherited from SOSM_Target
SOSM_ManagermManagerPtr
std::shared_ptr< SharedDatamSharedDataPtr
 A pointer to the shared state data.
UtAtmosphere mAtmosphere
 An atmosphere for converting speed to Mach number.
std::recursive_mutex mMutex
 A mutex for locking access to the atmosphere object (UtAtmosphere is not thread-safe).
Protected Attributes inherited from SOSM_CoreBase
double mModificationTime
 When the file was last modified.
std::string mTypeName
 The type name of the object.
std::string mCachePrefix

Member Typedef Documentation

◆ PolarTablePtr

Constructor & Destructor Documentation

◆ SOSM_SimpleTarget()

SOSM_SimpleTarget::SOSM_SimpleTarget ( SOSM_Manager * aManagerPtr)

References SOSM_Target::SOSM_Target().

Referenced by Clone().

Member Function Documentation

◆ BodyTemperature()

float SOSM_SimpleTarget::BodyTemperature ( SOSM_Interaction & aInteraction)

Compute the body temperature due to aerodynamic heating.

Parameters
aInteractionThe interaction object from which to get the target state.
Returns
The body temperature (deg-K).

References SOSM_Interaction::GetTargetAltitude(), SOSM_Interaction::GetTargetSpeed(), SOSM_Target::mAtmosphere, SOSM_SimpleTarget::ST_State::mGamma, SOSM_Target::mMutex, SOSM_SimpleTarget::ST_State::mRecoveryFactor, SOSM_Interaction::mTargetStateIndex, and SOSM_Target::StateEntry().

Referenced by ComputeRadiantIntensity().

◆ Clone()

SOSM_Target * SOSM_SimpleTarget::Clone ( ) const
overridevirtual

A virtual copy constructor.

Implements SOSM_Target.

References SOSM_SimpleTarget(), and SOSM_Target::SOSM_Target().

◆ ComputeRadiantIntensity()

void SOSM_SimpleTarget::ComputeRadiantIntensity ( const SOSM_SpectralObject & aRequestor,
SOSM_Interaction & aInteraction,
std::vector< float > & aBodyIntensity,
float & aBodyArea,
std::vector< float > & aPlumeIntensity,
float & aPlumeArea )
overridevirtual

Get the radiant intensity of this target.

Parameters
aRequestor[input] The spectral definition (origin/increment/count) of the sensor.
aInteraction[input] The interaction object representing the sensor and target state.
aBodyIntensity[output] The radiant intensity of the body without the plume (W/sr/um). Also known as I_AF.
aBodyArea[output] The presented area of the body without the plume (cm^2). Also known as A_AF.
aPlumeIntensity[output] The radiant intensity of the plume (W/sr/um). Also known as I_PL.
aPlumeArea[output] The presented area of the plume (cm^2). Also known as A_PL

Implements SOSM_Target.

References BodyTemperature(), SOSM_BlackBody::ComputeRadiantExitance(), SOSM_SpectralObject::Count(), SOSM_Interaction::GetTargetToSensorAspect(), SOSM_SpectralObject::LowerWavelength(), SOSM_SimpleTarget::ST_State::mColdPartAreaTablePtr, SOSM_SimpleTarget::ST_State::mColdPartRadiantIntensity, SOSM_SimpleTarget::ST_State::mColdPartTemperature, SOSM_SimpleTarget::ST_State::mConstantColdPartArea, SOSM_SimpleTarget::ST_State::mConstantHotPartArea, SOSM_SimpleTarget::ST_State::mConstantPlumeArea, SOSM_SimpleTarget::ST_State::mHotPartAreaFractionTablePtr, SOSM_SimpleTarget::ST_State::mHotPartAreaTablePtr, SOSM_SimpleTarget::ST_State::mHotPartRadiantIntensity, SOSM_SimpleTarget::ST_State::mHotPartTemperature, SOSM_SimpleTarget::ST_State::mPlumeAreaTablePtr, SOSM_SimpleTarget::ST_State::mPlumeRadiantIntensity, SOSM_SimpleTarget::ST_State::mPlumeTemperature, SOSM_Interaction::mTargetStateIndex, SOSM_SpectralObject::SOSM_SpectralObject(), SOSM_Target::StateEntry(), and SOSM_SpectralObject::UpperWavelength().

◆ CreateState()

SOSM_Target::StateBase * SOSM_SimpleTarget::CreateState ( const std::string & aStateName) const
overrideprotectedvirtual

Called by the base class to create an instance of State specific to our model.

Implements SOSM_Target.

◆ GetSamplePoints()

void SOSM_SimpleTarget::GetSamplePoints ( SOSM_Interaction & aInteraction,
std::vector< float > & aAzValues,
std::vector< float > & aElValues )
overridevirtual

Return the sample points to be used for 'fast detection mode' table generation.

Implements SOSM_Target.

◆ GetSampleTargetState()


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