ARTS  2.4.0(git:4fb77825)
MCAntenna Class Reference

An Antenna object used by MCGeneral. More...

#include <mc_antenna.h>

Public Member Functions

 MCAntenna ()
 
void set_pencil_beam ()
 set_pencil_beam More...
 
void set_gaussian (const Numeric &za_sigma, const Numeric &aa_sigma)
 set_gaussian. More...
 
void set_gaussian_fwhm (const Numeric &za_fwhm, const Numeric &aa_fwhm)
 set_gaussian_fwhm. More...
 
void set_lookup (ConstVectorView za_grid, ConstVectorView aa_grid, ConstMatrixView G_lookup)
 set_lookup. More...
 
AntennaType get_type () const
 AntennaType get_type. More...
 
void return_los (Numeric &wgt, ConstMatrixView R_return, ConstMatrixView R_enu2ant) const
 return_los More...
 
void draw_los (VectorView sampled_rte_los, MatrixView R_los, Rng &rng, ConstMatrixView R_ant2enu, ConstVectorView bore_sight_los) const
 draw_los. More...
 
AntennaType Type () const
 
Index Type (AntennaType x)
 
Numeric & saa ()
 
Numeric & sza ()
 
Vector & aag ()
 
Vector & zag ()
 
Matrix & G ()
 

Static Public Member Functions

static bool validType (AntennaType x) noexcept
 

Private Attributes

AntennaType atype
 
Numeric sigma_aa
 
Numeric sigma_za
 
Vector aa_grid
 
Vector za_grid
 
Matrix G_lookup
 

Detailed Description

An Antenna object used by MCGeneral.

This class provides the means of sampling various types of 2D antenna functions.

Definition at line 51 of file mc_antenna.h.

Constructor & Destructor Documentation

◆ MCAntenna()

MCAntenna::MCAntenna ( )
inline

Definition at line 58 of file mc_antenna.h.

Member Function Documentation

◆ aag()

Vector& MCAntenna::aag ( )
inline

Definition at line 174 of file mc_antenna.h.

References aa_grid.

◆ draw_los()

void MCAntenna::draw_los ( VectorView  sampled_rte_los,
MatrixView  R_los,
Rng &  rng,
ConstMatrixView  R_ant2enu,
ConstVectorView  bore_sight_los 
) const

draw_los.

Draws a line of sight by sampling the antenna response function.

Parameters
[out]sampled_rte_losThe sampled line of sight.
[out]R_losLine-of-sight propagation vector in ENU frame.
[in]rngA random number generator.
[in]R_ant2enuRotation matrix from antenna frame to ENU frame.
[in]bore_sight_losThe bore sight LOS.
Author
Cory Davis
Date
2005-12-02

Definition at line 180 of file mc_antenna.cc.

References abs, ANTENNA_TYPE_GAUSSIAN, ANTENNA_TYPE_PENCIL_BEAM, atype, cross3(), DEG2RAD, joker, mult(), RAD2DEG, ran_gaussian(), sigma_aa, sigma_za, and sqrt().

◆ G()

Matrix& MCAntenna::G ( )
inline

Definition at line 176 of file mc_antenna.h.

References G_lookup.

◆ get_type()

AntennaType MCAntenna::get_type ( ) const

AntennaType get_type.

Returns the antenna type.

Returns
AntennaType
Author
Cory Davis
Date
2006-6-16

Definition at line 141 of file mc_antenna.cc.

References atype.

◆ return_los()

void MCAntenna::return_los ( Numeric &  wgt,
ConstMatrixView  R_return,
ConstMatrixView  R_enu2ant 
) const

return_los

Returns the normalized Gaussian weight for a photon line of sight relative to the boresight.

Modified 2016-09-07 by ISA to take a rotation matrix instead of boresight los for reasons of computational efficiency.

Parameters
[out]wgtLine-of-sight propagation vector in ENU frame.
[in]rte_losThe line-of-sight of incoming photon.
[in]bore_sight_losthe bore sight LOS.
[in]R_enu2antRotation matrix from ENU frame to antenna frame.
Author
Ian S. Adams.
Date
2015-09-09.

Definition at line 143 of file mc_antenna.cc.

References ANTENNA_TYPE_GAUSSIAN, ANTENNA_TYPE_PENCIL_BEAM, atype, joker, mult(), RAD2DEG, sigma_aa, and sigma_za.

