casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Private Attributes
casa::PBMath1DIPoly Class Reference

PBMath1DIPoly is a 1-D Inverse Polynomial Expansion for a Primary Beam. More...

#include <PBMath1DIPoly.h>

Inheritance diagram for casa::PBMath1DIPoly:
casa::PBMath1D casa::PBMathInterface

List of all members.

Public Member Functions

 PBMath1DIPoly ()
 PBMath1DIPoly (const Vector< Double > &coeff, Quantity maxRad, Quantity refFreq, Bool isThisVP=False, BeamSquint squint=BeamSquint(MDirection(Quantity(0.0,"deg"), Quantity(0.0,"deg"), MDirection::Ref(MDirection::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.
PBMath1DIPolyoperator= (const PBMath1DIPoly &other)
 Instantiation from a row in the Beam subTable PBMath1DIPoly(const Table& BeamSubTable, Int row, Bool useSymmetricBeam=False);.
 ~PBMath1DIPoly ()
 Clone the object CountedPtr<PBMathInterface> clone();.
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);.

Protected Member Functions

void fillPBArray ()
 Fill in vp_p array from construction parameters.

Private Attributes

Vector< Doublecoeff_p

Detailed Description

PBMath1DIPoly is a 1-D Inverse Polynomial Expansion for a Primary Beam.

Intended use:

Public interface

Prerequisite

Etymology

PBMath1DIPoly: derived from PBMath1D, implements an Inverse Polynomial PB and VP

Synopsis

See PBMath1D for a general synopsis of the 1D PB types.

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.

Inverse polynomial VP model: fit polynomial to 1/(VP_data). Optionally, you can fit to 1/(VP_data) - 1, ignoring the constant polynomial term so that the PB is constrained to be 1.0 at the beam center.

Example

       coef(0) = 1.0;     / VLA model
       coef(1) = 7.22110e-04; 
       coef(2) = 1.21421e-07;
       coef(3) = 9.68612e-11; 
       coef(4) = 1.86268e-13;
       PBMath1DIPoly ipolyPB( coef, Quantity(43.0,"'"), Quantity(1.0,"GHz"));

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. The inverse polynomial PB type is used for VLA and ATNF models.

To Do

Definition at line 104 of file PBMath1DIPoly.h.


Constructor & Destructor Documentation

Definition at line 107 of file PBMath1DIPoly.h.

casa::PBMath1DIPoly::PBMath1DIPoly ( const Vector< Double > &  coeff,
Quantity  maxRad,
Quantity  refFreq,
Bool  isThisVP = False,
BeamSquint  squint = BeamSquint(MDirection(Quantity(0.0,"deg"), Quantity(0.0,"deg"), MDirection::Ref(MDirection::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.

Clone the object CountedPtr<PBMathInterface> clone();.

   

Member Function Documentation

void casa::PBMath1DIPoly::fillPBArray ( ) [protected, virtual]

Fill in vp_p array from construction parameters.

Implements casa::PBMath1D.

PBMath1DIPoly& casa::PBMath1DIPoly::operator= ( const PBMath1DIPoly other)

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

Copy constructor PBMath1DIPoly(const PBMath1DIPoly& other);

Assignment operator, by reference

void casa::PBMath1DIPoly::summary ( Int  nValues = 0) [virtual]

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

Summarize the construction data for this primary beam

Reimplemented from casa::PBMath1D.

Get the type of PB this is.

Implements casa::PBMathInterface.

Definition at line 138 of file PBMath1DIPoly.h.

References casa::PBMathInterface::IPOLY.


Member Data Documentation

Definition at line 153 of file PBMath1DIPoly.h.


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