PBMath1DAiry.h

Classes

PBMath1DAiry -- PBMath1DAiry is a 1-D Airy Disk voltage pattern & Primary Beam (full description)

class PBMath1DAiry : public PBMath1D

Interface

Public Members
PBMath1DAiry()
PBMath1DAiry(Quantity dishDiam, Quantity blockedDiam, Quantity maxRad, Quantity refFreq, BeamSquint squint=BeamSquint(MDirection(Quantity(0.0, "deg"), Quantity(0.0, "deg"), MDirection::Ref(MDirection::AZEL)), Quantity(1.0, "GHz")), Bool useSymmetricBeam=False)
PBMath1DAiry& operator=(const PBMath1DAiry& other)
~PBMath1DAiry()
PBMathInterface::PBClass whichPBClass()
void summary(Int nValues=0)
Protected Members
void fillPBArray()

Description

Prerequisite

Etymology

PBMath1DAiry: derived from PBMath1D, implements an Airy pattern PB and VP

Synopsis

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

For an unblocked dish: VP(x) = 2 * j1(x)/x

For blockage: areaRatio = (dish/block)^2; lengthRat = (dish/block); VP(x) = ( areaRatio* 2 * j1(x)/x - 2 j1(x*lengthRat)/(x*lengthRat) ) / (areaRatio - 1);

Example

    PBMath1DAiry airyPB( Quantity(24.5,"m"), Quantity(2.5,"m"),
                         Quantity(2*0.8564,"deg"), Quantity(1.0,"GHz") );
    airyPB.applyPB( inImage, outImage, pointingDir);

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.

To Do

Member Description

PBMath1DAiry()

PBMath1DAiry(Quantity dishDiam, Quantity blockedDiam, Quantity maxRad, Quantity refFreq, 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; referenceFreq is used to scale maximumradius. default = no squint squint is the offset from pointing center if the Stokes R beam useSymmetricBeam forces a fit to the squinted beam

PBMath1DAiry& operator=(const PBMath1DAiry& other)

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

Copy constructor PBMath1DAiry(const PBMath1DAiry& other);

Assignment operator, by reference

~PBMath1DAiry()

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