12#ifndef WSFMIT_CLUTTERSTRENGTH_HPP
13#define WSFMIT_CLUTTERSTRENGTH_HPP
15#include "wsf_mil_export.h"
20#include "TblLookup.hpp"
86 static FrequencyBand GetFrequencyBand(
double aFrequency);
90 static double GetLandClutterStrength(
double aDepressionAngle,
96 static double GetLandClutterStrength(
double aDepressionAngle,
97 TerrainType aTerrainType,
98 FrequencyBand aFrequencyBand,
99 Polarization aPolarization);
101 static double GetSeaClutterStrength(
double aGrazingAngle,
106 static double GetLandClutterStrengthLegacy(
double aDepressionAngle,
114 static void NDimensionalTableLookUp(
int aNumDimensions,
115 const double aNumTableValues[],
116 const double aTables[],
117 const double aFunctionValues[],
118 double aIndependantVar[],
122 int aNumCoefficients);
134 double GetClutterStrength(
double aDepressionAngle, FrequencyBand aFrequencyBand, Polarization aPolarization);
136 void Load(
const float* aRawTable,
unsigned short aNumRows);
138 TblIndVarU<float> mDepressionAngleValues[cFREQUENCY_SIZE][cPOLARIZATION_SIZE];
139 TblDepVar1<float> mClutterStrength[cFREQUENCY_SIZE][cPOLARIZATION_SIZE];
144 static void LoadTables();
146 static Table sTables[cTERRAIN_TYPE_SIZE];
147 static bool sTablesLoaded;
void Load(PakI &aBuff, WsfXIO_PlatformPartInfo *&aPtr)
Definition WsfXIO_ObjectInfo.cpp:345
LandCover
Definition WsfEnvironment.hpp:42
SeaState
Definition WsfEnvironment.hpp:80
LandFormation
Definition WsfEnvironment.hpp:63
Definition WsfMIT_ClutterStrength.hpp:34
FrequencyBand
Definition WsfMIT_ClutterStrength.hpp:68
@ cL_BAND
Definition WsfMIT_ClutterStrength.hpp:71
@ cFREQUENCY_SIZE
Definition WsfMIT_ClutterStrength.hpp:74
@ cX_BAND
Definition WsfMIT_ClutterStrength.hpp:73
@ cVHF
Definition WsfMIT_ClutterStrength.hpp:69
@ cUHF
Definition WsfMIT_ClutterStrength.hpp:70
@ cS_BAND
Definition WsfMIT_ClutterStrength.hpp:72
Polarization
Definition WsfMIT_ClutterStrength.hpp:80
@ cHH
Definition WsfMIT_ClutterStrength.hpp:81
@ cVV
Definition WsfMIT_ClutterStrength.hpp:82
@ cPOLARIZATION_SIZE
Definition WsfMIT_ClutterStrength.hpp:83
TerrainType
Definition WsfMIT_ClutterStrength.hpp:41
@ cHIGH_RELIEF_AGRICULTURAL
Definition WsfMIT_ClutterStrength.hpp:48
@ cHIGH_RELIEF_DESERT
Definition WsfMIT_ClutterStrength.hpp:43
@ cHIGH_RELIEF_FOREST
Definition WsfMIT_ClutterStrength.hpp:46
@ cLOW_RELIEF_AGRICULTURAL
Definition WsfMIT_ClutterStrength.hpp:47
@ cHIGH_RELIEF_GENERAL_MIXED_RURAL
Definition WsfMIT_ClutterStrength.hpp:57
@ cGENERAL_URBAN
Definition WsfMIT_ClutterStrength.hpp:59
@ cHIGH_RELIEF_GRASSLAND
Definition WsfMIT_ClutterStrength.hpp:52
@ cLOW_RELIEF_SHRUBLAND
Definition WsfMIT_ClutterStrength.hpp:51
@ cLEVEL_AGRICULTURAL
Definition WsfMIT_ClutterStrength.hpp:49
@ cLOW_RELIEF_DESERT
Definition WsfMIT_ClutterStrength.hpp:42
@ cLOW_RELIEF_GRASSLAND
Definition WsfMIT_ClutterStrength.hpp:53
@ cLEVEL_DESERT
Definition WsfMIT_ClutterStrength.hpp:44
@ cLOW_RELIEF_GENERAL_MIXED_RURAL
Definition WsfMIT_ClutterStrength.hpp:58
@ cWETLAND
Definition WsfMIT_ClutterStrength.hpp:54
@ cMOUNTAINOUS
Definition WsfMIT_ClutterStrength.hpp:55
@ cLONG_RANGE_MOUNTAINOUS
Definition WsfMIT_ClutterStrength.hpp:56
@ cTERRAIN_TYPE_SIZE
Definition WsfMIT_ClutterStrength.hpp:60
@ cHIGH_RELIEF_SHRUBLAND
Definition WsfMIT_ClutterStrength.hpp:50
@ cLOW_RELIEF_FOREST
Definition WsfMIT_ClutterStrength.hpp:45
Polarization
Polarization of the electromagnetic wave.
Definition WsfEM_Types.hpp:21
WsfOpticalAttenuation::Table Table
Definition WsfOpticalAttenuationTables.hpp:33