casa
5.7.0-16
|
PBMath1DAiry is a 1-D Airy Disk voltage pattern & Primary Beam. More...
#include <PBMath1DAiry.h>
Public Member Functions | |
PBMath1DAiry () | |
PBMath1DAiry (casacore::Quantity dishDiam, casacore::Quantity blockedDiam, casacore::Quantity maxRad, casacore::Quantity refFreq, BeamSquint squint=BeamSquint(casacore::MDirection(casacore::Quantity(0.0,"deg"), casacore::Quantity(0.0,"deg"), casacore::MDirection::Ref(casacore::MDirection::AZEL)), casacore::Quantity(1.0,"GHz")), casacore::Bool useSymmetricBeam=false) | |
Instantiation from arguments; referenceFreq is used to scale maximumradius. More... | |
PBMath1DAiry & | operator= (const PBMath1DAiry &other) |
Instantiation from a row in the Beam subTable PBMath1DAiry(const casacore::Table& BeamSubTable, casacore::Int row, casacore::Bool useSymmetricBeam=false); More... | |
~PBMath1DAiry () | |
Clone the object casacore::CountedPtr<PBMathInterface> clone();. More... | |
PBMathInterface::PBClass | whichPBClass () |
Get the type of PB this is. More... | |
void | summary (casacore::Int nValues=0) |
Flush the construction parameters to disk casacore::Bool flushToTable(casacore::Table& beamSubTable, casacore::Int iRow);. More... | |
Public Member Functions inherited from casa::PBMath1D | |
PBMath1D (casacore::Quantity maximumRadius, casacore::Quantity refFreq, casacore::Bool isThisVP, BeamSquint squint, casacore::Bool useSymmetricBeam) | |
virtual | ~PBMath1D ()=0 |
void | viewPB (casacore::Vector< casacore::Float > &r, casacore::Vector< casacore::Float > &PB, casacore::Int n_elements, const casacore::Double freq=1.0e9) |
Get the PB in a vector to look at Concerning n_elements: they are evenly spaced between 0 and maxradius. More... | |
virtual casacore::Bool | ok () |
Is state of PBMath OK? More... | |
casacore::ImageRegion * | extent (const casacore::ImageInterface< casacore::Complex > &in, const casacore::MDirection &pointing, const casacore::Int irow, const casacore::Float fPad, const casacore::Int iChan, const SkyJones::SizeType sizeType) |
Get the casacore::ImageRegion of the primary beam on an Image for a given pointing Note: casacore::ImageRegion is not necesarily constrained to lie within the image region (for example, if the pointing center is near the edge of the image). More... | |
casacore::ImageRegion * | extent (const casacore::ImageInterface< casacore::Float > &in, const casacore::MDirection &pointing, const casacore::Int irow, const casacore::Float fPad, const casacore::Int iChan, const SkyJones::SizeType sizeType) |
virtual casacore::Int | support (const casacore::CoordinateSystem &cs) |
Public Member Functions inherited from casa::PBMathInterface | |
PBMathInterface (casacore::Bool isThisVP, BeamSquint squint, casacore::Bool useSymmetricBeam) | |
Useful constructor. More... | |
virtual | ~PBMathInterface ()=0 |
virtual destructor More... | |
casacore::ImageInterface < casacore::Complex > & | applyVP (const casacore::ImageInterface< casacore::Complex > &in, casacore::ImageInterface< casacore::Complex > &out, const casacore::MDirection &sp, const casacore::Quantity parAngle=casacore::Quantity(0.0,"deg"), const BeamSquint::SquintType doSquint=BeamSquint::NONE, casacore::Bool inverse=false, casacore::Bool conjugate=false, casacore::Float cutoff=0.01, casacore::Bool forward=true) |
Apply Jones matrix to an image (and adjoint) More... | |
casacore::ImageInterface < casacore::Complex > & | applyPB (const casacore::ImageInterface< casacore::Complex > &in, casacore::ImageInterface< casacore::Complex > &out, const casacore::MDirection &sp, const casacore::Quantity parAngle=casacore::Quantity(0.0,"deg"), const BeamSquint::SquintType doSquint=BeamSquint::NONE, casacore::Bool inverse=false, casacore::Float cutoff=0.01, casacore::Bool forward=true) |
casacore::ImageInterface < casacore::Float > & | applyPB (const casacore::ImageInterface< casacore::Float > &in, casacore::ImageInterface< casacore::Float > &out, const casacore::MDirection &sp, const casacore::Quantity parAngle=casacore::Quantity(0.0,"deg"), const BeamSquint::SquintType doSquint=BeamSquint::NONE, casacore::Float cutoff=0.01) |
casacore::ImageInterface < casacore::Float > & | applyPB2 (const casacore::ImageInterface< casacore::Float > &in, casacore::ImageInterface< casacore::Float > &out, const casacore::MDirection &sp, const casacore::Quantity parAngle=casacore::Quantity(0.0,"deg"), const BeamSquint::SquintType doSquint=BeamSquint::NONE, casacore::Float cutoff=0.01) |
This has a very specialized role (in SkyEquation) and should not be used elsewhere. More... | |
SkyComponent & | applyVP (SkyComponent &in, SkyComponent &out, const casacore::MDirection &sp, const casacore::Quantity frequency, const casacore::Quantity parAngle=casacore::Quantity(0.0,"deg"), const BeamSquint::SquintType doSquint=BeamSquint::NONE, casacore::Bool inverse=false, casacore::Bool conjugate=false, casacore::Float cutoff=0.01, casacore::Bool forward=true) |
Apply Jones matrix to a sky component (and adjoint) More... | |
SkyComponent & | applyPB (SkyComponent &in, SkyComponent &out, const casacore::MDirection &sp, const casacore::Quantity frequency, const casacore::Quantity parAngle=casacore::Quantity(0.0,"deg"), const BeamSquint::SquintType doSquint=BeamSquint::NONE, casacore::Bool inverse=false, casacore::Float cutoff=0.01, casacore::Bool forward=true) |
SkyComponent & | applyPB2 (SkyComponent &in, SkyComponent &out, const casacore::MDirection &sp, const casacore::Quantity frequency, const casacore::Quantity parAngle=casacore::Quantity(0.0,"deg"), const BeamSquint::SquintType doSquint=BeamSquint::NONE) |
void | namePBClass (casacore::String &name) |
Convert PBClass enumeration into PBClass String. More... | |
virtual void | setUseSymmetric (casacore::Bool useSym=true) |
Fit an azimuthally symmetric beam to the squinted or otherwise 2-D beam for casacore::Stokes I? More... | |
virtual casacore::Bool | getUseSymmetric () |
Get value of useSymmetric. More... | |
virtual void | setBandOrFeedName (const casacore::String elnamo) |
Protected Member Functions | |
void | fillPBArray () |
Fill in vp_p array from construction parameters. More... | |
Protected Member Functions inherited from casa::PBMath1D | |
PBMath1D () | |
Protect default constructor: this will do you no good. More... | |
void | extentguts (const casacore::CoordinateSystem &coords, const casacore::MDirection &pointing, const casacore::Float fPad, const casacore::Int iChan, casacore::Vector< casacore::Float > &blc, casacore::Vector< casacore::Float > &trc) |
calculate the limited box of the Primary Beam model's support, return in blc and trc (which are NOT contrained to be inside the image More... | |
void | refineSize (casacore::Vector< casacore::Float > &blc, casacore::Vector< casacore::Float > &trc, const casacore::IPosition &shape, SkyJones::SizeType) |
push blc lower, trc higher such that they define an image which is a power of 2 in size. More... | |
casacore::ImageInterface < casacore::Complex > & | apply (const casacore::ImageInterface< casacore::Complex > &in, casacore::ImageInterface< casacore::Complex > &out, const casacore::MDirection &sp, const casacore::Quantity parAngle, const BeamSquint::SquintType doSquint, casacore::Bool inverse, casacore::Bool conjugate, casacore::Int ipower, casacore::Float cutoff, casacore::Bool forward) |
lower level helping apply methods More... | |
casacore::ImageInterface < casacore::Float > & | apply (const casacore::ImageInterface< casacore::Float > &in, casacore::ImageInterface< casacore::Float > &out, const casacore::MDirection &sp, const casacore::Quantity parAngle, const BeamSquint::SquintType doSquint, casacore::Float cutoff, const casacore::Int ipower=4) |
SkyComponent & | apply (SkyComponent &in, SkyComponent &out, const casacore::MDirection &sp, const casacore::Quantity frequency, const casacore::Quantity parAngle, const BeamSquint::SquintType doSquint, casacore::Bool inverse, casacore::Bool conjugate, casacore::Int ipower, casacore::Float cutoff, casacore::Bool forward) |
PB and PB^2. More... | |
For wideband beams fill the tabulated vp_p by the interpolated beam at the freq *virtual void | nearestVPArray (double freq, bool printINFO=true) |
void | symmetrizeSquintedBeam () |
Helper method to fit a circularly symmetric beam to the squinted RR + LL beam. More... | |
void | applyXLine (const casacore::Complex *&in, casacore::Complex *&out, casacore::Float *&rx2, casacore::Complex *&vp, const casacore::Float ry2, const casacore::Int ipower, const casacore::Bool conjugate, const casacore::Bool inverse, const casacore::Bool forward, const casacore::Int nx, const casacore::Int iy, const casacore::Double rmax2, const casacore::Double factor, const casacore::Double inverseIncrementRadius, const casacore::Float cutoff) |
Protected Member Functions inherited from casa::PBMathInterface | |
PBMathInterface () | |
Dumb constructor: protected, as it won't do you any good! More... | |
Private Attributes | |
casacore::Quantity | dishDiam_p |
casacore::Quantity | blockedDiam_p |
Additional Inherited Members | |
Public Types inherited from casa::PBMathInterface | |
enum | PBClass { NONE, COMMONPB, AIRY, GAUSS, POLY, IPOLY, COSPOLY, NUMERIC, IMAGE, ZERNIKE } |
Allowed PBMath Classes. More... | |
enum | { NumberOfPBClasses } |
Number of different classes in PBClass enumeration. More... | |
Static Public Member Functions inherited from casa::PBMathInterface | |
static void | namePBClass (const PBMathInterface::PBClass iPB, casacore::String &str) |
Convert enumeration into a string. More... | |
Static Protected Member Functions inherited from casa::PBMathInterface | |
static casacore::Float | asFloat (const casacore::Complex &value) |
Functions to deal with conversions to Float. More... | |
static casacore::Float | asFloat (const casacore::DComplex &value) |
static casacore::Float | asFloat (const casacore::Float &value) |
static casacore::Float | asFloat (const casacore::Double &value) |
Protected Attributes inherited from casa::PBMath1D | |
casacore::Vector < casacore::Complex > | vp_p |
The parameterized representation is for the VP, not the PB. More... | |
casacore::Vector < casacore::Complex > | esvp_p |
Tabulated effective az-symmetrical voltage pattern (optional, depending upon useSymmetric_p) More... | |
casacore::Matrix < casacore::Complex > | wbvp_p |
Tabulated voltage pattern for wide band feed First axis is radius, 2nd axis is frequency. More... | |
casacore::Bool | wideFit_p |
Switch to use wideband beam fits. More... | |
casacore::Vector < casacore::Double > | wFreqs_p |
Wideband beam fit frequencies. More... | |
casacore::Quantity | maximumRadius_p |
Maximum radius allowed in tabulated model. More... | |
casacore::Quantity | refFreq_p |
reference frequency: used for squint and other beam paramaters such as width, found in derived types. More... | |
casacore::Double | fScale_p |
internal scaling from refFreq_p to 1GHz; used during construction More... | |
casacore::Double | inverseIncrementRadius_p |
Increment in radius. More... | |
casacore::Double | scale_p |
Scale to convert to tabulated units. More... | |
casacore::CompositeNumber | composite_p |
casacore::CompositeNumber (for beam application and the like) More... | |
Protected Attributes inherited from casa::PBMathInterface | |
casacore::Bool | isThisVP_p |
Are the parameters being provided in the derived class constructor describing a Voltage Pattern or a Primary Beam? The default is Voltage Pattern, and we keep it internally as a voltage pattern. More... | |
BeamSquint | squint_p |
Beam squint: convention is AZ-EL offset of the casacore::Stokes RR beam w.r.t. More... | |
casacore::Bool | useSymmetricBeam_p |
Should we use the effective az-symmetrical primary beam? Otherwise, use squinted beam; if no squint, no difference. More... | |
casacore::String | bandOrFeedName_p |
PBMath1DAiry is a 1-D Airy Disk voltage pattern & Primary Beam.
Public interface
PBMath1DAiry: derived from PBMath1D, implements an Airy pattern PB and VP
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);
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.
Definition at line 91 of file PBMath1DAiry.h.
casa::PBMath1DAiry::PBMath1DAiry | ( | ) |
casa::PBMath1DAiry::PBMath1DAiry | ( | casacore::Quantity | dishDiam, |
casacore::Quantity | blockedDiam, | ||
casacore::Quantity | maxRad, | ||
casacore::Quantity | refFreq, | ||
BeamSquint | squint = BeamSquint(casacore::MDirection(casacore::Quantity(0.0,"deg"), casacore::Quantity(0.0,"deg"), casacore::MDirection::Ref(casacore::MDirection::AZEL)), casacore::Quantity(1.0,"GHz")) , |
||
casacore::Bool | useSymmetricBeam = false |
||
) |
Instantiation from arguments; referenceFreq is used to scale maximumradius.
default = no squint squint is the offset from pointing center if the casacore::Stokes R beam useSymmetricBeam forces a fit to the squinted beam
casa::PBMath1DAiry::~PBMath1DAiry | ( | ) |
Clone the object casacore::CountedPtr<PBMathInterface> clone();.
destructor
|
protectedvirtual |
Fill in vp_p array from construction parameters.
Implements casa::PBMath1D.
PBMath1DAiry& casa::PBMath1DAiry::operator= | ( | const PBMath1DAiry & | other | ) |
Instantiation from a row in the Beam subTable
PBMath1DAiry(const casacore::Table& BeamSubTable, casacore::Int row, casacore::Bool useSymmetricBeam=false);
Copy constructor PBMath1DAiry(const PBMath1DAiry& other);
Assignment operator, by reference
|
virtual |
Flush the construction parameters to disk casacore::Bool flushToTable(casacore::Table& beamSubTable, casacore::Int iRow);.
Summarize the construction data for this primary beam
Reimplemented from casa::PBMath1D.
|
inlinevirtual |
Get the type of PB this is.
Implements casa::PBMathInterface.
Definition at line 126 of file PBMath1DAiry.h.
References casa::PBMathInterface::AIRY.
|
private |
Definition at line 142 of file PBMath1DAiry.h.
|
private |
Definition at line 141 of file PBMath1DAiry.h.