VBStore.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //# VBStore.h: Definition of the VBStore class
00003 //# Copyright (C) 1997,1998,1999,2000,2001,2002,2003
00004 //# Associated Universities, Inc. Washington DC, USA.
00005 //#
00006 //# This library is free software; you can redistribute it and/or modify it
00007 //# under the terms of the GNU Library General Public License as published by
00008 //# the Free Software Foundation; either version 2 of the License, or (at your
00009 //# option) any later version.
00010 //#
00011 //# This library is distributed in the hope that it will be useful, but WITHOUT
00012 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00013 //# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
00014 //# License for more details.
00015 //#
00016 //# You should have received a copy of the GNU Library General Public License
00017 //# along with this library; if not, write to the Free Software Foundation,
00018 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
00019 //#
00020 //# Correspondence concerning AIPS++ should be addressed as follows:
00021 //#        Internet email: aips2-request@nrao.edu.
00022 //#        Postal address: AIPS++ Project Office
00023 //#                        National Radio Astronomy Observatory
00024 //#                        520 Edgemont Road
00025 //#                        Charlottesville, VA 22903-2475 USA
00026 //#
00027 //# $Id$
00028 #ifndef SYNTHESIS_VBSTORE_H
00029 #define SYNTHESIS_VBSTORE_H
00030 #include <synthesis/TransformMachines/Utils.h>
00031 #include <synthesis/TransformMachines/CFBuffer.h>
00032 
00033 namespace casa { //# NAMESPACE CASA - BEGIN
00034   class VBStore
00035   {
00036   public:
00037     VBStore():dopsf_p(False) {};
00038     ~VBStore() {};
00039     inline Int nRow()              {return nRow_p;};
00040     inline Int beginRow()          {return beginRow_p;}
00041     inline Int endRow()            {return endRow_p;}
00042     inline Int spwID()             {return spwID_p;}
00043     inline Bool dopsf()            {return dopsf_p;}
00044     inline Bool useCorrected()     {return useCorrected_p;};
00045     Matrix<Double>& uvw()          {return uvw_p;};
00046     Vector<Bool>& rowFlag()        {return rowFlag_p;};
00047     Cube<Bool>& flagCube()         {return flagCube_p;};
00048     Matrix<Float>& imagingWeight() {return imagingWeight_p;};
00049     Cube<Complex>& visCube()       {return visCube_p;};
00050     Vector<Double>& freq()         {return freq_p;};
00051     Cube<Complex>& modelCube()     {return modelCube_p;};
00052     Cube<Complex>& correctedCube() {return correctedCube_p;};
00053     Quantity pa()                  {return paQuant_p;}
00054     const VisBuffer& vb()          {return *vb_p;}
00055     Double imRefFreq()             {return imRefFreq_p;}
00056 
00057     void reference(const VBStore& other)
00058     {
00059       nRow_p=other.nRow_p;  beginRow_p=other.beginRow_p; endRow_p=other.endRow_p;
00060       dopsf_p = other.dopsf_p;
00061       useCorrected_p = other.useCorrected_p;
00062 
00063       uvw_p.reference(other.uvw_p);
00064       rowFlag_p.reference(other.rowFlag_p);
00065       flagCube_p.reference(other.flagCube_p);
00066       imagingWeight_p.reference(other.imagingWeight_p);
00067       freq_p.reference(other.freq_p);
00068       // if (useCorrected_p) correctedCube_p.reference(other.correctedCube_p);
00069       // else visCube_p.reference(other.visCube_p);
00070       // if (useCorrected_p) 
00071       //        {
00072       //          correctedCube_p.reference(other.correctedCube_p);
00073       //          visCube_p.reference(other.correctedCube_p);
00074       //        }
00075       // else visCube_p.reference(other.visCube_p);
00076       correctedCube_p.reference(other.correctedCube_p);
00077       visCube_p.reference(other.visCube_p);
00078       modelCube_p.reference(other.modelCube_p);
00079 
00080       // uvw_p.assign(other.uvw_p);
00081       // rowFlag_p.assign(other.rowFlag_p);
00082       // flagCube_p.assign(other.flagCube_p);
00083       // imagingWeight_p.assign(other.imagingWeight_p);
00084       // freq_p.assign(other.freq_p);
00085       // visCube_p.assign(other.visCube_p);
00086       // modelCube_p.assign(other.modelCube_p);
00087       // correctedCube_p.assign(other.correctedCube_p);
00088     }
00089 
00090     Int nRow_p, beginRow_p, endRow_p, spwID_p, startChan_p, endChan_p,nDataChan_p, nDataPol_p;
00091     Matrix<Double> uvw_p;
00092     Vector<Bool> rowFlag_p;
00093     Cube<Bool> flagCube_p;
00094     Matrix<Float> imagingWeight_p;
00095     Cube<Complex> visCube_p, modelCube_p, correctedCube_p;
00096     Vector<Double> freq_p;
00097     Bool dopsf_p,useCorrected_p, conjBeams_p;
00098     Vector<Int> corrType_p;
00099     Quantity paQuant_p;
00100     Vector<Int> antenna1_p, antenna2_p;
00101     const VisBuffer *vb_p;
00102     Double imRefFreq_p;
00103     CFBStruct cfBSt_p;
00104     Bool accumCFs_p;
00105     Matrix<uInt> BLCXi, BLCYi, TRCXi, TRCYi;
00106   };
00107 
00108 } //# NAMESPACE CASA - END
00109 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1