ARTS  2.4.0(git:4fb77825)
mc_antenna.cc File Reference

Monte Carlo Antenna implementation. More...

#include "mc_antenna.h"
#include <cfloat>
#include <sstream>

Go to the source code of this file.

Functions

Numeric ran_gaussian (Rng &rng, const Numeric sigma)
 ran_gaussian. More...
 
Numeric ran_uniform (Rng &rng)
 ran_uniform. More...
 
void rotmat_enu (MatrixView R_ant2enu, ConstVectorView prop_los)
 rotmat_enu. More...
 
void rotmat_stokes (MatrixView R_pra, const Index &stokes_dim, const Numeric &f1_dir, const Numeric &f2_dir, ConstMatrixView R_f1, ConstMatrixView R_f2)
 rotmat_stokes. More...
 
ostream & operator<< (ostream &os, const MCAntenna &)
 

Variables

const Numeric PI
 
const Numeric DEG2RAD
 
const Numeric RAD2DEG
 

Detailed Description

Monte Carlo Antenna implementation.

Author
Cory Davis cdavi.nosp@m.s@st.nosp@m.affma.nosp@m.il.e.nosp@m.d.ac..nosp@m.uk
Date
2005-12-01

Definition in file mc_antenna.cc.

Function Documentation

◆ operator<<()

ostream& operator<< ( ostream &  os,
const MCAntenna  
)

Definition at line 247 of file mc_antenna.cc.

◆ ran_gaussian()

Numeric ran_gaussian ( Rng rng,
const Numeric  sigma 
)

ran_gaussian.

Returns the gaussian random deviate. Draw a random normal (Gaussian) deviate. Polar (Box-Mueller) method; See Knuth v2, 3rd ed, p122.

Parameters
[in]rngRng random number generator instance.
[in]sigmaStandard deviation parameter for gaussian distribution.
Author
Cory Davis
Date
2003-12-01

Definition at line 38 of file mc_antenna.cc.

References Rng::draw(), sqrt(), ARTS::Var::x(), and ARTS::Var::y().

Referenced by MCAntenna::draw_los(), and psd_cloudice_MH97().

◆ ran_uniform()

Numeric ran_uniform ( Rng rng)

ran_uniform.

*** FIXMEDOC ***

Definition at line 55 of file mc_antenna.cc.

References Rng::draw().

◆ rotmat_enu()

void rotmat_enu ( MatrixView  R_ant2enu,
ConstVectorView  prop_los 
)

rotmat_enu.

Calculates rotation matrix from antenna frame to ENU frame. The columns of the rotation matrix are the v, h, and k components of the propagating wave in the ENU frame.

Parameters
[out]R_ant2enurotation matrix from antenna frame to ENU frame.
[in]prop_loslos (zenith and azimuth).
Author
Ian S. Adams
Date
2016-09-07

Definition at line 63 of file mc_antenna.cc.

References DEG2RAD.

Referenced by MCGeneral(), and MCRadar().

◆ rotmat_stokes()

void rotmat_stokes ( MatrixView  R_pra,
const Index stokes_dim,
const Numeric f1_dir,
const Numeric f2_dir,
ConstMatrixView  R_f1,
ConstMatrixView  R_f2 
)

rotmat_stokes.

Calculates the PRA matrix for the stokes vector to account for polarization rotation from ENU frame to antenna frame. Designed to handle sign properly for radiometer and radar (both tx and rx) using the bs_dir argument which (1 = away from sensor, -1 = into sensor), based on Mishchenko's convention for third Stokes. The assumption is that the polarization basis vectors have magnitude of one; therefore, a check is not made for the purpose of computational efficiency.

Parameters
[out]R_prarotation matrix.
[in]stokes_dimnumber of stokes vector elements to consider.
[in]f1_dirpropagation direction of polarization basis 1 (-1.0 or 1.0).
[in]f2_dirpropgation direction of polarization basis 2 (-1.0 or 1.0).
[in]R_f1rotation matrix (into ENU) for basis f1.
[in]R_f2photon rotation (into ENU) for basis f2.
Author
Ian S. Adams
Date
2016-09-07

Definition at line 86 of file mc_antenna.cc.

References joker, and ARTS::Var::stokes_dim().

Referenced by MCGeneral(), and MCRadar().

Variable Documentation

◆ DEG2RAD

const Numeric DEG2RAD
extern

Referenced by MCAntenna::draw_los(), and rotmat_enu().

◆ PI

const Numeric PI
extern

◆ RAD2DEG

const Numeric RAD2DEG
extern