ARTS
2.4.0(git:4fb77825)
|
#include <propagationmatrix.h>
Public Member Functions | |
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... | |
Protected Attributes | |
Index | mfreqs |
Index | mstokes_dim |
Index | mza |
Index | maa |
Tensor4 | mdata |
bool | mvectortype |
Propagation Matrix Holder Class With Some Computational Capabilities
The idea comes from the fact that the propagation matrix has the looks
/ \ | a b c d | | b a u v | | c -u a w | | d -v -w a | \ /
So we instead store the inner parts of the matrix linearly as [a b c d u v w], and all computations happens on these variables instead. Note that the variables changes with the Stokes dimension
Stokes Dim 4: [a b c d u v w] Stokes Dim 3: [a b c u] Stokes Dim 2: [a b] Stokes Dim 1: [a]
And for devs: the u-variable is at vector position of the Stokes Dim in case 4 and 3, and that the other variables never change their positions, which is why the switch cases are all consistently fall-through-able in this class
Definition at line 87 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 100 of file propagationmatrix.h.
References maa, mdata, mfreqs, mza, and NumberOfNeededVectors().
|
inline |
Construct a new Propagation Matrix object.
[in] | pm | Old propagation matrix object to copy |
Definition at line 118 of file propagationmatrix.h.
|
inlinenoexcept |
Construct a new Propagation Matrix object.
[in] | pm | old Propagation Matrix object to move from |
Definition at line 130 of file propagationmatrix.h.
|
inlineexplicit |
Construct a new Propagation Matrix object.
[in] | x | Tensor4 object to use to initialize from |
Definition at line 142 of file propagationmatrix.h.
References mstokes_dim, and ARTS::Var::x().
|
inlineexplicit |
Initialize from single stokes_dim-by-stokes_dim matrix.
[in] | x | The matrix |
[in] | assume_fit | Assume a correct fit? Do not set this in manual interface |
Definition at line 172 of file propagationmatrix.h.
References FittingShape(), mdata, mstokes_dim, mvectortype, NumberOfNeededVectors(), Tensor4::resize(), and ARTS::Var::x().
|
inline |
Adds as a Stokes vector at position.
[in] | x | |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 739 of file propagationmatrix.h.
References mdata, mstokes_dim, and ARTS::Var::x().
|
inline |
Addition at position operator.
[in] | other | Addition by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 649 of file propagationmatrix.h.
References joker, mdata, and ARTS::Var::x().
|
inline |
Addition at position operator.
[in] | other | Addition by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 623 of file propagationmatrix.h.
References joker, mdata, and ARTS::Var::x().
void PropagationMatrix::AddAtPosition | ( | ConstMatrixView | x, |
const Index | iv = 0 , |
||
const Index | iz = 0 , |
||
const Index | ia = 0 |
||
) |
Addition at position operator.
[in] | other | Addition by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1852 of file propagationmatrix.cc.
References mdata, mstokes_dim, and ARTS::Var::x().
void PropagationMatrix::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.
[in] | mat1 | input 1 |
[in] | mat2 | input 2 |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1610 of file propagationmatrix.cc.
References mdata, and mstokes_dim.
|
inline |
Adds the Faraday rotation to the PropagationMatrix at required position.
No vector function exists since rot is a function of frequency
[in] | rot | rotation |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 297 of file propagationmatrix.h.
References mdata, and mstokes_dim.
|
inline |
Get full view to data.
Definition at line 937 of file propagationmatrix.h.
References mdata.
Referenced by _cr_internal_(), operator<<(), test_r_deriv_propagationmatrix(), and xml_write_to_stream().
|
inline |
|
inline |
Divide at position.
[in] | other | Divide by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 495 of file propagationmatrix.h.
References joker, mdata, and ARTS::Var::x().
|
inline |
Divide at position.
[in] | other | Divide by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 469 of file propagationmatrix.h.
References joker, mdata, and ARTS::Var::x().
void PropagationMatrix::DivideAtPosition | ( | ConstMatrixView | x, |
const Index | iv = 0 , |
||
const Index | iz = 0 , |
||
const Index | ia = 0 |
||
) |
Divide at position.
[in] | other | Divide by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1890 of file propagationmatrix.cc.
References mdata, mstokes_dim, and ARTS::Var::x().
bool PropagationMatrix::FittingShape | ( | ConstMatrixView | x | ) | const |
Tests of the input matrix fits Propagation Matrix style.
[in] | x | Input matrix |
Definition at line 1640 of file propagationmatrix.cc.
References mstokes_dim, Absorption::nelem(), and ARTS::Var::x().
Referenced by PropagationMatrix().
void PropagationMatrix::GetTensor3 | ( | Tensor3View | tensor3, |
const Index | iz = 0 , |
||
const Index | ia = 0 |
||
) |
Get a Tensor3 object from this.
[in,out] | tensor3 | New tensor |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1674 of file propagationmatrix.cc.
References joker, mdata, and mstokes_dim.
|
inline |
Asks if the class is empty.
Definition at line 221 of file propagationmatrix.h.
References maa, mfreqs, and mza.
Referenced by get_stepwise_effective_source(), and RadiationVector::setSource().
|
inline |
False if diagonal element is non-zero in internal Matrix representation.
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 247 of file propagationmatrix.h.
References mdata.
Referenced by get_stepwise_effective_source(), and stepwise_source().
|
inline |
False if any non-zeroes in internal Matrix representation.
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 230 of file propagationmatrix.h.
|
inline |
Vector view to K(0, 1) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 809 of file propagationmatrix.h.
Referenced by abs_vecTransform(), compute_transmission_matrix(), compute_transmission_matrix_and_derivative(), compute_transmission_matrix_from_averaged_matrix_at_frequency(), dtransmat2(), dtransmat3(), dtransmat4(), ext_matTransform(), StokesVector::IsPolarized(), LeftMultiplyAtPosition(), MatrixInverseAtPosition(), operator>>(), RightMultiplyAtPosition(), RadiationVector::setSource(), stepwise_source(), test_r_deriv_propagationmatrix(), transmat2(), transmat3(), and transmat4().
|
inline |
Vector view to K(0, 1) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 879 of file propagationmatrix.h.
|
inline |
Vector view to K(0, 2) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 819 of file propagationmatrix.h.
Referenced by StokesVector::IsPolarized(), operator>>(), RadiationVector::setSource(), stepwise_source(), and test_r_deriv_propagationmatrix().
|
inline |
Vector view to K(0, 2) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 889 of file propagationmatrix.h.
|
inline |
Vector view to K(0, 3) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 829 of file propagationmatrix.h.
Referenced by StokesVector::IsPolarized(), operator>>(), RadiationVector::setSource(), stepwise_source(), and test_r_deriv_propagationmatrix().
|
inline |
Vector view to K(0, 3) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 899 of file propagationmatrix.h.
|
inline |
Vector view to K(1, 2) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 839 of file propagationmatrix.h.
References joker, mdata, and mstokes_dim.
Referenced by operator>>(), stepwise_source(), and test_r_deriv_propagationmatrix().
|
inline |
Vector view to K(1, 3) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 909 of file propagationmatrix.h.
References joker, mdata, and mstokes_dim.
|
inline |
Vector view to K(1, 3) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 849 of file propagationmatrix.h.
Referenced by operator>>(), stepwise_source(), and test_r_deriv_propagationmatrix().
|
inline |
Vector view to K(1, 3) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 919 of file propagationmatrix.h.
|
inline |
Vector view to K(2, 3) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 859 of file propagationmatrix.h.
Referenced by ext_matTransform(), operator>>(), stepwise_source(), and test_r_deriv_propagationmatrix().
|
inline |
Vector view to diagonal elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 929 of file propagationmatrix.h.
|
inline |
Vector view to diagonal elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 799 of file propagationmatrix.h.
Referenced by abs_vecTransform(), compute_transmission_matrix(), compute_transmission_matrix_and_derivative(), compute_transmission_matrix_from_averaged_matrix_at_frequency(), dtransmat1(), dtransmat2(), dtransmat3(), dtransmat4(), ext_matTransform(), get_gasoptprop(), LeftMultiplyAtPosition(), MatrixInverseAtPosition(), nlte_sourceFromTemperatureAndSrcCoefPerSpecies(), operator>>(), RightMultiplyAtPosition(), rte_step_doit_replacement(), RadiationVector::setSource(), stepwise_source(), test_r_deriv_propagationmatrix(), transmat1(), transmat2(), transmat3(), and transmat4().
|
inline |
Vector view to diagonal elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 869 of file propagationmatrix.h.
void PropagationMatrix::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.
[in,out] | out | Outgoing matrix |
[in] | in | Incoming matrix |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1707 of file propagationmatrix.cc.
References K12(), Kjj(), and mstokes_dim.
void PropagationMatrix::MatrixAtPosition | ( | MatrixView | ret, |
const Index | iv = 0 , |
||
const Index | iz = 0 , |
||
const Index | ia = 0 |
||
) | const |
Sets the dense matrix.
Avoid using if possible.
[in,out] | Full | propagation matrix |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1928 of file propagationmatrix.cc.
References mdata, and mstokes_dim.
Referenced by clear_rt_vars_at_gp(), cloud_fieldsCalc(), and cloudy_rt_vars_at_gp().
void PropagationMatrix::MatrixInverseAtPosition | ( | MatrixView | ret, |
const Index | iv = 0 , |
||
const Index | iz = 0 , |
||
const Index | ia = 0 |
||
) | const |
Return the matrix inverse at the position.
[in,out] | ret | Inversed matrix |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1506 of file propagationmatrix.cc.
References a2, b2, K12(), Kjj(), and mstokes_dim.
Referenced by get_stepwise_effective_source(), and rte_step_doit_replacement().
void PropagationMatrix::MultiplyAndAdd | ( | const Numeric | x, |
const PropagationMatrix & | y | ||
) |
Multiply input by scalar and add to this.
x | scalar |
y | input |
Definition at line 1631 of file propagationmatrix.cc.
Referenced by operator+=(), and opt_prop_bulkCalc().
|
inline |
Multiply operator at position.
[in] | other | Multiply by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 567 of file propagationmatrix.h.
References joker, mdata, and ARTS::Var::x().
|
inline |
Multiply operator at position.
[in] | other | Multiply by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 541 of file propagationmatrix.h.
References joker, mdata, and ARTS::Var::x().
void PropagationMatrix::MultiplyAtPosition | ( | ConstMatrixView | x, |
const Index | iv = 0 , |
||
const Index | iz = 0 , |
||
const Index | ia = 0 |
||
) |
Multiply operator at position.
[in] | other | Multiply by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1871 of file propagationmatrix.cc.
References mdata, mstokes_dim, and ARTS::Var::x().
|
inline |
The number of azimuth angles of the propagation matrix.
Definition at line 210 of file propagationmatrix.h.
References maa.
Referenced by RadiationVector::setSource(), and StokesVector::StokesVector().
|
inline |
The number of frequencies of the propagation matrix.
Definition at line 204 of file propagationmatrix.h.
References mfreqs.
Referenced by abs_vecTransform(), compute_transmission_matrix(), compute_transmission_matrix_and_derivative(), dtransmat1(), dtransmat2(), dtransmat3(), dtransmat4(), ext_matTransform(), get_stepwise_effective_source(), get_stepwise_scattersky_propmat(), get_stepwise_scattersky_source(), get_stepwise_transmission_matrix(), rte_step_doit_replacement(), stepwise_source(), StokesVector::StokesVector(), transmat1(), transmat2(), transmat3(), transmat4(), and TransmissionMatrix::TransmissionMatrix().
|
inline |
The number of required vectors to fill this PropagationMatrix.
Definition at line 257 of file propagationmatrix.h.
References mstokes_dim, and mvectortype.
Referenced by OK(), operator*=(), operator+=(), operator-=(), operator/=(), and PropagationMatrix().
|
inline |
The number of zenith angles of the propagation matrix.
Definition at line 207 of file propagationmatrix.h.
References mza.
Referenced by RadiationVector::setSource(), and StokesVector::StokesVector().
|
inline |
Definition at line 212 of file propagationmatrix.h.
References maa, mdata, mfreqs, mza, ConstTensor4View::nbooks(), ConstTensor4View::ncols(), ConstTensor4View::npages(), ConstTensor4View::nrows(), and NumberOfNeededVectors().
Numeric PropagationMatrix::operator() | ( | const Index | iv = 0 , |
const Index | is1 = 0 , |
||
const Index | is2 = 0 , |
||
const Index | iz = 0 , |
||
const Index | ia = 0 |
||
) | const |
access operator.
Please refrain from using this if possible since it copies
Definition at line 1953 of file propagationmatrix.cc.
References mdata, and mstokes_dim.
|
inline |
Multiply operator.
[in] | other | Multiply by other |
Definition at line 529 of file propagationmatrix.h.
References mdata, and ARTS::Var::x().
|
inline |
Multiply operator.
[in] | other | Multiply by other |
Definition at line 507 of file propagationmatrix.h.
References mdata.
|
inline |
Multiply operator.
[in] | other | Multiply by other |
Definition at line 517 of file propagationmatrix.h.
References mza, and NumberOfNeededVectors().
|
inline |
Addition operator.
[in] | other | Addition by other |
Definition at line 589 of file propagationmatrix.h.
References LazyScale< base >::bas, MultiplyAndAdd(), and LazyScale< base >::scale.
|
inline |
Addition operator.
[in] | other | Addition by other |
Definition at line 611 of file propagationmatrix.h.
References mdata, and ARTS::Var::x().
|
inline |
Addition operator.
[in] | other | Addition by other |
Definition at line 579 of file propagationmatrix.h.
References mdata.
|
inline |
Addition operator.
[in] | other | Addition by other |
Definition at line 599 of file propagationmatrix.h.
References mza, and NumberOfNeededVectors().
|
inline |
Subtraction operator.
[in] | other | Subtract by other |
Definition at line 687 of file propagationmatrix.h.
References mdata, and ARTS::Var::x().
|
inline |
Subtraction operator.
[in] | other | Subtract by other |
Definition at line 661 of file propagationmatrix.h.
References mdata.
|
inline |
Subtraction operator.
[in] | other | Subtract by other |
Definition at line 671 of file propagationmatrix.h.
References mza, and NumberOfNeededVectors().
|
inline |
Divide operator.
[in] | other | Divide by other |
Definition at line 457 of file propagationmatrix.h.
References mdata, and ARTS::Var::x().
|
inline |
Divide operator.
[in] | other | Divide by other |
Definition at line 431 of file propagationmatrix.h.
References mdata.
|
inline |
Divide operator.
[in] | other | Divide by other |
Definition at line 441 of file propagationmatrix.h.
References mza, and NumberOfNeededVectors().
|
inline |
Laze equal to opeartor.
[in] | lpms | lazified propagation matrix |
Definition at line 354 of file propagationmatrix.h.
References LazyScale< base >::bas, mdata, operator=(), and LazyScale< base >::scale.
|
inline |
Sets all data to constant.
[in] | x | new constant value |
Definition at line 380 of file propagationmatrix.h.
References mdata, and ARTS::Var::x().
|
inline |
Copy operator.
[in] | other | PropagationMatrix to copy |
Definition at line 365 of file propagationmatrix.h.
References maa, mdata, mfreqs, mstokes_dim, mvectortype, and mza.
|
inlinenoexcept |
Move operator.
[in] | pm | PropagationMatrix to move from |
Definition at line 337 of file propagationmatrix.h.
References maa, mdata, mfreqs, mstokes_dim, mvectortype, and mza.
Referenced by operator=().
|
inline |
Subtraction at position.
[in] | other | Subtract by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 725 of file propagationmatrix.h.
References joker, mdata, and ARTS::Var::x().
|
inline |
Subtraction at position.
[in] | other | Subtract by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 699 of file propagationmatrix.h.
References joker, mdata, and ARTS::Var::x().
void PropagationMatrix::RemoveAtPosition | ( | ConstMatrixView | x, |
const Index | iv = 0 , |
||
const Index | iz = 0 , |
||
const Index | ia = 0 |
||
) |
Subtraction at position.
[in] | other | Subtract by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1833 of file propagationmatrix.cc.
References mdata, mstokes_dim, and ARTS::Var::x().
void PropagationMatrix::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.
[in,out] | out | Outgoing matrix |
[in] | in | Incoming matrix |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1770 of file propagationmatrix.cc.
References K12(), Kjj(), and mstokes_dim.
|
inline |
Set the At Position object.
[in] | x | Object to set |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 419 of file propagationmatrix.h.
References joker, mdata, and ARTS::Var::x().
|
inline |
Set the At Position object.
[in] | x | Object to set |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 392 of file propagationmatrix.h.
References joker, mdata, and ARTS::Var::x().
Referenced by get_stepwise_scattersky_propmat().
void PropagationMatrix::SetAtPosition | ( | ConstMatrixView | x, |
const Index | iv = 0 , |
||
const Index | iz = 0 , |
||
const Index | ia = 0 |
||
) |
Set the At Position object.
[in] | x | Object to set |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1909 of file propagationmatrix.cc.
References mdata, mstokes_dim, and ARTS::Var::x().
|
inline |
Sets the Faraday rotation to the PropagationMatrix at required position.
No vector function exists since rot is a function of frequency
[in] | rot | rotation |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 313 of file propagationmatrix.h.
References mdata, and mstokes_dim.
|
inline |
Set the Vector Type object.
[in] | vectortype | True if this is a vector false if not |
Definition at line 218 of file propagationmatrix.h.
References mvectortype.
|
inline |
Sets all data to zero.
Definition at line 934 of file propagationmatrix.h.
References mdata.
Referenced by abs_vecTransform(), ext_matTransform(), get_stepwise_clearsky_propmat(), and opt_prop_bulkCalc().
|
inline |
The stokes dimension of the propagation matrix.
Definition at line 201 of file propagationmatrix.h.
References mstokes_dim.
Referenced by abs_vecTransform(), compute_transmission_matrix(), compute_transmission_matrix_and_derivative(), compute_transmission_matrix_from_averaged_matrix_at_frequency(), dtransmat(), ext_matTransform(), get_stepwise_effective_source(), get_stepwise_scattersky_propmat(), get_stepwise_scattersky_source(), rte_step_doit_replacement(), StokesVector::StokesVector(), transmat(), and TransmissionMatrix::TransmissionMatrix().
|
protected |
Definition at line 973 of file propagationmatrix.h.
Referenced by IsEmpty(), MultiplyAndAdd(), StokesVector::MultiplyAndAdd(), NumberOfAzimuthAngles(), OK(), StokesVector::operator=(), operator=(), PropagationMatrix(), and StokesVector::StokesVector().
|
protected |
Definition at line 974 of file propagationmatrix.h.
Referenced by AddAbsorptionVectorAtPosition(), AddAtPosition(), AddAverageAtPosition(), StokesVector::AddAverageAtPosition(), AddFaraday(), Data(), DivideAtPosition(), GetTensor3(), IsRotational(), IsZero(), K12(), K13(), K14(), K23(), K24(), K34(), Kjj(), MatrixAtPosition(), MultiplyAtPosition(), OK(), operator()(), operator*=(), operator+=(), StokesVector::operator+=(), operator-=(), operator/=(), StokesVector::operator=(), operator=(), PropagationMatrix(), RemoveAtPosition(), SetAtPosition(), StokesVector::SetAtPosition(), SetFaraday(), SetZero(), StokesVector::StokesVector(), and StokesVector::VectorAtPosition().
|
protected |
Definition at line 972 of file propagationmatrix.h.
Referenced by IsEmpty(), StokesVector::MultiplyAndAdd(), NumberOfFrequencies(), OK(), StokesVector::operator=(), operator=(), PropagationMatrix(), and StokesVector::StokesVector().
|
protected |
Definition at line 972 of file propagationmatrix.h.
Referenced by AddAbsorptionVectorAtPosition(), AddAtPosition(), AddAverageAtPosition(), StokesVector::AddAverageAtPosition(), AddFaraday(), DivideAtPosition(), FittingShape(), GetTensor3(), StokesVector::IsPolarized(), K23(), LeftMultiplyAtPosition(), MatrixAtPosition(), MatrixInverseAtPosition(), StokesVector::MultiplyAndAdd(), MultiplyAtPosition(), NumberOfNeededVectors(), StokesVector::NumberOfNeededVectors(), operator()(), StokesVector::operator+=(), StokesVector::operator=(), operator=(), PropagationMatrix(), RemoveAtPosition(), RightMultiplyAtPosition(), SetAtPosition(), SetFaraday(), StokesDimensions(), and StokesVector::StokesVector().
|
protected |
Definition at line 975 of file propagationmatrix.h.
Referenced by NumberOfNeededVectors(), operator=(), PropagationMatrix(), SetVectorType(), and StokesVector::StokesVector().
|
protected |
Definition at line 973 of file propagationmatrix.h.
Referenced by IsEmpty(), MultiplyAndAdd(), StokesVector::MultiplyAndAdd(), NumberOfZenithAngles(), OK(), operator*=(), operator+=(), operator-=(), operator/=(), StokesVector::operator=(), operator=(), PropagationMatrix(), and StokesVector::StokesVector().