10 #include <boost/filesystem.hpp> 11 #include <corsika/framework/geometry/Point.hpp> 12 #include <corsika/framework/core/PhysicalGeometry.hpp> 13 #include <corsika/output/ParquetStreamer.hpp> 24 template <
typename TAntennaImpl>
33 using axistype = std::vector<long double>;
52 template <
typename... TVArgs>
65 std::string
const&
getName()
const;
113 #include <corsika/detail/modules/radio/antennas/Antenna.inl>
std::string const & getName() const
Get the name of this name antenna.
void reset()
Reset the antenna before starting a new simulation.
Point const & getLocation() const
Get the location of this antenna.
axistype getAxis() const
Return a reference to the x-axis labels (i.e.
std::vector< double > const & getWaveformY() const
Return a reference to the underlying waveform data for Y polarization.
std::vector< double > const & getWaveformZ() const
Return a reference to the underlying waveform data for Z polarization.
void receive(TVArgs &&... args)
Receive a signal at this antenna.
std::string const name_
The name/identifier of this antenna.
CoordinateSystemPtr const coordinateSystem_
The coordinate system of the antenna.
Point const location_
The location of this antenna.
std::vector< double > const & getWaveformX() const
Return a reference to the underlying waveform data for X polarization.
`, since they are used everywhere as integral part of the framework.
std::shared_ptr< CoordinateSystem const > CoordinateSystemPtr
To refer to CoordinateSystems, only the CoordinateSystemPtr must be used.
TAntennaImpl & implementation()
Get a reference to the underlying radio implementation.
Antenna(std::string const &name, Point const &location, CoordinateSystemPtr const &coordinateSystem)
Construct a base antenna instance.
A common abstract interface for radio antennas.