casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
casa::FluxCalcLogFreqBrokenPolynomial Class Reference

FluxCalcLogFreqBrokenPolynomial: Implementation base class for flux standards which are broken polynomials of log10(frequency). More...

#include <FluxCalcLogFreqPolynomial.h>

Inheritance diagram for casa::FluxCalcLogFreqBrokenPolynomial:
casa::FluxCalcLogFreqPolynomial casa::FluxCalcVQS casa::FluxStdSrcs casa::FluxStdPerleyButler2010 casa::FluxStdPerleyButler2013 casa::FluxStdPerleyTaylor99 casa::NSTDS::FluxStdPerleyButler2010 casa::NSTDS::FluxStdPerleyTaylor99 casa::NSTDS::FluxStdStevensReynolds2016

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::Floatlow_coeffs_p
 
casacore::Vector< casacore::Floathigh_coeffs_p
 

Additional Inherited Members

- Public Types inherited from casa::FluxCalcLogFreqPolynomial
typedef casacore::RigidVector
< casacore::Float, 2 > 
RVF2
 Some abbreviations, since the classes derived from this have to define many polynomial coefficients. More...
 
typedef casacore::RigidVector
< casacore::Float, 3 > 
RVF3
 
typedef casacore::RigidVector
< casacore::Float, 4 > 
RVF4
 
typedef casacore::RigidVector
< casacore::Float, 5 > 
RVF5
 
- Public Types inherited from casa::FluxCalcVQS
typedef FluxCalcVQS FCVQS
 
typedef casacore::RigidVector
< casacore::String, 4 > 
RVS4
 
typedef casacore::RigidVector
< casacore::String, 5 > 
RVS5
 
- Public Types inherited from casa::FluxStdSrcs
enum  Source {
  THREEC286,
  THREEC48,
  THREEC147,
  THREEC138,
  NINETEEN34M638,
  THREEC295,
  THREEC196,
  THREEC123,
  THREEC380,
  J0133,
  FORNAXA,
  J0444,
  PICTORA,
  TAURUSA,
  HYDRAA,
  VIRGOA,
  HERCULESA,
  THREEC353,
  CYGNUSA,
  THREEC444,
  CASSIOPEIAA,
  NUMBER_SOURCES,
  UNKNOWN_SOURCE
}
 Source identifiers. More...
 
typedef FluxStdSrcs FSS
 
typedef casacore::RigidVector
< casacore::String, 6 > 
RVS6
 
- Public Attributes inherited from casa::FluxCalcVQS
 NUMBER_SOURCES
 Source identifiers. More...
 
- Protected Member Functions inherited from casa::FluxStdSrcs
 FluxStdSrcs ()
 

Detailed Description

FluxCalcLogFreqBrokenPolynomial: Implementation base class for flux standards which are broken polynomials of log10(frequency).

Intended use:

Public interface

Prerequisite

Etymology

From FluxCalcLogFreqPolynomial and "broken".

Synopsis

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.

Example

Motivation

Some of the flux classes use a broken polynomial for 1934-638, and some do not.

To Do

Definition at line 176 of file FluxCalcLogFreqPolynomial.h.

Constructor & Destructor Documentation

casa::FluxCalcLogFreqBrokenPolynomial::FluxCalcLogFreqBrokenPolynomial ( )

Member Function Documentation

template<casacore::Int lford1, casacore::Int lford2>
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 casacore::Bool casa::FluxCalcLogFreqBrokenPolynomial::operator() ( Flux< casacore::Double > &  value,
Flux< casacore::Double > &  error,
const casacore::MFrequency mfreq,
const casacore::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 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.

Member Data Documentation

casacore::MFrequency casa::FluxCalcLogFreqBrokenPolynomial::break_freq_p
private

Definition at line 188 of file FluxCalcLogFreqPolynomial.h.

casacore::Vector<casacore::Float> casa::FluxCalcLogFreqBrokenPolynomial::high_coeffs_p
private

Definition at line 191 of file FluxCalcLogFreqPolynomial.h.

casacore::Bool casa::FluxCalcLogFreqBrokenPolynomial::in_low_state_p
private

Definition at line 189 of file FluxCalcLogFreqPolynomial.h.

casacore::Vector<casacore::Float> casa::FluxCalcLogFreqBrokenPolynomial::low_coeffs_p
private

Definition at line 190 of file FluxCalcLogFreqPolynomial.h.


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