casa
5.7.0-16
|
FluxCalcLogFreqBrokenPolynomial: Implementation base class for flux standards which are broken polynomials of log10(frequency). More...
#include <FluxCalcLogFreqPolynomial.h>
Public Member Functions | |
FluxCalcLogFreqBrokenPolynomial () | |
template<casacore::Int lford1, casacore::Int lford2> | |
void | fill_lohi_coeffs (const casacore::RigidVector< casacore::Float, lford1 > &lorv, const casacore::MFrequency &break_freq, const casacore::RigidVector< casacore::Float, lford2 > &hirv) |
virtual casacore::Bool | operator() (Flux< casacore::Double > &value, Flux< casacore::Double > &error, const casacore::MFrequency &mfreq, const casacore::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. More... | |
Public Member Functions inherited from casa::FluxCalcLogFreqPolynomial | |
virtual casacore::Bool | setSource (const casacore::String &sourceName, const casacore::MDirection &sourceDir) |
void | setFreqUnit (const casacore::String &freqUnit) |
template<casacore::Int lford, casacore::Int errord> | |
void | fill_coeffs (const casacore::RigidVector< casacore::Float, lford > &lfrv, const casacore::RigidVector< casacore::Float, errord > &errrv) |
Functions for setting up coeffs_p by taking a bunch of numbers (packaged in RigidVectors) and formatting them into coeffs_p. More... | |
template<casacore::Int lford> | |
void | fill_coeffs (const casacore::RigidVector< casacore::Float, lford > &lfrv) |
Like fill_coeffs(lfrv, errrv), but it only takes the flux density coefficients, and substitutes an empty casacore::Vector for the error coefficients. More... | |
void | fill_coeffs (const casacore::Vector< casacore::Float > &lfv) |
Public Member Functions inherited from casa::FluxStdSrcs | |
FSS::Source | srcNameToEnum (const casacore::String &srcName, const casacore::MDirection &dir) const |
Returns an enum of srcName. More... | |
casacore::String | EnumToSrcName (const FSS::Source srcEnum) const |
Returns srcName string of the srcEnum. More... | |
casacore::MDirection | getDirection (const FSS::Source srcEnum) const |
Get source direction of srcEnum. More... | |
~FluxStdSrcs () | |
Private Attributes | |
casacore::MFrequency | break_freq_p |
casacore::Bool | in_low_state_p |
casacore::Vector< casacore::Float > | low_coeffs_p |
casacore::Vector< casacore::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 176 of file FluxCalcLogFreqPolynomial.h.
casa::FluxCalcLogFreqBrokenPolynomial::FluxCalcLogFreqBrokenPolynomial | ( | ) |
void casa::FluxCalcLogFreqBrokenPolynomial::fill_lohi_coeffs | ( | const casacore::RigidVector< casacore::Float, lford1 > & | lorv, |
const casacore::MFrequency & | break_freq, | ||
const casacore::RigidVector< casacore::Float, lford2 > & | hirv | ||
) |
|
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 casacore::String& freqUnit, const casacore::Vector<casacore::Double>& lfcoeffs, const casacore::Vector<casacore::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.
|
private |
Definition at line 188 of file FluxCalcLogFreqPolynomial.h.
|
private |
Definition at line 191 of file FluxCalcLogFreqPolynomial.h.
|
private |
Definition at line 189 of file FluxCalcLogFreqPolynomial.h.
|
private |
Definition at line 190 of file FluxCalcLogFreqPolynomial.h.