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

Model the diagonal elements of the Voltage Pattern Sky Jones Matrices. More...

#include <VPSkyJones.h>

Inheritance diagram for casa::VPSkyJones:
casa::BeamSkyJones casa::SkyJones

Public Member Functions

 VPSkyJones (const casacore::ROMSColumns &msc, casacore::Table &table, const casacore::Quantity &parAngleInc, BeamSquint::SquintType doSquint, const casacore::Quantity &skyPositionThreshold=casacore::Quantity(180.,"deg"))
 constructor from a VP Table More...
 
 VPSkyJones (const casacore::ROMSColumns &msc, casacore::Bool makeDefaultPBsFromMS=true, const casacore::Quantity &parallacticAngleIncrement=casacore::Quantity(720.0,"deg"), BeamSquint::SquintType doSquint=BeamSquint::NONE, const casacore::Quantity &skyPositionThreshold=casacore::Quantity(180.,"deg"))
 constructor for default PB type associated with MS More...
 
 VPSkyJones (const casacore::String &tel, PBMath::CommonPB commonPBType, const casacore::Quantity &parallacticAngleIncrement=casacore::Quantity(720.0,"deg"), BeamSquint::SquintType doSquint=BeamSquint::NONE, const casacore::Quantity &skyPositionThreshold=casacore::Quantity(180.,"deg"))
 constructor for common PB type More...
 
 VPSkyJones (const casacore::String &tel, PBMath &myPBMath, const casacore::Quantity &parallacticAngleIncrement=casacore::Quantity(720.0,"deg"), BeamSquint::SquintType doSquint=BeamSquint::NONE, const casacore::Quantity &skyPositionThreshold=casacore::Quantity(180.,"deg"))
 constructor for given PBMath type More...
 
 ~VPSkyJones ()
 destructor needed so it's not an abstract baseclass More...
 
Type type ()
 return SkyJones type More...
 
virtual casacore::Bool isSolveable ()
 Is this solveable? More...
 
- Public Member Functions inherited from casa::BeamSkyJones
 BeamSkyJones (const casacore::Quantity &parallacticAngleIncrement=casacore::Quantity(720.0,"deg"), BeamSquint::SquintType doSquint=BeamSquint::NONE, const casacore::Quantity &skyPositionThreshold=casacore::Quantity(180,"deg"))
 Eventually, the casacore::MS will have all the beam information in its Beam Subtable. More...
 
virtual ~BeamSkyJones ()=0
 this operator due to position offset More...
 
virtual void showState (casacore::LogIO &os)
 Print out information concerning the state of this object. More...
 
casacore::ImageInterface
< casacore::Complex > & 
apply (const casacore::ImageInterface< casacore::Complex > &in, casacore::ImageInterface< casacore::Complex > &out, const VisBuffer &vb, casacore::Int row, casacore::Bool forward=true)
 Apply Jones matrix to an image (and adjoint) No "applyInverse" is available from the SkyJones classes, you can get them directly from PBMath or you can get the equivalent effect by dividing by grad grad Chi^2 in ImageSkyModel. More...
 
casacore::ImageInterface
< casacore::Float > & 
apply (const casacore::ImageInterface< casacore::Float > &in, casacore::ImageInterface< casacore::Float > &out, const VisBuffer &vb, casacore::Int row)
 
casacore::ImageInterface
< casacore::Float > & 
applySquare (const casacore::ImageInterface< casacore::Float > &in, casacore::ImageInterface< casacore::Float > &out, const VisBuffer &vb, casacore::Int row)
 
SkyComponentapply (SkyComponent &in, SkyComponent &out, const VisBuffer &vb, casacore::Int row, casacore::Bool forward=true, casacore::Bool fullspectral=false)
 
 Apply Jones matrix to a sky component (and adjoint)

if fullspectral==True then the output skycomponent will have a TabularSpectrum Spectral Model which will be at all the channel frequencies available in the vb; when False the out SkyComponent is modified using the first channel frequency only. More...

 
SkyComponentapplySquare (SkyComponent &in, SkyComponent &out, const VisBuffer &vb, casacore::Int row, casacore::Bool fullspectral=false)
 
virtual void reset ()
 Understand if things have changed since last PB application. More...
 
virtual casacore::Bool changed (const VisBuffer &vb, casacore::Int row)
 Has this operator changed since the last Application? (or more properly, since the last update()) More...
 
virtual casacore::Bool change (const VisBuffer &vb)
 Does the operator change in this visbuffer or since the last call? May not be useful – check it out: m.a.h. More...
 
virtual casacore::Bool changedBuffer (const VisBuffer &vb, casacore::Int row1, casacore::Int &row2)
 Does this operator changed in this VisBuffer, starting with row1? If yes, we return in row2, the last row that has the same SkyJones as row1. More...
 
void update (const VisBuffer &vb, casacore::Int row)
 Update the FieldID, Telescope, pointingDirection, Parallactic angle info. More...
 
virtual void assure (const VisBuffer &vb, casacore::Int row)
 if (changed) {update()} More...
 
virtual
casacore::ImageInterface
< casacore::Complex > & 
applyGradient (casacore::ImageInterface< casacore::Complex > &result, const VisBuffer &vb, casacore::Int row)
 Apply gradient. More...
 
virtual SkyComponentapplyGradient (SkyComponent &result, const VisBuffer &vb, casacore::Int row)
 
virtual void initializeGradients ()
 Initialize for gradient search. More...
 
virtual void finalizeGradients ()
 Finalize for gradient search. More...
 
virtual void addGradients (const VisBuffer &vb, casacore::Int row, const casacore::Float sumwt, const casacore::Float chisq, const casacore::Matrix< casacore::Complex > &c, const casacore::Matrix< casacore::Float > &f)
 Add to Gradient Chisq. More...
 
virtual casacore::Bool solve (SkyEquation &se)
 Solve. More...
 
void setPBMath (const casacore::String &telescope, PBMath &myPBmath, const casacore::Int &antennaID=-1, const casacore::Int &feedID=-1)
 Manage the PBMath objects. More...
 
casacore::Bool getPBMath (casacore::uInt whichAnt, PBMath &myPBMath) const
 get the PBMath object; returns false if that one doesn't exist, true if it does exist and is OK whichAnt is an index into an array of PBMaths, which is different for all telescope/antenna/feed combinations Not sure why we need such a low-level method declared as public, retained to preserve old interface More...
 
casacore::Bool getPBMath (const casacore::String &telescope, PBMath &myPBMath, const casacore::Int &antennaID=-1, const casacore::Int &feedID=-1) const
 get the PBMath object; returns false if that one doesn't exist, true if it does exist and is OK antennaID and feedID default to -1 to preserve the old interface TODO: change the interface and make antennaID and feedID the second and third parameter respectively to have a better looking code More...
 
casacore::Quantity getPAIncrement ()
 
casacore::Quantity getSkyPositionThreshold ()
 
casacore::Bool isHomogeneous () const
 Return true if all antennas share a common VP. More...
 
casacore::ImageRegionextent (const casacore::ImageInterface< casacore::Complex > &im, const VisBuffer &vb, const casacore::Int irow=-1, const casacore::Float fPad=1.2, const casacore::Int iChan=0, const SkyJones::SizeType sizeType=SkyJones::COMPOSITE)
 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 > &im, const VisBuffer &vb, const casacore::Int irow=-1, const casacore::Float fPad=1.2, const casacore::Int iChan=0, const SkyJones::SizeType sizeType=SkyJones::COMPOSITE)
 
virtual void summary (casacore::Int n=0)
 summarize the PBMaths contained here. More...
 
casacore::String telescope ()
 return the telescope it is on at this state More...
 
virtual casacore::Int support (const VisBuffer &vb, const casacore::CoordinateSystem &cs)
 Get an idea of the support of the PB in number of pixels. More...
 
- Public Member Functions inherited from casa::SkyJones
 SkyJones ()
 
virtual ~SkyJones ()
 Destructor. More...
 
virtual void setThreshold (const casacore::Float t)
 
virtual casacore::Float threshold ()
 

Additional Inherited Members

- Public Types inherited from casa::SkyJones
enum  Type {
  E,
  T,
  F,
  D
}
 Allowed types of VisJones matrices. More...
 
enum  SizeType {
  COMPOSITE,
  POWEROF2,
  ANY
}
 
