35 Vector itw1(2), itwl(2), itwr(2);
48 return itw1[0] * yl + itw1[1] * yr;
58 os <<
"SLIData2 : Output operator not implemented";
75 Index anr = a[0].nrows();
76 Index anc = a[0].ncols();
78 assert(tia.
nrows() == anr);
79 assert(tia.
ncols() == anc);
81 for (
Index inr = 0; inr < anr; inr++)
82 for (
Index inc = 0; inc < anc; inc++) {
84 a[tc.
idx](inr, inc) * itw[0] + a[tc.
idx + 1](inr, inc) * itw[1];
102 assert(tia.
nelem() == an);
105 tia[
i] = a[tc.
idx][
i] * itw[0] + a[tc.
idx + 1][
i] * itw[1];
118 const Numeric& rtp_temperature) {
126 if (
abs(aa_sca - aa_inc) < ANG_TOL) {
128 }
else if (
abs(
abs(aa_sca - aa_inc) - 180) < ANG_TOL) {
129 theta_rad =
DEG2RAD * (za_sca + za_inc);
130 if (theta_rad >
PI) {
131 theta_rad = 2 *
PI - theta_rad;
143 acos(cos(za_sca_rad) * cos(za_inc_rad) +
144 sin(za_sca_rad) * sin(za_inc_rad) * cos(aa_sca_rad - aa_inc_rad));
INDEX Index
The type to use for all integer numbers and indices.
Index nelem() const
Number of elements.
Interpolation classes and functions created for use within Monte Carlo scattering simulations...
Numeric interpolate(Numeric x1, Numeric x2) const
A 2D sequential linear interpolation (SLI) lookup table This class holds the gridded for 2D SLI as we...
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.
Index nelem() const
Returns the number of elements.
Structure to store a grid position.
Index ncols() const
Returns the number of columns.
bool is_same_within_epsilon(const Numeric &a, const Numeric &b, const Numeric &epsilon)
Check, if two numbers agree within a given epsilon.
Numeric sum() const
The sum of all elements of a Vector.
void gridpos(ArrayOfGridPos &gp, ConstVectorView old_grid, ConstVectorView new_grid, const Numeric &extpolfac)
Set up a grid position Array.
NUMERIC Numeric
The type to use for all floating point numbers.
const Numeric DEG2RAD
Global constant, conversion from degrees to radians.
Header file for logic.cc.
ostream & operator<<(ostream &os, const SLIData2 &)
This can be used to make arrays out of anything.
const Numeric PI
Global constant, pi.
A constant view of a Vector.
bool is_size(ConstVectorView x, const Index &n)
Verifies that the size of x is l.
void interp(MatrixView tia, ConstVectorView itw, const ArrayOfMatrix &a, const GridPos &tc)
interp.
Index ncols() const
Returns the number of columns.
void interpweights(VectorView itw, const GridPos &tc)
Red 1D interpolation weights.
Index nrows() const
Returns the number of rows.
const Numeric RAD2DEG
Global constant, conversion from radians to degrees.