◆ saa()

Numeric& MCAntenna::saa ( )
inline

Definition at line 172 of file mc_antenna.h.

References sigma_aa.

◆ set_gaussian()

void MCAntenna::set_gaussian ( const Numeric &  za_sigma,
const Numeric &  aa_sigma 
)

set_gaussian.

Makes the antenna pattern a 2D gaussian specified by za and aa standard deviations. Gives the MCAntenna object a 2D gaussian response function.

Parameters
[in]za_sigmaThe std. dev. parameter for zenith angle.
[in]aa_sigmaThe std. dev. parameter for azimuthal angle.
Author
Cory Davis
Date
2005-12-02

Definition at line 119 of file mc_antenna.cc.

References ANTENNA_TYPE_GAUSSIAN, atype, sigma_aa, and sigma_za.

◆ set_gaussian_fwhm()

void MCAntenna::set_gaussian_fwhm ( const Numeric &  za_fwhm,
const Numeric &  aa_fwhm 
)

set_gaussian_fwhm.

Makes the antenna pattern a 2D gaussian specified by za and aa FWHM. Gives the MCAntenna object a 2D gaussian response function.

Parameters
[in]za_fwhmThe full width half maximum zenith angle.
[in]aa_fwhmThe full width half maximum azimuthal angle.
Author
Cory Davis
Date
2005-12-02

Definition at line 125 of file mc_antenna.cc.

References ANTENNA_TYPE_GAUSSIAN, atype, sigma_aa, and sigma_za.

◆ set_lookup()

void MCAntenna::set_lookup ( ConstVectorView  za_grid,
ConstVectorView  aa_grid,
ConstMatrixView  G_lookup 
)

set_lookup.

Makes the antenna pattern use a 2D lookup table to define the antenna response. The lookup antenna type is not yet implemented. *** FIXMEDOC ***

Parameters
[in]za_grid_zenith angle grid for the antenna response lookup table.
[in]aa_grid_azimuthal angle grid for the antenna response lookup table.
[in]G_lookup_the lookup table data.
Author
Cory Davis
Date
2005-12-02

Definition at line 132 of file mc_antenna.cc.

References aa_grid, ANTENNA_TYPE_LOOKUP, atype, G_lookup, and za_grid.

◆ set_pencil_beam()

void MCAntenna::set_pencil_beam ( )

set_pencil_beam

Makes the antenna pattern a pencil beam.

Definition at line 117 of file mc_antenna.cc.

References ANTENNA_TYPE_PENCIL_BEAM, and atype.

◆ sza()

Numeric& MCAntenna::sza ( )
inline

Definition at line 173 of file mc_antenna.h.

References sigma_za.

◆ Type() [1/2]

AntennaType MCAntenna::Type ( ) const
inline

Definition at line 165 of file mc_antenna.h.

References atype.

◆ Type() [2/2]

Index MCAntenna::Type ( AntennaType  x)
inline

Definition at line 166 of file mc_antenna.h.

References atype, validType(), and ARTS::Var::x().

◆ validType()

static bool MCAntenna::validType ( AntennaType  x)
inlinestaticnoexcept

◆ zag()

Vector& MCAntenna::zag ( )
inline

Definition at line 175 of file mc_antenna.h.

References za_grid.

Member Data Documentation

◆ aa_grid

Vector MCAntenna::aa_grid
private

Definition at line 54 of file mc_antenna.h.

Referenced by aag(), and set_lookup().

◆ atype

AntennaType MCAntenna::atype
private

◆ G_lookup

Matrix MCAntenna::G_lookup
private

Definition at line 55 of file mc_antenna.h.

Referenced by G(), and set_lookup().

◆ sigma_aa

Numeric MCAntenna::sigma_aa
private

Definition at line 53 of file mc_antenna.h.

Referenced by draw_los(), return_los(), saa(), set_gaussian(), and set_gaussian_fwhm().

◆ sigma_za

Numeric MCAntenna::sigma_za
private

Definition at line 53 of file mc_antenna.h.

Referenced by draw_los(), return_los(), set_gaussian(), set_gaussian_fwhm(), and sza().

◆ za_grid

Vector MCAntenna::za_grid
private

Definition at line 54 of file mc_antenna.h.

Referenced by set_lookup(), and zag().


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