SDPosInterpolator.h

Go to the documentation of this file.
00001 //# SDPosInterpolator.h: Definition for SDPosInterpolator
00002 //# Copyright (C) 1996,1997,1998,1999,2000,2001,2002,2003
00003 //# Associated Universities, Inc. Washington DC, USA.
00004 //#
00005 //# This library is free software; you can redistribute it and/or modify it
00006 //# under the terms of the GNU Library General Public License as published by
00007 //# the Free Software Foundation; either version 2 of the License, or (at your
00008 //# option) any later version.
00009 //#
00010 //# This library is distributed in the hope that it will be useful, but WITHOUT
00011 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00012 //# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
00013 //# License for more details.
00014 //#
00015 //# You should have received a copy of the GNU Library General Public License
00016 //# along with this library; if not, write to the Free Software Foundation,
00017 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
00018 //#
00019 //# Correspondence concerning AIPS++ should be adressed as follows:
00020 //#        Internet email: aips2-request@nrao.edu.
00021 //#        Postal address: AIPS++ Project Office
00022 //#                        National Radio Astronomy Observatory
00023 //#                        520 Edgemont Road
00024 //#                        Charlottesville, VA 22903-2475 USA
00025 //#
00026 //#
00027 //# $Id$
00028 
00029 #ifndef SYNTHESIS_SDPOSINTERPOLATOR_H
00030 #define SYNTHESIS_SDPOSINTERPOLATOR_H
00031 
00032 #include <casa/Arrays/Vector.h>
00033 #include <casa/BasicSL/Constants.h>
00034 #include <casa/Quanta/MVAngle.h>
00035 #include <casa/Quanta/MVTime.h>
00036 #include <casa/Quanta/UnitMap.h>
00037 #include <casa/Quanta/UnitVal.h>
00038 #include <measures/Measures/MDirection.h>
00039 #include <measures/Measures/Measure.h>
00040 #include <ms/MeasurementSets/MSColumns.h>
00041 #include <msvis/MSVis/VisBuffer.h>
00042 #include <coordinates/Coordinates/DirectionCoordinate.h>
00043 
00044 namespace casa { //# NAMESPACE CASA - BEGIN
00045 
00046 class SDPosInterpolator {
00047 public:
00048   SDPosInterpolator(const VisBuffer& vb,
00049                     const String& pointingDirCol_p);
00050   SDPosInterpolator(const Vector<Vector<Double> >& time,
00051                     const Vector<Vector<Vector<Double> > >& dir);
00052   ~SDPosInterpolator();
00053   Vector<Bool> doSplineInterpolation;   //(antid)
00054   MDirection interpolateDirectionMeasSpline(const ROMSPointingColumns& mspc,
00055                                             const Double& time,
00056                                             const Int& index,
00057                                             const Int& antid);
00058   Vector<Vector<Vector<Vector<Double> > > > getSplineCoeff();
00059 private:
00060   Vector<Vector<Double> > timePointing; //(antid)(index)
00061   Vector<Vector<Vector<Double> > > dirPointing; //(antid)(index)(xy)
00062   Vector<Vector<Vector<Vector<Double> > > > splineCoeff; //(antid)(index)(xy)(order)
00063   void setup(const VisBuffer& vb,
00064              const String& pointingDirCol_p);
00065   void setup(const Vector<Vector<Double> >& time,
00066              const Vector<Vector<Vector<Double> > >& dir);
00067   void calcSplineCoeff(const Vector<Double>& time,
00068                        const Vector<Vector<Double> >& dir,
00069                        Vector<Vector<Vector<Double> > >& coeff);
00070 };
00071 
00072 } //# NAMESPACE CASA - END
00073 
00074 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1