PBMath1DPoly.h

Classes

PBMath1DPoly -- PBMath1DPoly is a 1-D Polynomial Expansion for a Primary Beam (full description)

class PBMath1DPoly : public PBMath1D

Interface

Public Members
PBMath1DPoly()
PBMath1DPoly(const Vector<Double>& coeff, Quantity maxRad, Quantity refFreq, Bool isThisVP=False, BeamSquint squint=BeamSquint(isThisVP(Quantity(0.0, "deg"), Quantity(0.0, "deg"), isThisVP::Ref(isThisVP::AZEL)), Quantity(1.0, "GHz")), Bool useSymmetricBeam=False)
PBMath1DPoly& operator=(const PBMath1DPoly& other)
~PBMath1DPoly()
PBMathInterface::PBClass whichPBClass()
void summary(Int nValues=0)
Protected Members
void fillPBArray()

Description

Prerequisite

Etymology

PBMath1DPoly: derived from PBMath1D, implements an Polynomial PB and VP

Synopsis

PBMath1DPoly: a voltage pattern expressed as a polynomial of even powers of x:

VP(x) = sum_i coeff_i * x ^{2i} out to maximumRadius (referenced to the reference frequency)

x is in arcminutes, referenced to the reference frequency

This move may make me a bit unpopular: since the PBMath1D constructors construct a Voltage Pattern, the coeficienct for a polynomial type must be in terms of the VP, not the PB. Hence, go back to the original PB data, take the square root, and fit the same type polynomial to the VP data.

Example


 

Motivation

All of the 1-D PB types have everything in common except for the details of their parameterization. This lightweight class deals with those differences: construction, filling the PBArray from construction parameters, and flushing to disk. VLA and ATNF PBs are tabulated in terms of polynimials.

To Do

Member Description

PBMath1DPoly()

PBMath1DPoly(const Vector<Double>& coeff, Quantity maxRad, Quantity refFreq, Bool isThisVP=False, BeamSquint squint=BeamSquint(isThisVP(Quantity(0.0, "deg"), Quantity(0.0, "deg"), isThisVP::Ref(isThisVP::AZEL)), Quantity(1.0, "GHz")), Bool useSymmetricBeam=False)

Instantiation from arguments; default = no squint squint is the offset from pointing center if the Stokes R beam useSymmetricBeam forces a fit to the squinted beam

PBMath1DPoly& operator=(const PBMath1DPoly& other)

Instantiation from a row in the Beam subTable PBMath1DPoly(const Table& BeamSubTable, Int row, Bool useSymmetricBeam=False);

Copy constructor PBMath1DPoly(const PBMath1DPoly& other);

Assignment operator, by reference

~PBMath1DPoly()

Clone the object CountedPtr clone();

Destructor

PBMathInterface::PBClass whichPBClass()

Get the type of PB this is

void summary(Int nValues=0)

Flush the construction parameters to disk Bool flushToTable(Table& beamSubTable, Int iRow);

Summarize the construction data for this primary beam

void fillPBArray()

Fill in vp_p array from construction parameters