Source
// const casacore::Vector<casacore::Complex>& par, const casacore::Vector<casacore::Bool>& pOk );
//# KJones.h: Declaration of delay-like (geometry) calibration types
//# Copyright (C) 1996,1997,2000,2001,2002,2003,2011
//# Associated Universities, Inc. Washington DC, USA.
//#
//# This library is free software; you can redistribute it and/or modify it
//# under the terms of the GNU Library General Public License as published by
//# the Free Software Foundation; either version 2 of the License, or (at your
//# option) any later version.
//#
//# This library is distributed in the hope that it will be useful, but WITHOUT
//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
//# License for more details.
//#
//# You should have received a copy of the GNU Library General Public License
//# along with this library; if not, write to the Free Software Foundation,
//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
//#
//# Correspondence concerning AIPS++ should be adressed as follows:
//# Internet email: aips2-request@nrao.edu.
//# Postal address: AIPS++ Project Office
//# National Radio Astronomy Observatory
//# 520 Edgemont Road
//# Charlottesville, VA 22903-2475 USA
//#
//#
namespace casa { //# NAMESPACE CASA - BEGIN
class DelayFFT {
public:
// Construct from freq info and data-like casacore::Cube<casacore::Complex>
// (for generic testing w/out casacore::MS data)
DelayFFT(casacore::Double f0, casacore::Double df, casacore::Double padBW,
casacore::Cube<casacore::Complex> V,
casacore::Cube<casacore::Float> wt=casacore::Cube<casacore::Float>());
// Construct from freq info and shape, w/ initialization
// (for accumulation)
DelayFFT(casacore::Double f0, casacore::Double df, casacore::Double padBW,
casacore::Int nCorr, casacore::Int nElem, casacore::Int refant,
casacore::Complex v0, casacore::Float wt=1.0);
// Construct from a VB
DelayFFT(const VisBuffer& vb,casacore::Double padBW,casacore::Int refant);
// Construct from a VB2
DelayFFT(SolveDataBuffer& sdb,casacore::Double padBW,casacore::Int refant,casacore::Int nElem);
// Perform FFT
void FFT();
// Apply shift theorem
void shift(casacore::Double f);
// Accumulate another DelayFFT
void add(const DelayFFT& other);