ARTS 2.5.9 (git: 825fa5f2)
LineShape::ComputeData Struct Reference

Main computational data for the line shape and strength calculations. More...

#include <lineshape.h>

Public Member Functions

 ComputeData (const Vector &f, const ArrayOfRetrievalQuantity &jacobian_quantities, const bool nlte) noexcept
 
void reset () noexcept
 
void interp_add_even (const ComputeData &sparse) ARTS_NOEXCEPT
 Add a sparse grid to this grid via linear interpolation. More...
 
void interp_add_triplequad (const ComputeData &sparse) ARTS_NOEXCEPT
 Add a sparse grid to this grid via square interpolation. More...
 
void enforce_positive_absorption () noexcept
 All four fields are set to zero at i if F[i].real() < 0. More...
 
ComputeDataoperator+= (const ComputeData &other)
 Adds two identical compute data fields, the size must be identical. More...
 

Public Attributes

ComplexVector F
 
ComplexVector N
 
ComplexMatrix dF
 
ComplexMatrix dN
 
const Vectorf_grid
 
const bool do_nlte
 

Detailed Description

Main computational data for the line shape and strength calculations.

Definition at line 793 of file lineshape.h.

Constructor & Destructor Documentation

◆ ComputeData()

LineShape::ComputeData::ComputeData ( const Vector f,
const ArrayOfRetrievalQuantity jacobian_quantities,
const bool  nlte 
)
inlinenoexcept

Definition at line 799 of file lineshape.h.

Member Function Documentation

◆ enforce_positive_absorption()

void LineShape::ComputeData::enforce_positive_absorption ( )
inlinenoexcept

All four fields are set to zero at i if F[i].real() < 0.

Definition at line 829 of file lineshape.h.

References joker, N, ConstVectorView::nelem(), and real().

Referenced by LineShape::compute().

◆ interp_add_even()

void LineShape::ComputeData::interp_add_even ( const ComputeData sparse)

Add a sparse grid to this grid via linear interpolation.

Parameters
[in]sparseThe sparsely gridded data

Definition at line 3540 of file lineshape.cc.

References ARTS_ASSERT, inv(), and N.

Referenced by propmat_clearskyAddLines().

◆ interp_add_triplequad()

void LineShape::ComputeData::interp_add_triplequad ( const ComputeData sparse)

Add a sparse grid to this grid via square interpolation.

Parameters
[in]sparseThe sparsely gridded data

Definition at line 3585 of file lineshape.cc.

References ARTS_ASSERT, inv(), N, and Math::pow2().

Referenced by propmat_clearskyAddLines().

◆ operator+=()

ComputeData & LineShape::ComputeData::operator+= ( const ComputeData other)
inline

Adds two identical compute data fields, the size must be identical.

Definition at line 844 of file lineshape.h.

References dF, dN, F, N, and N.

◆ reset()

void LineShape::ComputeData::reset ( )
inlinenoexcept

Definition at line 809 of file lineshape.h.

References N.

Member Data Documentation

◆ dF

ComplexMatrix LineShape::ComputeData::dF

Definition at line 795 of file lineshape.h.

Referenced by operator+=(), propmat_clearskyAddLines(), test_ls(), and zeeman_on_the_fly().

◆ dN

ComplexMatrix LineShape::ComputeData::dN

Definition at line 795 of file lineshape.h.

Referenced by operator+=(), propmat_clearskyAddLines(), test_ls(), and zeeman_on_the_fly().

◆ do_nlte

const bool LineShape::ComputeData::do_nlte

Definition at line 797 of file lineshape.h.

◆ F

ComplexVector LineShape::ComputeData::F

Definition at line 794 of file lineshape.h.

Referenced by operator+=(), propmat_clearskyAddLines(), test_ls(), and zeeman_on_the_fly().

◆ f_grid

const Vector& LineShape::ComputeData::f_grid

Definition at line 796 of file lineshape.h.

◆ N

ComplexVector LineShape::ComputeData::N

Definition at line 794 of file lineshape.h.

Referenced by operator+=(), propmat_clearskyAddLines(), test_ls(), and zeeman_on_the_fly().


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