casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Typedefs | Functions | Variables
ViFrequencySelection.h File Reference
#include <casa/aips.h>
#include <casa/BasicSL.h>
#include <casa/Arrays/Slicer.h>
#include <measures/Measures/MFrequency.h>
#include <memory>
#include <set>
#include <vector>

Go to the source code of this file.

Classes

class  casa::vi::FrequencySelection
 
class  casa::vi::FrequencySelectionUsingFrame
 
class  casa::vi::FrequencySelectionUsingFrame::Element
 
exception  casa::vi::FrequencySelections
 

Namespaces

 casacore
 For temporary backward namespace compatibility, use casa as alias for casacore.
 
 casa
 -*- mode: c++ -*-
 
 casa::vi
 A class to support FTMachines get their convolution casacore::Function.
 

Typedefs

typedef std::vector< Element > casa::vi::Elements
 
typedef Elements::const_iterator casa::vi::const_iterator
 

Functions

each selection effectively
specify the desired channel
data in a specified spectral
window If the user uses the
FrequencySelectionChannel
class then the selection
simply selects a range of
channels The other derived
class is
FrequencySelectionReferential
which specifies a range of
frequencies in a specified
frame of 
casa::vi::reference (e.g., LSRK).Unlike the other first method
 
FrequencySelectionUsingChannels
class Selects sets of channels
from a single MS The selection
is created by specifying a
sequence of channels in a
single MS By adding multiple
selections the user can select
any arbitrary collecton of
channels The order of the add
operations are unimportant
Imaging finds it convenient to
double specify the frequency
ranges first using an
MSSelection object and later
with a series of frequency
ranges The intent is that only
channels which match up with
both criteria should be a part
of the VisBuffer To accomplish
this first create a selection
using a
FrequencySelectionUsingChannels 
casa::vi::object (using method"add"with either an MSSelection or a channel range).When that is complete build up a FrequencySelectionUsingFrequency object to represent the various frequency ranges desired.Then use FrequencySelectionUsingChannels
 
casacore::Slice casa::vi::getSlice () const
 
 casa::vi::FrequencySelectionUsingChannels ()
 
 casa::vi::FrequencySelectionUsingChannels (const FrequencySelectionUsingChannels &other)
 
void casa::vi::add (casacore::Int spectralWindow, casacore::Int firstChannel, casacore::Int nChannels, casacore::Int increment=1)
 
void casa::vi::add (const casacore::MSSelection &msSelection, const casacore::MeasurementSet *ms)
 
void casa::vi::applyRefinement (std::function< casacore::Slice(int, double, double)>) const
 
const_iterator casa::vi::begin () const
 
FrequencySelection * casa::vi::clone () const
 
casacore::Bool casa::vi::empty () const
 
const_iterator casa::vi::end () const
 
casacore::Int casa::vi::getNChannels (casacore::Int spectralWindowId) const
 
set< int > casa::vi::getSelectedWindows () const
 
void casa::vi::refine (const FrequencySelectionUsingFrame &frequencySelection)
 
bool casa::vi::refinementNeeded () const
 
size_t casa::vi::size () const
 
casacore::String casa::vi::toString () const
 
void casa::vi::refineSelection (FrequencySelectionUsingChannels::Element &originalElement, int firstRefiningChannel, int lastRefiningChannel) const
 std::pair<int, int> getChannelRange (const SpectralWindowChannels & spwChannels, double beginFrequency, double endFrequency); More...
 

Variables

casacore::Int casa::vi::firstChannel_p
 
casacore::Int casa::vi::increment_p
 
casacore::Int casa::vi::nChannels_p
 
casacore::Int casa::vi::spectralWindow_p
 
Elements casa::vi::elements_p
 
Elements casa::vi::filtered_p
 
std::unique_ptr
< FrequencySelectionUsingFrame > 
casa::vi::refinements_p