mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
Loading...
Searching...
No Matches

Calculation of the temporal PSD of Fourier modes. More...

Calculation of the temporal PSD of Fourier modes.

Author
Jared R. Males (jared.nosp@m.male.nosp@m.s@gma.nosp@m.il.c.nosp@m.om)

Definition in file fourierTemporalPSD.hpp.

#include <algorithm>
#include <atomic>
#include <cmath>
#include <iostream>
#include <fstream>
#include <limits>
#include <map>
#include <memory>
#include <mutex>
#include <sys/stat.h>
#include <gsl/gsl_integration.h>
#include <gsl/gsl_errno.h>
#include <Eigen/Dense>
#include "../../mxlib.hpp"
#include "../../math/constants.hpp"
#include "../../math/floatUtils.hpp"
#include "../../math/func/jinc.hpp"
#include "../../math/func/airyPattern.hpp"
#include "../../math/vectorUtils.hpp"
#include "../../ioutils/fits/fitsFile.hpp"
#include "../../sigproc/fourierModes.hpp"
#include "../../sigproc/psdVarMean.hpp"
#include "../../ioutils/stringUtils.hpp"
#include "../../ioutils/readColumns.hpp"
#include "../../ioutils/binVector.hpp"
#include "../../ioutils/fileUtils.hpp"
#include "../../ipc/ompLoopWatcher.hpp"
#include "aoSystem.hpp"
#include "aoPSDs.hpp"
#include "wfsNoisePSD.hpp"
#include "clAOLinearPredictor.hpp"
#include "clGainOpt.hpp"
#include "varmapToImage.hpp"
#include "speckleAmpPSD.hpp"
#include "aoConstants.hpp"

Go to the source code of this file.

Classes

struct  mx::AO::analysis::fourierTemporalPSDReport< realT >
 Aggregated GSL quadrature diagnostics for a Fourier temporal PSD calculation. More...
struct  mx::AO::analysis::fourierTemporalPSDReport< realT >::statusSummary
 Summary of one GSL status code. More...
struct  mx::AO::analysis::fourierTemporalPSD< _realT, aosysT >
 Class to manage the calculation of temporal PSDs of the Fourier modes in atmospheric turbulence. More...

Namespaces

namespace  mx
 The mxlib c++ namespace.

Macros

#define WSZ   100000
 Size of the GSL integration workspace.

Enumerations

enum  mx::AO::analysis::basis : unsigned int { mx::AO::analysis::basic , mx::AO::analysis::modified }
enum class  mx::AO::analysis::fourierTemporalPSDPolicy { permissive , strict }
 Policy for handling GSL quadrature non-convergence statuses. More...

Functions

template<typename realT, typename aosysT>
realT mx::AO::analysis::F_basic (realT kv, void *params)
 Worker function for GSL Integration for the basic sin/cos Fourier modes.
template<typename realT, typename aosysT>
realT mx::AO::analysis::F_mod (realT kv, void *params)
 Worker function for GSL Integration for the modified Fourier modes.

Macro Definition Documentation

◆ WSZ

#define WSZ   100000

Size of the GSL integration workspace.

Definition at line 85 of file fourierTemporalPSD.hpp.

Enumeration Type Documentation

◆ basis

enum mx::AO::analysis::basis : unsigned int
Enumerator
basic 

The basic sine and cosine Fourier modes.

modified 

The modified Fourier basis from [20].

Definition at line 89 of file fourierTemporalPSD.hpp.

◆ fourierTemporalPSDPolicy

Policy for handling GSL quadrature non-convergence statuses.

Enumerator
permissive 

Retain the best finite approximation and record the status.

strict 

Record every status and return an error if any integration does not converge.

Definition at line 96 of file fourierTemporalPSD.hpp.