12#ifndef WSFEM_ALARM_CLUTTER_HPP
13#define WSFEM_ALARM_CLUTTER_HPP
18#include "TblLookup.hpp"
114 void MapEnvironment(WsfPlatform* aPlatformPtr, WsfEnvironment& aEnvironment,
int& land_cover,
int& land_form,
bool& water_cover);
115 void clutter_signal_comp(
double ctauo2,
132 double get_reflectivity(
const std::vector<double>& elvmsl,
138 const std::vector<double>& rngter,
140 const std::vector<double>& xprofl,
141 const std::vector<double>& zprofl,
144 double mitsig(
int land_cover);
146 double cnasig(
double freqin,
double graze);
148 void set_random_seed(
int new_seed) { iseed = new_seed; }
150 float uniform_random(
int n);
152 void randu(
int ix,
int& iy,
float& yfl);
154 std::string map_file;
158 double reflectivity_delta;
160 double az_max_angle_deg;
161 double az_angle_incr_deg;
162 double az_max_angle_rad;
163 double az_angle_incr_rad;
164 double cw_clutter_bin;
175 bool mUseBeamwidthForIncrement;
177 bool mUseMIT_LL_DataTables;
178 bool mPolarizationVertical;
183 bool mUseSALRAM_DataTables;
185 WsfSimulation* mSimulationPtr;
189 static std::vector<int> iend;
190 static std::vector<int> istart;
191 static std::vector<bool> visibl;
192 static std::vector<double> elvmsl;
193 static std::vector<double> rngter;
194 static std::vector<double> tanepp;
195 static std::vector<double> xprofl;
196 static std::vector<double> zprofl;
Definition WsfEM_ALARM_Antenna.hpp:23
Definition WsfEM_ALARM_Attenuation.hpp:25
Definition WsfEM_ALARM_Clutter.hpp:69
unsigned mNumRanges
Definition WsfEM_ALARM_Clutter.hpp:78
std::vector< double > mMinRange
Definition WsfEM_ALARM_Clutter.hpp:79
bool mIsEnabled
Definition WsfEM_ALARM_Clutter.hpp:77
LookSummary()
Definition WsfEM_ALARM_Clutter.hpp:71
std::vector< double > mPowerAtReceiver
Definition WsfEM_ALARM_Clutter.hpp:83
std::vector< double > mSurfaceArea
Definition WsfEM_ALARM_Clutter.hpp:81
std::vector< double > mMaxRange
Definition WsfEM_ALARM_Clutter.hpp:80
std::vector< double > mPowerAtRange
Definition WsfEM_ALARM_Clutter.hpp:82
Clutter model from ALARM.
Definition WsfEM_ALARM_Clutter.hpp:29
bool Initialize(WsfEM_Rcvr *aRcvrPtr) override
Definition WsfEM_ALARM_Clutter.cpp:202
~WsfEM_ALARM_Clutter() override=default
WsfEM_ALARM_Antenna::antenna antenna
Definition WsfEM_ALARM_Clutter.hpp:44
static WsfEM_Clutter * ObjectFactory(const std::string &aTypeName)
Factory method called by WsfEM_ClutterTypes.
Definition WsfEM_ALARM_Clutter.cpp:166
WsfEM_ALARM_Attenuation::atmosphere atmosphere
Definition WsfEM_ALARM_Clutter.hpp:45
WsfEM_ALARM_Clutter()
Definition WsfEM_ALARM_Clutter.cpp:95
WsfEM_Clutter * Clone() const override
Definition WsfEM_ALARM_Clutter.cpp:195
@ max_forms
Definition WsfEM_ALARM_Clutter.hpp:37
double GetSigmaC() const
Definition WsfEM_ALARM_Clutter.hpp:63
double GetDecayConstant() const
Definition WsfEM_ALARM_Clutter.hpp:64
bool ProcessInput(UtInput &aInput) override
Definition WsfEM_ALARM_Clutter.cpp:341
@ max_covers
Definition WsfEM_ALARM_Clutter.hpp:33
const LookSummary & GetLookSummary()
Definition WsfEM_ALARM_Clutter.hpp:86
WsfEM_ALARM_Clutter & operator=(const WsfEM_ALARM_Clutter &)=delete
static void ResetState()
Reset all global/static data to default values.
Definition WsfEM_ALARM_Clutter.cpp:179
@ max_stat_opts
Definition WsfEM_ALARM_Clutter.hpp:41
bool LookSummaryEnabled()
Definition WsfEM_ALARM_Clutter.hpp:87
double ComputeClutterPower(WsfEM_Interaction &aInteraction, WsfEnvironment &aEnvironment, double aProcessingFactor) override
Definition WsfEM_ALARM_Clutter.cpp:471
WsfEM_Clutter()
Constructor.
Definition WsfEM_Clutter.cpp:18
Definition WsfEM_Interaction.hpp:68
Definition WsfEM_Rcvr.hpp:68
Definition WsfEM_XmtrRcvr.hpp:42
Definition WsfEM_Xmtr.hpp:55
Definition WsfEnvironment.hpp:37
LandCover
Definition WsfEnvironment.hpp:42
SeaState
Definition WsfEnvironment.hpp:80
LandFormation
Definition WsfEnvironment.hpp:63