|
WSF
|
A collection of one or more bistatic signature tables that represent the bistatic signature of a platform. More...
#include <WsfBistaticSig.hpp>


Classes | |
| class | AzElAzElTable |
| class | Table |
| A 'Table' represents the signature for a given frequency limit. More... | |
| class | State |
| A 'State' represents all of the tables for a given signature state. More... | |
Public Types | |
| using | PolFreqTableMapType = std::map<std::string, std::map<double, AzElAzElTable*>> |
| using | TableSet = std::vector<Table> |
| using | TableIndex = std::vector<Table>::size_type |
| using | States = std::vector<State> |
| using | StateIndex = std::vector<State>::size_type |
| using | InterpolationType = ut::azel::InterpolationType |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
Public Member Functions | |
| WsfBistaticSig ()=default | |
| ~WsfBistaticSig () override | |
| WsfBistaticSig * | Clone () const override |
| virtual bool | Initialize () |
| bool | ProcessInput (UtInput &aInput) override |
| bool | AddTable (AzElAzElTable *aTablePtr, WsfStringId aState, WsfEM_Types::Polarization aPolarization, double aFrequency, bool aIsACopy=false) |
| bool | AddTable (UtAzElTable *aTablePtr, WsfStringId aState, WsfEM_Types::Polarization aPolarization, double aFrequency, double aTgtToXmtrAz, double aTgtToXmtrEl, bool aIsACopy=false) |
| float | GetSignature (UtAzElLookup &aContext, WsfStringId aStateId, WsfEM_Types::Polarization aPolarization, double aFrequency, double aTgtToXmtrAz, double aTgtToXmtrEl, double aTgtToRcvrAz, double aTgtToRcvrEl) |
| void | SelectTable (AzElAzElTable &aContext, WsfStringId aState, WsfEM_Types::Polarization aPolarization, double aFrequency) |
| bool | IsA_ValidState (WsfStringId aId) |
| const States & | GetStates () const |
| void | SetInterpolateTables (bool aInterpolateTables) |
| void | SetInterpolationType (InterpolationType aInterpolationType) |
| void | SetInterpTgtToXmtrAngles (bool aInterpTgtToXmtrAngles) |
| void | SetInterpTgtToXmtrType (InterpolationType aIType) |
| Public Member Functions inherited from WsfObject | |
| WsfObject () | |
| This is the constructor for the WsfObject class. | |
| ~WsfObject () override | |
| This is the destructor for the WsfObject class. | |
| const char * | GetScriptClassName () const override |
| const std::string & | GetType () const |
| WsfStringId | GetTypeId () const |
| Get the string ID of the 'type' of the object. | |
| void | SetType (WsfStringId aType) |
| const std::string & | GetBaseType () const |
| WsfStringId | GetBaseTypeId () const |
| const TypeList & | GetTypeList () const |
| bool | IsA_TypeOf (WsfStringId aType) const |
| WsfObject & | operator= (const WsfObject &aRhs) |
| Assignment operator. | |
| template<typename T> | |
| void | Serialize (T &aBuff) |
| For XIO (de)serialization. | |
| const std::string & | GetName () const |
| WsfStringId | GetNameId () const |
| void | SetName (WsfStringId aName) |
Static Public Member Functions | |
| static WsfBistaticSig * | GetDefaultSig () |
Additional Inherited Members | |
| WsfObject (const WsfObject &aSrc) | |
| Copy constructor (for Clone()). | |
A collection of one or more bistatic signature tables that represent the bistatic signature of a platform.
| using WsfBistaticSig::InterpolationType = ut::azel::InterpolationType |
| using WsfBistaticSig::PolFreqTableMapType = std::map<std::string, std::map<double, AzElAzElTable*>> |
| using WsfBistaticSig::StateIndex = std::vector<State>::size_type |
| using WsfBistaticSig::States = std::vector<State> |
| using WsfBistaticSig::TableIndex = std::vector<Table>::size_type |
| using WsfBistaticSig::TableSet = std::vector<Table> |
|
default |
References AddTable(), GetDefaultSig(), GetSignature(), Initialize(), IsA_ValidState(), SelectTable(), and WsfBistaticSig().
Referenced by Clone(), GetDefaultSig(), SelectTable(), and WsfBistaticSig().
|
override |
| bool WsfBistaticSig::AddTable | ( | AzElAzElTable * | aTablePtr, |
| WsfStringId | aStateId, | ||
| WsfEM_Types::Polarization | aPolarization, | ||
| double | aFrequencyLimit, | ||
| bool | aIsACopy = false ) |
Add a new table to the bistatic signature.
| aTablePtr | Pointer to the table to be added. |
| aStateId | String ID of the state name for which the table applies. |
| aPolarization | Signal polarization to which the table applies. |
| aFrequencyLimit | Upper bound of the frequency to which the table applies. |
| aIsACopy | If 'false' then the table data is owned by the object. If 'true' then it is owned by some other instance of this object. |
References ok.
Referenced by GetDefaultSig(), and WsfBistaticSig().
| bool WsfBistaticSig::AddTable | ( | UtAzElTable * | aTablePtr, |
| WsfStringId | aStateId, | ||
| WsfEM_Types::Polarization | aPolarization, | ||
| double | aFrequencyLimit, | ||
| double | aTgtToXmtrAz, | ||
| double | aTgtToXmtrEl, | ||
| bool | aIsACopy = false ) |
Add a new table to the bistatic signature.
| aTablePtr | Pointer to the table to be added. |
| aStateId | String ID of the state name for which the table applies. |
| aPolarization | Signal polarization to which the table applies. |
| aFrequencyLimit | Upper bound of the frequency to which the table applies. |
| aTgtToXmtrAz | The lower bound target->transmitter azimuth angle to which the table applies. |
| aTgtToXmtrEl | The lower bound target->transmitter elevation angle to which the table applies. |
| aIsACopy | If 'false' then the table data is owned by the object. If 'true' then it is owned by some other instance of this object. |
References WsfBistaticSig::AzElAzElTable::mAzElTables, WsfBistaticSig::Table::mFrequencyLimit, WsfBistaticSig::AzElAzElTable::mTgtToXmtrAz, WsfBistaticSig::AzElAzElTable::mTgtToXmtrEl, and ok.
|
overridevirtual |
Return a copy of this object. Must be implemented by all derived types. If cloning is impossible, a WsfUncloneableException should be thrown.
Implements WsfObject.
References WsfBistaticSig().
|
static |
Provide a default signature to be used if a signature is not defined.
References AddTable(), WsfEM_Types::cPOL_DEFAULT, WsfBistaticSig::AzElAzElTable::CreateConstantTable(), and WsfBistaticSig().
Referenced by SelectTable(), and WsfBistaticSig().
| float WsfBistaticSig::GetSignature | ( | UtAzElLookup & | aContext, |
| WsfStringId | aStateId, | ||
| WsfEM_Types::Polarization | aPolarization, | ||
| double | aFrequency, | ||
| double | aTgtToXmtrAz, | ||
| double | aTgtToXmtrEl, | ||
| double | aTgtToRcvrAz, | ||
| double | aTgtToRcvrEl ) |
Get the bistatic signature for a given set of conditions.
| aContext | [output] The updated table lookup context representing the selected signature table. |
| aStateId | [input] The string ID representing the signature state to be used. |
| aPolarization | [input] The polarization of the signal. |
| aFrequency | [input] The frequency of the signal (Hz). |
| aTgtToXmtrAz | [input] The azimuth of the transmitter with respect to the target. |
| aTgtToXmtrEl | [input] The elevation of the transmitter with respect to the target. |
| aTgtToRcvrAz | [input] The azimuth of the receiver with respect to the target. |
| aTgtToRcvrEl | [input] The elevation of the receiver with respect to the target. |
References WsfBistaticSig::AzElAzElTable::mAzElTables, WsfBistaticSig::AzElAzElTable::mTgtToXmtrAz, WsfBistaticSig::AzElAzElTable::mTgtToXmtrAzLU, WsfBistaticSig::AzElAzElTable::mTgtToXmtrAzU, WsfBistaticSig::AzElAzElTable::mTgtToXmtrEl, WsfBistaticSig::AzElAzElTable::mTgtToXmtrElLU, WsfBistaticSig::AzElAzElTable::mTgtToXmtrElU, and SelectTable().
Referenced by WsfBistaticSig().
|
inline |
Return the signatures for all of defined states.
|
virtual |
Initialize the bistatic signature.
This MUST be called prior to calling SelectTable. It performs the following:
For every polarization within a signature state that does not have a signature defined, this routine will create a copy of the signature for the 'default' polarization. This Speeds up signature selection in SelectTable.
References WsfEM_Types::cPOL_COUNT, WsfEM_Types::cPOL_DEFAULT, WsfEM_Types::cPOL_HORIZONTAL, WsfEM_Types::cPOL_LEFT_CIRCULAR, WsfEM_Types::cPOL_RIGHT_CIRCULAR, WsfEM_Types::cPOL_SLANT_135, WsfEM_Types::cPOL_SLANT_45, WsfEM_Types::cPOL_VERTICAL, WsfEM_Util::EnumToString(), and ok.
Referenced by WsfBistaticSig().
| bool WsfBistaticSig::IsA_ValidState | ( | WsfStringId | aId | ) |
Checks to make the entered state Id exists, returns true if it exists, false otherwise.
| aId | the name Id of the state. |
Referenced by WsfBistaticSig().
|
overridevirtual |
Process input from a generic source.
Examine the current input command. If it is NOT one of the commands recognized by this class then it simply returns 'false'. If it is one of the commands recognized by this class then it processes the command and returns 'true'.
| aInput | a reference to a UtInput object. |
| UtInput::ExceptionBase | (or an object derived from it) if the command was recognized but contains some sort of error. |
Reimplemented from WsfObject.
| void WsfBistaticSig::SelectTable | ( | AzElAzElTable & | aContext, |
| WsfStringId | aStateId, | ||
| WsfEM_Types::Polarization | aPolarization, | ||
| double | aFrequency ) |
Select a bistatic signature table for a given signature state, signal polarization and signal frequency.
| aContext | [output] The updated table lookup context representing the selected signature table. |
| aStateId | [input] The string ID representing the signature state to be used. |
| aPolarization | [input] The polarization of the signal. |
| aFrequency | [input] The frequency of the signal. |
References WsfEM_Types::cPOL_DEFAULT, GetDefaultSig(), and WsfBistaticSig().
Referenced by GetSignature(), and WsfBistaticSig().
|
inline |
|
inline |
|
inline |
|
inline |