ARTS
2.2.66
|
A constant view of a Tensor6. More...
#include <matpackVI.h>
Public Member Functions | |
Index | nvitrines () const |
Returns the number of vitrines. More... | |
Index | nshelves () const |
Returns the number of shelves. More... | |
Index | nbooks () const |
Returns the number of books. More... | |
Index | npages () const |
Returns the number of pages. More... | |
Index | nrows () const |
Returns the number of rows. More... | |
Index | ncols () const |
Returns the number of columns. More... | |
ConstTensor6View | operator() (const Range &v, const Range &s, const Range &b, const Range &p, const Range &r, const Range &c) const |
ConstTensor5View | operator() (const Range &v, const Range &s, const Range &b, const Range &p, const Range &r, Index c) const |
ConstTensor5View | operator() (const Range &v, const Range &s, const Range &b, const Range &p, Index r, const Range &c) const |
ConstTensor5View | operator() (const Range &v, const Range &s, const Range &b, Index p, const Range &r, const Range &c) const |
ConstTensor5View | operator() (const Range &v, const Range &s, Index b, const Range &p, const Range &r, const Range &c) const |
ConstTensor5View | operator() (const Range &v, Index s, const Range &b, const Range &p, const Range &r, const Range &c) const |
ConstTensor5View | operator() (Index v, const Range &s, const Range &b, const Range &p, const Range &r, const Range &c) const |
ConstTensor4View | operator() (const Range &v, const Range &s, const Range &b, const Range &p, Index r, Index c) const |
ConstTensor4View | operator() (const Range &v, const Range &s, const Range &b, Index p, const Range &r, Index c) const |
ConstTensor4View | operator() (const Range &v, const Range &s, Index b, const Range &p, const Range &r, Index c) const |
ConstTensor4View | operator() (const Range &v, Index s, const Range &b, const Range &p, const Range &r, Index c) const |
ConstTensor4View | operator() (Index v, const Range &s, const Range &b, const Range &p, const Range &r, Index c) const |
ConstTensor4View | operator() (const Range &v, const Range &s, const Range &b, Index p, Index r, const Range &c) const |
ConstTensor4View | operator() (const Range &v, const Range &s, Index b, const Range &p, Index r, const Range &c) const |
ConstTensor4View | operator() (const Range &v, Index s, const Range &b, const Range &p, Index r, const Range &c) const |
ConstTensor4View | operator() (Index v, const Range &s, const Range &b, const Range &p, Index r, const Range &c) const |
ConstTensor4View | operator() (const Range &v, const Range &s, Index b, Index p, const Range &r, const Range &c) const |
ConstTensor4View | operator() (const Range &v, Index s, const Range &b, Index p, const Range &r, const Range &c) const |
ConstTensor4View | operator() (Index v, const Range &s, const Range &b, Index p, const Range &r, const Range &c) const |
ConstTensor4View | operator() (const Range &v, Index s, Index b, const Range &p, const Range &r, const Range &c) const |
ConstTensor4View | operator() (Index v, const Range &s, Index b, const Range &p, const Range &r, const Range &c) const |
ConstTensor4View | operator() (Index v, Index s, const Range &b, const Range &p, const Range &r, const Range &c) const |
ConstTensor3View | operator() (const Range &v, const Range &s, const Range &b, Index p, Index r, Index c) const |
ConstTensor3View | operator() (const Range &v, const Range &s, Index b, const Range &p, Index r, Index c) const |
ConstTensor3View | operator() (const Range &v, Index s, const Range &b, const Range &p, Index r, Index c) const |
ConstTensor3View | operator() (Index v, const Range &s, const Range &b, const Range &p, Index r, Index c) const |
ConstTensor3View | operator() (const Range &v, const Range &s, Index b, Index p, const Range &r, Index c) const |
ConstTensor3View | operator() (const Range &v, Index s, const Range &b, Index p, const Range &r, Index c) const |
ConstTensor3View | operator() (Index v, const Range &s, const Range &b, Index p, const Range &r, Index c) const |
ConstTensor3View | operator() (const Range &v, Index s, Index b, const Range &p, const Range &r, Index c) const |
ConstTensor3View | operator() (Index v, const Range &s, Index b, const Range &p, const Range &r, Index c) const |
ConstTensor3View | operator() (Index v, Index s, const Range &b, const Range &p, const Range &r, Index c) const |
ConstTensor3View | operator() (const Range &v, const Range &s, Index b, Index p, Index r, const Range &c) const |
ConstTensor3View | operator() (const Range &v, Index s, const Range &b, Index p, Index r, const Range &c) const |
ConstTensor3View | operator() (Index v, const Range &s, const Range &b, Index p, Index r, const Range &c) const |
ConstTensor3View | operator() (const Range &v, Index s, Index b, const Range &p, Index r, const Range &c) const |
ConstTensor3View | operator() (Index v, const Range &s, Index b, const Range &p, Index r, const Range &c) const |
ConstTensor3View | operator() (Index v, Index s, const Range &b, const Range &p, Index r, const Range &c) const |
ConstTensor3View | operator() (const Range &v, Index s, Index b, Index p, const Range &r, const Range &c) const |
ConstTensor3View | operator() (Index v, const Range &s, Index b, Index p, const Range &r, const Range &c) const |
ConstTensor3View | operator() (Index v, Index s, const Range &b, Index p, const Range &r, const Range &c) const |
ConstTensor3View | operator() (Index v, Index s, Index b, const Range &p, const Range &r, const Range &c) const |
ConstMatrixView | operator() (Index v, Index s, Index b, Index p, const Range &r, const Range &c) const |
ConstMatrixView | operator() (Index v, Index s, Index b, const Range &p, Index r, const Range &c) const |
ConstMatrixView | operator() (Index v, Index s, const Range &b, Index p, Index r, const Range &c) const |
ConstMatrixView | operator() (Index v, const Range &s, Index b, Index p, Index r, const Range &c) const |
ConstMatrixView | operator() (const Range &v, Index s, Index b, Index p, Index r, const Range &c) const |
ConstMatrixView | operator() (Index v, Index s, Index b, const Range &p, const Range &r, Index c) const |
ConstMatrixView | operator() (Index v, Index s, const Range &b, Index p, const Range &r, Index c) const |
ConstMatrixView | operator() (Index v, const Range &s, Index b, Index p, const Range &r, Index c) const |
ConstMatrixView | operator() (const Range &v, Index s, Index b, Index p, const Range &r, Index c) const |
ConstMatrixView | operator() (Index v, Index s, const Range &b, const Range &p, Index r, Index c) const |
ConstMatrixView | operator() (Index v, const Range &s, Index b, const Range &p, Index r, Index c) const |
ConstMatrixView | operator() (const Range &v, Index s, Index b, const Range &p, Index r, Index c) const |
ConstMatrixView | operator() (Index v, const Range &s, const Range &b, Index p, Index r, Index c) const |
ConstMatrixView | operator() (const Range &v, Index s, const Range &b, Index p, Index r, Index c) const |
ConstMatrixView | operator() (const Range &v, const Range &s, Index b, Index p, Index r, Index c) const |
ConstVectorView | operator() (Index v, Index s, Index b, Index p, Index r, const Range &c) const |
ConstVectorView | operator() (Index v, Index s, Index b, Index p, const Range &r, Index c) const |
ConstVectorView | operator() (Index v, Index s, Index b, const Range &p, Index r, Index c) const |
ConstVectorView | operator() (Index v, Index s, const Range &b, Index p, Index r, Index c) const |
ConstVectorView | operator() (Index v, const Range &s, Index b, Index p, Index r, Index c) const |
ConstVectorView | operator() (const Range &v, Index s, Index b, Index p, Index r, Index c) const |
Numeric | operator() (Index v, Index s, Index b, Index p, Index r, Index c) const |
Numeric | get (Index v, Index s, Index b, Index p, Index r, Index c) const |
Get element implementation without assertions. More... | |
ConstIterator6D | begin () const |
Return const iterator to first sub-tensor. More... | |
ConstIterator6D | end () const |
Return const iterator behind last sub-tensor. More... | |
virtual | ~ConstTensor6View () |
ConstTensor6View (const ConstTensor5View &a) | |
Special constructor to make a Tensor6 view of a Tensor5. More... | |
Protected Member Functions | |
ConstTensor6View () | |
Default constructor. More... | |
ConstTensor6View (Numeric *data, const Range &v, const Range &s, const Range &b, const Range &p, const Range &r, const Range &c) | |
Explicit constructor. More... | |
ConstTensor6View (Numeric *data, const Range &pv, const Range &ps, const Range &pb, const Range &pp, const Range &pr, const Range &pc, const Range &nv, const Range &ns, const Range &nb, const Range &np, const Range &nr, const Range &nc) | |
Recursive constructor. More... | |
Protected Attributes | |
Range | mvr |
The vitrine range of mdata that is actually used. More... | |
Range | msr |
The shelf range of mdata that is actually used. More... | |
Range | mbr |
The book range of mdata that is actually used. More... | |
Range | mpr |
The page range of mdata that is actually used. More... | |
Range | mrr |
The row range of mdata that is actually used. More... | |
Range | mcr |
The column range of mdata that is actually used. More... | |
Numeric * | mdata |
Pointer to the plain C array that holds the data. More... | |
Friends | |
class | ConstIterator7D |
class | Tensor6View |
class | ConstTensor7View |
A constant view of a Tensor6.
This, together with the derived class Tensor6View, contains the main implementation of a Tensor6. It defines the concepts of Tensor6View. Plus additionally the recursive subrange operator, which makes it possible to create a Tensor6View from a subrange of a Tensor6View.
Dimensions are called: vitrine, shelf, book, page, row, column. or short: v, s, b, p, r, c
The class Tensor6 is just a special case of a Tensor6View which also allocates storage.
Definition at line 159 of file matpackVI.h.
|
inlinevirtual |
Definition at line 400 of file matpackVI.h.
ConstTensor6View::ConstTensor6View | ( | const ConstTensor5View & | a | ) |
Special constructor to make a Tensor6 view of a Tensor5.
Definition at line 924 of file matpackVI.cc.
|
protected |
Default constructor.
This is necessary, so that we can have a default constructor for derived classes.
Definition at line 943 of file matpackVI.cc.
Referenced by operator()().
|
protected |
Explicit constructor.
This one is used by Tensor6 to initialize its own Tensor6View part. The row range rr must have a stride to account for the length of one row. The page range pr must have a stride to account for the length of one page.
Definition at line 955 of file matpackVI.cc.
|
protected |
Recursive constructor.
This is used to construct sub-tensors from sub-tensors. That means that the new ranges have to be interpreted relative to the original ranges.
The new ranges may contain -1 for the extent which acts as a joker. However, the used Range constructor converts this to an explicit range, consistent with the original Range.
Definition at line 980 of file matpackVI.cc.
ConstIterator6D ConstTensor6View::begin | ( | ) | const |
Return const iterator to first sub-tensor.
Definition at line 899 of file matpackVI.cc.
References mbr, mcr, mdata, mpr, mrr, msr, Range::mstart, Range::mstride, and mvr.
Referenced by Tensor6View::begin(), copy(), max(), min(), Tensor6View::operator*=(), Tensor6View::operator+=(), Tensor6View::operator-=(), Tensor6View::operator/=(), operator<<(), Tensor6View::operator=(), Tensor6::Tensor6(), and transform().
ConstIterator6D ConstTensor6View::end | ( | ) | const |
Return const iterator behind last sub-tensor.
Definition at line 911 of file matpackVI.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, msr, Range::mstart, Range::mstride, and mvr.
Referenced by copy(), Tensor6View::end(), max(), min(), Tensor6View::operator*=(), Tensor6View::operator+=(), Tensor6View::operator-=(), Tensor6View::operator/=(), operator<<(), Tensor6View::operator=(), Tensor6::Tensor6(), and transform().
Get element implementation without assertions.
Definition at line 386 of file matpackVI.h.
References OFFSET.
Referenced by Tensor6View::get(), and interp().
Index ConstTensor6View::nbooks | ( | ) | const |
Returns the number of books.
Definition at line 44 of file matpackVI.cc.
References mbr, and Range::mextent.
Referenced by chk_size(), describe(), doit_conv_flagAbs(), doit_conv_flagAbsBT(), doit_conv_flagLsq(), doit_i_fieldIterate(), doit_scat_fieldNormalize(), is_size(), Tensor6View::operator*=(), Tensor6View::operator+=(), Tensor6View::operator-=(), Tensor6View::operator/=(), Reduce(), select_dims_by_size(), surface_reflectivityFromGriddedField6(), Tensor6Scale(), test6(), transform(), and xml_write_to_stream().
Index ConstTensor6View::ncols | ( | ) | const |
Returns the number of columns.
Definition at line 62 of file matpackVI.cc.
References mcr, and Range::mextent.
Referenced by chk_size(), cloud_ppath_update1D(), cloud_ppath_update1D_noseq(), cloud_ppath_update1D_planeparallel(), cloud_ppath_update3D(), cloud_RT_no_background(), describe(), doit_conv_flagAbs(), doit_conv_flagAbsBT(), doit_conv_flagLsq(), doit_i_fieldIterate(), doit_i_fieldUpdate1D(), doit_i_fieldUpdateSeq1D(), doit_i_fieldUpdateSeq1DPP(), doit_i_fieldUpdateSeq3D(), doit_scat_fieldCalc(), doit_scat_fieldCalcLimb(), doit_scat_fieldNormalize(), doit_za_grid_optCalc(), interp_cloud_coeff1D(), is_size(), Tensor6View::operator*=(), Tensor6View::operator+=(), Tensor6View::operator-=(), Tensor6View::operator/=(), Reduce(), select_dims_by_size(), surface_reflectivityFromGriddedField6(), Tensor6Scale(), test6(), transform(), and xml_write_to_stream().
Index ConstTensor6View::npages | ( | ) | const |
Returns the number of pages.
Definition at line 50 of file matpackVI.cc.
References Range::mextent, and mpr.
Referenced by chk_size(), describe(), doit_conv_flagAbs(), doit_conv_flagAbsBT(), doit_conv_flagLsq(), doit_i_fieldIterate(), doit_scat_fieldNormalize(), is_size(), Tensor6View::operator*=(), Tensor6View::operator+=(), Tensor6View::operator-=(), Tensor6View::operator/=(), Reduce(), select_dims_by_size(), surface_reflectivityFromGriddedField6(), Tensor6Scale(), test6(), transform(), xml_write_to_stream(), and za_gridOpt().
Index ConstTensor6View::nrows | ( | ) | const |
Returns the number of rows.
Definition at line 56 of file matpackVI.cc.
References Range::mextent, and mrr.
Referenced by chk_size(), describe(), doit_conv_flagAbs(), doit_conv_flagAbsBT(), doit_conv_flagLsq(), doit_i_fieldIterate(), doit_scat_fieldNormalize(), is_size(), Tensor6View::operator*=(), Tensor6View::operator+=(), Tensor6View::operator-=(), Tensor6View::operator/=(), Reduce(), select_dims_by_size(), surface_reflectivityFromGriddedField6(), Tensor6Scale(), test6(), transform(), and xml_write_to_stream().
Index ConstTensor6View::nshelves | ( | ) | const |
Returns the number of shelves.
Definition at line 38 of file matpackVI.cc.
References Range::mextent, and msr.
Referenced by chk_size(), describe(), doit_conv_flagAbs(), doit_conv_flagAbsBT(), doit_conv_flagLsq(), doit_i_fieldIterate(), doit_scat_fieldNormalize(), is_size(), Tensor6View::operator*=(), Tensor6View::operator+=(), Tensor6View::operator-=(), Tensor6View::operator/=(), Reduce(), select_dims_by_size(), surface_reflectivityFromGriddedField6(), Tensor6Scale(), test6(), transform(), and xml_write_to_stream().
Index ConstTensor6View::nvitrines | ( | ) | const |
Returns the number of vitrines.
Definition at line 32 of file matpackVI.cc.
References Range::mextent, and mvr.
Referenced by chk_size(), describe(), doit_conv_flagAbs(), doit_conv_flagAbsBT(), doit_conv_flagLsq(), doit_i_fieldIterate(), doit_i_fieldSetClearsky(), doit_i_fieldUpdateSeq1D(), doit_scat_fieldNormalize(), doit_za_grid_optCalc(), is_size(), Tensor6View::operator*=(), Tensor6View::operator+=(), Tensor6View::operator-=(), Tensor6View::operator/=(), Reduce(), select_dims_by_size(), surface_reflectivityFromGriddedField6(), Tensor6Scale(), test6(), transform(), xml_write_to_stream(), and za_gridOpt().
ConstTensor6View ConstTensor6View::operator() | ( | const Range & | v, |
const Range & | s, | ||
const Range & | b, | ||
const Range & | p, | ||
const Range & | r, | ||
const Range & | c | ||
) | const |
Definition at line 72 of file matpackVI.cc.
References ConstTensor6View(), mbr, mcr, mdata, mpr, mrr, msr, and mvr.
Referenced by Tensor6View::operator()().
|
inline |
Definition at line 374 of file matpackVI.h.
References CHECK.
|
friend |
Definition at line 403 of file matpackVI.h.
|
friend |
Definition at line 405 of file matpackVI.h.
|
friend |
Definition at line 404 of file matpackVI.h.
Referenced by Tensor6View::operator()().
|
protected |
The book range of mdata that is actually used.
Definition at line 429 of file matpackVI.h.
Referenced by begin(), Tensor6View::begin(), end(), Tensor6View::end(), Tensor6View::get_c_array(), nbooks(), Iterator7D::operator!=(), ConstIterator7D::operator!=(), operator()(), Tensor6View::operator()(), Tensor6View::operator=(), Tensor6::resize(), and swap().
|
protected |
The column range of mdata that is actually used.
Definition at line 435 of file matpackVI.h.
Referenced by begin(), Tensor6View::begin(), end(), Tensor6View::end(), Tensor6View::get_c_array(), ncols(), Iterator7D::operator!=(), ConstIterator7D::operator!=(), operator()(), Tensor6View::operator()(), Tensor6View::operator=(), Tensor6::resize(), and swap().
|
protected |
Pointer to the plain C array that holds the data.
Definition at line 437 of file matpackVI.h.
Referenced by begin(), Tensor6View::begin(), end(), Tensor6View::end(), Tensor6View::get_c_array(), Iterator7D::operator!=(), ConstIterator7D::operator!=(), operator()(), Tensor6View::operator()(), Iterator7D::operator++(), ConstIterator7D::operator++(), Tensor6::resize(), swap(), Tensor6::Tensor6(), and Tensor6::~Tensor6().
|
protected |
The page range of mdata that is actually used.
Definition at line 431 of file matpackVI.h.
Referenced by begin(), Tensor6View::begin(), end(), Tensor6View::end(), Tensor6View::get_c_array(), npages(), Iterator7D::operator!=(), ConstIterator7D::operator!=(), operator()(), Tensor6View::operator()(), Tensor6View::operator=(), Tensor6::resize(), and swap().
|
protected |
The row range of mdata that is actually used.
Definition at line 433 of file matpackVI.h.
Referenced by begin(), Tensor6View::begin(), end(), Tensor6View::end(), Tensor6View::get_c_array(), nrows(), Iterator7D::operator!=(), ConstIterator7D::operator!=(), operator()(), Tensor6View::operator()(), Tensor6View::operator=(), Tensor6::resize(), and swap().
|
protected |
The shelf range of mdata that is actually used.
Definition at line 427 of file matpackVI.h.
Referenced by begin(), Tensor6View::begin(), end(), Tensor6View::end(), Tensor6View::get_c_array(), nshelves(), Iterator7D::operator!=(), ConstIterator7D::operator!=(), operator()(), Tensor6View::operator()(), Tensor6View::operator=(), Tensor6::resize(), and swap().
|
protected |
The vitrine range of mdata that is actually used.
Definition at line 425 of file matpackVI.h.
Referenced by begin(), Tensor6View::begin(), end(), Tensor6View::end(), Tensor6View::get_c_array(), nvitrines(), Iterator7D::operator!=(), ConstIterator7D::operator!=(), operator()(), Tensor6View::operator()(), Tensor6View::operator=(), Tensor6::resize(), and swap().