ARTS  2.2.66
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 
18 
19 
20 /*===========================================================================
21  === File description
22  ===========================================================================*/
23 
33 /*===========================================================================
34  === External declarations
35  ===========================================================================*/
36 
37 #ifndef mc_interp_h
38 #define mc_interp_h
39 #include "arts.h"
40 #include "matpackI.h"
41 #include "array.h"
42 #include "interpolation.h"
43 #include "optproperties.h"
44 #include "ppath.h"
45 
46 extern const Numeric DEG2RAD;
47 extern const Numeric RAD2DEG;
48 extern const Numeric PI;
49 
50 
51 
52 
54 
57 class SLIData2
58 {
59 public:
60  //grid of x1 values where y is known
62  //A vector of x2 values for every x1a
64  //y values for every x1a, x2a
66  //performs SLI.
67  Numeric interpolate(Numeric x1, Numeric x2) const;
68  //checks that it is not empty
69  //void check() const;
70 
71 };
72 
73 ostream& operator<< (ostream& os, const SLIData2& sli);
74 
75 
76 void interp(MatrixView tia,
77  ConstVectorView itw,
78  const ArrayOfMatrix& a,
79  const GridPos& tc );
80 
81 void interp(VectorView tia,
82  ConstVectorView itw,
83  const ArrayOfVector& a,
84  const GridPos& tc );
85 
86 
87 void interp_scat_angle_temperature(//Output:
88  VectorView pha_mat_int,
89  Numeric& theta_rad,
90  //Input:
91  const SingleScatteringData& scat_data,
92  const Numeric& za_sca,
93  const Numeric& aa_sca,
94  const Numeric& za_inc,
95  const Numeric& aa_inc,
96  const Numeric& rtp_temperature
97  );
98 
99 #endif // mc_interp_h
The VectorView class.
Definition: matpackI.h:372
The Vector class.
Definition: matpackI.h:556
The MatrixView class.
Definition: matpackI.h:679
Numeric interpolate(Numeric x1, Numeric x2) const
Perform sequential interpolation.
Definition: mc_interp.cc:52
Structure which describes the single scattering properties of a particle or a particle distribution...
Definition: optproperties.h:84
Header file for interpolation.cc.
ArrayOfVector x2a
Definition: mc_interp.h:63
A 2D sequential linear interpolation (SLI) lookup table.
Definition: mc_interp.h:57
ArrayOfVector ya
Definition: mc_interp.h:65
Structure to store a grid position.
Definition: interpolation.h:74
This file contains the definition of Array.
The global header file for ARTS.
void interp(MatrixView tia, ConstVectorView itw, const ArrayOfMatrix &a, const GridPos &tc)
Red 1D Interpolate.
Definition: mc_interp.cc:111
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:29
const Numeric PI
Propagation path structure and functions.
const Numeric DEG2RAD
A constant view of a Vector.
Definition: matpackI.h:292
const Numeric RAD2DEG
Vector x1a
Definition: mc_interp.h:61
Scattering database structure and functions.
ostream & operator<<(ostream &os, const SLIData2 &sli)
Definition: mc_interp.cc:78
void interp_scat_angle_temperature(VectorView pha_mat_int, Numeric &theta_rad, const SingleScatteringData &scat_data, const Numeric &za_sca, const Numeric &aa_sca, const Numeric &za_inc, const Numeric &aa_inc, const Numeric &rtp_temperature)
Definition: mc_interp.cc:183