|
WSF
|
#include <SOSM_TableTarget.hpp>


Classes | |
| class | Component |
| A 'Component' represents something like a cold_part, hot part or plume. More... | |
| class | Band |
| class | TT_State |
| A 'State' represents the signature for a given operating mode. More... | |
Public Member Functions | |
| SOSM_TableTarget (SOSM_Manager *aManagerPtr) | |
| SOSM_TableTarget (const SOSM_TableTarget &aSrc) | |
| SOSM_TableTarget & | operator= (const SOSM_TableTarget &)=delete |
| SOSM_Target * | Clone () const override |
| A virtual copy constructor. | |
| void | InputComplete () override |
| 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 |
| void | GetSampleTargetState (SOSM_Interaction &aInteraction, float &aAltitude, float &aSpeed, float &aThrottle) override |
| Public Member Functions inherited from SOSM_Target | |
| SOSM_Target (SOSM_Manager *aManagerPtr) | |
| Constructor. | |
| SOSM_Target (const SOSM_Target &aSrc) | |
| Copy constructor. | |
| SOSM_Target & | operator= (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 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 Types | |
| using | AreaTablePtr = SOSM_ScalarTable2D::TablePtr |
| using | IntensityTablePtr = std::shared_ptr<SOSM_SpectralTable2D> |
Protected Member Functions | |
| StateBase * | CreateState (const std::string &aStateName) const override |
Static Protected Member Functions | |
| static AreaTablePtr | LoadAreaTable (const std::string &aFileName, const std::string &aCachePrefix) |
| static IntensityTablePtr | LoadIntensityTable (const std::string &aFileName, const std::string &aCachePrefix) |
Persistent collection of radiant intensity tables. | |
A persistent collection of tables is maintained. Requests to load the same table multiple times will result in only one copy of the table being loaded and all common references will point to the one copy. SOSM_ScalarTable2D maintains the persistent list of area tables. | |
| typedef std::map< std::string, IntensityTablePtr > | IntensityTableMap |
| static IntensityTableMap | sIntensityTables |
| The persistent collection of radiant intensity tables that have been read, indexed by filename. | |
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_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 |
A target defined by a tables.
This class models the target signature using tabular data. The signature can be separated into body and plume.
|
protected |
|
protected |
|
protected |
| SOSM_TableTarget::SOSM_TableTarget | ( | SOSM_Manager * | aManagerPtr | ) |
References SOSM_Target::SOSM_Target().
Referenced by Clone(), operator=(), and SOSM_TableTarget().
| SOSM_TableTarget::SOSM_TableTarget | ( | const SOSM_TableTarget & | aSrc | ) |
References SOSM_TableTarget(), and SOSM_Target::SOSM_Target().
|
overridevirtual |
A virtual copy constructor.
Implements SOSM_Target.
References SOSM_TableTarget(), and SOSM_Target::SOSM_Target().
|
overridevirtual |
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 |
Implements SOSM_Target.
References SOSM_Selector::cINTERSECTS, SOSM_Selector::Count(), SOSM_SpectralObject::Count(), SOSM_Interaction::GetTargetToSensorAspect(), SOSM_Selector::Intersect(), SOSM_TableTarget::Component::mAreaTablePtr, SOSM_TableTarget::TT_State::mBandList, SOSM_TableTarget::Band::mBody, SOSM_TableTarget::Component::mIntensityTablePtr, SOSM_TableTarget::Band::mPlume, SOSM_Interaction::mTargetStateIndex, SOSM_Selector::OutputStartIndex(), SOSM_SpectralObject::SOSM_SpectralObject(), and SOSM_Target::StateEntry().
|
overrideprotectedvirtual |
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.
Implements SOSM_Target.
|
overridevirtual |
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). |
Implements SOSM_Target.
References SOSM_TableTarget::TT_State::mBandList, SOSM_TableTarget::Band::mBody, SOSM_TableTarget::Component::mIntensityTablePtr, SOSM_TableTarget::Band::mPlume, SOSM_Interaction::mTargetStateIndex, and SOSM_Target::StateEntry().
|
overridevirtual |
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]). |
Implements SOSM_Target.
|
overridevirtual |
Reimplemented from SOSM_CoreBase.
References SOSM_SpectralObject::DefineSpectralLimits(), SOSM_Target::InputComplete(), and SOSM_Target::mSharedDataPtr.
|
staticprotected |
|
staticprotected |
|
delete |
|
staticprotected |
The persistent collection of radiant intensity tables that have been read, indexed by filename.
Referenced by SOSM_TableTarget::Component::LoadIntensityTable().