casa::vi::CalibratingVi2Factory Class Reference

A top level class defining the data handling interface for the CalibratingTvi2 module. More...

#include <CalibratingVi2Factory.h>

Inheritance diagram for casa::vi::CalibratingVi2Factory:
casa::vi::CalibratingVi2FactoryI casa::vi::ViFactory

List of all members.

Public Member Functions

 CalibratingVi2Factory (MeasurementSet *ms, const CalibratingParameters &calpar, const IteratingParameters &iterpar=IteratingParameters())
 CalibratingVi2Factory ()
 CalibratingVi2Factory (MeasurementSet *ms, const Record &calrec, const IteratingParameters &iterpar=IteratingParameters())
 CalibratingVi2Factory (MeasurementSet *ms, const String &callib, const IteratingParameters &iterpar=IteratingParameters())
virtual ~CalibratingVi2Factory ()
virtual void initialize (MeasurementSet *ms, const Record &calrec, const IteratingParameters &iterpar)
 Public functions to initialize a generic CVi2F.
virtual void initialize (MeasurementSet *ms, const String &callib, const IteratingParameters &iterpar)

Protected Member Functions

virtual vi::ViImplementation2createVi () const
 Create CalibratingVi2 implementation If vii=NULL, create underlying vii internally.
virtual vi::ViImplementation2createVi (vi::ViImplementation2 *vii) const
 If vii not NULL, then use it as the underlying one.

Private Attributes

Bool valid_p
MeasurementSet * ms_p
CalibratingParameters calpar_p
IteratingParameters iterpar_p

Detailed Description

A top level class defining the data handling interface for the CalibratingTvi2 module.

Intended use:

Public interface

Prerequisite

Etymology

CalibratingVi2Factory is a class that generates a Visibility Iterator implementation that can calibrate data

Synopsis

CalibratingVi2Factory generates a Visibility Iterator implementation (ViImplementation2) object that can be plugged into a Visibility Iterator (VisibilityIterator2) object, so that the user can access _corrected_ data (and related) using the VisibilityIterator2 interface.

Motivation

This class makes calibration application portable, and available for all VisibilityIterator2 users

Example

External usage is quite simple, and compliant with the 'normal' VI/VB framework.

The user first makes objects describing the data iteration and calibration parameters:

 IteratingParameters iterpar;
 iterpar.setChunkInterval(60.0);
 
 CalibratingParameters calpar(10.0);   // a simple factor of 10.0 to multiply the data
 //   (in leiu of full VisEquation functionality (TBD)

Then these parameter objects, along with a MeasurementSet pointer, are used to make a factory suitable for the generic VisibilityIterator2 ctor, which is then invoked

 CalibratingVi2Factory factory(ms,calpar,iterpar);
 vi::VisibilityIterator2 *visIter = new vi::VisibilityIterator2 (factory);
 vi::VisBuffer2 *visBuffer = visIter->getVisBuffer();

Once this is done one can normally iterate and access OTF calibrated data:

 while (visIter->moreChunks())
 {
 visIter->origin();
 
 while (visIter->more())
 {
 
 Vector<Int> ddi = visBuffer->dataDescriptionIds();
 Vector<Int> antenna1 = visBuffer->antenna1();
 Vector<Int> antenna2 = visBuffer->antenna2();
 Cube<Complex> cvis = visBuffer->visCubeCorrected();
 
 visIter->next();
 }
 
 visIter->nextChunk();
 }

Notice that it is the responsibility of the application layer to delete the VisibilityIterator2 pointer returned by the factory method. However the life cycle of the VisBuffer2 object is responsibility of the VisibilityIterator2 object.

 delete visIter;

Definition at line 124 of file CalibratingVi2Factory.h.


Constructor & Destructor Documentation

casa::vi::CalibratingVi2Factory::CalibratingVi2Factory ( MeasurementSet *  ms,
const CalibratingParameters calpar,
const IteratingParameters iterpar = IteratingParameters() 
)
casa::vi::CalibratingVi2Factory::CalibratingVi2Factory (  ) 
casa::vi::CalibratingVi2Factory::CalibratingVi2Factory ( MeasurementSet *  ms,
const Record &  calrec,
const IteratingParameters iterpar = IteratingParameters() 
)
casa::vi::CalibratingVi2Factory::CalibratingVi2Factory ( MeasurementSet *  ms,
const String &  callib,
const IteratingParameters iterpar = IteratingParameters() 
)
virtual casa::vi::CalibratingVi2Factory::~CalibratingVi2Factory (  )  [virtual]

Member Function Documentation

virtual vi::ViImplementation2* casa::vi::CalibratingVi2Factory::createVi ( vi::ViImplementation2 vii  )  const [protected, virtual]

If vii not NULL, then use it as the underlying one.

Implements casa::vi::CalibratingVi2FactoryI.

virtual vi::ViImplementation2* casa::vi::CalibratingVi2Factory::createVi (  )  const [protected, virtual]

Create CalibratingVi2 implementation If vii=NULL, create underlying vii internally.

Implements casa::vi::CalibratingVi2FactoryI.

virtual void casa::vi::CalibratingVi2Factory::initialize ( MeasurementSet *  ms,
const String &  callib,
const IteratingParameters iterpar 
) [virtual]
virtual void casa::vi::CalibratingVi2Factory::initialize ( MeasurementSet *  ms,
const Record &  calrec,
const IteratingParameters iterpar 
) [virtual]

Public functions to initialize a generic CVi2F.

Implements casa::vi::CalibratingVi2FactoryI.


Member Data Documentation

Definition at line 166 of file CalibratingVi2Factory.h.

Definition at line 167 of file CalibratingVi2Factory.h.

MeasurementSet* casa::vi::CalibratingVi2Factory::ms_p [private]

Definition at line 165 of file CalibratingVi2Factory.h.

Definition at line 164 of file CalibratingVi2Factory.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1