ARTS  2.3.1285(git:92a29ea9-dirty)
mc_interp.h
Go to the documentation of this file.
1 /* Copyright (C) 2005-2012 Cory Davis <cory@met.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 
32 #ifndef mc_interp_h
33 #define mc_interp_h
34 #include "array.h"
35 #include "arts.h"
36 #include "interpolation.h"
37 #include "matpackI.h"
38 #include "optproperties.h"
39 #include "ppath.h"
40 
41 extern const Numeric DEG2RAD;
42 extern const Numeric RAD2DEG;
43 extern const Numeric PI;
44 
56 class SLIData2 {
57  public:
58  //grid of x1 values where y is known
60  //A vector of x2 values for every x1a
62  //y values for every x1a, x2a
64  //performs SLI.
66  //checks that it is not empty
67  //void check() const;
68 };
69 
70 ostream& operator<<(ostream& os, const SLIData2& sli);
71 
90 void interp(MatrixView tia,
91  ConstVectorView itw,
92  const ArrayOfMatrix& a,
93  const GridPos& tc);
94 
113 void interp(VectorView tia,
114  ConstVectorView itw,
115  const ArrayOfVector& a,
116  const GridPos& tc);
117 
134 void interp_scat_angle_temperature( //Output:
135  VectorView pha_mat_int,
136  Numeric& theta_rad,
137  //Input:
138  const SingleScatteringData& scat_data_single,
139  const Numeric& za_sca,
140  const Numeric& aa_sca,
141  const Numeric& za_inc,
142  const Numeric& aa_inc,
143  const Numeric& rtp_temperature);
144 
145 #endif // mc_interp_h
The VectorView class.
Definition: matpackI.h:610
#define x2
The Vector class.
Definition: matpackI.h:860
The MatrixView class.
Definition: matpackI.h:1093
Numeric interpolate(Numeric x1, Numeric x2) const
Definition: mc_interp.cc:33
Header file for interpolation.cc.
ArrayOfVector x2a
Definition: mc_interp.h:61
A 2D sequential linear interpolation (SLI) lookup table This class holds the gridded for 2D SLI as we...
Definition: mc_interp.h:56
ArrayOfVector ya
Definition: mc_interp.h:63
#define x1
Structure to store a grid position.
Definition: interpolation.h:73
This file contains the definition of Array.
void interp_scat_angle_temperature(VectorView pha_mat_int, Numeric &theta_rad, const SingleScatteringData &scat_data_single, const Numeric &za_sca, const Numeric &aa_sca, const Numeric &za_inc, const Numeric &aa_inc, const Numeric &rtp_temperature)
interp_scat_angle_temperature.
Definition: mc_interp.cc:109
The global header file for ARTS.
void interp(MatrixView tia, ConstVectorView itw, const ArrayOfMatrix &a, const GridPos &tc)
interp.
Definition: mc_interp.cc:62
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
const Numeric PI
Implementation of Matrix, Vector, and such stuff.
Propagation path structure and functions.
const Numeric DEG2RAD
A constant view of a Vector.
Definition: matpackI.h:476
const Numeric RAD2DEG
Vector x1a
Definition: mc_interp.h:59
Scattering database structure and functions.
ostream & operator<<(ostream &os, const SLIData2 &sli)
Definition: mc_interp.cc:57