104 [[nodiscard]] std::shared_ptr<timing::Timing>
getTiming()
const;
111 void setTiming(
const std::shared_ptr<timing::Timing>& tim);
133 const Radar* _attached{
nullptr};
Abstract base class representing an antenna.
A class representing a vector in spherical coordinates.
Represents a physical object in the radar system.
Represents a radar system on a platform.
std::shared_ptr< timing::Timing > _timing
Timing source for the radar.
const Radar * getAttached() const noexcept
Retrieves the attached radar object.
Radar(Platform *platform, std::string name) noexcept
Constructs a Radar object.
~Radar() override=default
void setAntenna(const antenna::Antenna *ant)
Sets the antenna for the radar.
const antenna::Antenna * getAntenna() const noexcept
Gets the antenna associated with this radar.
std::shared_ptr< timing::Timing > getTiming() const
Retrieves the timing source for the radar.
Radar(const Radar &)=delete
void setAttached(const Radar *obj)
Attaches another radar object to this radar.
Radar & operator=(const Radar &)=delete
Radar & operator=(Radar &&)=delete
RealType getGain(const math::SVec3 &angle, const math::SVec3 &refangle, RealType wavelength) const
Calculates the radar gain based on input angles and wavelength.
virtual RealType getNoiseTemperature(const math::SVec3 &angle) const noexcept
Gets the noise temperature of the radar.
void setTiming(const std::shared_ptr< timing::Timing > &tim)
Sets the timing source for the radar.
Represents a timing source for simulation.
double RealType
Type for real numbers.
OperationMode
Defines the operational mode of a radar component.
@ PULSED_MODE
The component operates in a pulsed mode.
@ CW_MODE
The component operates in a continuous-wave mode.
Base class for all physical objects in the radar system.