|
FERS 1.0.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 { Mirrored , None } |
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 436 of file antenna_factory.h.
|
strong |
| Enumerator | |
|---|---|
| Mirrored | |
| None | |
Definition at line 439 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 453 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 325 of file antenna_factory.cpp.
References math::SVec3::length.
|
noexcept |
Gets the interpolation set for azimuth gain samples.
Definition at line 489 of file antenna_factory.h.
|
noexceptinherited |
Retrieves the efficiency factor of the antenna.
Definition at line 79 of file antenna_factory.h.
Referenced by antenna::Isotropic::getGain(), getGain(), antenna::H5Antenna::getGain(), and antenna::to_json().
Here is the caller graph for this function:
|
noexcept |
Gets the interpolation set for elevation gain samples.
Definition at line 492 of file antenna_factory.h.
|
noexcept |
Gets the filename of the antenna description.
Definition at line 483 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 370 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 93 of file antenna_factory.h.
Referenced by antenna::to_json(), radar::to_json(), and radar::to_json().
Here is the caller graph for this function:
|
noexcept |
Gets the maximum gain of the antenna.
Definition at line 486 of file antenna_factory.h.
|
noexceptinherited |
Retrieves the name of the antenna.
Definition at line 86 of file antenna_factory.h.
Referenced by serial::kml_generator_utils::findGaussian3DbDropAngle(), serial::kml_generator_utils::findParabolic3DbDropAngle(), serial::kml_generator_utils::findSquareHorn3DbDropAngle(), serial::kml_generator_utils::generateAntennaKml(), serial::xml_serializer_utils::serializeMonostatic(), serial::xml_serializer_utils::serializeReceiver(), serial::xml_serializer_utils::serializeTransmitter(), and antenna::to_json().
Here is the caller graph for this function:
|
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 102 of file antenna_factory.h.
|
delete |
|
delete |
|
noexceptinherited |
Sets the efficiency factor of the antenna.
| loss | The new efficiency factor. |
Definition at line 316 of file antenna_factory.cpp.
References LOG.
Referenced by serial::update_antenna_from_json().
Here is the caller graph for this function:
|
noexceptinherited |
Sets the name of the antenna.
| name | The new name of the antenna. |
Definition at line 116 of file antenna_factory.h.
Referenced by serial::update_antenna_from_json().
Here is the caller graph for this function: