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

#include <VisModelDataI.h>

Inheritance diagram for casa::VisModelDataI:
casa::refim::VisModelData casa::VisModelData

Public Types

typedef VisModelDataI *(* Factory )()
 

Public Member Functions

 VisModelDataI ()
 empty constructor More...
 
virtual ~VisModelDataI ()
 From a FTMachine Record VisModelDataI(const casacore::Record& ftmachinerec, const casacore::Vector<casacore::Int>& validfieldids, const casacore::Vector<casacore::Int>& msIds);. More...
 
virtual void addModel (const casacore::RecordInterface &rec, const casacore::Vector< casacore::Int > &msids, const VisBuffer &vb)=0
 Add Image/FTMachine to generate visibilities for void addFTMachine(const casacore::Record& recordFTMachine, const casacore::Vector<casacore::Int>& validfieldids, const casacore::Vector<casacore::Int>& msIds); Add componentlist to generate visibilities for void addCompFTMachine(const ComponentList& cl, const casacore::Vector<casacore::Int>& validfieldids, const casacore::Vector<casacore::Int>& msIds); For simple model a special case for speed. More...
 
virtual void addModel (const casacore::RecordInterface &rec, const casacore::Vector< casacore::Int > &msids, const vi::VisBuffer2 &vb)=0
 
virtual VisModelDataIclone ()=0
 
virtual casacore::Bool getModelVis (VisBuffer &vb)=0
 //put the model data for this VisBuffer in the modelVisCube More...
 
virtual casacore::Bool getModelVis (vi::VisBuffer2 &vb)=0
 
virtual void putModelI (const casacore::MeasurementSet &thems, const casacore::RecordInterface &rec, const casacore::Vector< casacore::Int > &validfields, const casacore::Vector< casacore::Int > &spws, const casacore::Vector< casacore::Int > &starts, const casacore::Vector< casacore::Int > &nchan, const casacore::Vector< casacore::Int > &incr, casacore::Bool iscomponentlist=true, casacore::Bool incremental=false)=0
 //this is a helper function that writes the model record to the ms More...
 
virtual void putModelI (const casacore::MeasurementSet &thems, const casacore::RecordInterface &rec, const casacore::Matrix< casacore::Int > &indexComb, const casacore::Matrix< casacore::Int > &chansel, casacore::Bool iscomponentlist=true, casacore::Bool incremental=false)=0
 Version 2 record to keep track of state and scan number. More...
 
virtual void clearModelI (const casacore::MeasurementSet &thems)=0
 
//helper function to clear the keywordSet of the ms of the model  for the fields 

in that ms More...

 
virtual casacore::Bool isModelDefinedI (const casacore::Int fieldId, const casacore::MeasurementSet &thems, casacore::String &key, casacore::Int &sourceRow)=0
 //...with field selection and optionally spw static void clearModel(const casacore::MeasurementSet& thems, const casacore::String field, const casacore::String spws=casacore::String("")); More...
 
virtual casacore::Bool getModelRecordI (const casacore::String &theKey, casacore::TableRecord &theRec, const casacore::MeasurementSet &theMs)=0
 static casacore::Bool isModelDefined(const casacore::String& elkey, const casacore::MeasurementSet& thems); More...
 
virtual casacore::Int hasModel (casacore::Int msid, casacore::Int field, casacore::Int spw)=0
 // casacore::List the fields static void listModel(const casacore::MeasurementSet& thems); More...
 
virtual casacore::Bool isVersion2 ()=0
 
virtual void init (const VisBuffer &vb)=0
 Make sure that VisModel has been called once loaded checks and detection of version 1 or 2 is valid. More...
 
virtual void init (const vi::VisBuffer2 &vb)=0
 

Static Public Member Functions

static bool setFactory (Factory, casacore::Int whichone=0)
 
static VisModelDataIcreate ()
 
static VisModelDataIcreate2 ()
 

Static Private Attributes

static Factory factory_p
 
static Factory factory2_p
 

Detailed Description

Definition at line 27 of file VisModelDataI.h.

Member Typedef Documentation

typedef VisModelDataI*(* casa::VisModelDataI::Factory)()

Definition at line 31 of file VisModelDataI.h.

Constructor & Destructor Documentation

casa::VisModelDataI::VisModelDataI ( )
inline

empty constructor

Definition at line 36 of file VisModelDataI.h.

virtual casa::VisModelDataI::~VisModelDataI ( )
inlinevirtual

From a FTMachine Record VisModelDataI(const casacore::Record& ftmachinerec, const casacore::Vector<casacore::Int>& validfieldids, const casacore::Vector<casacore::Int>& msIds);.

Definition at line 40 of file VisModelDataI.h.

Member Function Documentation

virtual void casa::VisModelDataI::addModel ( const casacore::RecordInterface rec,
const casacore::Vector< casacore::Int > &  msids,
const VisBuffer vb 
)
pure virtual

Add Image/FTMachine to generate visibilities for void addFTMachine(const casacore::Record& recordFTMachine, const casacore::Vector<casacore::Int>& validfieldids, const casacore::Vector<casacore::Int>& msIds); Add componentlist to generate visibilities for void addCompFTMachine(const ComponentList& cl, const casacore::Vector<casacore::Int>& validfieldids, const casacore::Vector<casacore::Int>& msIds); For simple model a special case for speed.

