casa
5.7.0-16
|
Model the polarization leakage in the Sky Jones Matrices. More...
#include <DBeamSkyJones.h>
Public Member Functions | |
DBeamSkyJones (casacore::MeasurementSet &ms, casacore::Bool makeDefaultPBsFromMS=true, const casacore::Quantity ¶llacticAngleIncrement=casacore::Quantity(5.0,"deg"), BeamSquint::SquintType doSquint=BeamSquint::NONE) | |
Type | type () |
Note that DBeamSkyJones uses BeamSkyJones' "apply" methods. More... | |
virtual casacore::Bool | isSolveable () |
Is this solveable? More... | |
Public Member Functions inherited from casa::BeamSkyJones | |
BeamSkyJones (const casacore::Quantity ¶llacticAngleIncrement=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) |
SkyComponent & | apply (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... | |
SkyComponent & | applySquare (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 SkyComponent & | applyGradient (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::ImageRegion * | extent (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::ImageRegion * | extent (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 |
Model the polarization leakage in the Sky Jones Matrices.
Public interface
DBeam = sky-position-dependent polarization leakage, SkyJones = Sky-based Jones matrices. This class only deals with the off-diagonal elements of the primary beam jones matrices.
To deal with the polarization leakage beam (mainly casacore::Stokes I into polarization visibilities). The main primary beam response, ie, the diagonal Jones matrix elements, are handled by VPSkyJones. The motivation for this split is differing storage requirements for the unerlying PBMath types, and different methods available to VPSkyJones and DBeamSkyJones.
Definition at line 88 of file DBeamSkyJones.h.
casa::DBeamSkyJones::DBeamSkyJones | ( | casacore::MeasurementSet & | ms, |
casacore::Bool | makeDefaultPBsFromMS = true , |
||
const casacore::Quantity & | parallacticAngleIncrement = casacore::Quantity(5.0,"deg") , |
||
BeamSquint::SquintType | doSquint = BeamSquint::NONE |
||
) |
|
inlinevirtual |
Is this solveable?
Reimplemented from casa::BeamSkyJones.
Definition at line 103 of file DBeamSkyJones.h.
|
inlinevirtual |
Note that DBeamSkyJones uses BeamSkyJones' "apply" methods.
return SkyJones type
Reimplemented from casa::BeamSkyJones.
Definition at line 100 of file DBeamSkyJones.h.
References casa::SkyJones::D.