WSF
WsfElementESA_AntennaPattern.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
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 WSFELEMENTESA_ANTENNAPATTERN_HPP
13#define WSFELEMENTESA_ANTENNAPATTERN_HPP
14
15#include <vector>
16
17class UtInput;
18#include "UtVec2.hpp"
20#include "WsfObject.hpp"
21
29
31{
32public:
33 using ElementLocXY = std::vector<UtVec2d>;
34 using WeightVec = std::vector<double>;
35
37 {
38 public:
39 EESA_Data();
40 ~EESA_Data() override = default;
41
42 bool ProcessInput(WsfAntennaPattern& aPattern, UtInput& aInput) override;
43 };
44
46 ~WsfElementESA_AntennaPattern() override = default;
47
48 static WsfAntennaPattern* ObjectFactory(const std::string& aTypeName);
49
50 WsfAntennaPattern* Clone() const override;
51
52 bool Initialize(WsfSimulation* aSimulationPtr) override;
53
54 bool ProcessInput(UtInput& aInput) override;
55
56
57protected:
59
62
63 double ComputeElementGain(double aFrequency, double aAzAngle, double aElAngle) const override;
64
65 double ComputeDirectivityGain(double aFrequency, double aEBS_Az, double aEBS_El) const override;
66
67 EESA_Data* GetEESA_Data() const { return dynamic_cast<EESA_Data*>(GetData()); }
68
69private:
70 double ComputeApertureEfficiency() override;
71
72 bool mExplicitApertureEff;
73 bool mExplicitApertureEffXY;
74};
75
76#endif
WsfAntennaPattern()
Definition WsfAntennaPattern.cpp:25
Definition WsfESA_AntennaPattern.hpp:67
ESA_Data * GetData() const
Definition WsfESA_AntennaPattern.hpp:170
WsfESA_AntennaPattern(ESA_Data *aEsaData=nullptr)
Definition WsfESA_AntennaPattern.cpp:30
Definition WsfElementESA_AntennaPattern.hpp:37
EESA_Data()
Definition WsfElementESA_AntennaPattern.cpp:230
bool ProcessInput(WsfAntennaPattern &aPattern, UtInput &aInput) override
Definition WsfElementESA_AntennaPattern.cpp:236
EESA_Data * GetEESA_Data() const
Definition WsfElementESA_AntennaPattern.hpp:67
double ComputeDirectivityGain(double aFrequency, double aEBS_Az, double aEBS_El) const override
Definition WsfElementESA_AntennaPattern.cpp:162
std::vector< UtVec2d > ElementLocXY
Definition WsfElementESA_AntennaPattern.hpp:33
bool ProcessInput(UtInput &aInput) override
Definition WsfElementESA_AntennaPattern.cpp:88
double ComputeElementGain(double aFrequency, double aAzAngle, double aElAngle) const override
Definition WsfElementESA_AntennaPattern.cpp:147
WsfElementESA_AntennaPattern()
Definition WsfElementESA_AntennaPattern.cpp:26
WsfElementESA_AntennaPattern & operator=(const WsfElementESA_AntennaPattern &aRhs)=delete
Assignment is not supported.
~WsfElementESA_AntennaPattern() override=default
bool Initialize(WsfSimulation *aSimulationPtr) override
Definition WsfElementESA_AntennaPattern.cpp:59
WsfAntennaPattern * Clone() const override
Definition WsfElementESA_AntennaPattern.cpp:48
static WsfAntennaPattern * ObjectFactory(const std::string &aTypeName)
Definition WsfElementESA_AntennaPattern.cpp:37
std::vector< double > WeightVec
Definition WsfElementESA_AntennaPattern.hpp:34
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Copyrights Multiple, All Rights Reserved