ARTS  2.3.1285(git:92a29ea9-dirty)
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)
 
Numericsaa ()
 
Numericsza ()
 
Vectoraag ()
 
Vectorzag ()
 
MatrixG ()
 

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

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, sqrt(), and _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str().

Referenced by mc_IWP_cloud_opt_pathCalc(), MCAntenna(), MCGeneral(), MCIPA(), and MCRadar().

◆ G()

Matrix& MCAntenna::G ( )
inline

◆ 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.

Referenced by mc_IWP_cloud_opt_pathCalc(), MCAntenna(), and MCRadar().

◆ 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, sigma_za, and _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str().

Referenced by MCAntenna().

◆ 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.

Referenced by mc_antennaSetGaussian(), and MCAntenna().

◆ 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.

Referenced by mc_antennaSetGaussianByFWHM(), and MCAntenna().

◆ 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.

Referenced by MCAntenna().

◆ 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.

Referenced by iyMC(), mc_antennaSetPencilBeam(), and MCAntenna().

◆ 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 validType().

◆ validType()

static bool MCAntenna::validType ( AntennaType  x)
inlinestaticnoexcept

Definition at line 167 of file mc_antenna.h.

References ANTENNA_TYPE_GAUSSIAN, ANTENNA_TYPE_LOOKUP, ANTENNA_TYPE_PENCIL_BEAM, and stdarrayify().

Referenced by Type().

◆ 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: