PBMath1DGauss.h

Classes

PBMath1DGauss -- PBMath1DGauss is a 1-D Gaussian Primary Beam (full description)

class PBMath1DGauss : public PBMath1D

Interface

Public Members
PBMath1DGauss()
PBMath1DGauss( Quantity halfWidth, 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)
PBMath1DGauss& operator=(const PBMath1DGauss& other)
~PBMath1DGauss()
PBMathInterface::PBClass whichPBClass()
void summary(Int nValues=0)
Protected Members
void fillPBArray()

Description

Prerequisite

Etymology

PBMath1DGauss: derived from PBMath1D, implements a gaussian PB and VP

Synopsis

See PBMath1D for a general synopsis of the 1D PB types. Remember that we construct based on Voltage Patterns rather than primary beams. The Voltage Pattern HWHM width will be sqrt(2) times larger than the Primary Beam HWHM.

VP(x) = exp( - ( x/HWHM )**2 * log(2) ), out to maximumRadius

Example


    PBMath1DGauss myPB  (Quantity(1.0, "'"),
                         Quantity(3.0, "'"),
                         Quantity(1.0, "GHz"),
                         BeamSquint(MDirection(Quantity(2.0, "\""),
                                                         Quantity(0.0, "\""),
                                                         MDirection::Ref(MDirection::AZEL)),
                                    Quantity(2.0, "GHz")),
                         False);

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. BIMA uses a Gaussian PB.

To Do

Member Description

PBMath1DGauss()

PBMath1DGauss( Quantity halfWidth, 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 width = Half-Width-Half-max maxRad = half-width at zero intensity

PBMath1DGauss& operator=(const PBMath1DGauss& other)

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

Copy constructor PBMath1DGauss(const PBMath1DGauss& other);

Assignment operator, by reference

~PBMath1DGauss()

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