ARTS
2.2.66
|
A constant view of a Tensor4. More...
#include <matpackIV.h>
Public Member Functions | |
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... | |
ConstTensor4View | operator() (const Range &b, const Range &p, const Range &r, const Range &c) const |
Const index operator for subrange. More... | |
ConstTensor3View | operator() (const Range &b, const Range &p, const Range &r, Index c) const |
Const index operator returning an object of type ConstTensor3View. More... | |
ConstTensor3View | operator() (const Range &b, const Range &p, Index r, const Range &c) const |
Const index operator returning an object of type ConstTensor3View. More... | |
ConstTensor3View | operator() (const Range &b, Index p, const Range &r, const Range &c) const |
Const index operator returning an object of type ConstTensor3View. More... | |
ConstTensor3View | operator() (Index b, const Range &p, const Range &r, const Range &c) const |
Const index operator returning an object of type ConstTensor3View. More... | |
ConstMatrixView | operator() (const Range &b, const Range &p, Index r, Index c) const |
Const index operator returning an object of type ConstMatrixView. More... | |
ConstMatrixView | operator() (const Range &b, Index p, const Range &r, Index c) const |
Const index operator returning an object of type ConstMatrixView. More... | |
ConstMatrixView | operator() (const Range &b, Index p, Index r, const Range &c) const |
Const index operator returning an object of type ConstMatrixView. More... | |
ConstMatrixView | operator() (Index b, const Range &p, Index r, const Range &c) const |
Const index operator returning an object of type ConstMatrixView. More... | |
ConstMatrixView | operator() (Index b, const Range &p, const Range &r, Index c) const |
Const index operator returning an object of type ConstMatrixView. More... | |
ConstMatrixView | operator() (Index b, Index p, const Range &r, const Range &c) const |
Const index operator returning an object of type ConstMatrixView. More... | |
ConstVectorView | operator() (const Range &b, Index p, Index r, Index c) const |
Const index operator returning an object of type ConstVectorView. More... | |
ConstVectorView | operator() (Index b, const Range &p, Index r, Index c) const |
Const index operator returning an object of type ConstVectorView. More... | |
ConstVectorView | operator() (Index b, Index p, const Range &r, Index c) const |
Const index operator returning an object of type ConstVectorView. More... | |
ConstVectorView | operator() (Index b, Index p, Index r, const Range &c) const |
Const index operator returning an object of type ConstVectorView. More... | |
Numeric | operator() (Index b, Index p, Index r, Index c) const |
Plain const index operator. More... | |
Numeric | get (Index b, Index p, Index r, Index c) const |
Get element implementation without assertions. More... | |
ConstIterator4D | begin () const |
Return const iterator to first book. More... | |
ConstIterator4D | end () const |
Return const iterator behind last book. More... | |
virtual | ~ConstTensor4View () |
Destructor. More... | |
ConstTensor4View (const ConstTensor3View &a) | |
Special constructor to make a Tensor4 view of a Tensor3. More... | |
Protected Member Functions | |
ConstTensor4View () | |
Default constructor. More... | |
ConstTensor4View (Numeric *data, const Range &b, const Range &p, const Range &r, const Range &c) | |
Explicit constructor. More... | |
ConstTensor4View (Numeric *data, const Range &pb, const Range &pp, const Range &pr, const Range &pc, const Range &nb, const Range &np, const Range &nr, const Range &nc) | |
Recursive constructor. More... | |
Protected Attributes | |
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 | Tensor4View |
class | ConstIterator5D |
class | ConstTensor5View |
class | ConstTensor6View |
class | ConstTensor7View |
A constant view of a Tensor4.
This, together with the derived class Tensor4View, contains the main implementation of a Tensor4. It defines the concepts of Tensor4View. Plus additionally the recursive subrange operator, which makes it possible to create a Tensor4View from a subrange of a Tensor4View.
The four dimensions of the tensor are called: book, page, row, column.
The class Tensor4 is just a special case of a Tensor4View which also allocates storage.
Definition at line 141 of file matpackIV.h.
|
inlinevirtual |
Destructor.
Definition at line 199 of file matpackIV.h.
ConstTensor4View::ConstTensor4View | ( | const ConstTensor3View & | a | ) |
Special constructor to make a Tensor4 view of a Tensor3.
Definition at line 431 of file matpackIV.cc.
|
protected |
Default constructor.
This is necessary, so that we can have a default constructor for derived classes.
Definition at line 443 of file matpackIV.cc.
Referenced by operator()().
|
protected |
Explicit constructor.
This one is used by Tensor4 to initialize its own Tensor4View part. The page range pr must have a stride to account for the length of one page. The book range br must have a stride to account for the length of one book.
Definition at line 457 of file matpackIV.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 478 of file matpackIV.cc.
ConstIterator4D ConstTensor4View::begin | ( | ) | const |
Return const iterator to first book.
Definition at line 414 of file matpackIV.cc.
References mbr, mcr, mdata, mpr, mrr, Range::mstart, and Range::mstride.
Referenced by Tensor4View::begin(), copy(), max(), min(), Tensor4View::operator*=(), Tensor4View::operator+=(), Tensor4View::operator-=(), Tensor4View::operator/=(), operator<<(), Tensor4View::operator=(), Tensor4::Tensor4(), and transform().
ConstIterator4D ConstTensor4View::end | ( | ) | const |
Return const iterator behind last book.
Definition at line 422 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
Referenced by copy(), Tensor4View::end(), max(), min(), operator<<(), Tensor4View::operator=(), Tensor4::Tensor4(), and transform().
Get element implementation without assertions.
Definition at line 185 of file matpackIV.h.
References mbr, mcr, mdata, mpr, mrr, Range::mstart, and Range::mstride.
Referenced by Tensor4View::get(), interp(), and operator()().
Index ConstTensor4View::nbooks | ( | ) | const |
Returns the number of books.
Definition at line 63 of file matpackIV.cc.
References mbr, and Range::mextent.
Referenced by abs_lookupSetupBatch(), GasAbsLookup::Adapt(), antenna2d_simplified(), Append(), AtmFieldsCalc(), AtmFieldsCalcExpand1D(), AtmFieldsExpand1D(), AtmFieldsRefinePgrid(), GriddedField4::checksize(), GriddedField4::checksize_strict(), chk_atm_field(), chk_size(), clear_rt_vars_at_gp(), cloud_atm_vars_by_gp(), cloud_fieldsCalc(), cloud_ppath_update1D(), cloud_ppath_update1D_noseq(), cloud_ppath_update1D_planeparallel(), cloud_ppath_update3D(), cloudboxSetAutomatically(), cloudy_rt_vars_at_gp(), describe(), doit_i_fieldSetFromdoit_i_field1D_spectrum(), doit_scat_fieldCalc(), doit_scat_fieldCalcLimb(), dtauc_ssalbCalc(), Extract(), fos(), get_ppath_abs(), get_ppath_atmvars(), get_ppath_ext(), get_refr_index_1d(), get_refr_index_2d(), get_refr_index_3d(), GriddedFieldLatLonExpand(), GriddedFieldLatLonRegrid(), GriddedFieldPRegrid(), interp_cloud_coeff1D(), is_size(), iwp_cloud_opt_pathCalc(), iy_auxFillParticleVariables(), iyCloudRadar(), iyRadioLink(), iySurfaceRtpropAgenda(), iyTransmissionStandard(), Massdensity_cleanup(), MCGeneral(), MCIPA(), nca_def_Tensor4(), nca_put_var_Tensor4(), nca_write_to_file(), Tensor4View::operator*=(), Tensor4View::operator+=(), Tensor4View::operator-=(), Tensor4View::operator/=(), pnd_fieldExpand1D(), propmat_clearsky_fieldCalc(), propmat_clearskyAddFromAbsCoefPerSpecies(), propmat_clearskyAddZeeman(), Reduce(), ScatteringMergeParticles1D(), select_dims_by_size(), surface_scalar_reflectivityFromGriddedField4(), Tensor4AddScalar(), Tensor4Scale(), test1(), transform(), and xml_write_to_stream().
Index ConstTensor4View::ncols | ( | ) | const |
Returns the number of columns.
Definition at line 81 of file matpackIV.cc.
References mcr, and Range::mextent.
Referenced by abs_lookupSetupBatch(), abs_vecAddGas(), GasAbsLookup::Adapt(), Append(), atm_fields_compactExpand(), AtmFieldsCalc(), GriddedField4::checksize(), GriddedField4::checksize_strict(), chk_atm_field(), chk_size(), cloud_fieldsCalc(), cloudboxSetAutomatically(), describe(), doit_i_fieldSetFromdoit_i_field1D_spectrum(), ext_matAddGas(), Extract(), get_ppath_abs(), GriddedFieldLatLonExpand(), GriddedFieldPRegrid(), is_size(), iySurfaceRtpropAgenda(), Massdensity_cleanup(), nca_def_Tensor4(), nca_put_var_Tensor4(), nca_write_to_file(), Tensor4View::operator*=(), Tensor4View::operator+=(), Tensor4View::operator-=(), Tensor4View::operator/=(), opt_prop_sum_propmat_clearsky(), pha_mat_sptFromDataDOITOpt(), pnd_fieldExpand1D(), pnd_fieldSetup(), propmat_clearskyAddFromAbsCoefPerSpecies(), propmat_clearskyAddFromLookup(), propmat_clearskyAddZeeman(), Reduce(), select_dims_by_size(), surface_scalar_reflectivityFromGriddedField4(), Tensor4AddScalar(), Tensor4Scale(), test1(), transform(), and xml_write_to_stream().
Index ConstTensor4View::npages | ( | ) | const |
Returns the number of pages.
Definition at line 69 of file matpackIV.cc.
References Range::mextent, and mpr.
Referenced by abs_lookupSetupBatch(), abs_vecAddGas(), antenna2d_simplified(), Append(), atm_fields_compactExpand(), AtmFieldsCalc(), GriddedField4::checksize(), GriddedField4::checksize_strict(), chk_atm_field(), chk_size(), cloudboxSetAutomatically(), describe(), doit_i_fieldSetFromdoit_i_field1D_spectrum(), dtauc_ssalbCalc(), ext_matAddGas(), GasAbsLookup::Extract(), Extract(), get_ppath_abs(), GriddedFieldLatLonExpand(), GriddedFieldLatLonRegrid(), is_size(), iySurfaceRtpropAgenda(), Massdensity_cleanup(), nca_def_Tensor4(), nca_put_var_Tensor4(), nca_write_to_file(), Tensor4View::operator*=(), Tensor4View::operator+=(), Tensor4View::operator-=(), Tensor4View::operator/=(), opt_prop_sum_propmat_clearsky(), phase_functionCalc(), pnd_fieldExpand1D(), pnd_fieldSetup(), propmat_clearskyAddFromAbsCoefPerSpecies(), propmat_clearskyAddZeeman(), Reduce(), select_dims_by_size(), surface_scalar_reflectivityFromGriddedField4(), Tensor4AddScalar(), Tensor4Scale(), test1(), transform(), and xml_write_to_stream().
Index ConstTensor4View::nrows | ( | ) | const |
Returns the number of rows.
Definition at line 75 of file matpackIV.cc.
References Range::mextent, and mrr.
Referenced by abs_lookupSetupBatch(), antenna2d_simplified(), Append(), atm_fields_compactExpand(), AtmFieldsCalc(), GriddedField4::checksize(), GriddedField4::checksize_strict(), chk_atm_field(), chk_size(), cloudboxSetAutomatically(), describe(), doit_i_fieldSetFromdoit_i_field1D_spectrum(), Extract(), get_ppath_abs(), GriddedFieldLatLonExpand(), GriddedFieldPRegrid(), is_size(), iySurfaceRtpropAgenda(), Massdensity_cleanup(), nca_def_Tensor4(), nca_put_var_Tensor4(), nca_write_to_file(), Tensor4View::operator*=(), Tensor4View::operator+=(), Tensor4View::operator-=(), Tensor4View::operator/=(), pnd_fieldExpand1D(), pnd_fieldSetup(), propmat_clearskyAddFromAbsCoefPerSpecies(), propmat_clearskyAddFromLookup(), propmat_clearskyAddZeeman(), Reduce(), select_dims_by_size(), surface_scalar_reflectivityFromGriddedField4(), Tensor4AddScalar(), Tensor4Scale(), test1(), transform(), and xml_write_to_stream().
ConstTensor4View ConstTensor4View::operator() | ( | const Range & | b, |
const Range & | p, | ||
const Range & | r, | ||
const Range & | c | ||
) | const |
Const index operator for subrange.
We have to also account for the case, that *this is already a subrange of a Tensor4. This allows correct recursive behavior.
Definition at line 89 of file matpackIV.cc.
References ConstTensor4View(), mbr, mcr, mdata, mpr, and mrr.
Referenced by Tensor4View::operator()().
ConstTensor3View ConstTensor4View::operator() | ( | const Range & | b, |
const Range & | p, | ||
const Range & | r, | ||
Index | c | ||
) | const |
Const index operator returning an object of type ConstTensor3View.
(Reducing the dimension by one.)
Definition at line 101 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
ConstTensor3View ConstTensor4View::operator() | ( | const Range & | b, |
const Range & | p, | ||
Index | r, | ||
const Range & | c | ||
) | const |
Const index operator returning an object of type ConstTensor3View.
(Reducing the dimension by one.)
Definition at line 118 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
ConstMatrixView ConstTensor4View::operator() | ( | const Range & | b, |
const Range & | p, | ||
Index | r, | ||
Index | c | ||
) | const |
Const index operator returning an object of type ConstMatrixView.
(Reducing the dimension by two.)
Definition at line 169 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
ConstTensor3View ConstTensor4View::operator() | ( | const Range & | b, |
Index | p, | ||
const Range & | r, | ||
const Range & | c | ||
) | const |
Const index operator returning an object of type ConstTensor3View.
(Reducing the dimension by one.)
Definition at line 135 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
ConstMatrixView ConstTensor4View::operator() | ( | const Range & | b, |
Index | p, | ||
const Range & | r, | ||
Index | c | ||
) | const |
Const index operator returning an object of type ConstMatrixView.
(Reducing the dimension by two.)
Definition at line 189 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
ConstMatrixView ConstTensor4View::operator() | ( | const Range & | b, |
Index | p, | ||
Index | r, | ||
const Range & | c | ||
) | const |
Const index operator returning an object of type ConstMatrixView.
(Reducing the dimension by two.)
Definition at line 209 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
ConstVectorView ConstTensor4View::operator() | ( | const Range & | b, |
Index | p, | ||
Index | r, | ||
Index | c | ||
) | const |
Const index operator returning an object of type ConstVectorView.
(Reducing the dimension by three.)
Definition at line 289 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
ConstTensor3View ConstTensor4View::operator() | ( | Index | b, |
const Range & | p, | ||
const Range & | r, | ||
const Range & | c | ||
) | const |
Const index operator returning an object of type ConstTensor3View.
(Reducing the dimension by one.)
Definition at line 152 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
ConstMatrixView ConstTensor4View::operator() | ( | Index | b, |
const Range & | p, | ||
const Range & | r, | ||
Index | c | ||
) | const |
Const index operator returning an object of type ConstMatrixView.
(Reducing the dimension by two.)
Definition at line 249 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
ConstMatrixView ConstTensor4View::operator() | ( | Index | b, |
const Range & | p, | ||
Index | r, | ||
const Range & | c | ||
) | const |
Const index operator returning an object of type ConstMatrixView.
(Reducing the dimension by two.)
Definition at line 229 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
ConstVectorView ConstTensor4View::operator() | ( | Index | b, |
const Range & | p, | ||
Index | r, | ||
Index | c | ||
) | const |
Const index operator returning an object of type ConstVectorView.
(Reducing the dimension by three.)
Definition at line 312 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
ConstMatrixView ConstTensor4View::operator() | ( | Index | b, |
Index | p, | ||
const Range & | r, | ||
const Range & | c | ||
) | const |
Const index operator returning an object of type ConstMatrixView.
(Reducing the dimension by two.)
Definition at line 269 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
ConstVectorView ConstTensor4View::operator() | ( | Index | b, |
Index | p, | ||
const Range & | r, | ||
Index | c | ||
) | const |
Const index operator returning an object of type ConstVectorView.
(Reducing the dimension by three.)
Definition at line 335 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
ConstVectorView ConstTensor4View::operator() | ( | Index | b, |
Index | p, | ||
Index | r, | ||
const Range & | c | ||
) | const |
Const index operator returning an object of type ConstVectorView.
Reducing the dimension by three.)
Definition at line 358 of file matpackIV.cc.
References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.
Plain const index operator.
Definition at line 170 of file matpackIV.h.
|
friend |
Definition at line 203 of file matpackIV.h.
|
friend |
Definition at line 204 of file matpackIV.h.
|
friend |
Definition at line 205 of file matpackIV.h.
|
friend |
Definition at line 206 of file matpackIV.h.
|
friend |
Definition at line 202 of file matpackIV.h.
|
protected |
The book range of mdata that is actually used.
Definition at line 223 of file matpackIV.h.
Referenced by Tensor4View::begin(), begin(), Tensor4View::end(), end(), Tensor4View::get(), get(), Tensor4View::get_c_array(), nbooks(), ConstIterator5D::operator!=(), Iterator5D::operator!=(), Tensor4View::operator()(), operator()(), Tensor4View::operator=(), Tensor4::resize(), and swap().
|
protected |
The column range of mdata that is actually used.
Definition at line 229 of file matpackIV.h.
Referenced by Tensor4View::begin(), begin(), Tensor4View::end(), end(), Tensor4View::get(), get(), Tensor4View::get_c_array(), ncols(), ConstIterator5D::operator!=(), Iterator5D::operator!=(), Tensor4View::operator()(), operator()(), Tensor4View::operator=(), Tensor4::resize(), and swap().
|
protected |
Pointer to the plain C array that holds the data.
Definition at line 231 of file matpackIV.h.
Referenced by Tensor4View::begin(), begin(), Tensor4View::end(), end(), Tensor4View::get(), get(), Tensor4View::get_c_array(), ConstIterator5D::operator!=(), Iterator5D::operator!=(), Tensor4View::operator()(), operator()(), Iterator5D::operator++(), ConstIterator5D::operator++(), Tensor4::resize(), swap(), Tensor4::Tensor4(), and Tensor4::~Tensor4().
|
protected |
The page range of mdata that is actually used.
Definition at line 225 of file matpackIV.h.
Referenced by Tensor4View::begin(), begin(), Tensor4View::end(), end(), Tensor4View::get(), get(), Tensor4View::get_c_array(), npages(), ConstIterator5D::operator!=(), Iterator5D::operator!=(), Tensor4View::operator()(), operator()(), Tensor4View::operator=(), Tensor4::resize(), and swap().
|
protected |
The row range of mdata that is actually used.
Definition at line 227 of file matpackIV.h.
Referenced by Tensor4View::begin(), begin(), Tensor4View::end(), end(), Tensor4View::get(), get(), Tensor4View::get_c_array(), nrows(), ConstIterator5D::operator!=(), Iterator5D::operator!=(), Tensor4View::operator()(), operator()(), Tensor4View::operator=(), Tensor4::resize(), and swap().