File: radiationpattern.h

package info (click to toggle)
qantenna 0.2.3-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 2,092 kB
  • sloc: cpp: 7,877; makefile: 4
file content (85 lines) | stat: -rw-r--r-- 3,279 bytes parent folder | download
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