ARTS  2.4.0(git:4fb77825)
radiation_field.h
Go to the documentation of this file.
1 /* Copyright (C) 2019
2  Richard Larsson
3 
4  This program is free software; you can redistribute it and/or modify it
5  under the terms of the GNU General Public License as published by the
6  Free Software Foundation; either version 2, or (at your option) any
7  later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
17  USA. */
18 
27 #ifndef radiation_field_h
28 #define radiation_field_h
29 
30 #include "matpackI.h"
31 #include "mystring.h"
32 #include "rte.h"
33 
39 void error_in_integrate(const String& error_msg,
40  const Numeric& value_that_should_be_unity);
41 
52 Numeric test_integrate_convolved(const Eigen::Ref<Eigen::VectorXcd> F,
53  const Vector& f);
54 
66  const Array<Index>& sorted_index);
67 
80  const Eigen::VectorXcd& F,
81  const Vector& f);
82 
97  const Eigen::VectorXcd& F,
98  const Vector& f);
99 
108  const Vector& cosza,
109  const Array<Index>& sorted_index);
110 
119 Index grid_index_from_gp(const GridPos& gp);
120 
128  ArrayOfVector& cosza,
129  const ArrayOfPpath& ppath_field);
130 
131 #endif // radiation_field_h
grid_index_from_gp
Index grid_index_from_gp(const GridPos &gp)
Get a discrete position from grid pos.
Definition: radiation_field.cc:100
test_integrate_convolved
Numeric test_integrate_convolved(const Eigen::Ref< Eigen::VectorXcd > F, const Vector &f)
Integrate the line shape.
Definition: radiation_field.cc:39
matpackI.h
Implementation of Matrix, Vector, and such stuff.
Array< Index >
sorted_index_of_ppath_field
void sorted_index_of_ppath_field(ArrayOfArrayOfIndex &sorted_index, ArrayOfVector &cosza, const ArrayOfPpath &ppath_field)
Get sorting of zenith angles in field of ppath.
Definition: radiation_field.cc:107
my_basic_string< char >
VectorView
The VectorView class.
Definition: matpackI.h:610
Numeric
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
ARTS::Var::ppath_field
ArrayOfPpath ppath_field(Workspace &ws) noexcept
Definition: autoarts.h:5158
GridPos
Structure to store a grid position.
Definition: interpolation.h:73
RadiationVector
Radiation Vector for Stokes dimension 1-4.
Definition: transmissionmatrix.h:395
integrate_convolved
Numeric integrate_convolved(const RadiationVector &I, const Eigen::VectorXcd &F, const Vector &f)
Convolve intensity and line shape and integrate.
Definition: radiation_field.cc:61
rte.h
Declaration of functions in rte.cc.
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
Vector
The Vector class.
Definition: matpackI.h:860
TransmissionMatrix
Class to keep track of Transmission Matrices for Stokes Dim 1-4.
Definition: transmissionmatrix.h:38
error_in_integrate
void error_in_integrate(const String &error_msg, const Numeric &value_that_should_be_unity)
Throws an error if integration values are bad.
Definition: radiation_field.cc:30
integrate_zenith
Numeric integrate_zenith(const VectorView j, const Vector &cosza, const Array< Index > &sorted_index)
Convolve source function with 1D sphere and integrate.
Definition: radiation_field.cc:87
test_integrate_zenith
Numeric test_integrate_zenith(const Vector &cosza, const Array< Index > &sorted_index)
Integrate cos(za) over the angles.
Definition: radiation_field.cc:50
mystring.h
This file contains the definition of String, the ARTS string class.