ARTS 2.5.11 (git: 725533f0)
mc_antenna.h
Go to the documentation of this file.
1
11/*===========================================================================
12 === External declarations
13 ===========================================================================*/
14#ifndef mc_antenna_h
15#define mc_antenna_h
16
17#include "arts.h"
18#include "matpack_data.h"
19#include "rng.h"
20#include <cmath>
21#include <stdexcept>
22
27};
28
33struct MCAntenna {
35 Numeric sigma_aa{}, sigma_za{};
37 Matrix G_lookup;
38
40 : aa_grid(),
41 za_grid(),
42 G_lookup() { /* Nothing to do here */
43 }
44
49 void set_pencil_beam();
50
62 void set_gaussian(const Numeric& za_sigma, const Numeric& aa_sigma);
63
75 void set_gaussian_fwhm(const Numeric& za_fwhm, const Numeric& aa_fwhm);
76
89 void set_lookup(ConstVectorView za_grid,
90 ConstVectorView aa_grid,
91 ConstMatrixView G_lookup);
92
110 void return_los(Numeric& wgt,
111 ConstMatrixView R_return,
112 ConstMatrixView R_enu2ant) const;
113
127 void draw_los(VectorView sampled_rte_los,
128 MatrixView R_los,
130 ConstMatrixView R_ant2enu,
131 ConstVectorView bore_sight_los) const;
132
133 friend ostream& operator<<(ostream& os, const MCAntenna& mca);
134};
135
148void rotmat_enu(MatrixView R_ant2enu, ConstVectorView prop_los);
149
173void rotmat_stokes(MatrixView R_pra,
174 const Index& stokes_dim,
175 const Numeric& f1_dir,
176 const Numeric& f2_dir,
177 ConstMatrixView R_f1,
178 ConstMatrixView R_f2);
179
180#endif // mc_antenna_h
The global header file for ARTS.
A C++ standards dependent random number generator class.
Definition rng.h:22
AntennaType
Definition mc_antenna.h:23
@ ANTENNA_TYPE_PENCIL_BEAM
Definition mc_antenna.h:24
@ ANTENNA_TYPE_GAUSSIAN
Definition mc_antenna.h:25
@ ANTENNA_TYPE_LOOKUP
Definition mc_antenna.h:26
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.
Definition mc_antenna.cc:49
void rotmat_enu(MatrixView R_ant2enu, ConstVectorView prop_los)
rotmat_enu.
Definition mc_antenna.cc:26
An Antenna object used by MCGeneral.
Definition mc_antenna.h:33
friend ostream & operator<<(ostream &os, const MCAntenna &mca)
Matrix G_lookup
Definition mc_antenna.h:37
Numeric sigma_aa
Definition mc_antenna.h:35
Numeric sigma_za
Definition mc_antenna.h:35
AntennaType atype
Definition mc_antenna.h:34
void return_los(Numeric &wgt, ConstMatrixView R_return, ConstMatrixView R_enu2ant) const
return_los
void set_lookup(ConstVectorView za_grid, ConstVectorView aa_grid, ConstMatrixView G_lookup)
set_lookup.
Definition mc_antenna.cc:95
void draw_los(VectorView sampled_rte_los, MatrixView R_los, RandomNumberGenerator<> &rng, ConstMatrixView R_ant2enu, ConstVectorView bore_sight_los) const
draw_los.
void set_gaussian(const Numeric &za_sigma, const Numeric &aa_sigma)
set_gaussian.
Definition mc_antenna.cc:82
Vector aa_grid
Definition mc_antenna.h:36
Vector za_grid
Definition mc_antenna.h:36
void set_gaussian_fwhm(const Numeric &za_fwhm, const Numeric &aa_fwhm)
set_gaussian_fwhm.
Definition mc_antenna.cc:88
void set_pencil_beam()
set_pencil_beam
Definition mc_antenna.cc:80