ARTS  2.4.0(git:4fb77825)
sensor.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2012 Mattias Ekström <ekstrom@rss.chalmers.se>
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 
18 /*===========================================================================
19  === File description
20  ===========================================================================*/
21 
33 #ifndef sensor_h
34 #define sensor_h
35 
36 #include "arts.h"
37 #include "gridded_fields.h"
38 #include "interpolation.h"
39 #include "math_funcs.h"
40 #include "matpackI.h"
41 #include "matpackII.h"
42 #include "messages.h"
43 
44 /*===========================================================================
45  === Functions from sensor.cc
46  ===========================================================================*/
47 
49 
68 void antenna1d_matrix(Sparse& H,
69  const Index& antenna_dim,
70  ConstVectorView antenna_dza,
74  const Index n_pol,
75  const Index do_norm);
76 
77 
78 
80 
98  const Index& antenna_dim,
101  ConstMatrixView mblock_dlos,
103  const Index n_pol);
104 
105 
106 
108 
127  const Index& antenna_dim,
130  ConstMatrixView mblock_dlos,
132  const Index n_pol);
133 
134 
136 
161  Vector& y,
162  const Numeric& x0,
163  const Numeric& fwhm,
164  const Numeric& xwidth_si,
165  const Numeric& dx_si);
166 
167 
169 
184  const Vector& x,
185  const Numeric& x0,
186  const Numeric& fwhm);
187 
188 
190 
215 void mixer_matrix(Sparse& H,
216  Vector& f_mixer,
217  const Numeric& lo,
218  const GriddedField1& filter,
220  const Index& n_pol,
221  const Index& n_sp,
222  const Index& do_norm);
223 
224 
225 
227 
248 void mueller_rotation(Sparse& H,
249  const Index& stokes_dim,
250  const Numeric& rotangle);
251 
252 
253 
265  const ArrayOfString& pol,
266  const Numeric dza,
267  const Index stokes_dim,
268  const String& iy_unit);
269 
270 
271 
273 
296 
297 
298 
300 
319  ConstVectorView ch_f,
320  const ArrayOfGriddedField1& ch_response,
321  ConstVectorView sensor_f,
322  const Index& n_pol,
323  const Index& n_sp,
324  const Index& do_norm);
325 
326 
327 
329 
348 void stokes2pol(VectorView w,
349  const Index& stokes_dim,
350  const Index& ipol_1based,
351  const Numeric nv = 1);
352 
353 
354 
356 
380 void find_effective_channel_boundaries( // Output:
381  Vector& fmin,
382  Vector& fmax,
383  // Input:
384  const Vector& f_backend,
386  const Numeric& delta,
387  const Verbosity& verbosity);
388 
389 
390 
392 
416  ConstVectorView f,
417  ConstVectorView x_f_in,
418  ConstVectorView x_g_in);
419 
420 
421 
423 
445  ConstVectorView x_g_in,
446  const Numeric& limit1,
447  const Numeric& limit2);
448 
449 
451 
478  ConstVectorView f,
479  ConstVectorView x_f,
480  ConstVectorView x_g,
481  const Numeric x1,
482  const Numeric x2);
483 
484 #endif // sensor_h
Matrix
The Matrix class.
Definition: matpackI.h:1193
gridded_fields.h
Implementation of gridded fields.
ARTS::Var::sensor_response_dlos_grid
Matrix sensor_response_dlos_grid(Workspace &ws) noexcept
Definition: autoarts.h:6356
ARTS::Var::antenna_dlos
Matrix antenna_dlos(Workspace &ws) noexcept
Definition: autoarts.h:2354
ARTS::Var::lo
Numeric lo(Workspace &ws) noexcept
Definition: autoarts.h:4039
w
Complex w(Complex z) noexcept
The Faddeeva function.
Definition: linefunctions.cc:42
met_mm_polarisation_hmatrix
void met_mm_polarisation_hmatrix(Sparse &H, const ArrayOfString &pol, const Numeric dza, const Index stokes_dim, const String &iy_unit)
Calculate polarisation H-matrix.
Definition: sensor.cc:775
ARTS::Var::backend_channel_response
ArrayOfGriddedField1 backend_channel_response(Workspace &ws) noexcept
Definition: autoarts.h:2548
interpolation.h
Header file for interpolation.cc.
integration_bin_by_vecmult
void integration_bin_by_vecmult(VectorView h, ConstVectorView x_g_in, const Numeric &limit1, const Numeric &limit2)
integration_bin_by_vecmult
Definition: sensor.cc:1503
ARTS::Var::antenna_response
GriddedField4 antenna_response(Workspace &ws) noexcept
Definition: autoarts.h:2396
ARTS::Var::verbosity
Verbosity verbosity(Workspace &ws) noexcept
Definition: autoarts.h:7112
mixer_matrix
void mixer_matrix(Sparse &H, Vector &f_mixer, const Numeric &lo, const GriddedField1 &filter, ConstVectorView f_grid, const Index &n_pol, const Index &n_sp, const Index &do_norm)
mixer_matrix
Definition: sensor.cc:645
Sparse
The Sparse class.
Definition: matpackII.h:60
ARTS::Var::y
Vector y(Workspace &ws) noexcept
Definition: autoarts.h:7401
ARTS::Var::antenna_dim
Index antenna_dim(Workspace &ws) noexcept
Definition: autoarts.h:2327
ARTS::Var::stokes_dim
Index stokes_dim(Workspace &ws) noexcept
Definition: autoarts.h:6650
antenna2d_gridded_dlos
void antenna2d_gridded_dlos(Sparse &H, const Index &antenna_dim, ConstMatrixView antenna_dlos, const GriddedField4 &antenna_response, ConstMatrixView mblock_dlos, ConstVectorView f_grid, const Index n_pol)
antenna2d_interp_gridded_dlos
Definition: sensor.cc:199
ARTS::Var::iy_unit
String iy_unit(Workspace &ws) noexcept
Definition: autoarts.h:3856
x0
#define x0
Definition: lineshapemodel.h:413
mueller_rotation
void mueller_rotation(Sparse &H, const Index &stokes_dim, const Numeric &rotangle)
mueller_rotation
Definition: sensor.cc:745
matpackI.h
Implementation of Matrix, Vector, and such stuff.
Array< String >
antenna2d_interp_response
void antenna2d_interp_response(Sparse &H, const Index &antenna_dim, ConstMatrixView antenna_dlos, const GriddedField4 &antenna_response, ConstMatrixView mblock_dlos, ConstVectorView f_grid, const Index n_pol)
antenna2d_interp_response
Definition: sensor.cc:442
ARTS::Var::sensor_response_f
Vector sensor_response_f(Workspace &ws) noexcept
Definition: autoarts.h:6376
summation_by_vecmult
void summation_by_vecmult(VectorView h, ConstVectorView f, ConstVectorView x_f, ConstVectorView x_g, const Numeric x1, const Numeric x2)
summation_by_vecmult
Definition: sensor.cc:1607
messages.h
Declarations having to do with the four output streams.
my_basic_string< char >
VectorView
The VectorView class.
Definition: matpackI.h:610
stokes2pol
void stokes2pol(VectorView w, const Index &stokes_dim, const Index &ipol_1based, const Numeric nv=1)
stokes2pol
Definition: sensor.cc:1041
Numeric
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
Verbosity
Definition: messages.h:49
gaussian_response_autogrid
void gaussian_response_autogrid(Vector &x, Vector &y, const Numeric &x0, const Numeric &fwhm, const Numeric &xwidth_si, const Numeric &dx_si)
gaussian_response_autogrid
Definition: sensor.cc:606
GriddedField4
Definition: gridded_fields.h:340
math_funcs.h
ARTS::Var::f_backend
Vector f_backend(Workspace &ws) noexcept
Definition: autoarts.h:3418
ARTS::Var::f_grid
Vector f_grid(Workspace &ws) noexcept
Definition: autoarts.h:3449
gaussian_response
void gaussian_response(Vector &y, const Vector &x, const Numeric &x0, const Numeric &fwhm)
gaussian_response
Definition: sensor.cc:629
antenna1d_matrix
void antenna1d_matrix(Sparse &H, const Index &antenna_dim, ConstVectorView antenna_dza, const GriddedField4 &antenna_response, ConstVectorView za_grid, ConstVectorView f_grid, const Index n_pol, const Index do_norm)
antenna1d_matrix
Definition: sensor.cc:58
ARTS::Var::sensor_response_f_grid
Vector sensor_response_f_grid(Workspace &ws) noexcept
Definition: autoarts.h:6392
ARTS::Var::za_grid
Vector za_grid(Workspace &ws) noexcept
Definition: autoarts.h:7771
find_effective_channel_boundaries
void find_effective_channel_boundaries(Vector &fmin, Vector &fmax, const Vector &f_backend, const ArrayOfGriddedField1 &backend_channel_response, const Numeric &delta, const Verbosity &verbosity)
Calculate channel boundaries from instrument response functions.
Definition: sensor.cc:1152
ConstMatrixView
A constant view of a Matrix.
Definition: matpackI.h:982
ARTS::Var::sensor_response_pol
ArrayOfIndex sensor_response_pol(Workspace &ws) noexcept
Definition: autoarts.h:6411
ARTS::Var::sensor_response_pol_grid
ArrayOfIndex sensor_response_pol_grid(Workspace &ws) noexcept
Definition: autoarts.h:6428
x1
#define x1
Definition: lineshapemodel.h:414
GriddedField1
Definition: gridded_fields.h:196
matpackII.h
Header file for sparse matrices.
sensor_aux_vectors
void sensor_aux_vectors(Vector &sensor_response_f, ArrayOfIndex &sensor_response_pol, Matrix &sensor_response_dlos, ConstVectorView sensor_response_f_grid, const ArrayOfIndex &sensor_response_pol_grid, ConstMatrixView sensor_response_dlos_grid)
sensor_aux_vectors
Definition: sensor.cc:938
ARTS::Var::x
Vector x(Workspace &ws) noexcept
Definition: autoarts.h:7346
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
ARTS::Var::sensor_response_dlos
Matrix sensor_response_dlos(Workspace &ws) noexcept
Definition: autoarts.h:6340
Vector
The Vector class.
Definition: matpackI.h:860
ConstVectorView
A constant view of a Vector.
Definition: matpackI.h:476
x2
#define x2
Definition: lineshapemodel.h:415
integration_func_by_vecmult
void integration_func_by_vecmult(VectorView h, ConstVectorView f, ConstVectorView x_f_in, ConstVectorView x_g_in)
integration_func_by_vecmult
Definition: sensor.cc:1361
arts.h
The global header file for ARTS.
spectrometer_matrix
void spectrometer_matrix(Sparse &H, ConstVectorView ch_f, const ArrayOfGriddedField1 &ch_response, ConstVectorView sensor_f, const Index &n_pol, const Index &n_sp, const Index &do_norm)
spectrometer_matrix
Definition: sensor.cc:975