ARTS 2.5.0 (git: 9ee3ac6c)
ConstTensor4View Class Reference

A constant view of a Tensor4. More...

#include <matpackIV.h>

Inheritance diagram for ConstTensor4View:
Tensor4View Tensor4

Public Member Functions

constexpr ConstTensor4View (const ConstTensor4View &)=default
 
constexpr ConstTensor4View (ConstTensor4View &&)=default
 
ConstTensor4Viewoperator= (const ConstTensor4View &)=default
 
ConstTensor4Viewoperator= (ConstTensor4View &&)=default
 
bool empty () const
 Check if variable is empty. 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...
 
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 ()=default
 Destructor. More...
 
 ConstTensor4View (const ConstTensor3View &a)
 Special constructor to make a Tensor4 view of a Tensor3. More...
 

Protected Member Functions

 ConstTensor4View ()=default
 
 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 {0, 0, 1}
 The book range of mdata that is actually used. More...
 
Range mpr {0, 0, 1}
 The page range of mdata that is actually used. More...
 
Range mrr {0, 0, 1}
 The row range of mdata that is actually used. More...
 
Range mcr {0, 0, 1}
 The column range of mdata that is actually used. More...
 
Numericmdata {nullptr}
 Pointer to the plain C array that holds the data. More...
 

Friends

class Tensor4View
 
class ConstIterator5D
 
class ConstTensor5View
 
class ConstTensor6View
 
class ConstTensor7View
 

Detailed Description

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 133 of file matpackIV.h.

Constructor & Destructor Documentation

◆ ConstTensor4View() [1/6]

constexpr ConstTensor4View::ConstTensor4View ( const ConstTensor4View )
constexprdefault

◆ ConstTensor4View() [2/6]

constexpr ConstTensor4View::ConstTensor4View ( ConstTensor4View &&  )
constexprdefault

◆ ~ConstTensor4View()

virtual ConstTensor4View::~ConstTensor4View ( )
virtualdefault

Destructor.

◆ ConstTensor4View() [3/6]

ConstTensor4View::ConstTensor4View ( const ConstTensor3View a)

Special constructor to make a Tensor4 view of a Tensor3.

Definition at line 379 of file matpackIV.cc.

◆ ConstTensor4View() [4/6]

ConstTensor4View::ConstTensor4View ( )
protecteddefault

Referenced by operator()().

◆ ConstTensor4View() [5/6]

ConstTensor4View::ConstTensor4View ( Numeric data,
const Range br,
const Range pr,
const Range rr,
const Range cr 
)
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 392 of file matpackIV.cc.

◆ ConstTensor4View() [6/6]

ConstTensor4View::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 
)
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 408 of file matpackIV.cc.

Member Function Documentation

◆ begin()

ConstIterator4D ConstTensor4View::begin ( ) const

◆ empty()

bool ConstTensor4View::empty ( ) const

Check if variable is empty.

Parameters
[in]xThe variable to check.
Returns
True if the size of any dimension of x is 0.

Definition at line 50 of file matpackIV.cc.

References nbooks(), ncols(), npages(), and nrows().

Referenced by cloudboxSetAutomatically(), get_variable_value(), iyIndependentBeamApproximation(), nlte_fieldForSingleSpeciesNonOverlappingLines(), nlteSetByQuantumIdentifiers(), pnd_fieldCalcFromParticleBulkProps(), and propmat_clearsky_fieldCalc().

◆ end()

ConstIterator4D ConstTensor4View::end ( ) const

Return const iterator behind last book.

Definition at line 371 of file matpackIV.cc.

References mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

Referenced by copy(), max(), min(), Tensor4View::operator=(), Tensor4::Tensor4(), and transform().

◆ get()

Numeric ConstTensor4View::get ( Index  b,
Index  p,
Index  r,
Index  c 
) const
inline

Get element implementation without assertions.

Definition at line 220 of file matpackIV.h.

References b, c, mbr, mcr, mdata, mpr, mrr, Range::mstart, and Range::mstride.

Referenced by interp(), and operator()().

◆ nbooks()

Index ConstTensor4View::nbooks ( ) const

Returns the number of books.

Definition at line 55 of file matpackIV.cc.

References mbr, and Range::mextent.

