ARTS  2.3.1285(git:92a29ea9-dirty)
mc_antenna.h File Reference

Workspace functions for the solution of cloud-box radiative transfer by Monte Carlo methods. All of these functions refer to 3D calculations. More...

#include <cmath>
#include <stdexcept>
#include "arts.h"
#include "matpackI.h"
#include "ppath.h"
#include "rng.h"

Go to the source code of this file.

Classes

class  MCAntenna
 An Antenna object used by MCGeneral. More...
 

Enumerations

enum  AntennaType { ANTENNA_TYPE_PENCIL_BEAM = 1, ANTENNA_TYPE_GAUSSIAN = 2, ANTENNA_TYPE_LOOKUP = 3 }
 

Functions

ostream & operator<< (ostream &os, const MCAntenna &mca)
 
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...
 

Detailed Description

Workspace functions for the solution of cloud-box radiative transfer by Monte Carlo methods. All of these functions refer to 3D calculations.

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-02

FIXMEDOC *** : set_lookup; ran_uniform

Definition in file mc_antenna.h.

Enumeration Type Documentation

◆ AntennaType

Enumerator
ANTENNA_TYPE_PENCIL_BEAM 
ANTENNA_TYPE_GAUSSIAN 
ANTENNA_TYPE_LOOKUP 

Definition at line 41 of file mc_antenna.h.

Function Documentation

◆ operator<<()

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

Definition at line 247 of file mc_antenna.cc.

Referenced by MCAntenna::G().

◆ 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(), and sqrt().

Referenced by MCAntenna::draw_los(), MCAntenna::G(), 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().

Referenced by MCAntenna::G().

◆ 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 MCAntenna::G(), 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.

Referenced by MCAntenna::G(), MCGeneral(), and MCRadar().