WSF
AntennaPlotFunction.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 ANTENNAPLOTFUNCTION_HPP
13#define ANTENNAPLOTFUNCTION_HPP
14
15#include <string>
16#include <vector>
17
18#include "Function.hpp"
19#include "WsfEM_Antenna.hpp"
20class WsfEM_Rcvr;
21#include "WsfEM_Types.hpp"
22
24{
25public:
26 explicit AntennaPlotFunction(WsfScenario& aScenario);
27
28 bool Execute(WsfSimulation& aSimulation) override;
29 bool ProcessInput(UtInput& aInput) override;
30
31private:
32 bool PlotBoth(WsfEM_Rcvr* rcvrPtr);
33 bool PlotHorizontal(WsfEM_Rcvr* rcvrPtr);
34 bool PlotVertical(WsfEM_Rcvr* rcvrPtr);
35
36 void WritePlotFile(const std::string& aFileName,
37 const std::vector<double>& aRowValues,
38 const std::vector<double>& aColValues,
39 const std::vector<double>& aDataValues);
40
41 void WriteGnuPlotFile(const std::vector<double>& aRowValues,
42 const std::vector<double>& aColValues,
43 const std::vector<double>& aDataValues);
44
45 WsfSimulation* mSimulationPtr;
46 std::string mPatternName;
47 std::string mOutputFile;
48 std::string mGnuPlotFile;
49 std::string mHeaderLine1;
50 std::string mHeaderLine2;
51 std::string mHeaderLine3;
52 size_t mOutputColumnLimit;
53 char mPlotType;
54 double mAzimuthMin;
55 double mAzimuthMax;
56 double mAzimuthStep;
57 double mElevationMin;
58 double mElevationMax;
59 double mElevationStep;
60 double mTiltAngle;
61 double mFrequency;
62 WsfEM_Types::Polarization mPolarization;
64 double mEBS_AzCosSteeringLimit;
65 double mEBS_ElCosSteeringLimit;
66 double mEBS_AzLossExponent;
67 double mEBS_ElLossExponent;
68 double mEBS_Az;
69 double mEBS_El;
70};
71
72#endif
bool Execute(WsfSimulation &aSimulation) override
Definition AntennaPlotFunction.cpp:59
AntennaPlotFunction(WsfScenario &aScenario)
Definition AntennaPlotFunction.cpp:28
bool ProcessInput(UtInput &aInput) override
Definition AntennaPlotFunction.cpp:286
Function(const Function &)=default
EBS_Mode
Electronic beam steering capabilities.
Definition WsfEM_Antenna.hpp:62
Definition WsfEM_Rcvr.hpp:68
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Polarization
Polarization of the electromagnetic wave.
Definition WsfEM_Types.hpp:21
Copyrights Multiple, All Rights Reserved