void addFlatModel(const casacore::Vector<casacore::Double>& value, const casacore::Vector<casacore::Int>& validfieldids, const casacore::Vector<casacore::Int>& msIds);

add componentlists or ftmachines

Implemented in casa::refim::VisModelData, and casa::VisModelData.

virtual void casa::VisModelDataI::addModel ( const casacore::RecordInterface rec,
const casacore::Vector< casacore::Int > &  msids,
const vi::VisBuffer2 vb 
)
pure virtual
virtual void casa::VisModelDataI::clearModelI ( const casacore::MeasurementSet thems)
pure virtual

//helper function to clear the keywordSet of the ms of the model  for the fields 

in that ms

Implemented in casa::refim::VisModelData, and casa::VisModelData.

virtual VisModelDataI* casa::VisModelDataI::clone ( )
pure virtual
static VisModelDataI* casa::VisModelDataI::create ( )
static
static VisModelDataI* casa::VisModelDataI::create2 ( )
static
virtual casacore::Bool casa::VisModelDataI::getModelRecordI ( const casacore::String theKey,
casacore::TableRecord theRec,
const casacore::MeasurementSet theMs 
)
pure virtual

static casacore::Bool isModelDefined(const casacore::String& elkey, const casacore::MeasurementSet& thems);

Get a given model that is defined by key Forcing user to use a casacore::TableRecord rather than Generic casacore::RecordInterface...just so as to avoid a copy.

Implemented in casa::refim::VisModelData, and casa::VisModelData.

virtual casacore::Bool casa::VisModelDataI::getModelVis ( VisBuffer vb)
pure virtual

//put the model data for this VisBuffer in the modelVisCube

Implemented in casa::refim::VisModelData, and casa::VisModelData.

virtual casacore::Bool casa::VisModelDataI::getModelVis ( vi::VisBuffer2 vb)
pure virtual
virtual casacore::Int casa::VisModelDataI::hasModel ( casacore::Int  msid,
casacore::Int  field,
casacore::Int  spw 
)
pure virtual

// casacore::List the fields static void listModel(const casacore::MeasurementSet& thems);

static FTMachine* NEW_FT(const casacore::Record& ftrec); check if an addFT or addCompFT is necessary casacore::Bool hasFT(casacore::Int msid, casacore::Int fieldid); casacore::Bool hasCL(casacore::Int msid, casacore::Int fieldid); returns a -1 if there is no model for this combination of ms,field,spw...but has not been // checked yet if there is one returns a -2 if it has been tested before but does have it. returns a 1 if it has a model stored

Implemented in casa::refim::VisModelData, and casa::VisModelData.

virtual void casa::VisModelDataI::init ( const VisBuffer vb)
pure virtual

Make sure that VisModel has been called once loaded checks and detection of version 1 or 2 is valid.

Implemented in casa::refim::VisModelData, and casa::VisModelData.

virtual void casa::VisModelDataI::init ( const vi::VisBuffer2 vb)
pure virtual
virtual casacore::Bool casa::VisModelDataI::isModelDefinedI ( const casacore::Int  fieldId,
const casacore::MeasurementSet thems,
casacore::String key,
casacore::Int sourceRow 
)
pure virtual

//...with field selection and optionally spw static void clearModel(const casacore::MeasurementSet& thems, const casacore::String field, const casacore::String spws=casacore::String(""));

Functions to see if model is defined in the casacore::MS either in the SOURCE table or else in the MAIN

Implemented in casa::refim::VisModelData, and casa::VisModelData.

virtual casacore::Bool casa::VisModelDataI::isVersion2 ( )
pure virtual
virtual void casa::VisModelDataI::putModelI ( const casacore::MeasurementSet thems,
const casacore::RecordInterface rec,
const casacore::Vector< casacore::Int > &  validfields,
const casacore::Vector< casacore::Int > &  spws,
const casacore::Vector< casacore::Int > &  starts,
const casacore::Vector< casacore::Int > &  nchan,
const casacore::Vector< casacore::Int > &  incr,
casacore::Bool  iscomponentlist = true,
casacore::Bool  incremental = false 
)
pure virtual

//this is a helper function that writes the model record to the ms

Implemented in casa::refim::VisModelData, and casa::VisModelData.

virtual void casa::VisModelDataI::putModelI ( const casacore::MeasurementSet thems,
const casacore::RecordInterface rec,
const casacore::Matrix< casacore::Int > &  indexComb,
const casacore::Matrix< casacore::Int > &  chansel,
casacore::Bool  iscomponentlist = true,
casacore::Bool  incremental = false 
)
pure virtual

Version 2 record to keep track of state and scan number.

Implemented in casa::refim::VisModelData, and casa::VisModelData.

static bool casa::VisModelDataI::setFactory ( Factory  ,
casacore::Int  whichone = 0 
)
static

Member Data Documentation

Factory casa::VisModelDataI::factory2_p
staticprivate

Definition at line 107 of file VisModelDataI.h.

Factory casa::VisModelDataI::factory_p
staticprivate

Definition at line 106 of file VisModelDataI.h.


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