casa
$Rev:20696$
|
PBMath1DCosPoly is a 1-D Polynomial Cosine Expansion for a Primary Beam. More...
#include <PBMath1DCosPoly.h>
Public Member Functions | |
PBMath1DCosPoly () | |
PBMath1DCosPoly (const Vector< Double > &coeff, const Vector< Double > &cosScale, 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. | |
PBMath1DCosPoly & | operator= (const PBMath1DCosPoly &other) |
Instantiation from a row in the Beam subTable PBMath1DCosPoly(const Table& BeamSubTable, Int row, Bool useSymmetricBeam=False);. | |
~PBMath1DCosPoly () | |
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< Double > | coeff_p |
Vector< Double > | cosScale_p |
PBMath1DCosPoly is a 1-D Polynomial Cosine Expansion for a Primary Beam.
Public interface
PBMath1DCosPoly: derived from PBMath1D, implements a polynomial of Cosines of different widths
PBMath1DCosPoly: a voltage pattern expressed as a polynomial of cosines (all powers of them):
VP(x) = sum_i coeff_i * cos( scale_i * x )^{i}
x is in arcminutes, referenced to 1GHz frequency; the argument of the cosines are in radians
Vector<Double> cosCoef(4); Vector<Double> cosScale(4); cosCoef.set(0.0); cosScale.set(0.0); cosCoef(3) = 1.0; cosScale(3) = 0.01891; // 0.01891 = 0.065 * 1000(MHz/GHz) /(60(arcm/deg)) * 2pi/180 PBMath1DCosPoly cosPB(cosCoef, cosScale, Quantity(1.0, "deg"), Quantity(1.0, "GHz") ); cosPB.applyPB( im3, im4, pointingDir);
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. WSRT uses this model.
Definition at line 95 of file PBMath1DCosPoly.h.
casa::PBMath1DCosPoly::PBMath1DCosPoly | ( | const Vector< Double > & | coeff, |
const Vector< Double > & | cosScale, | ||
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();.
destructor
void casa::PBMath1DCosPoly::fillPBArray | ( | ) | [protected, virtual] |
Fill in vp_p array from construction parameters.
Implements casa::PBMath1D.
PBMath1DCosPoly& casa::PBMath1DCosPoly::operator= | ( | const PBMath1DCosPoly & | other | ) |
Instantiation from a row in the Beam subTable PBMath1DCosPoly(const Table& BeamSubTable, Int row, Bool useSymmetricBeam=False);.
Copy constructor PBMath1DCosPoly(const PBMath1DCosPoly& other);
Assignment operator, by reference
void casa::PBMath1DCosPoly::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.
PBMathInterface::PBClass casa::PBMath1DCosPoly::whichPBClass | ( | ) | [inline, virtual] |
Get the type of PB this is.
Implements casa::PBMathInterface.
Definition at line 130 of file PBMath1DCosPoly.h.
References casa::PBMathInterface::COSPOLY.
Vector<Double> casa::PBMath1DCosPoly::coeff_p [private] |
Definition at line 146 of file PBMath1DCosPoly.h.
Vector<Double> casa::PBMath1DCosPoly::cosScale_p [private] |
Definition at line 147 of file PBMath1DCosPoly.h.