PBMath1DGauss.h
Classes
- PBMath1DGauss -- PBMath1DGauss is a 1-D Gaussian Primary Beam (full description)
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()
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
- constructor from a MS beam subtable
- flush to MS beam subtable
Member Description
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
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