|
WSF
|
Abstract base class that represents a target. More...
#include <SOSM_Target.hpp>


Classes | |
| class | StateBase |
| class | SharedData |
Public Member Functions | |
| SOSM_Target (SOSM_Manager *aManagerPtr) | |
| Constructor. | |
| SOSM_Target (const SOSM_Target &aSrc) | |
| Copy constructor. | |
| SOSM_Target & | operator= (const SOSM_Target &)=delete |
| virtual SOSM_Target * | Clone () const =0 |
| A virtual copy constructor. | |
| bool | Initialize () override |
| void | InputComplete () override |
| bool | ProcessInput (UtInput &aInput) override |
| virtual void | ComputeRadiantIntensity (const SOSM_SpectralObject &aRequestor, SOSM_Interaction &aInteraction, std::vector< float > &aBodyIntensity, float &aBodyArea, std::vector< float > &aPlumeIntensity, float &aPlumeArea)=0 |
| virtual void | GetSamplePoints (SOSM_Interaction &aInteraction, std::vector< float > &aAzValues, std::vector< float > &aElValues)=0 |
| virtual void | GetSampleTargetState (SOSM_Interaction &aInteraction, float &aAltitude, float &aSpeed, float &aThrottle)=0 |
| size_t | StateCount () const |
| Return the number of defined states. | |
| const StateBase * | StateEntry (size_t aIndex) const |
| size_t | SelectState (SOSM_Interaction &aInteraction) const |
| Select a state using the current target state from an interaction object. | |
| SOSM_Manager * | GetManager () const |
| Public Member Functions inherited from SOSM_CoreBase | |
| SOSM_CoreBase () | |
| SOSM_CoreBase (const SOSM_CoreBase &aSrc) | |
| ~SOSM_CoreBase () override | |
| SOSM_CoreBase & | operator= (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 Member Functions | |
| virtual StateBase * | CreateState (const std::string &aStateName) const =0 |
Protected Attributes | |
| SOSM_Manager * | mManagerPtr |
| std::shared_ptr< SharedData > | mSharedDataPtr |
| 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 |
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) |
Abstract base class that represents a target.
| SOSM_Target::SOSM_Target | ( | SOSM_Manager * | aManagerPtr | ) |
Constructor.
References mAtmosphere, mManagerPtr, mMutex, mSharedDataPtr, and SOSM_CoreBase::SOSM_CoreBase().
Referenced by SOSM_SimpleTarget::Clone(), SOSM_TableTarget::Clone(), Clone(), SOSM_SimpleTarget::ST_State::InputComplete(), SOSM_TableTarget::TT_State::InputComplete(), SOSM_Target::StateBase::InputComplete(), SOSM_TableTarget::operator=(), operator=(), SOSM_SimpleTarget::ST_State::ProcessInput(), SOSM_TableTarget::Band::ProcessInput(), SOSM_TableTarget::TT_State::ProcessInput(), SOSM_Target::StateBase::ProcessInput(), SOSM_SimpleTarget::SOSM_SimpleTarget(), SOSM_TableTarget::SOSM_TableTarget(), SOSM_TableTarget::SOSM_TableTarget(), and SOSM_Target().
| SOSM_Target::SOSM_Target | ( | const SOSM_Target & | aSrc | ) |
Copy constructor.
References mAtmosphere, mManagerPtr, mMutex, mSharedDataPtr, SOSM_CoreBase::SOSM_CoreBase(), and SOSM_Target().
|
pure virtual |
A virtual copy constructor.
Implemented in SOSM_SimpleTarget, and SOSM_TableTarget.
References SOSM_Target().
Referenced by SOSM_Manager::AllocateTarget().
|
pure virtual |
Get the radiant intensity of this target.
| 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 |
Implemented in SOSM_SimpleTarget, and SOSM_TableTarget.
References SOSM_SpectralObject::SOSM_SpectralObject().
Referenced by SOSM_Sensor::ComputeIntegratedTargetData(), and SOSM_Sensor::ComputeTargetIrradiance().
|
protectedpure virtual |
Class specific state allocator.
This is a method that must be defined by the derived class which instantiates a new State object that is specific to the derived class.
Implemented in SOSM_SimpleTarget, and SOSM_TableTarget.
Referenced by ProcessInput().
|
inline |
References mManagerPtr.
Referenced by SOSM_SimpleTarget::ST_State::ProcessInput(), SOSM_TableTarget::Band::ProcessInput(), and SOSM_SensorTarget::SnrTgtPair::SnrTgtPair().
|
pure virtual |
Get the sample points of the currently selected state (fast detection mode table generation).
| aInteraction | [input] The interaction object for the current state. |
| aAzValues | [output] Azimuth sample points (radians). |
| aElValues | [output] Elevation sample points (radians). |
Implemented in SOSM_SimpleTarget, and SOSM_TableTarget.
|
pure virtual |
Get the sample target state (altitude, speed, throttle) (for fast detection mode table generation).
| aInteraction | [input] The interaction object for the current state. |
| aAltitude | [output] Altitude sample point (meters). |
| aSpeed | [output] Speed sample point (meters/second). |
| aThrottle | [output] Throttle sample point (unitless [0..1]). |
Implemented in SOSM_SimpleTarget, and SOSM_TableTarget.
|
overridevirtual |
Reimplemented from SOSM_CoreBase.
Referenced by SOSM_Manager::AllocateTarget().
|
overridevirtual |
Reimplemented from SOSM_CoreBase.
References mSharedDataPtr.
Referenced by SOSM_TableTarget::InputComplete().
|
delete |
References SOSM_Target().
|
overridevirtual |
Reimplemented from SOSM_CoreBase.
References CreateState(), mAtmosphere, and mSharedDataPtr.
| size_t SOSM_Target::SelectState | ( | SOSM_Interaction & | aInteraction | ) | const |
Select a state using the current target state from an interaction object.
Select a state using the current target state from an interaction object.
References SOSM_Interaction::GetTargetAltitude(), SOSM_Interaction::GetTargetSpeed(), SOSM_Interaction::GetTargetThrottle(), mAtmosphere, SOSM_Target::StateBase::mMaxAltitude, SOSM_Target::StateBase::mMaxSpeed, SOSM_Target::StateBase::mMaxThrottle, SOSM_Target::StateBase::mMinAltitude, SOSM_Target::StateBase::mMinSpeed, SOSM_Target::StateBase::mMinThrottle, mMutex, mSharedDataPtr, SOSM_Target::StateBase::mSpeedIsMach, and SOSM_Interaction::mTargetStateIndex.
Referenced by SOSM_Sensor::ComputeTargetIrradiance().
|
inline |
Return the number of defined states.
References mSharedDataPtr.
Referenced by SOSM_SensorTarget::SnrTgtPair::SnrTgtPair().
|
inline |
Return the state of the specified index.
| aIndex | The index of the desired state. This should be in the range [0 .. StateCount()-1]. |
References mSharedDataPtr.
Referenced by SOSM_SimpleTarget::BodyTemperature(), SOSM_SimpleTarget::ComputeRadiantIntensity(), SOSM_TableTarget::ComputeRadiantIntensity(), SOSM_TableTarget::GetSamplePoints(), SOSM_SimpleTarget::GetSampleTargetState(), and SOSM_Interaction::Print().
|
protected |
An atmosphere for converting speed to Mach number.
Referenced by SOSM_SimpleTarget::BodyTemperature(), SOSM_SimpleTarget::GetSampleTargetState(), ProcessInput(), SelectState(), SOSM_Target(), and SOSM_Target().
|
protected |
Referenced by GetManager(), SOSM_Target(), and SOSM_Target().
|
mutableprotected |
A mutex for locking access to the atmosphere object (UtAtmosphere is not thread-safe).
Referenced by SOSM_SimpleTarget::BodyTemperature(), SOSM_SimpleTarget::GetSampleTargetState(), SelectState(), SOSM_Target(), and SOSM_Target().
|
protected |
A pointer to the shared state data.
Referenced by SOSM_TableTarget::InputComplete(), InputComplete(), ProcessInput(), SelectState(), SOSM_Target(), SOSM_Target(), StateCount(), and StateEntry().