ARTS 2.5.4 (git: 4c0d3b4d)
|
#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)=default | |
Construct a new Propagation Matrix object. More... | |
PropagationMatrix (PropagationMatrix &&pm) noexcept | |
Construct a new Propagation Matrix object. More... | |
PropagationMatrix (Tensor4 x) | |
Construct a new Propagation Matrix object. More... | |
PropagationMatrix (const 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 |
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)=default |
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 (const 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/= (const 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 (const 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*= (const 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 (const 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+= (const 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 (const 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-= (const 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 (const 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 (const ConstVectorView &x, const Index iv=0, const Index iz=0, const Index ia=0) |
Adds as a Stokes vector at position. More... | |
void | AddAverageAtPosition (const ConstMatrixView &mat1, const 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 (const 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, const 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, const 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 {false} |
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 232 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 245 of file propagationmatrix.h.
References ARTS_ASSERT, maa, mdata, mfreqs, mza, NumberOfNeededVectors(), and v.
|
default |
Construct a new Propagation Matrix object.
[in] | pm | Old propagation matrix object to copy |
|
inlinenoexcept |
Construct a new Propagation Matrix object.
[in] | pm | old Propagation Matrix object to move from |
Definition at line 268 of file propagationmatrix.h.
|
inlineexplicit |
Construct a new Propagation Matrix object.
[in] | x | Tensor4 object to use to initialize from |
Definition at line 280 of file propagationmatrix.h.
References ARTS_ASSERT, mstokes_dim, and ConstTensor4View::ncols().
|
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 308 of file propagationmatrix.h.
References ARTS_ASSERT, FittingShape(), mdata, mstokes_dim, mvectortype, NumberOfNeededVectors(), and Tensor4::resize().
|
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 845 of file propagationmatrix.h.
References mdata, and mstokes_dim.
Referenced by propmat_clearskyAddParticles().
void PropagationMatrix::AddAtPosition | ( | const 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 1850 of file propagationmatrix.cc.
References mdata, and mstokes_dim.
|
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 755 of file propagationmatrix.h.
|
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 729 of file propagationmatrix.h.
void PropagationMatrix::AddAverageAtPosition | ( | const ConstMatrixView & | mat1, |
const 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 411 of file propagationmatrix.h.
References mdata, and mstokes_dim.
Referenced by propmat_clearskyAddFaraday().
|
inline |
Get full view to data.
Definition at line 1043 of file propagationmatrix.h.
References mdata.
Referenced by StokesVector::MultiplyAndAdd(), StokesVector::operator+=(), operator<<(), StokesVector::operator=(), stepwise_source(), xml_read_from_stream(), and xml_write_to_stream().
|
inline |
void PropagationMatrix::DivideAtPosition | ( | const 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 1888 of file propagationmatrix.cc.
References mdata, and mstokes_dim.
|
inline |
Divide at position.
[in] | other | Divide by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 601 of file propagationmatrix.h.
|
inline |
Divide at position.
[in] | other | Divide by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 575 of file propagationmatrix.h.
bool PropagationMatrix::FittingShape | ( | const 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 ARTS_ASSERT, mstokes_dim, ConstMatrixView::ncols(), Absorption::nelem(), and ConstMatrixView::nrows().
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 1673 of file propagationmatrix.cc.
References ARTS_ASSERT, joker, mdata, and mstokes_dim.
|
inline |
Asks if the class is empty.
Definition at line 350 of file propagationmatrix.h.
References maa, mfreqs, and mza.
Referenced by 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 376 of file propagationmatrix.h.
References mdata.
Referenced by 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 359 of file propagationmatrix.h.
|
inline |
Vector view to K(0, 1) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 915 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(), RightMultiplyAtPosition(), RadiationVector::setSource(), source_vector(), transmat2(), transmat3(), and transmat4().
|
inline |
Vector view to K(0, 1) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 985 of file propagationmatrix.h.
|
inline |
Vector view to K(0, 2) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 925 of file propagationmatrix.h.
Referenced by compute_transmission_matrix(), compute_transmission_matrix_and_derivative(), compute_transmission_matrix_from_averaged_matrix_at_frequency(), dtransmat3(), dtransmat4(), StokesVector::IsPolarized(), LeftMultiplyAtPosition(), MatrixInverseAtPosition(), RightMultiplyAtPosition(), RadiationVector::setSource(), source_vector(), transmat3(), and transmat4().
|
inline |
Vector view to K(0, 2) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 995 of file propagationmatrix.h.
|
inline |
Vector view to K(0, 3) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 935 of file propagationmatrix.h.
Referenced by dtransmat4(), StokesVector::IsPolarized(), LeftMultiplyAtPosition(), MatrixInverseAtPosition(), RightMultiplyAtPosition(), RadiationVector::setSource(), source_vector(), and transmat4().
|
inline |
Vector view to K(0, 3) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1005 of file propagationmatrix.h.
|
inline |
Vector view to K(1, 2) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 945 of file propagationmatrix.h.
References joker, mdata, and mstokes_dim.
Referenced by compute_transmission_matrix(), compute_transmission_matrix_and_derivative(), compute_transmission_matrix_from_averaged_matrix_at_frequency(), dtransmat3(), dtransmat4(), LeftMultiplyAtPosition(), MatrixInverseAtPosition(), RightMultiplyAtPosition(), transmat3(), and transmat4().
|
inline |
Vector view to K(1, 3) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1015 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 955 of file propagationmatrix.h.
Referenced by dtransmat4(), LeftMultiplyAtPosition(), MatrixInverseAtPosition(), RightMultiplyAtPosition(), and transmat4().
|
inline |
Vector view to K(1, 3) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1025 of file propagationmatrix.h.
|
inline |
Vector view to K(2, 3) elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 965 of file propagationmatrix.h.
Referenced by dtransmat4(), ext_matTransform(), LeftMultiplyAtPosition(), MatrixInverseAtPosition(), RightMultiplyAtPosition(), and transmat4().
|
inline |
Vector view to diagonal elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 1035 of file propagationmatrix.h.
|
inline |
Vector view to diagonal elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 905 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(), main(), MatrixInverseAtPosition(), nlte_sourceFromTemperatureAndSrcCoefPerSpecies(), particle_bulkpropRadarOnionPeeling(), propmat_clearskyAddFromAbsCoefPerSpecies(), propmat_clearskyAddFromLookup(), propmat_clearskyAddHitranLineMixingLines(), propmat_clearskyAddHitranXsec(), propmat_clearskyAddLines(), propmat_clearskyAddOnTheFlyLineMixing(), propmat_clearskyForceNegativeToZero(), RightMultiplyAtPosition(), rte_step_doit_replacement(), RadiationVector::setSource(), source_vector(), transmat1(), transmat2(), transmat3(), and transmat4().
|
inline |
Vector view to diagonal elements.
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 975 of file propagationmatrix.h.
void PropagationMatrix::LeftMultiplyAtPosition | ( | MatrixView | out, |
const 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 1705 of file propagationmatrix.cc.
References a, b, c, d, K12(), K13(), K14(), K23(), K24(), K34(), Kjj(), mstokes_dim, u, v, and w.
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 1926 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 a, a2, b, b2, c, d, K12(), K13(), K14(), K23(), K24(), K34(), Kjj(), mstokes_dim, u, v, and w.
Referenced by 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().
void PropagationMatrix::MultiplyAtPosition | ( | const 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 1869 of file propagationmatrix.cc.
References mdata, and mstokes_dim.
|
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 673 of file propagationmatrix.h.
|
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 647 of file propagationmatrix.h.
|
inline |
The number of azimuth angles of the propagation matrix.
Definition at line 345 of file propagationmatrix.h.
References maa.
Referenced by StokesVector::MultiplyAndAdd(), StokesVector::operator=(), and RadiationVector::setSource().
|
inline |
The number of frequencies of the propagation matrix.
Definition at line 339 of file propagationmatrix.h.
References mfreqs.
Referenced by abs_vecAddGas(), abs_vecTransform(), compute_transmission_matrix(), compute_transmission_matrix_and_derivative(), dtransmat1(), dtransmat2(), dtransmat3(), dtransmat4(), ext_matAddGas(), ext_matTransform(), get_stepwise_scattersky_propmat(), get_stepwise_scattersky_source(), StokesVector::MultiplyAndAdd(), nlte_sourceFromTemperatureAndSrcCoefPerSpecies(), StokesVector::operator=(), opt_prop_sum_propmat_clearsky(), propmat_clearskyAddFromAbsCoefPerSpecies(), propmat_clearskyAddFromLookup(), propmat_clearskyAddHitranXsec(), propmat_clearskyAddLines(), propmat_clearskyAddParticles(), propmat_clearskyAddPredefined(), propmat_clearskyForceNegativeToZero(), propmat_clearskyInit(), rte_step_doit_replacement(), stepwise_source(), transmat1(), transmat2(), transmat3(), transmat4(), TransmissionMatrix::TransmissionMatrix(), and zeeman_on_the_fly().
|
inline |
The number of required vectors to fill this PropagationMatrix.
Definition at line 387 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 342 of file propagationmatrix.h.
References mza.
Referenced by StokesVector::MultiplyAndAdd(), StokesVector::operator=(), and RadiationVector::setSource().
|
inline |
Definition at line 347 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 ARTS_ASSERT, mdata, and mstokes_dim.
|
inline |
Multiply operator.
[in] | other | Multiply by other |
Definition at line 623 of file propagationmatrix.h.
References mza, and NumberOfNeededVectors().
|
inline |
Multiply operator.
[in] | other | Multiply by other |
Definition at line 635 of file propagationmatrix.h.
References mdata.
|
inline |
Multiply operator.
[in] | other | Multiply by other |
Definition at line 613 of file propagationmatrix.h.
References mdata.
|
inline |
Addition operator.
[in] | other | Addition by other |
Definition at line 705 of file propagationmatrix.h.
References mza, and NumberOfNeededVectors().
|
inline |
Addition operator.
[in] | other | Addition by other |
Definition at line 695 of file propagationmatrix.h.
References LazyScale< base >::bas, MultiplyAndAdd(), and LazyScale< base >::scale.
|
inline |
Addition operator.
[in] | other | Addition by other |
Definition at line 717 of file propagationmatrix.h.
References mdata.
|
inline |
Addition operator.
[in] | other | Addition by other |
Definition at line 685 of file propagationmatrix.h.
References mdata.
|
inline |
Subtraction operator.
[in] | other | Subtract by other |
Definition at line 777 of file propagationmatrix.h.
References mza, and NumberOfNeededVectors().
|
inline |
Subtraction operator.
[in] | other | Subtract by other |
Definition at line 793 of file propagationmatrix.h.
References mdata.
|
inline |
Subtraction operator.
[in] | other | Subtract by other |
Definition at line 767 of file propagationmatrix.h.
References mdata.
|
inline |
Divide operator.
[in] | other | Divide by other |
Definition at line 547 of file propagationmatrix.h.
References mza, and NumberOfNeededVectors().
|
inline |
Divide operator.
[in] | other | Divide by other |
Definition at line 563 of file propagationmatrix.h.
References mdata.
|
inline |
Divide operator.
[in] | other | Divide by other |
Definition at line 537 of file propagationmatrix.h.
References mdata.
|
inline |
Laze equal to opeartor.
[in] | lpms | lazified propagation matrix |
Definition at line 468 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 486 of file propagationmatrix.h.
References mdata.
|
default |
|
inlinenoexcept |
Move operator.
[in] | pm | PropagationMatrix to move from |
Definition at line 451 of file propagationmatrix.h.
References maa, mdata, mfreqs, mstokes_dim, mvectortype, and mza.
Referenced by operator=().
void PropagationMatrix::RemoveAtPosition | ( | const 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 1831 of file propagationmatrix.cc.
References mdata, and mstokes_dim.
|
inline |
Subtraction at position.
[in] | other | Subtract by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 831 of file propagationmatrix.h.
|
inline |
Subtraction at position.
[in] | other | Subtract by other |
[in] | iv | Frequency index |
[in] | iz | Zenith index |
[in] | ia | Azimuth index |
Definition at line 805 of file propagationmatrix.h.
void PropagationMatrix::RightMultiplyAtPosition | ( | MatrixView | out, |
const 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 1768 of file propagationmatrix.cc.
References a, b, c, d, K12(), K13(), K14(), K23(), K24(), K34(), Kjj(), mstokes_dim, u, v, and w.
void PropagationMatrix::SetAtPosition | ( | const 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 1907 of file propagationmatrix.cc.
References mdata, 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 525 of file propagationmatrix.h.
|
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 498 of file propagationmatrix.h.
Referenced by get_stepwise_scattersky_propmat(), propmat_clearskyAddParticles(), and propmat_clearskyForceNegativeToZero().
|
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 427 of file propagationmatrix.h.
References mdata, and mstokes_dim.
|
inline |
Sets all data to zero.
Definition at line 1040 of file propagationmatrix.h.
References mdata.
Referenced by abs_vecTransform(), Absorption::PredefinedModel::compute_vmr_deriv(), ext_matTransform(), opt_prop_bulkCalc(), opt_prop_sum_propmat_clearsky(), propmat_clearskyAddParticles(), and propmat_clearskyInit().
|
inline |
The stokes dimension of the propagation matrix.
Definition at line 336 of file propagationmatrix.h.
References mstokes_dim.
Referenced by abs_vecAddGas(), abs_vecTransform(), compute_transmission_matrix(), compute_transmission_matrix_and_derivative(), compute_transmission_matrix_from_averaged_matrix_at_frequency(), dtransmat(), ext_matAddGas(), ext_matTransform(), get_stepwise_scattersky_propmat(), get_stepwise_scattersky_source(), StokesVector::MultiplyAndAdd(), nlte_sourceFromTemperatureAndSrcCoefPerSpecies(), StokesVector::operator=(), opt_prop_sum_propmat_clearsky(), propmat_clearskyAddOnTheFlyLineMixingWithZeeman(), propmat_clearskyAddParticles(), propmat_clearskyInit(), rte_step_doit_replacement(), transmat(), TransmissionMatrix::TransmissionMatrix(), and zeeman_on_the_fly().
|
protected |
Definition at line 1079 of file propagationmatrix.h.
Referenced by StokesVector::allZeroes(), IsEmpty(), MultiplyAndAdd(), StokesVector::MultiplyAndAdd(), NumberOfAzimuthAngles(), OK(), StokesVector::operator=(), operator=(), PropagationMatrix(), and StokesVector::StokesVector().
|
protected |
Definition at line 1080 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 1078 of file propagationmatrix.h.
Referenced by IsEmpty(), StokesVector::MultiplyAndAdd(), NumberOfFrequencies(), OK(), StokesVector::operator=(), operator=(), PropagationMatrix(), and StokesVector::StokesVector().
|
protected |
Definition at line 1078 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 1081 of file propagationmatrix.h.
Referenced by NumberOfNeededVectors(), operator=(), PropagationMatrix(), and StokesVector::StokesVector().
|
protected |
Definition at line 1079 of file propagationmatrix.h.
Referenced by StokesVector::allZeroes(), IsEmpty(), MultiplyAndAdd(), StokesVector::MultiplyAndAdd(), NumberOfZenithAngles(), OK(), operator*=(), operator+=(), operator-=(), operator/=(), StokesVector::operator=(), operator=(), PropagationMatrix(), and StokesVector::StokesVector().