Referenced by GasAbsLookup::Adapt(), antenna2d_interp_response(), Append(), atm_fields_compactCleanup(), AtmFieldPRegrid(), AtmFieldsCalcExpand1D(), AtmFieldsExpand1D(), AtmFieldsExtract1D(), AtmFieldsRefinePgrid(), GriddedField4::checksize(), chk_atm_field(), chk_size(), clear_rt_vars_at_gp(), cloud_atm_vars_by_gp(), cloud_fieldsCalc(), cloud_ppath_update1D_planeparallel(), cloud_ppath_update3D(), cloudboxSetAutomatically(), cloudy_rt_vars_at_gp(), describe(), doit_scat_fieldCalc(), doit_scat_fieldCalcLimb(), DoitScatteringDataPrepare(), empty(), Extract(), get_paroptprop(), get_ppath_atmvars(), get_ppath_cloudvars(), get_ppath_transmat(), get_refr_index_1d(), get_refr_index_2d(), get_refr_index_3d(), get_stepwise_scattersky_propmat(), get_variable_value(), GriddedFieldLatLonExpand(), GriddedFieldLatLonRegrid(), GriddedFieldPRegrid(), heating_ratesFromIrradiance(), Interpolation::interp(), interp_cloud_coeff1D(), irradiance_fieldFromRadiance(), is_size(), iyIndependentBeamApproximation(), iyRadarSingleScat(), iySurfaceRtpropAgenda(), iySurfaceRtpropCalc(), MCGeneral(), MCRadar(), nca_def_Tensor4(), nca_put_var_Tensor4(), nca_write_to_file(), PropagationMatrix::OK(), EnergyLevelMap::OK(), Tensor4View::operator*=(), Tensor4View::operator+=(), Tensor4View::operator-=(), Tensor4View::operator/=(), Tensor4::operator=(), opt_prop_1ScatElem(), OptimizeDoitPressureGrid(), particle_fieldCleanup(), pha_mat_sptFromData(), pha_mat_sptFromDataDOITOpt(), pha_mat_sptFromMonoData(), pha_mat_sptFromScat_data(), pnd_fieldCalcFromParticleBulkProps(), pnd_fieldExpand1D(), propmat_clearsky_fieldCalc(), RadiationFieldSpectralIntegrate(), lm_hitran_2017::readw(), Reduce(), Tensor4::reduce_rank(), ScatSpeciesMerge(), Tensor4::size(), StokesVector::StokesVector(), surface_scalar_reflectivityFromGriddedField4(), surface_scalar_reflectivityFromSurface_rmatrix(), SurfaceBlackbody(), surfaceSplitSpecularTo3beams(), Tensor3ExtractFromTensor4(), Tensor4::Tensor4(), Tensor4Add(), Tensor4Clip(), Tensor4Multiply(), transform(), and xml_write_to_stream().

◆ ncols()

◆ npages()

◆ nrows()

◆ operator()() [1/16]

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 69 of file matpackIV.cc.

References b, c, ConstTensor4View(), mbr, mcr, mdata, mpr, and mrr.

◆ operator()() [2/16]

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 78 of file matpackIV.cc.

References ARTS_ASSERT, b, c, mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

◆ operator()() [3/16]

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 92 of file matpackIV.cc.

References ARTS_ASSERT, b, c, mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

◆ operator()() [4/16]

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 134 of file matpackIV.cc.

References ARTS_ASSERT, b, c, mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

◆ operator()() [5/16]

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 106 of file matpackIV.cc.

References ARTS_ASSERT, b, c, mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

◆ operator()() [6/16]

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 154 of file matpackIV.cc.

References ARTS_ASSERT, b, c, mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

◆ operator()() [7/16]

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 174 of file matpackIV.cc.

References ARTS_ASSERT, b, c, mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

◆ operator()() [8/16]

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 254 of file matpackIV.cc.

References ARTS_ASSERT, b, c, mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

◆ operator()() [9/16]

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 120 of file matpackIV.cc.

References ARTS_ASSERT, b, c, mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

◆ operator()() [10/16]

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 214 of file matpackIV.cc.

References ARTS_ASSERT, b, c, mbr, mcr, mdata, Range::mextent, mpr, Range::mstart, and Range::mstride.

◆ operator()() [11/16]

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 194 of file matpackIV.cc.

References ARTS_ASSERT, b, c, mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

◆ operator()() [12/16]

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 274 of file matpackIV.cc.

References ARTS_ASSERT, b, c, mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

◆ operator()() [13/16]

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 234 of file matpackIV.cc.

References ARTS_ASSERT, b, c, mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

◆ operator()() [14/16]

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 294 of file matpackIV.cc.

References ARTS_ASSERT, b, c, mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

◆ operator()() [15/16]

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 314 of file matpackIV.cc.

References ARTS_ASSERT, b, c, mbr, mcr, mdata, Range::mextent, mpr, mrr, Range::mstart, and Range::mstride.

◆ operator()() [16/16]

Numeric ConstTensor4View::operator() ( Index  b,
Index  p,
Index  r,
Index  c 
) const
inline

Plain const index operator.

Definition at line 203 of file matpackIV.h.

References ARTS_ASSERT, b, c, get(), mbr, mcr, Range::mextent, mpr, and mrr.

◆ operator=() [1/2]

ConstTensor4View & ConstTensor4View::operator= ( const ConstTensor4View )
default

◆ operator=() [2/2]

ConstTensor4View & ConstTensor4View::operator= ( ConstTensor4View &&  )
default

Friends And Related Function Documentation

◆ ConstIterator5D

friend class ConstIterator5D
friend

Definition at line 235 of file matpackIV.h.

◆ ConstTensor5View

friend class ConstTensor5View
friend

Definition at line 236 of file matpackIV.h.

◆ ConstTensor6View

friend class ConstTensor6View
friend

Definition at line 237 of file matpackIV.h.

◆ ConstTensor7View

friend class ConstTensor7View
friend

Definition at line 238 of file matpackIV.h.

◆ Tensor4View

friend class Tensor4View
friend

Definition at line 234 of file matpackIV.h.

Member Data Documentation

◆ mbr

◆ mcr

◆ mdata

◆ mpr

◆ mrr


The documentation for this class was generated from the following files: