mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
mx::AO::analysis::fourierCovariance< realT, aosysT > Struct Template Reference

template<typename realT, typename aosysT>
struct mx::AO::analysis::fourierCovariance< realT, aosysT >

Structure to manage the Fourier mode covariance calculation, passed to integration functions.

Template Parameters
realTa floating point type used for all calculations. As of Nov 2016 must be double due to gsl_integration.
aosysTthe type of the AO system structure

Definition at line 249 of file fourierCovariance.hpp.

#include <ao/analysis/fourierCovariance.hpp>

Public Member Functions

 fourierCovariance ()
 Constructor. More...
 
 ~fourierCovariance ()
 Destructor. More...
 
realT getVariance (realT &error)
 Calculate the covariance between the two modes. More...
 

Public Attributes

aosysT * aosys {nullptr}
 Pointer to an AO system, which contains the relevant spatial PSD of turbulence. More...
 
bool useBasic {false}
 Flag controlling use of basic or modified Fourier modes. If true, the basic sin/cos modes are used. If false (default), the modified modes are u sed. More...
 
int p
 p-index of the unprimed mode. +/-1 for modified modes. If basic, then +1==>cosine, -1==>sine. More...
 
realT m
 The m-index of the unprimed mode, corresponding to the \( k_u = m/D \) component of spatial frequency. More...
 
realT n
 The n-indexof the unprimed mode, corresponding to the \( k_v = n/D \) component of spatial frequency. More...
 
int pp
 p-index of the primed mode. +/-1 for modified modes. If basic, then +1==>cosine, -1==>sine. More...
 
realT mp
 The m-index of the primed mode, corresponding to the \( k_u = m/D \) component of spatial frequency. More...
 
realT np
 The n-indexof the primed mode, corresponding to the \( k_v = n/D \) component of spatial frequency. More...
 
realT k
 Spatial frequency being calculated, passed for use in the integrand worker functions. More...
 
realT mnCon {0}
 The maximum controlled value of spatial frequency (k*D). If < 0 then not controlled. More...
 
realT absTol {1e-7}
 Absolute tolerance for the radial integral. Default is 1e-7. More...
 
realT relTol {1e-7}
 Relative tolerance for the radial integral. Default is 1e-7. More...
 
gsl_integration_workspace * phi_w
 Working memory for the azimuthal integral. More...
 
gsl_integration_workspace * k_w
 Working memory for the radial integral. More...
 

Constructor & Destructor Documentation

◆ fourierCovariance()

template<typename realT , typename aosysT >
mx::AO::analysis::fourierCovariance< realT, aosysT >::fourierCovariance ( )
inline

◆ ~fourierCovariance()

template<typename realT , typename aosysT >
mx::AO::analysis::fourierCovariance< realT, aosysT >::~fourierCovariance ( )
inline

Member Function Documentation

◆ getVariance()

template<typename realT , typename aosysT >
realT mx::AO::analysis::fourierCovariance< realT, aosysT >::getVariance ( realT &  error)
inline

Member Data Documentation

◆ absTol

template<typename realT , typename aosysT >
realT mx::AO::analysis::fourierCovariance< realT, aosysT >::absTol {1e-7}

Absolute tolerance for the radial integral. Default is 1e-7.

Definition at line 282 of file fourierCovariance.hpp.

Referenced by mx::AO::analysis::fourierVarVec(), and mx::AO::analysis::fourierCovariance< realT, aosysT >::getVariance().

◆ aosys

template<typename realT , typename aosysT >
aosysT* mx::AO::analysis::fourierCovariance< realT, aosysT >::aosys {nullptr}

Pointer to an AO system, which contains the relevant spatial PSD of turbulence.

Definition at line 252 of file fourierCovariance.hpp.

Referenced by mx::AO::analysis::fourierVarVec(), mx::AO::analysis::phiInt_basic(), and mx::AO::analysis::phiInt_mod().

◆ k

template<typename realT , typename aosysT >
realT mx::AO::analysis::fourierCovariance< realT, aosysT >::k

Spatial frequency being calculated, passed for use in the integrand worker functions.

Definition at line 276 of file fourierCovariance.hpp.

Referenced by mx::AO::analysis::kInt(), mx::AO::analysis::phiInt_basic(), and mx::AO::analysis::phiInt_mod().

◆ k_w

template<typename realT , typename aosysT >
gsl_integration_workspace* mx::AO::analysis::fourierCovariance< realT, aosysT >::k_w

◆ m

template<typename realT , typename aosysT >
realT mx::AO::analysis::fourierCovariance< realT, aosysT >::m

The m-index of the unprimed mode, corresponding to the \( k_u = m/D \) component of spatial frequency.

Definition at line 261 of file fourierCovariance.hpp.

Referenced by mx::AO::analysis::fourierVarVec(), mx::AO::analysis::phiInt_basic(), and mx::AO::analysis::phiInt_mod().

◆ mnCon

template<typename realT , typename aosysT >
realT mx::AO::analysis::fourierCovariance< realT, aosysT >::mnCon {0}

The maximum controlled value of spatial frequency (k*D). If < 0 then not controlled.

Definition at line 279 of file fourierCovariance.hpp.

Referenced by mx::AO::analysis::fourierVarVec(), and mx::AO::analysis::phiInt_mod().

◆ mp

template<typename realT , typename aosysT >
realT mx::AO::analysis::fourierCovariance< realT, aosysT >::mp

The m-index of the primed mode, corresponding to the \( k_u = m/D \) component of spatial frequency.

Definition at line 270 of file fourierCovariance.hpp.

Referenced by mx::AO::analysis::fourierVarVec(), mx::AO::analysis::phiInt_basic(), and mx::AO::analysis::phiInt_mod().

◆ n

template<typename realT , typename aosysT >
realT mx::AO::analysis::fourierCovariance< realT, aosysT >::n

The n-indexof the unprimed mode, corresponding to the \( k_v = n/D \) component of spatial frequency.

Definition at line 264 of file fourierCovariance.hpp.

Referenced by mx::AO::analysis::fourierVarVec(), mx::AO::analysis::phiInt_basic(), and mx::AO::analysis::phiInt_mod().

◆ np

template<typename realT , typename aosysT >
realT mx::AO::analysis::fourierCovariance< realT, aosysT >::np

The n-indexof the primed mode, corresponding to the \( k_v = n/D \) component of spatial frequency.

Definition at line 273 of file fourierCovariance.hpp.

Referenced by mx::AO::analysis::fourierVarVec(), mx::AO::analysis::phiInt_basic(), and mx::AO::analysis::phiInt_mod().

◆ p

template<typename realT , typename aosysT >
int mx::AO::analysis::fourierCovariance< realT, aosysT >::p

p-index of the unprimed mode. +/-1 for modified modes. If basic, then +1==>cosine, -1==>sine.

Definition at line 258 of file fourierCovariance.hpp.

Referenced by mx::AO::analysis::fourierVarVec(), mx::AO::analysis::phiInt_basic(), and mx::AO::analysis::phiInt_mod().

◆ phi_w

template<typename realT , typename aosysT >
gsl_integration_workspace* mx::AO::analysis::fourierCovariance< realT, aosysT >::phi_w

◆ pp

template<typename realT , typename aosysT >
int mx::AO::analysis::fourierCovariance< realT, aosysT >::pp

p-index of the primed mode. +/-1 for modified modes. If basic, then +1==>cosine, -1==>sine.

Definition at line 267 of file fourierCovariance.hpp.

Referenced by mx::AO::analysis::fourierVarVec(), mx::AO::analysis::phiInt_basic(), and mx::AO::analysis::phiInt_mod().

◆ relTol

template<typename realT , typename aosysT >
realT mx::AO::analysis::fourierCovariance< realT, aosysT >::relTol {1e-7}

Relative tolerance for the radial integral. Default is 1e-7.

Definition at line 285 of file fourierCovariance.hpp.

Referenced by mx::AO::analysis::fourierVarVec(), and mx::AO::analysis::fourierCovariance< realT, aosysT >::getVariance().

◆ useBasic

template<typename realT , typename aosysT >
bool mx::AO::analysis::fourierCovariance< realT, aosysT >::useBasic {false}

Flag controlling use of basic or modified Fourier modes. If true, the basic sin/cos modes are used. If false (default), the modified modes are u sed.

Definition at line 255 of file fourierCovariance.hpp.

Referenced by mx::AO::analysis::kInt().


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