casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
casa::PBMath2DImage Class Reference

2-D Image Primary Beam Model More...

#include <PBMath2DImage.h>

Inheritance diagram for casa::PBMath2DImage:
casa::PBMath2D casa::PBMathInterface

List of all members.

Public Member Functions

 PBMath2DImage ()
 PBMath2DImage (ImageInterface< Float > &reJonesImage)
 Instantiation from arguments; only an image is needed.
 PBMath2DImage (ImageInterface< Float > &reJonesImage, ImageInterface< Float > &imJonesImage)
 PBMath2DImage (const ImageInterface< Complex > &jonesImage)
PBMath2DImageoperator= (const PBMath2DImage &other)
 Copy constructor PBMath2DGImage(const PBMath2DImage& other);.
 ~PBMath2DImage ()
 destructor
PBMathInterface::PBClass whichPBClass ()
 Get the type of PB this is.
void summary (Int nValues=0)
 Summarize the construction data for this primary beam.

Protected Member Functions

virtual ImageInterface< Complex > & apply (const ImageInterface< Complex > &in, ImageInterface< Complex > &out, const MDirection &sp, const Quantity parAngle, const BeamSquint::SquintType doSquint, Bool inverse, Bool conjugate, Int ipower, Float cutoff, Bool forward)
 lower level helping apply methods
virtual ImageInterface< Float > & apply (const ImageInterface< Float > &in, ImageInterface< Float > &out, const MDirection &sp, const Quantity parAngle, const BeamSquint::SquintType doSquint, Float cutoff, Int ipower)
virtual SkyComponentapply (SkyComponent &in, SkyComponent &out, const MDirection &sp, const Quantity frequency, const Quantity parAngle, const BeamSquint::SquintType doSquint, Bool inverse, Bool conjugate, Int ipower, Float cutoff, Bool forward)
virtual Int support (const CoordinateSystem &cs)

Private Member Functions

void checkJonesCongruent (ImageInterface< Float > &reJones, ImageInterface< Float > &imJones)
 Check for congruency.
void checkImageCongruent (ImageInterface< Float > &image)
void updateJones (const CoordinateSystem &coords, const IPosition &shape, const MDirection &pc, const Quantity &paAngle)
 Update the Jones Matrix.
void applyJones (const Array< Float > *reJones, const Array< Float > *imJones, const Array< Complex > &in, Array< Complex > &out, Vector< Int > &polmap, Bool inverse, Bool conjugate, Int ipower, Float cutoff, Bool circular=True, Bool forward=True)
 Complex to Complex.
void applyJones (const Array< Float > *reJones, const Array< Float > *imJones, const Array< Float > &in, Array< Float > &out, Vector< Int > &polmap, Float cutoff, Bool circular=True)
 Float to Float.

Private Attributes

TempImage< Float > * reJonesImage_p
TempImage< Float > * reRegridJonesImage_p
TempImage< Float > * imJonesImage_p
TempImage< Float > * imRegridJonesImage_p
Vector< Double > * incrementsReJones_p
Vector< Double > * incrementsImJones_p
Vector< Double > * referencePixelReJones_p
Vector< Double > * referencePixelImJones_p
Float pa_p

Detailed Description

2-D Image Primary Beam Model

Intended use:

Public interface

Prerequisite

Etymology

PBMath2DImage: derived from PBMath2D, implements PB and VP from sampled 2D VP

Synopsis

See PBMath2D for a general synopsis of the 2D PB types.

