23 #ifndef ChannelAverageTVI_H_
24 #define ChannelAverageTVI_H_
53 cout <<
"ChannelAverageTVI: " << endl
54 <<
" T_flagCube =" << Tfl_ << endl
55 <<
" T_weightSpectrum =" << Tws_ << endl
56 <<
" T_sigmaSpectrum =" << Tss_ << endl
57 <<
" T_visibilityCorrected =" << Tcd_ << endl
58 <<
" T_visibilityModel =" << Tmd_ << endl
59 <<
" T_total =" << Tfl_+Tws_+Tss_+Tcd_+Tmd_
casacore::Bool sigmaSpectrumExists() const
Determine whether SIGMA_SPECTRUM exists.
void propagateChanAvgFlags(const casacore::Cube< casacore::Bool > &avgFlagCube, casacore::Cube< casacore::Bool > &expandedFlagCube)
vi::ViImplementation2 * createVi() const
casacore::Vector< casacore::Int > chanbin_p
virtual ~ChannelAverageTVILayerFactory()
ChannelAverageTVIFactory(casacore::Record &configuration, ViImplementation2 *inputVII)
void writeFlag(const casacore::Cube< casacore::Bool > &flag)
Write/modify the flags in the data.
void weightSpectrum(casacore::Cube< casacore::Float > &weightSp) const
Return weightspectrum (a weight for each channel)
casacore::Bool parseConfiguration(const casacore::Record &configuration)
std::map< casacore::Int, casacore::uInt > spwChanbinMap_p
ChannelAverageTVILayerFactory(casacore::Record &configuration)
ViImplementation2 * inputVii_p
void flag(casacore::Cube< casacore::Bool > &flagCube) const
Return flag for each polarization, channel and row.
void kernel(DataCubeMap *inputData, DataCubeMap *outputData, casacore::uInt startInputPos, casacore::uInt outputPos, casacore::uInt width)
casacore::Record configuration_p
virtual ViImplementation2 * createInstance(ViImplementation2 *vii0) const
Make a ViImplementation with another as input Must be specialized for each type.
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
void visibilityCorrected(casacore::Cube< casacore::Complex > &vis) const
Return the visibilities as found in the casacore::MS, casacore::Cube (npol,nchan,nrow).
void floatData(casacore::Cube< casacore::Float > &vis) const
Return FLOAT_DATA as a casacore::Cube (npol, nchan, nrow) if found in the MS.
void visibilityObserved(casacore::Cube< casacore::Complex > &vis) const
void kernel(DataCubeMap *inputData, DataCubeMap *outputData, casacore::uInt startInputPos, casacore::uInt outputPos, casacore::uInt width)
void kernel(DataCubeMap *inputData, DataCubeMap *outputData, casacore::uInt startInputPos, casacore::uInt outputPos, casacore::uInt width)
VisibilityIterator2 iterates through one or more readonly MeasurementSets.
virtual casacore::String ViiType() const =0
Report the the ViImplementation type.
String: the storage and methods of handling collections of characters.
void sigmaSpectrum(casacore::Cube< casacore::Float > &sigmaSp) const
Return sgimaspectrum (a sigma for each channel)
casacore::Vector< casacore::Double > getFrequencies(casacore::Double time, casacore::Int frameOfReference, casacore::Int spectralWindowId, casacore::Int msId) const
void visibilityModel(casacore::Cube< casacore::Complex > &vis) const
virtual void kernel(DataCubeMap *inputData, DataCubeMap *outputData, casacore::uInt startInputPos, casacore::uInt outputPos, casacore::uInt width)=0
ChannelAverageTVI(ViImplementation2 *inputVii, const casacore::Record &configuration)
virtual casacore::String ViiType() const
Report the the ViImplementation type.
const casacore::Record configuration_p
virtual void originChunks(casacore::Bool forceRewind=false)=0
Methods to control chunk iterator.
void kernel(DataCubeMap *inputData, DataCubeMap *outputData, casacore::uInt startInputPos, casacore::uInt outputPos, casacore::uInt width)
casacore::Bool weightSpectrumExists() const
Determine whether WEIGHT_SPECTRUM exists.
void kernel(DataCubeMap *inputData, DataCubeMap *outputData, casacore::uInt startInputPos, casacore::uInt outputPos, casacore::uInt width)