mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
mx::astro::sqWaveFilter< _units, _rsr > Struct Template Reference

template<typename _units, bool _rsr = true>
struct mx::astro::sqWaveFilter< _units, _rsr >

A square-wave filter spectrum.

Parameters specify the central wavelength, width, and sampling (all in microns) of a square-wave type filter.

To create this filter:

typedef double realT;
realT lam0 = 0.5; //Central wavelength in microns
realT fw = 0.05; //Full-width, in microns.
realT dlam = 0.001; //Delta-lambda for specifying the defining points. See note.
astroSpectrum<sqWaveFilter<units::si<realT>>> filt({ lam0, fw, dlam});
filt.setSpectrum(grid_meters); // grid_meters is a vector<realT> specifying the wavelength grid in meters

Note that dlam specifies how sharp the filter edges are when interpolated. Larger values will make the filter more trapezoidal.

Definition at line 140 of file astroSpectra.hpp.

#include <astro/astroSpectra.hpp>

Classes

struct  paramsT
 The square wave is parameterized by the central wavelength, width, and sampling (all in microns). More...
 

Static Public Member Functions

static int readSpectrum (std::vector< realT > &rawLambda, std::vector< realT > &rawSpectrum, const std::string &path, const paramsT &params)
 

Static Public Attributes

static constexpr realT wavelengthUnits = static_cast<realT>(1e6)
 Convert from um to SI m. More...
 
static constexpr realT fluxUnits = static_cast<realT>(1)
 No conversion is performed on filter transmission. More...
 

Member Function Documentation

◆ readSpectrum()

template<typename _units , bool _rsr = true>
static int mx::astro::sqWaveFilter< _units, _rsr >::readSpectrum ( std::vector< realT > &  rawLambda,
std::vector< realT > &  rawSpectrum,
const std::string &  path,
const paramsT params 
)
inlinestatic
Parameters
[out]rawLambdathe raw wavelength vector. This should be an empty vector on input.
[out]rawSpectrumthe raw spectrum. This should be an empty vector on input.
[in]paththe full path to the file.
[in]paramsthe parameters are passed in case needed to construct the spectrum

Definition at line 168 of file astroSpectra.hpp.

References mx::astro::sqWaveFilter< _units, _rsr >::paramsT::dlam, mx::astro::sqWaveFilter< _units, _rsr >::paramsT::fw, and mx::astro::sqWaveFilter< _units, _rsr >::paramsT::lam0.

Member Data Documentation

◆ fluxUnits

template<typename _units , bool _rsr = true>
constexpr realT mx::astro::sqWaveFilter< _units, _rsr >::fluxUnits = static_cast<realT>(1)
staticconstexpr

No conversion is performed on filter transmission.

Definition at line 159 of file astroSpectra.hpp.

◆ wavelengthUnits

template<typename _units , bool _rsr = true>
constexpr realT mx::astro::sqWaveFilter< _units, _rsr >::wavelengthUnits = static_cast<realT>(1e6)
staticconstexpr

Convert from um to SI m.

Definition at line 156 of file astroSpectra.hpp.


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