WSF
WsfEM_BlakeAttenuation.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFEM_BLAKEATTENUATION_HPP
13#define WSFEM_BLAKEATTENUATION_HPP
14
15#include "wsf_export.h"
16
17#include "WsfEM_Attenuation.hpp"
18
26
28{
29public:
33 ~WsfEM_BlakeAttenuation() override;
34
35 static WsfEM_Attenuation* ObjectFactory(const std::string& aTypeName);
36
37 WsfEM_Attenuation* Clone() const override;
38
39protected:
40 double ComputeAttenuationFactorP(double aRange, double aElevation, double aAltitude, double aFrequency) override;
41
42private:
43 double Calculate2WayAttenuation(double aRange, double aElevation, double aFrequency);
44
45 void SearchForValue(double aVal, double aTable[], int aLength, int& aLowIndex, double& aFrac);
46
47 static double sElevations[6];
48 static double sFrequencies[7];
49 static double sACoefTable[7][6];
50 static double sBCoefTable[7][6];
51};
52
53#endif
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
WsfEM_Attenuation()
Definition WsfEM_Attenuation.cpp:25
virtual double ComputeAttenuationFactorP(double aRange, double aElevation, double aAltitude, double aFrequency)
Definition WsfEM_Attenuation.cpp:134
WsfEM_Attenuation * Clone() const override=0
WsfEM_BlakeAttenuation()
Definition WsfEM_BlakeAttenuation.cpp:39
WsfEM_BlakeAttenuation & operator=(const WsfEM_BlakeAttenuation &aRhs)=delete
static WsfEM_Attenuation * ObjectFactory(const std::string &aTypeName)
Factory method called by WsfEM_AttenuationTypes.
Definition WsfEM_BlakeAttenuation.cpp:53
Copyrights Multiple, All Rights Reserved