|
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.