- Protected Member Functions inherited from casa::BeamSkyJones
casacore::Bool directionsCloseEnough (const casacore::MDirection &dir1, const casacore::MDirection &dir2) const
 return true if two directions are close enough to consider the operator unchanged, false otherwise More...
 
casacore::Int indexTelescope (const casacore::String &compareTelescope, const casacore::Int &compareAntenna=-1, const casacore::Int &compareFeed=-1) const
 return index of compareTelescope, compareAntenna and compareFeed in myTelescopes_p, myAntennaIDs and myFeedIDs; -1 if not found if compareAntenna or compareTelescope is -1, this means that the PBMath class is the same for all antennae/feeds. More...
 
casacore::MDirection convertDir (const VisBuffer &vb, const casacore::MDirection &inDir, const casacore::MDirection::Types outType)
 
- Protected Member Functions inherited from casa::SkyJones
virtual casacore::String typeName ()
 Could be over-ridden if necessary. More...
 
- Protected Attributes inherited from casa::BeamSkyJones
casacore::String telescope_p
 
casacore::CountedPtr
< VisBufferUtil
vbutil_p
 
- Protected Attributes inherited from casa::SkyJones
casacore::Float threshold_p
 

Detailed Description

Model the diagonal elements of the Voltage Pattern Sky Jones Matrices.

Intended use:

Public interface

Prerequisite

Etymology

VP = Voltage Pattern, SkyJones = Sky-based Jones matrices. This class only deals with the diagonal elements of the voltage pattern jones matrices.

Synopsis

Example

Motivation

To deal with the non-leakage voltage pattern as applied to all casacore::Stokes, and beam squint (ie, errors in casacore::Stokes V caused by differing RR and LL beams). Polarization leakage beams are in DBeamSkyJones. The motivation for this split is differing storage requirements for the unerlying PBMath types, and different methods available to VPSkyJones and DBeamSkyJones.

To Do

Definition at line 91 of file VPSkyJones.h.

Constructor & Destructor Documentation

casa::VPSkyJones::VPSkyJones ( const casacore::ROMSColumns msc,
casacore::Table table,
const casacore::Quantity parAngleInc,
BeamSquint::SquintType  doSquint,
const casacore::Quantity skyPositionThreshold = casacore::Quantity(180.,"deg") 
)

constructor from a VP Table

casa::VPSkyJones::VPSkyJones ( const casacore::ROMSColumns msc,
casacore::Bool  makeDefaultPBsFromMS = true,
const casacore::Quantity parallacticAngleIncrement = casacore::Quantity(720.0,"deg"),
BeamSquint::SquintType  doSquint = BeamSquint::NONE,
const casacore::Quantity skyPositionThreshold = casacore::Quantity(180.,"deg") 
)

constructor for default PB type associated with MS

casa::VPSkyJones::VPSkyJones ( const casacore::String tel,
PBMath::CommonPB  commonPBType,
const casacore::Quantity parallacticAngleIncrement = casacore::Quantity(720.0,"deg"),
BeamSquint::SquintType  doSquint = BeamSquint::NONE,
const casacore::Quantity skyPositionThreshold = casacore::Quantity(180.,"deg") 
)

constructor for common PB type

casa::VPSkyJones::VPSkyJones ( const casacore::String tel,
PBMath myPBMath,
const casacore::Quantity parallacticAngleIncrement = casacore::Quantity(720.0,"deg"),
BeamSquint::SquintType  doSquint = BeamSquint::NONE,
const casacore::Quantity skyPositionThreshold = casacore::Quantity(180.,"deg") 
)

constructor for given PBMath type

casa::VPSkyJones::~VPSkyJones ( )
inline

destructor needed so it's not an abstract baseclass

Definition at line 125 of file VPSkyJones.h.

Member Function Documentation

virtual casacore::Bool casa::VPSkyJones::isSolveable ( )
inlinevirtual

Is this solveable?

Reimplemented from casa::BeamSkyJones.

Definition at line 131 of file VPSkyJones.h.

Type casa::VPSkyJones::type ( )
inlinevirtual

return SkyJones type

Reimplemented from casa::BeamSkyJones.

Definition at line 128 of file VPSkyJones.h.

References casa::SkyJones::E.


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