The user supplies a vector which is a numerical representation of a voltage [attern (hey, if you have a PB, just take the square root, and look out for sidelobes which could be negative). The first element in the vector needs to be 1.0, the center of the voltage pattern. The last element of the vector is the value of the VP at the maximumRadius. The maximumRadius and the reference frequency at which the tabulated VP is intended are also required for construction. The PBMath2DImage constructor proceeds by performing SINC interpolation on the input vector to generate the highly oversampled lookup vector.

Example

       numPB.applyPB( im1, im2, pointingDir);

Motivation

All of the 2-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. The Image type is very handy: someone can take a sample illumination pattern, FT, and take a slice of the resulting voltage pattern and construct a VP from that slice.

To Do

Definition at line 100 of file PBMath2DImage.h.


Constructor & Destructor Documentation

Instantiation from arguments; only an image is needed.

casa::PBMath2DImage::PBMath2DImage ( ImageInterface< Float > &  reJonesImage,
ImageInterface< Float > &  imJonesImage 
)
casa::PBMath2DImage::PBMath2DImage ( const ImageInterface< Complex > &  jonesImage)

destructor


Member Function Documentation

virtual ImageInterface<Complex>& casa::PBMath2DImage::apply ( const ImageInterface< Complex > &  in,
ImageInterface< Complex > &  out,
const MDirection sp,
const Quantity  parAngle,
const BeamSquint::SquintType  doSquint,
Bool  Inverse,
Bool  Conjugate,
Int  ipower,
Float  cutoff,
Bool  forward 
) [protected, virtual]

lower level helping apply methods

   

Implements casa::PBMathInterface.

virtual ImageInterface<Float>& casa::PBMath2DImage::apply ( const ImageInterface< Float > &  in,
ImageInterface< Float > &  out,
const MDirection sp,
const Quantity  parAngle,
const BeamSquint::SquintType  doSquint,
Float  cutoff,
Int  ipower 
) [protected, virtual]

Implements casa::PBMathInterface.

virtual SkyComponent& casa::PBMath2DImage::apply ( SkyComponent in,
SkyComponent out,
const MDirection sp,
const Quantity  frequency,
const Quantity  parAngle,
const BeamSquint::SquintType  doSquint,
Bool  inverse,
Bool  conjugate,
Int  ipower,
Float  cutoff,
Bool  forward 
) [protected, virtual]

Implements casa::PBMathInterface.

void casa::PBMath2DImage::applyJones ( const Array< Float > *  reJones,
const Array< Float > *  imJones,
const Array< Complex > &  in,
Array< Complex > &  out,
Vector< Int > &  polmap,
Bool  inverse,
Bool  conjugate,
Int  ipower,
Float  cutoff,
Bool  circular = True,
Bool  forward = True 
) [private]

Complex to Complex.

void casa::PBMath2DImage::applyJones ( const Array< Float > *  reJones,
const Array< Float > *  imJones,
const Array< Float > &  in,
Array< Float > &  out,
Vector< Int > &  polmap,
Float  cutoff,
Bool  circular = True 
) [private]

Float to Float.

void casa::PBMath2DImage::checkJonesCongruent ( ImageInterface< Float > &  reJones,
ImageInterface< Float > &  imJones 
) [private]

Check for congruency.

PBMath2DImage& casa::PBMath2DImage::operator= ( const PBMath2DImage other)

Copy constructor PBMath2DGImage(const PBMath2DImage& other);.

Assignment operator, by reference

void casa::PBMath2DImage::summary ( Int  nValues = 0) [virtual]

Summarize the construction data for this primary beam.

Reimplemented from casa::PBMath2D.

virtual Int casa::PBMath2DImage::support ( const CoordinateSystem cs) [protected, virtual]

Reimplemented from casa::PBMath2D.

void casa::PBMath2DImage::updateJones ( const CoordinateSystem coords,
const IPosition shape,
const MDirection pc,
const Quantity paAngle 
) [private]

Update the Jones Matrix.

Get the type of PB this is.

Implements casa::PBMathInterface.

Definition at line 122 of file PBMath2DImage.h.

References casa::PBMathInterface::IMAGE.


Member Data Documentation

Definition at line 203 of file PBMath2DImage.h.

Definition at line 204 of file PBMath2DImage.h.

Definition at line 207 of file PBMath2DImage.h.

Definition at line 206 of file PBMath2DImage.h.

Definition at line 212 of file PBMath2DImage.h.

Definition at line 210 of file PBMath2DImage.h.

Definition at line 209 of file PBMath2DImage.h.

Definition at line 201 of file PBMath2DImage.h.

Definition at line 202 of file PBMath2DImage.h.


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