12#ifndef WSFSTANDARDRADARSIGNATURE_HPP
13#define WSFSTANDARDRADARSIGNATURE_HPP
15#include "wsf_export.h"
22#include "UtAzElTypes.hpp"
60 Table(
double aFrequencyLimit, UtAzElTable* aTablePtr,
bool aIsACopy);
104 using InterpolationType = ut::azel::InterpolationType;
107 SharedData() =
default;
116 bool AddTable(UtAzElTable* aTablePtr,
119 double aFrequencyLimit,
120 bool aIsACopy =
false);
126 void UseDefaultPolarization(
State& aState,
int aPolarization);
130 void ProcessInputState(UtInput& aInput,
WsfObject& aBase);
132 void ProcessInputPolarization(UtInput& aInput,
WsfObject& aBase);
134 void ProcessInputFrequencyLimit(UtInput& aInput,
WsfObject& aBase);
136 bool ProcessInputTableData(UtInput& aInput,
WsfObject& aBase);
141 double mCurrentFrequencyLimit{1.0E+30};
143 StateIndex mDefaultStateIndex{0};
146 bool mUseBisectorForBistatic{
true};
147 bool mMonoStaticSigDefined{
true};
149 bool mInterpolateTables{
true};
150 InterpolationType mInterpolationType{InterpolationType::cLinear};
153 std::shared_ptr<SharedData> mSharedDataPtr{
new SharedData()};
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfEM_Rcvr.hpp:68
Definition WsfEM_Xmtr.hpp:55
WsfObject()
This is the constructor for the WsfObject class.
Definition WsfObject.cpp:88
WsfRadarSignature()
Definition WsfRadarSignature.cpp:30
virtual std::pair< float, float > GetSignatureLimits(WsfStringId aStateId, WsfEM_Types::Polarization aPolarization) const
Definition WsfRadarSignature.cpp:35
virtual float GetSignature(WsfStringId aStateId, WsfEM_Types::Polarization aPolarization, double aFrequency, double aTgtToXmtrAz, double aTgtToXmtrEl, double aTgtToRcvrAz, double aTgtToRcvrEl, WsfEM_Xmtr *aXmtrPtr=nullptr, WsfEM_Rcvr *aRcvrPtr=nullptr)=0
WsfRadarSignature * Clone() const override=0
bool ProcessInput(UtInput &aInput) override
Definition WsfSignature.cpp:74
virtual bool InitializeType()
Definition WsfSignature.cpp:40
virtual std::vector< WsfStringId > GetStateNames() const
get the list of all valid states belonging to the signature
Definition WsfSignature.hpp:43
virtual bool IsA_ValidState(WsfStringId aId) const
Definition WsfSignature.cpp:62
A 'State' represents all of the tables for a given signature state.
Definition WsfStandardRadarSignature.hpp:82
TableSet mPolarization[WsfEM_Types::cPOL_COUNT]
There is one set of tables for each polarization.
Definition WsfStandardRadarSignature.hpp:89
WsfStringId mStateId
Definition WsfStandardRadarSignature.hpp:86
State(WsfStringId aStateId)
Definition WsfStandardRadarSignature.cpp:627
double mFrequencyLimit
The upper frequency to which this table applies.
Definition WsfStandardRadarSignature.hpp:63
bool mIsACopy
Definition WsfStandardRadarSignature.hpp:71
UtAzElTable * mTablePtr
A pointer to the actual table data for this table.
Definition WsfStandardRadarSignature.hpp:66
Table(double aFrequencyLimit, UtAzElTable *aTablePtr, bool aIsACopy)
Definition WsfStandardRadarSignature.cpp:620
std::vector< Table > TableSet
Definition WsfStandardRadarSignature.hpp:77
WsfStandardRadarSignature()=default
bool AddTable(UtAzElTable *aTablePtr, WsfStringId aStateId, WsfEM_Types::Polarization aPolarization, double aFrequencyLimit)
Definition WsfStandardRadarSignature.cpp:183
static WsfRadarSignature * ObjectFactory(const std::string &aTypeName)
Factory method called by WsfRadarSignatureTypes.
Definition WsfStandardRadarSignature.cpp:33
bool ProcessInput(UtInput &aInput) override
Definition WsfStandardRadarSignature.cpp:52
bool InitializeType() override
Definition WsfStandardRadarSignature.cpp:67
void SelectTable(UtAzElLookup &aContext, WsfStringId aState, WsfEM_Types::Polarization aPolarization, double aFrequency)
Definition WsfStandardRadarSignature.cpp:156
std::vector< Table >::size_type TableIndex
Definition WsfStandardRadarSignature.hpp:78
std::vector< State > States
Definition WsfStandardRadarSignature.hpp:92
const States & GetStates() const
Definition WsfStandardRadarSignature.cpp:168
std::vector< State >::size_type StateIndex
Definition WsfStandardRadarSignature.hpp:93
Polarization
Polarization of the electromagnetic wave.
Definition WsfEM_Types.hpp:21
@ cPOL_DEFAULT
Default.
Definition WsfEM_Types.hpp:22
@ cPOL_COUNT
Number of polarizations.
Definition WsfEM_Types.hpp:29