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

ComponentFTMachine: a abstract base class defining the interface for a Fourier Transform Machine to be used in the SkyEquation for the transformation of SkyComponents. More...

#include <ComponentFTMachine.h>

Inheritance diagram for casa::refim::ComponentFTMachine:
casa::refim::SimpleComponentFTMachine

Public Member Functions

 ComponentFTMachine ()
 
 ComponentFTMachine (const ComponentFTMachine &other)
 
ComponentFTMachineoperator= (const ComponentFTMachine &other)
 
virtual ~ComponentFTMachine ()
 
virtual void get (vi::VisBuffer2 &vb, SkyComponent &component, casacore::Int row=-1)=0
 Get actual coherence : this is the only virtual method. More...
 
virtual void get (vi::VisBuffer2 &vb, const ComponentList &componentList, casacore::Int row=-1)=0
 Get actual coherence : this is the other only virtual method. More...
 
void rotateUVW (casacore::Matrix< casacore::Double > &uvw, casacore::Vector< casacore::Double > &dphase, const vi::VisBuffer2 &vb, const casacore::MDirection &mDesired)
 Rotate the uvw from the observed phase center to the desired phase center. More...
 
void rotateUVW (casacore::Double *&uvw, casacore::Double *&dphase, const casacore::Int nrows, const vi::VisBuffer2 &vb, const casacore::MDirection &mDesired)
 A version that use pointers to contigous matrix and vector. More...
 
void setnumthreads (const casacore::Int numthreads)
 Set number of threads to use when predicting. More...
 

Protected Member Functions

casacore::LogIOlogIO ()
 
virtual void ok ()
 

Protected Attributes

casacore::LogIO logIO_p
 
casacore::MPosition mLocation_p
 Default Position used for phase rotations. More...
 
casacore::Int numthreads_p
 

Detailed Description

ComponentFTMachine: a abstract base class defining the interface for a Fourier Transform Machine to be used in the SkyEquation for the transformation of SkyComponents.

Intended use:

Public interface

Prerequisite

Etymology

FTMachine is a Machine for Fourier Transforms

Synopsis

The SkyEquation needs to be able to perform Fourier transforms on visibility data. FTMachine allows efficient Fourier Transform processing using a VisBuffer which encapsulates a chunk of visibility (typically all baselines for one time) together with all the information needed for processing (e.g. UVW coordinates).

Example

A simple example of an ComponentFTMachine is found in SimpleComponentFTMachine. See the example for SkyModel.

Motivation

Define an interface to allow efficient processing of chunks of visibility data

Definition at line 103 of file ComponentFTMachine.h.

Constructor & Destructor Documentation

casa::refim::ComponentFTMachine::ComponentFTMachine ( )
casa::refim::ComponentFTMachine::ComponentFTMachine ( const ComponentFTMachine other)
virtual casa::refim::ComponentFTMachine::~ComponentFTMachine ( )
virtual

Member Function Documentation

virtual void casa::refim::ComponentFTMachine::get ( vi::VisBuffer2 vb,
SkyComponent component,
casacore::Int  row = -1 
)
pure virtual

Get actual coherence : this is the only virtual method.

Implemented in casa::refim::SimpleComponentFTMachine.

virtual void casa::refim::ComponentFTMachine::get ( vi::VisBuffer2 vb,
const ComponentList componentList,
casacore::Int  row = -1 
)
pure virtual

Get actual coherence : this is the other only virtual method.

Implemented in casa::refim::SimpleComponentFTMachine.

casacore::LogIO& casa::refim::ComponentFTMachine::logIO ( )
protected
virtual void casa::refim::ComponentFTMachine::ok ( )
protectedvirtual
ComponentFTMachine& casa::refim::ComponentFTMachine::operator= ( const ComponentFTMachine other)
void casa::refim::ComponentFTMachine::rotateUVW ( casacore::Matrix< casacore::Double > &  uvw,
casacore::Vector< casacore::Double > &  dphase,
const vi::VisBuffer2 vb,
const casacore::MDirection mDesired 
)

Rotate the uvw from the observed phase center to the desired phase center.

void casa::refim::ComponentFTMachine::rotateUVW ( casacore::Double *&  uvw,
casacore::Double *&  dphase,
const casacore::Int  nrows,
const vi::VisBuffer2 vb,
const casacore::MDirection mDesired 
)

A version that use pointers to contigous matrix and vector.

void casa::refim::ComponentFTMachine::setnumthreads ( const casacore::Int  numthreads)

Set number of threads to use when predicting.

Setting it to -1 basically tell openmp to use the number it can get

Member Data Documentation

casacore::LogIO casa::refim::ComponentFTMachine::logIO_p
protected

Definition at line 131 of file ComponentFTMachine.h.

casacore::MPosition casa::refim::ComponentFTMachine::mLocation_p
protected

Default Position used for phase rotations.

Definition at line 136 of file ComponentFTMachine.h.

casacore::Int casa::refim::ComponentFTMachine::numthreads_p
protected

Definition at line 139 of file ComponentFTMachine.h.


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