PBMath1DAiry.h
Classes
- PBMath1DAiry -- PBMath1DAiry is a 1-D Airy Disk voltage pattern & Primary Beam (full description)
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()
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
- constructor from a MS beam subtable
- flush to MS beam subtable
Member Description
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
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