casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
casa::PBMath1DEVLA Class Reference

#include <PBMath1DEVLA.h>

Inheritance diagram for casa::PBMath1DEVLA:
casa::PBMath1D casa::PBMathInterface

Public Member Functions

 PBMath1DEVLA ()
 PBMath1DEVLA is an expansion 1-D Polynomial for a Primary Beam to hold beams a per EVLA memo 195 https://library.nrao.edu/public/memos/evla/EVLAM_195.pdf. More...
 
 PBMath1DEVLA (casacore::Quantity maxRad, bool useSymmetricBeam=false, double freqToUse=1.0e9)
 freqToUse is not necessary..at apply time the right polynomial will be used for the frequency applicable This value can be used for example to run summary More...
 
virtual PBMathInterface::PBClass whichPBClass ()
 Which PBClass is this one? 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 void summary (casacore::Int nValues=0)
 Summarize the Voltage Pattern; For PBMath1D, list nValues worth of the VP array. More...
 
virtual casacore::Bool ok ()
 Is state of PBMath OK? More...
 
casacore::ImageRegionextent (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::ImageRegionextent (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...
 
SkyComponentapplyVP (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...
 
SkyComponentapplyPB (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)
 
SkyComponentapplyPB2 (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

virtual void nearestVPArray (double freq, bool printINFO=true)
 
virtual void fillPBArray ()
 Fill in PB_p array from construction parameters, rescale construction parameters to the 1 GHz internal reference frequency Eventually: create it as its needed; we've got 4 arrays to fill; only create and store as they are required Right now: just construct all arrays. 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)
 
SkyComponentapply (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...
 
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 Member Functions

void limitFreqForBand (const casacore::String &band, casacore::Double &freq)
 
void init ()
 
casacore::String feed (const double freq, const double freqCenter=0.0)
 

Private Attributes

std::map< double, std::vector
< double > > 
coeffmap_p
 
std::map< casacore::String,
double > 
feedConf_p
 
casacore::CountedPtr
< PBMath1DPoly
pbMathPoly_p
 
BeamSquint squint_p
 
casacore::Quantity maxRad_p
 
bool useSymmetric_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
 

Detailed Description

Definition at line 34 of file PBMath1DEVLA.h.

Constructor & Destructor Documentation

casa::PBMath1DEVLA::PBMath1DEVLA ( )

PBMath1DEVLA is an expansion 1-D Polynomial for a Primary Beam to hold beams a per EVLA memo 195 https://library.nrao.edu/public/memos/evla/EVLAM_195.pdf.

casa::PBMath1DEVLA::PBMath1DEVLA ( casacore::Quantity  maxRad,
bool  useSymmetricBeam = false,
double  freqToUse = 1.0e9 
)

freqToUse is not necessary..at apply time the right polynomial will be used for the frequency applicable This value can be used for example to run summary

Member Function Documentation

casacore::String casa::PBMath1DEVLA::feed ( const double  freq,
const double  freqCenter = 0.0 
)
private
virtual void casa::PBMath1DEVLA::fillPBArray ( )
protectedvirtual

Fill in PB_p array from construction parameters, rescale construction parameters to the 1 GHz internal reference frequency Eventually: create it as its needed; we've got 4 arrays to fill; only create and store as they are required Right now: just construct all arrays.

Implements casa::PBMath1D.

void casa::PBMath1DEVLA::init ( )
private
void casa::PBMath1DEVLA::limitFreqForBand ( const casacore::String band,
casacore::Double freq 
)
private
virtual void casa::PBMath1DEVLA::nearestVPArray ( double  freq,
bool  printINFO = true 
)
protectedvirtual

Reimplemented from casa::PBMath1D.

virtual PBMathInterface::PBClass casa::PBMath1DEVLA::whichPBClass ( )
virtual

Which PBClass is this one?

Implements casa::PBMathInterface.

Member Data Documentation

std::map<double, std::vector<double> > casa::PBMath1DEVLA::coeffmap_p
private

Definition at line 57 of file PBMath1DEVLA.h.

std::map<casacore::String, double> casa::PBMath1DEVLA::feedConf_p
private

Definition at line 58 of file PBMath1DEVLA.h.

casacore::Quantity casa::PBMath1DEVLA::maxRad_p
private

Definition at line 62 of file PBMath1DEVLA.h.

casacore::CountedPtr<PBMath1DPoly> casa::PBMath1DEVLA::pbMathPoly_p
private

Definition at line 60 of file PBMath1DEVLA.h.

BeamSquint casa::PBMath1DEVLA::squint_p
private

Definition at line 61 of file PBMath1DEVLA.h.

bool casa::PBMath1DEVLA::useSymmetric_p
private

Definition at line 63 of file PBMath1DEVLA.h.


The documentation for this class was generated from the following file: