ARTS
2.4.0(git:4fb77825)
|
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... | |
Workspace functions for the solution of cloud-box radiative transfer by Monte Carlo methods. All of these functions refer to 3D calculations.
FIXMEDOC *** : set_lookup; ran_uniform
Definition in file mc_antenna.h.
enum AntennaType |
Enumerator | |
---|---|
ANTENNA_TYPE_PENCIL_BEAM | |
ANTENNA_TYPE_GAUSSIAN | |
ANTENNA_TYPE_LOOKUP |
Definition at line 41 of file mc_antenna.h.
ostream& operator<< | ( | ostream & | os, |
const MCAntenna & | mca | ||
) |
Definition at line 247 of file mc_antenna.cc.
ran_gaussian.
Returns the gaussian random deviate. Draw a random normal (Gaussian) deviate. Polar (Box-Mueller) method; See Knuth v2, 3rd ed, p122.
[in] | rng | Rng random number generator instance. |
[in] | sigma | Standard deviation parameter for gaussian distribution. |
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().
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.
[out] | R_ant2enu | rotation matrix from antenna frame to ENU frame. |
[in] | prop_los | los (zenith and azimuth). |
Definition at line 63 of file mc_antenna.cc.
References DEG2RAD.
Referenced by MCGeneral(), and MCRadar().
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.
[out] | R_pra | rotation matrix. |
[in] | stokes_dim | number of stokes vector elements to consider. |
[in] | f1_dir | propagation direction of polarization basis 1 (-1.0 or 1.0). |
[in] | f2_dir | propgation direction of polarization basis 2 (-1.0 or 1.0). |
[in] | R_f1 | rotation matrix (into ENU) for basis f1. |
[in] | R_f2 | photon rotation (into ENU) for basis f2. |
Definition at line 86 of file mc_antenna.cc.
References joker, and ARTS::Var::stokes_dim().
Referenced by MCGeneral(), and MCRadar().