ARTS
2.3.1285(git:92a29ea9-dirty)
|
Stokes vector is as Propagation matrix but only has 4 possible values. More...
#include <propagationmatrix.h>
Public Member Functions | |
StokesVector (const Index nr_frequencies=0, const Index stokes_dim=1, const Index nr_za=1, const Index nr_aa=1, const Numeric &v=0.0) | |
Initialize variable sizes. More... | |
StokesVector (ConstTensor4View x) | |
Construct a new Propagation Matrix object. More... | |
StokesVector (ConstVectorView x) | |
Construct a new Stokes Vector object. More... | |
StokesVector (const StokesVector &a, const StokesVector &b, const Numeric &scale=0.5) | |
Construct a new Stokes Vector as a scale between two others. More... | |
Index | NumberOfNeededVectors () const |
The number of required vectors to fill this StokesVector. More... | |
StokesVector & | operator+= (const PropagationMatrix &x) |
Addition operator. More... | |
StokesVector & | operator+= (const LazyScale< PropagationMatrix > &lpms) |
Addition operator. More... | |
StokesVector & | operator= (const PropagationMatrix &x) |
Set *this from a Propagation matrix. More... | |
StokesVector & | operator= (const LazyScale< PropagationMatrix > &lpms) |
Set this lazily. More... | |
StokesVector & | operator= (const Numeric &x) |
Set this to constant value. More... | |
void | MultiplyAndAdd (const Numeric x, const PropagationMatrix &y) |
Add a scaled version of the input. More... | |
VectorView | VectorAtPosition (const Index iv=0, const Index iz=0, const Index ia=0) |
Get a vectorview to the position. More... | |
ConstVectorView | VectorAtPosition (const Index iv=0, const Index iz=0, const Index ia=0) const |
Get a vectorview to the position. More... | |
void | SetAtPosition (ConstVectorView x, const Index iv=0, const Index iz=0, const Index ia=0) |
void | AddAverageAtPosition (ConstVectorView vec1, ConstVectorView vec2, const Index iv=0, const Index iz=0, const Index ia=0) |
Add the average of both inputs at position. More... | |
bool | IsPolarized (const Index iv=0, const Index iz=0, const Index ia=0) const |
Checks if vector is polarized. More... | |
bool | IsUnpolarized (const Index iv=0, const Index iz=0, const Index ia=0) const |
Checks if vector is polarized. More... | |
Public Member Functions inherited from PropagationMatrix | |
PropagationMatrix (const Index nr_frequencies=0, const Index stokes_dim=1, const Index nr_za=1, const Index nr_aa=1, const Numeric v=0.0) | |
Initialize variable sizes. More... | |
PropagationMatrix (const PropagationMatrix &pm) | |
Construct a new Propagation Matrix object. More... | |
PropagationMatrix (PropagationMatrix &&pm) noexcept | |
Construct a new Propagation Matrix object. More... | |
PropagationMatrix (ConstTensor4View x) | |
Construct a new Propagation Matrix object. More... | |
PropagationMatrix (ConstMatrixView x, const bool &assume_fit=false) | |
Initialize from single stokes_dim-by-stokes_dim matrix. More... | |
Index | StokesDimensions () const |
The stokes dimension of the propagation matrix. More... | |
Index | NumberOfFrequencies () const |
The number of frequencies of the propagation matrix. More... | |
Index | NumberOfZenithAngles () const |
The number of zenith angles of the propagation matrix. More... | |
Index | NumberOfAzimuthAngles () const |
The number of azimuth angles of the propagation matrix. More... | |
bool | OK () const |
void | SetVectorType (bool vectortype) |
Set the Vector Type object. More... | |
bool | IsEmpty () const |
Asks if the class is empty. More... | |
bool | IsZero (const Index iv=0, const Index iz=0, const Index ia=0) const |
False if any non-zeroes in internal Matrix representation. More... | |
bool | IsRotational (const Index iv=0, const Index iz=0, const Index ia=0) const |
False if diagonal element is non-zero in internal Matrix representation. More... | |
Index | NumberOfNeededVectors () const |
The number of required vectors to fill this PropagationMatrix. More... | |
Numeric | operator() (const Index iv=0, const Index is1=0, const Index is2=0, const Index iz=0, const Index ia=0) const |
access operator. More... | |
void | AddFaraday (const Numeric &rot, const Index iv=0, const Index iz=0, const Index ia=0) |
Adds the Faraday rotation to the PropagationMatrix at required position. More... | |
void | SetFaraday (const Numeric &rot, const Index iv=0, const Index iz=0, const Index ia=0) |
Sets the Faraday rotation to the PropagationMatrix at required position. More... | |
void | MatrixAtPosition (MatrixView ret, const Index iv=0, const Index iz=0, const Index ia=0) const |
Sets the dense matrix. More... | |
PropagationMatrix & | operator= (PropagationMatrix &&pm) noexcept |
Move operator. More... | |
PropagationMatrix & | operator= (const LazyScale< PropagationMatrix > &lpms) |
Laze equal to opeartor. More... | |
PropagationMatrix & | operator= (const PropagationMatrix &other) |
Copy operator. More... | |
PropagationMatrix & | operator= (const Numeric &x) |
Sets all data to constant. More... | |
void | SetAtPosition (const PropagationMatrix &x, const Index iv=0, const Index iz=0, const Index ia=0) |
Set the At Position object. More... | |
void | SetAtPosition (ConstMatrixView x, const Index iv=0, const Index iz=0, const Index ia=0) |
Set the At Position object. More... | |
void | SetAtPosition (const Numeric &x, const Index iv=0, const Index iz=0, const Index ia=0) |
Set the At Position object. More... | |
PropagationMatrix & | operator/= (const PropagationMatrix &other) |
Divide operator. More... | |
PropagationMatrix & | operator/= (ConstVectorView x) |
Divide operator. More... | |
PropagationMatrix & | operator/= (const Numeric &x) |
Divide operator. More... | |
void | DivideAtPosition (const PropagationMatrix &x, const Index iv=0, const Index iz=0, const Index ia=0) |
Divide at position. More... | |
void | DivideAtPosition (ConstMatrixView x, const Index iv=0, const Index iz=0, const Index ia=0) |
Divide at position. More... | |
void | DivideAtPosition (const Numeric &x, const Index iv=0, const Index iz=0, const Index ia=0) |
Divide at position. More... | |
PropagationMatrix & | operator*= (const PropagationMatrix &other) |
Multiply operator. More... | |
PropagationMatrix & | operator*= (ConstVectorView x) |
Multiply operator. More... | |
PropagationMatrix & | operator*= (const Numeric &x) |
Multiply operator. More... | |
void | MultiplyAtPosition (const PropagationMatrix &x, const Index iv=0, const Index iz=0, const Index ia=0) |
Multiply operator at position. More... | |
void | MultiplyAtPosition (ConstMatrixView x, const Index iv=0, const Index iz=0, const Index ia=0) |
Multiply operator at position. More... | |
void | MultiplyAtPosition (const Numeric &x, const Index iv=0, const Index iz=0, const Index ia=0) |
Multiply operator at position. More... | |
PropagationMatrix & | operator+= (const PropagationMatrix &other) |
Addition operator. More... | |
PropagationMatrix & | operator+= (const LazyScale< PropagationMatrix > &lpms) |
Addition operator. More... | |
PropagationMatrix & | operator+= (ConstVectorView x) |
Addition operator. More... | |
PropagationMatrix & | operator+= (const Numeric &x) |
Addition operator. More... | |
void | AddAtPosition (const PropagationMatrix &x, const Index iv=0, const Index iz=0, const Index ia=0) |
Addition at position operator. More... | |
void | AddAtPosition (ConstMatrixView x, const Index iv=0, const Index iz=0, const Index ia=0) |
Addition at position operator. More... | |
void | AddAtPosition (const Numeric &x, const Index iv=0, const Index iz=0, const Index ia=0) |
Addition at position operator. More... | |
PropagationMatrix & | operator-= (const PropagationMatrix &other) |
Subtraction operator. More... | |
PropagationMatrix & | operator-= (ConstVectorView x) |
Subtraction operator. More... | |
PropagationMatrix & | operator-= (const Numeric &x) |
Subtraction operator. More... | |
void | RemoveAtPosition (const PropagationMatrix &x, const Index iv=0, const Index iz=0, const Index ia=0) |
Subtraction at position. More... | |
void | RemoveAtPosition (ConstMatrixView x, const Index iv=0, const Index iz=0, const Index ia=0) |
Subtraction at position. More... | |
void | RemoveAtPosition (const Numeric &x, const Index iv=0, const Index iz=0, const Index ia=0) |
Subtraction at position. More... | |
void | AddAbsorptionVectorAtPosition (ConstVectorView x, const Index iv=0, const Index iz=0, const Index ia=0) |
Adds as a Stokes vector at position. More... | |
void | AddAverageAtPosition (ConstMatrixView mat1, ConstMatrixView mat2, const Index iv=0, const Index iz=0, const Index ia=0) |
Add the average of the two input at position. More... | |
void | MultiplyAndAdd (const Numeric x, const PropagationMatrix &y) |
Multiply input by scalar and add to this. More... | |
void | MatrixInverseAtPosition (MatrixView ret, const Index iv=0, const Index iz=0, const Index ia=0) const |
Return the matrix inverse at the position. More... | |
bool | FittingShape (ConstMatrixView x) const |
Tests of the input matrix fits Propagation Matrix style. More... | |
void | GetTensor3 (Tensor3View tensor3, const Index iz=0, const Index ia=0) |
Get a Tensor3 object from this. More... | |
VectorView | Kjj (const Index iz=0, const Index ia=0) |
Vector view to diagonal elements. More... | |
VectorView | K12 (const Index iz=0, const Index ia=0) |
Vector view to K(0, 1) elements. More... | |
VectorView | K13 (const Index iz=0, const Index ia=0) |
Vector view to K(0, 2) elements. More... | |
VectorView | K14 (const Index iz=0, const Index ia=0) |
Vector view to K(0, 3) elements. More... | |
VectorView | K23 (const Index iz=0, const Index ia=0) |
Vector view to K(1, 2) elements. More... | |
VectorView | K24 (const Index iz=0, const Index ia=0) |
Vector view to K(1, 3) elements. More... | |
VectorView | K34 (const Index iz=0, const Index ia=0) |
Vector view to K(2, 3) elements. More... | |
ConstVectorView | Kjj (const Index iz=0, const Index ia=0) const |
Vector view to diagonal elements. More... | |
ConstVectorView | K12 (const Index iz=0, const Index ia=0) const |
Vector view to K(0, 1) elements. More... | |
ConstVectorView | K13 (const Index iz=0, const Index ia=0) const |
Vector view to K(0, 2) elements. More... | |
ConstVectorView | K14 (const Index iz=0, const Index ia=0) const |
Vector view to K(0, 3) elements. More... | |
ConstVectorView | K23 (const Index iz=0, const Index ia=0) const |
Vector view to K(1, 3) elements. More... | |
ConstVectorView | K24 (const Index iz=0, const Index ia=0) const |
Vector view to K(1, 3) elements. More... | |
ConstVectorView | K34 (const Index iz=0, const Index ia=0) const |
Vector view to diagonal elements. More... | |
void | SetZero () |
Sets all data to zero. More... | |
Tensor4 & | Data () |
Get full view to data. More... | |
const Tensor4 & | Data () const |
Get full const view to data. More... | |
void | LeftMultiplyAtPosition (MatrixView out, ConstMatrixView in, const Index iv=0, const Index iz=0, const Index ia=0) const |
Multiply the matrix input from the left of this at position. More... | |
void | RightMultiplyAtPosition (MatrixView out, ConstMatrixView in, const Index iv=0, const Index iz=0, const Index ia=0) const |
Multiply the matrix input from the right of this at position. More... | |
Additional Inherited Members | |
Protected Attributes inherited from PropagationMatrix | |
Index | mfreqs |
Index | mstokes_dim |
Index | mza |
Index | maa |
Tensor4 | mdata |
bool | mvectortype |
Stokes vector is as Propagation matrix but only has 4 possible values.
Definition at line 1075 of file propagationmatrix.h.
|
inline |
Initialize variable sizes.
Will create a Tensor4 of the size and order (nr_aa, nr_za, NumberOfNeededVectors(), nr_frequencies)
[in] | nr_frequencies | Number of Dirac frequencies |
[in] | stokes_dim | Stokes dimensionality |
[in] | nr_za | Number of Dirac Zeniths |
[in] | nr_aa | Number of Dirac Azimuths |
[in] | v | Initial values of things in the created Tensor4 |
Definition at line 1089 of file propagationmatrix.h.
|
inlineexplicit |
Construct a new Propagation Matrix object.
[in] | x | Tensor4 object to use to initialize from |
Definition at line 1107 of file propagationmatrix.h.
References ConstTensor4View::nbooks(), ConstTensor4View::ncols(), ConstTensor4View::npages(), and ConstTensor4View::nrows().
|
inlineexplicit |
Construct a new Stokes Vector object.
x | Single Stokes vector |
Definition at line 1122 of file propagationmatrix.h.
References i, and ConstVectorView::nelem().
|
inline |
Construct a new Stokes Vector as a scale between two others.
a | input 1 |
b | input 2 |
scale | Scale of inputs |
Definition at line 1139 of file propagationmatrix.h.
References i, PropagationMatrix::NumberOfAzimuthAngles(), PropagationMatrix::NumberOfFrequencies(), PropagationMatrix::NumberOfZenithAngles(), and PropagationMatrix::StokesDimensions().
|
inline |
Add the average of both inputs at position.
[in] | vec1 | input 1 |
[in] | vec2 | input 2 |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1300 of file propagationmatrix.h.
|
inline |
Checks if vector is polarized.
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1325 of file propagationmatrix.h.
|
inline |
Checks if vector is polarized.
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1347 of file propagationmatrix.h.
|
inline |
Add a scaled version of the input.
[in] | x | Scale |
[in] | y | Input |
Definition at line 1233 of file propagationmatrix.h.
References data, PropagationMatrix::Data(), i, PropagationMatrix::NumberOfAzimuthAngles(), PropagationMatrix::NumberOfFrequencies(), PropagationMatrix::NumberOfZenithAngles(), and PropagationMatrix::StokesDimensions().
Referenced by opt_prop_bulkCalc().
|
inline |
The number of required vectors to fill this StokesVector.
Definition at line 1170 of file propagationmatrix.h.
|
inline |
Addition operator.
Definition at line 1177 of file propagationmatrix.h.
References PropagationMatrix::Data(), and joker.
|
inline |
Addition operator.
x | Lazy addition |
Definition at line 1187 of file propagationmatrix.h.
References LazyScale< base >::bas, and LazyScale< base >::scale.
|
inline |
Set *this from a Propagation matrix.
x | Propagation matrix |
Definition at line 1197 of file propagationmatrix.h.
References PropagationMatrix::Data(), joker, PropagationMatrix::NumberOfAzimuthAngles(), PropagationMatrix::NumberOfFrequencies(), PropagationMatrix::NumberOfZenithAngles(), and PropagationMatrix::StokesDimensions().
|
inline |
Set this lazily.
[in] | lpms | Lazy propagation matrix |
Definition at line 1212 of file propagationmatrix.h.
References LazyScale< base >::bas, and LazyScale< base >::scale.
|
inline |
Set this to constant value.
[in] | x | constant value |
Definition at line 1223 of file propagationmatrix.h.
|
inline |
Definition at line 1285 of file propagationmatrix.h.
References joker.
Referenced by get_stepwise_scattersky_propmat(), and get_stepwise_scattersky_source().
|
inline |
Get a vectorview to the position.
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1266 of file propagationmatrix.h.
References joker.
Referenced by clear_rt_vars_at_gp(), cloud_fieldsCalc(), cloudy_rt_vars_at_gp(), get_stepwise_effective_source(), and rte_step_doit_replacement().
|
inline |
Get a vectorview to the position.
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1279 of file propagationmatrix.h.
References joker.