1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
/***************************************************************************
* Copyright (C) 2005 by *
* Lisandro Damián Nicanor Pérez Meyer - perezmeyer en/at gmail.com *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef RADIATIONPATTERN_H
#define RADIATIONPATTERN_H
/**
This class holds the values of one line of values of the radiation pattern
as parsed by NECOutputParser.
It doesn't need to much description as it just stores values. If in doubt,
read a NEC output file.
*/
class RadiationPattern
{
public:
RadiationPattern( double newThetaAngle, double newPhiAngle,
double newVerticalGain, double newHorizontalGain, double newTotalGain,
double newAxialPolarization, double newTiltDegreesPolarization,
int newPolarizationSense,
double newEThetaMagnitude, double newEThetaPhase,
double newEPhiMagnitude, double newEPhiPhase );
double GetThetaAngle() const;
double GetPhiAngle() const;
double GetVerticalGain() const;
double GetHorizontalGain() const;
double GetTotalGain() const;
double GetAxialPolarization() const;
double GetTiltDegreesPolarization() const;
int GetPolarizationSense() const;
double GetEThetaMagnitude() const;
double GetEThetaPhase() const;
double GetEPhiMagnitude() const;
double GetEPhiPhase() const;
protected:
/// Theta angle
double thetaAngle;
/// Phi angle
double phiAngle;
/* Power gains. We will use convert them from dB to absolute units */
/// Vertical power gain
double verticalGain;
/// Horizontal power gain
double horizontalGain;
/// Total gain
double totalGain;
/// Axial polarization
double axialPolarization;
/// Tilt degrees polarization
double tiltDegreesPolarization;
/**
Polarization sense possible values: \n
0: linear \n
1: right \n
2: left \n
*/
int polarizationSense;
/// Electric field - Theta magnitude
double eThetaMagnitude;
/// Electric field - Theta phase
double eThetaPhase;
/// Electric field - Phi magnitude
double ePhiMagnitude;
/// Electric field - Phi phase
double ePhiPhase;
};
#endif //RADIATIONPATTERN_H
|