ARTS 2.5.9 (git: 825fa5f2)
mc_antenna.h
Go to the documentation of this file.
1/* Copyright (C) 2005-2012 Cory Davis <cdavis@staffmail.ed.ac.uk>
2
3 This program is free software; you can redistribute it and/or modify it
4 under the terms of the GNU General Public License as published by the
5 Free Software Foundation; either version 2, or (at your option) any
6 later version.
7
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12
13 You should have received a copy of the GNU General Public License
14 along with this program; if not, write to the Free Software
15 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
16 USA. */
17
28/*===========================================================================
29 === External declarations
30 ===========================================================================*/
31#ifndef mc_antenna_h
32#define mc_antenna_h
33
34#include "arts.h"
35#include "matpackI.h"
36#include "rng.h"
37#include <cmath>
38#include <stdexcept>
39
44};
45
50struct MCAntenna {
55
57 : aa_grid(),
58 za_grid(),
59 G_lookup() { /* Nothing to do here */
60 }
61
66 void set_pencil_beam();
67
79 void set_gaussian(const Numeric& za_sigma, const Numeric& aa_sigma);
80
92 void set_gaussian_fwhm(const Numeric& za_fwhm, const Numeric& aa_fwhm);
93
109
127 void return_los(Numeric& wgt,
128 ConstMatrixView R_return,
129 ConstMatrixView R_enu2ant) const;
130
144 void draw_los(VectorView sampled_rte_los,
145 MatrixView R_los,
146 Rng& rng,
147 ConstMatrixView R_ant2enu,
148 ConstVectorView bore_sight_los) const;
149
150 friend ostream& operator<<(ostream& os, const MCAntenna& mca);
151};
152
165Numeric ran_gaussian(Rng& rng, const Numeric sigma);
166
171
184void rotmat_enu(MatrixView R_ant2enu, ConstVectorView prop_los);
185
209void rotmat_stokes(MatrixView R_pra,
210 const Index& stokes_dim,
211 const Numeric& f1_dir,
212 const Numeric& f2_dir,
213 ConstMatrixView R_f1,
214 ConstMatrixView R_f2);
215
216#endif // mc_antenna_h
The global header file for ARTS.
A constant view of a Matrix.
Definition: matpackI.h:1065
A constant view of a Vector.
Definition: matpackI.h:521
The MatrixView class.
Definition: matpackI.h:1188
The Matrix class.
Definition: matpackI.h:1285
Definition: rng.h:554
The VectorView class.
Definition: matpackI.h:674
The Vector class.
Definition: matpackI.h:910
Implementation of Matrix, Vector, and such stuff.
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
Numeric ran_gaussian(Rng &rng, const Numeric sigma)
ran_gaussian.
Definition: mc_antenna.cc:40
AntennaType
Definition: mc_antenna.h:40
@ ANTENNA_TYPE_PENCIL_BEAM
Definition: mc_antenna.h:41
@ ANTENNA_TYPE_GAUSSIAN
Definition: mc_antenna.h:42
@ ANTENNA_TYPE_LOOKUP
Definition: mc_antenna.h:43
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:88
Numeric ran_uniform(Rng &rng)
ran_uniform.
Definition: mc_antenna.cc:57
void rotmat_enu(MatrixView R_ant2enu, ConstVectorView prop_los)
rotmat_enu.
Definition: mc_antenna.cc:65
member functions of the Rng class and gsl_rng code
An Antenna object used by MCGeneral.
Definition: mc_antenna.h:50
friend ostream & operator<<(ostream &os, const MCAntenna &mca)
Definition: mc_antenna.cc:243
Matrix G_lookup
Definition: mc_antenna.h:54
Numeric sigma_aa
Definition: mc_antenna.h:52
Numeric sigma_za
Definition: mc_antenna.h:52
AntennaType atype
Definition: mc_antenna.h:51
void draw_los(VectorView sampled_rte_los, MatrixView R_los, Rng &rng, ConstMatrixView R_ant2enu, ConstVectorView bore_sight_los) const
draw_los.
Definition: mc_antenna.cc:178
void return_los(Numeric &wgt, ConstMatrixView R_return, ConstMatrixView R_enu2ant) const
return_los
Definition: mc_antenna.cc:143
void set_lookup(ConstVectorView za_grid, ConstVectorView aa_grid, ConstMatrixView G_lookup)
set_lookup.
Definition: mc_antenna.cc:134
void set_gaussian(const Numeric &za_sigma, const Numeric &aa_sigma)
set_gaussian.
Definition: mc_antenna.cc:121
Vector aa_grid
Definition: mc_antenna.h:53
Vector za_grid
Definition: mc_antenna.h:53
void set_gaussian_fwhm(const Numeric &za_fwhm, const Numeric &aa_fwhm)
set_gaussian_fwhm.
Definition: mc_antenna.cc:127
void set_pencil_beam()
set_pencil_beam
Definition: mc_antenna.cc:119