casa
5.7.0-16
|
PBMath1DGauss is a 1-D Gaussian Primary Beam. More...
#include <PBMath1DGauss.h>
Public Member Functions | |
PBMath1DGauss () | |
PBMath1DGauss (casacore::Quantity halfWidth, casacore::Quantity maxRad, casacore::Quantity refFreq, casacore::Bool isThisVP=false, 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; default = no squint squint is the offset from pointing center if the casacore::Stokes R beam useSymmetricBeam forces a fit to the squinted beam width = Half-Width-Half-max maxRad = half-width at zero intensity. More... | |
PBMath1DGauss & | operator= (const PBMath1DGauss &other) |
Instantiation from a row in the Beam subTable PBMath1DGauss(const casacore::Table& BeamSubTable, casacore::Int row, casacore::Bool useSymmetricBeam=false);. More... | |
~PBMath1DGauss () | |
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 | halfWidth_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 |
PBMath1DGauss is a 1-D Gaussian Primary Beam.
Public interface
PBMath1DGauss: derived from PBMath1D, implements a gaussian PB and VP
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
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.
Definition at line 95 of file PBMath1DGauss.h.
casa::PBMath1DGauss::PBMath1DGauss | ( | ) |
casa::PBMath1DGauss::PBMath1DGauss | ( | casacore::Quantity | halfWidth, |
casacore::Quantity | maxRad, | ||
casacore::Quantity | refFreq, | ||
casacore::Bool | isThisVP = false , |
||
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; default = no squint squint is the offset from pointing center if the casacore::Stokes R beam useSymmetricBeam forces a fit to the squinted beam width = Half-Width-Half-max maxRad = half-width at zero intensity.
casa::PBMath1DGauss::~PBMath1DGauss | ( | ) |
Clone the object casacore::CountedPtr<PBMathInterface> clone();.
destructor
|
protectedvirtual |
Fill in vp_p array from construction parameters.
Implements casa::PBMath1D.
PBMath1DGauss& casa::PBMath1DGauss::operator= | ( | const PBMath1DGauss & | other | ) |
Instantiation from a row in the Beam subTable PBMath1DGauss(const casacore::Table& BeamSubTable, casacore::Int row, casacore::Bool useSymmetricBeam=false);.
Copy constructor PBMath1DGauss(const PBMath1DGauss& 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 130 of file PBMath1DGauss.h.
References casa::PBMathInterface::GAUSS.
|
private |
Definition at line 145 of file PBMath1DGauss.h.