ComponentFTMachine.h
Classes
- ComponentFTMachine -- ComponentFTMachine: a abstract base class defining the interface for a Fourier Transform Machine to be used in the SkyEquation for the transformation of SkyComponents (full description)
Interface
- Public Members
- ComponentFTMachine()
- ComponentFTMachine(const ComponentFTMachine& other)
- ComponentFTMachine& operator=(const ComponentFTMachine& other)
- virtual ~ComponentFTMachine()
- virtual void get(VisBuffer& vb, SkyComponent& component, Int row=-1) = 0
- virtual void get(VisBuffer& vb, const ComponentList& componentList, Int row=-1) = 0
- void rotateUVW(Matrix<Double>& uvw, Vector<Double>& dphase, const VisBuffer& vb, const MDirection& mDesired)
- Protected Members
- LogIO& logIO()
- virtual void ok()
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
To Do
SmearedComponentFTMachine to take into account
time and bandwidth smearing
Forward declarations
Member Description
ComponentFTMachine& operator=(const ComponentFTMachine& other)
Get actual coherence : this is the only virtual method
virtual void get(VisBuffer& vb, const ComponentList& componentList, Int row=-1) = 0
Get actual coherence : this is the other only virtual method
Rotate the uvw from the observed phase center to the
desired phase center.
virtual void ok()