PBMath1DPoly.h
Classes
- PBMath1DPoly -- PBMath1DPoly is a 1-D Polynomial Expansion for a Primary Beam (full description)
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()
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
- constructor from a MS beam subtable
- flush to MS beam subtable
Member Description
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
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
Fill in vp_p array from construction parameters