FluxCalcLogFreqBrokenPolynomial: Implementation base class for flux standards which are broken polynomials of log10(frequency). More...
#include <FluxCalcLogFreqPolynomial.h>
Public Member Functions | |
FluxCalcLogFreqBrokenPolynomial () | |
template<Int lford1, Int lford2> | |
void | fill_lohi_coeffs (const RigidVector< Float, lford1 > &lorv, const MFrequency &break_freq, const RigidVector< Float, lford2 > &hirv) |
virtual Bool | operator() (Flux< Double > &value, Flux< Double > &error, const MFrequency &mfreq, const Bool updatecoeffs) |
Set the log10(frequency) polynomial coefficients for calculating the flux density and its uncertainty, and the unit (typically "MHz" or "GHz") that the coefficients assume. | |
Private Attributes | |
MFrequency | break_freq_p |
Bool | in_low_state_p |
Vector< Float > | low_coeffs_p |
Vector< Float > | high_coeffs_p |
FluxCalcLogFreqBrokenPolynomial: Implementation base class for flux standards which are broken polynomials of log10(frequency).
Public interface
From FluxCalcLogFreqPolynomial and "broken".
The FluxCalcLogFreqBrokenPolynomial class extends FluxCalcLogFreqPolynomial to allow one set of coefficients to be used below a certain frequency (the break frequency) and another above it. Ideally the sets should mesh well enough to make the resulting function at least roughly continuous.
Some of the flux classes use a broken polynomial for 1934-638, and some do not.
Definition at line 174 of file FluxCalcLogFreqPolynomial.h.
casa::FluxCalcLogFreqBrokenPolynomial::FluxCalcLogFreqBrokenPolynomial | ( | ) |
void casa::FluxCalcLogFreqBrokenPolynomial::fill_lohi_coeffs | ( | const RigidVector< Float, lford1 > & | lorv, | |
const MFrequency & | break_freq, | |||
const RigidVector< Float, lford2 > & | hirv | |||
) | [inline] |
virtual Bool casa::FluxCalcLogFreqBrokenPolynomial::operator() | ( | Flux< Double > & | value, | |
Flux< Double > & | error, | |||
const MFrequency & | mfreq, | |||
const Bool | updatecoeffs | |||
) | [virtual] |
Set the log10(frequency) polynomial coefficients for calculating the flux density and its uncertainty, and the unit (typically "MHz" or "GHz") that the coefficients assume.
Note that errcoeffs does not have to have the same number of terms as lfcoeffs, or any terms at all, and that each term in its polynomial is (errcoeff[order] * pow(log10(freq), order))**2. FluxCalcLogFreqPolynomial(const String& freqUnit, const Vector<Double>& lfcoeffs, const Vector<Double>& errcoeffs);
Set value and error with the expected flux density and its uncertainty (0.0 if unknown) at mfreq. Set updatecoeffs = True if the source considered to be time variable.
Reimplemented from casa::FluxCalcLogFreqPolynomial.
MFrequency casa::FluxCalcLogFreqBrokenPolynomial::break_freq_p [private] |
Definition at line 186 of file FluxCalcLogFreqPolynomial.h.
Vector<Float> casa::FluxCalcLogFreqBrokenPolynomial::high_coeffs_p [private] |
Definition at line 189 of file FluxCalcLogFreqPolynomial.h.
Bool casa::FluxCalcLogFreqBrokenPolynomial::in_low_state_p [private] |
Definition at line 187 of file FluxCalcLogFreqPolynomial.h.
Vector<Float> casa::FluxCalcLogFreqBrokenPolynomial::low_coeffs_p [private] |
Definition at line 188 of file FluxCalcLogFreqPolynomial.h.