casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CFStore.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 //# CFStore.h: Definition of the CFStore class
3 //# Copyright (C) 1997,1998,1999,2000,2001,2002,2003
4 //# Associated Universities, Inc. Washington DC, USA.
5 //#
6 //# This library is free software; you can redistribute it and/or modify it
7 //# under the terms of the GNU Library General Public License as published by
8 //# the Free Software Foundation; either version 2 of the License, or (at your
9 //# option) any later version.
10 //#
11 //# This library is distributed in the hope that it will be useful, but WITHOUT
12 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
14 //# License for more details.
15 //#
16 //# You should have received a copy of the GNU Library General Public License
17 //# along with this library; if not, write to the Free Software Foundation,
18 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
19 //#
20 //# Correspondence concerning AIPS++ should be addressed as follows:
21 //# Internet email: aips2-request@nrao.edu.
22 //# Postal address: AIPS++ Project Office
23 //# National Radio Astronomy Observatory
24 //# 520 Edgemont Road
25 //# Charlottesville, VA 22903-2475 USA
26 //#
27 //# $Id$
28 #ifndef SYNTHESIS_TRANSFORM2_CFSTORE_H
29 #define SYNTHESIS_TRANSFORM2_CFSTORE_H
33 #include <casa/Logging/LogIO.h>
34 #include <casa/Logging/LogSink.h>
35 #include <casa/Logging/LogOrigin.h>
38 #include <msvis/MSVis/VisBuffer2.h>
39 namespace casa { //# NAMESPACE CASA - BEGIN
40  using namespace vi;
41  namespace refim{
42  using namespace CFDefs;
43  class CFStore
44  {
45  public:
46  CFStore():data(), rdata(), coordSys(), sampling(),
47  xSupport(), ySupport(),
48  maxXSupport(-1), maxYSupport(-1),
49  pa(), mosPointingPos(0) {};
50 
53  casacore::Quantity PA, casacore::Int mosPointing):
54  data(),rdata(), coordSys(cs), sampling(samp),
55  xSupport(xsup), ySupport(ysup), maxXSupport(maxXSup),
56  maxYSupport(maxYSup), pa(PA), mosPointingPos(mosPointing)
57  {data = new CFType(*dataPtr);};
58 
59  ~CFStore() {};
60 
61  CFStore& operator=(const CFStore& other);
62  void show(const char *Mesg=NULL,std::ostream &os=std::cerr);
63  casacore::Bool null() {return data.null();};
64  void set(const CFStore& other)
65  {
66  coordSys = other.coordSys; sampling.assign(other.sampling);
67  xSupport.assign(other.xSupport); ySupport.assign(other.ySupport);
68  maxXSupport=other.maxXSupport; maxYSupport=other.maxYSupport; pa=other.pa;
69  mosPointingPos = other.mosPointingPos;
70  }
73  casacore::Quantity PA, const casacore::Int mosPointing=0)
74  {
75  data=dataPtr; coordSys=cs; sampling.assign(samp);
76  xSupport.assign(xsup); ySupport.assign(ysup);
77  maxXSupport=maxXSup;maxYSupport=maxYSup;
78  pa=PA;
79  mosPointingPos = mosPointing;
80  }
81 
82  void resize(casacore::Int nw, casacore::Bool retainValues=false);
83  void resize(casacore::IPosition imShape, casacore::Bool retainValues=false);
84 
85 
91  casacore::Int maxXSupport, maxYSupport;
94  };
95 } //# NAMESPACE CASA - END
96 }
97 #endif
A Vector of integers, for indexing into Array&lt;T&gt; objects.
Definition: IPosition.h:119
casacore::CoordinateSystem coordSys
Definition: CFStore.h:88
int Int
Definition: aipstype.h:50
void set(CFType *dataPtr, casacore::CoordinateSystem &cs, casacore::Vector< casacore::Float > &samp, casacore::Vector< casacore::Int > &xsup, casacore::Vector< casacore::Int > &ysup, casacore::Int maxXSup, casacore::Int maxYSup, casacore::Quantity PA, const casacore::Int mosPointing=0)
Definition: CFStore.h:71
casacore::CountedPtr< CFType > data
Definition: CFStore.h:86
PtrHolder< T > & operator=(const PtrHolder< T > &other)
void set(const CFStore &other)
Definition: CFStore.h:64
casacore::Quantity pa
Definition: CFStore.h:92
casacore::Int maxXSupport
Definition: CFStore.h:91
casacore::Bool null()
Definition: CFStore.h:63
void show(const variant &v)
casacore::Int maxYSupport
Definition: CFStore.h:91
ABSTRACT CLASSES Deliberately vague to be general enough to allow for many different types of data
Definition: PlotData.h:48
casacore::Array< casacore::Complex > CFType
Definition: CFDefs.h:37
casacore::Vector< casacore::Int > xSupport
Definition: CFStore.h:90
LatticeExprNode pa(const LatticeExprNode &left, const LatticeExprNode &right)
This function finds 180/pi*atan2(left,right)/2.
Referenced counted pointer for constant data.
Definition: VisModelData.h:42
CFStore(CFType *dataPtr, casacore::CoordinateSystem &cs, casacore::Vector< casacore::Float > &samp, casacore::Vector< casacore::Int > &xsup, casacore::Vector< casacore::Int > &ysup, casacore::Int maxXSup, casacore::Int maxYSup, casacore::Quantity PA, casacore::Int mosPointing)
Definition: CFStore.h:51
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
casacore::Vector< casacore::Int > ySupport
Definition: CFStore.h:90
casacore::Vector< casacore::Float > sampling
Definition: CFStore.h:89
casacore::Int mosPointingPos
Definition: CFStore.h:93
casacore::CountedPtr< CFTypeReal > rdata
Definition: CFStore.h:87
Interconvert pixel and world coordinates.