CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
corsika::Antenna< TAntennaImpl > Class Template Reference

A common abstract interface for radio antennas. More...

#include <Antenna.hpp>

Inheritance diagram for corsika::Antenna< TAntennaImpl >:

Public Types

using axistype = std::vector< long double >
 

Public Member Functions

 Antenna (std::string const &name, Point const &location, CoordinateSystemPtr const &coordinateSystem)
 Construct a base antenna instance. More...
 
template<typename... TVArgs>
void receive (TVArgs &&... args)
 Receive a signal at this antenna. More...
 
Point const & getLocation () const
 Get the location of this antenna.
 
std::string const & getName () const
 Get the name of this name antenna. More...
 
void reset ()
 Reset the antenna before starting a new simulation.
 
axistype getAxis () const
 Return a reference to the x-axis labels (i.e. More...
 
std::vector< double > const & getWaveformX () const
 Return a reference to the underlying waveform data for X polarization. More...
 
std::vector< double > const & getWaveformY () const
 Return a reference to the underlying waveform data for Y polarization. More...
 
std::vector< double > const & getWaveformZ () const
 Return a reference to the underlying waveform data for Z polarization. More...
 
TAntennaImpl & implementation ()
 Get a reference to the underlying radio implementation.
 

Protected Attributes

std::string const name_
 The name/identifier of this antenna.
 
Point const location_
 The location of this antenna.
 
CoordinateSystemPtr const coordinateSystem_
 The coordinate system of the antenna.
 

Detailed Description

template<typename TAntennaImpl>
class corsika::Antenna< TAntennaImpl >

A common abstract interface for radio antennas.

All concrete antenna implementations should be of type Antenna<T> where T is a concrete antenna implementation.

Definition at line 25 of file Antenna.hpp.

Constructor & Destructor Documentation

◆ Antenna()

template<typename TAntennaImpl>
corsika::Antenna< TAntennaImpl >::Antenna ( std::string const &  name,
Point const &  location,
CoordinateSystemPtr const &  coordinateSystem 
)

Construct a base antenna instance.

Parameters
nameA name for this antenna.
locationThe location of this antenna.

Member Function Documentation

◆ getAxis()

template<typename TAntennaImpl>
axistype corsika::Antenna< TAntennaImpl >::getAxis ( ) const

Return a reference to the x-axis labels (i.e.

time or frequency).

This should be an xtensor-convertible type with a ->data() method that converts to a raw pointer.

◆ getName()

template<typename TAntennaImpl>
std::string const& corsika::Antenna< TAntennaImpl >::getName ( ) const

Get the name of this name antenna.

This is used in producing the output data file.

◆ getWaveformX()

template<typename TAntennaImpl>
std::vector<double> const& corsika::Antenna< TAntennaImpl >::getWaveformX ( ) const

Return a reference to the underlying waveform data for X polarization.

This is used when writing the antenna information to disk and will be converted to a 32-bit float before writing.

◆ getWaveformY()

template<typename TAntennaImpl>
std::vector<double> const& corsika::Antenna< TAntennaImpl >::getWaveformY ( ) const

Return a reference to the underlying waveform data for Y polarization.

This is used when writing the antenna information to disk and will be converted to a 32-bit float before writing.

◆ getWaveformZ()

template<typename TAntennaImpl>
std::vector<double> const& corsika::Antenna< TAntennaImpl >::getWaveformZ ( ) const

Return a reference to the underlying waveform data for Z polarization.

This is used when writing the antenna information to disk and will be converted to a 32-bit float before writing.

◆ receive()

template<typename TAntennaImpl>
template<typename... TVArgs>
void corsika::Antenna< TAntennaImpl >::receive ( TVArgs &&...  args)

Receive a signal at this antenna.

This is a general implementation call that must be specialized for the particular antenna implementation and usage.


The documentation for this class was generated from the following file: