|
FERS 0.1.0
The Flexible Extensible Radar Simulator
|
Represents an antenna whose gain pattern is defined by an XML file. More...
#include "antenna_factory.h"
Inheritance diagram for antenna::XmlAntenna:
Collaboration diagram for antenna::XmlAntenna:Public Types | |
| enum class | AxisSymmetry : std::uint8_t { Mirrored , None } |
| Symmetry mode for one-dimensional XML antenna gain axes. More... | |
Public Member Functions | |
| XmlAntenna (const std::string_view name, const std::string_view filename, const SimId id=0) | |
| Constructs an XmlAntenna with the specified name and XML configuration file. | |
| ~XmlAntenna () override=default | |
| XmlAntenna (const XmlAntenna &)=delete | |
| XmlAntenna & | operator= (const XmlAntenna &)=delete |
| XmlAntenna (XmlAntenna &&)=delete | |
| XmlAntenna & | operator= (XmlAntenna &&)=delete |
| RealType | getGain (const math::SVec3 &angle, const math::SVec3 &refangle, RealType wavelength) const override |
| Computes the gain of the antenna based on the input angle and reference angle. | |
| const std::string & | getFilename () const noexcept |
| Gets the filename of the antenna description. | |
| RealType | getMaxGain () const noexcept |
| Gets the maximum gain of the antenna. | |
| const interp::InterpSet * | getAzimuthSamples () const noexcept |
| Gets the interpolation set for azimuth gain samples. | |
| const interp::InterpSet * | getElevationSamples () const noexcept |
| Gets the interpolation set for elevation gain samples. | |
| RealType | getEfficiencyFactor () const noexcept |
| Retrieves the efficiency factor of the antenna. | |
| std::string | getName () const noexcept |
| Retrieves the name of the antenna. | |
| SimId | getId () const noexcept |
| Retrieves the unique ID of the antenna. | |
| virtual RealType | getNoiseTemperature (const math::SVec3 &) const noexcept |
| Computes the noise temperature of the antenna based on the angle. | |
| void | setEfficiencyFactor (RealType loss) noexcept |
| Sets the efficiency factor of the antenna. | |
| void | setName (std::string name) noexcept |
| Sets the name of the antenna. | |
Static Protected Member Functions | |
| static RealType | getAngle (const math::SVec3 &angle, const math::SVec3 &refangle) noexcept |
| Computes the angle between the input and reference angles. | |
Represents an antenna whose gain pattern is defined by an XML file.
This class models an antenna where the gain pattern is read from an XML file.
Definition at line 437 of file antenna_factory.h.
|
strong |
Symmetry mode for one-dimensional XML antenna gain axes.
| Enumerator | |
|---|---|
| Mirrored | Mirror positive-axis samples onto negative angles. |
| None | Use the axis samples exactly as provided. |
Definition at line 441 of file antenna_factory.h.
| antenna::XmlAntenna::XmlAntenna | ( | const std::string_view | name, |
| const std::string_view | filename, | ||
| const SimId | id = 0 |
||
| ) |
Constructs an XmlAntenna with the specified name and XML configuration file.
The constructor loads the azimuth and elevation gain patterns from the provided XML file.
| name | The name of the antenna. |
| filename | The path to the XML file containing the antenna's gain pattern data. |
Definition at line 455 of file antenna_factory.h.
|
overridedefault |
|
delete |
|
delete |
|
staticprotectednoexceptinherited |
Computes the angle between the input and reference angles.
| angle | The input angle. |
| refangle | The reference angle. |
Definition at line 356 of file antenna_factory.cpp.
References math::SVec3::length.
|
noexcept |
Gets the interpolation set for azimuth gain samples.
Definition at line 491 of file antenna_factory.h.
|
noexceptinherited |
Retrieves the efficiency factor of the antenna.
Definition at line 80 of file antenna_factory.h.
Referenced by antenna::Isotropic::getGain(), getGain(), and antenna::H5Antenna::getGain().
Here is the caller graph for this function:
|
noexcept |
Gets the interpolation set for elevation gain samples.
Definition at line 494 of file antenna_factory.h.
|
noexcept |
Gets the filename of the antenna description.
Definition at line 485 of file antenna_factory.h.
|
overridevirtual |
Computes the gain of the antenna based on the input angle and reference angle.
| angle | The angle at which the gain is to be computed. |
| refangle | The reference angle. |
| wavelength | The wavelength of the signal (not used in this antenna type). |
| std::runtime_error | If gain values cannot be retrieved from the interpolation sets. |
Implements antenna::Antenna.
Definition at line 401 of file antenna_factory.cpp.
References math::SVec3::azimuth, math::SVec3::elevation, antenna::Antenna::getEfficiencyFactor(), and LOG.
Here is the call graph for this function:
|
noexceptinherited |
Retrieves the unique ID of the antenna.
Definition at line 94 of file antenna_factory.h.
Referenced by radar::to_json().
Here is the caller graph for this function:
|
noexcept |
Gets the maximum gain of the antenna.
Definition at line 488 of file antenna_factory.h.
|
noexceptinherited |
Retrieves the name of the antenna.
Definition at line 87 of file antenna_factory.h.
|
virtualnoexceptinherited |
Computes the noise temperature of the antenna based on the angle.
| angle | The angle at which the noise temperature is to be computed. |
Definition at line 103 of file antenna_factory.h.
|
delete |
|
delete |
|
noexceptinherited |
Sets the name of the antenna.
| name | The new name of the antenna. |
Definition at line 117 of file antenna_factory.h.