casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SIMapper.h
Go to the documentation of this file.
1 //# SIMapper.h: Imager functionality sits here;
2 //# Copyright (C) 1996,1997,1998,1999,2000,2001,2002,2003
3 //# Associated Universities, Inc. Washington DC, USA.
4 //#
5 //# This library is free software; you can redistribute it and/or modify it
6 //# under the terms of the GNU Library General Public License as published by
7 //# the Free Software Foundation; either version 2 of the License, or (at your
8 //# option) any later version.
9 //#
10 //# This library is distributed in the hope that it will be useful, but WITHOUT
11 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13 //# License for more details.
14 //#
15 //# You should have received a copy of the GNU Library General Public License
16 //# along with this library; if not, write to the Free Software Foundation,
17 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18 //#
19 //# Correspondence concerning AIPS++ should be addressed as follows:
20 //# Internet email: aips2-request@nrao.edu.
21 //# Postal address: AIPS++ Project Office
22 //# National Radio Astronomy Observatory
23 //# 520 Edgemont Road
24 //#
25 //# $Id$
26 
27 #ifndef SYNTHESIS_SIMAPPER_H
28 #define SYNTHESIS_SIMAPPER_H
29 
30 #include <casa/aips.h>
31 #include <casa/OS/Timer.h>
32 #include <casa/Containers/Record.h>
34 #include <casa/Arrays/IPosition.h>
35 #include <casa/Quanta/Quantum.h>
37 
38 #include <msvis/MSVis/VisBuffer.h>
39 #include <msvis/MSVis/VisBuffer2.h>
42 
43 namespace casacore{
44 
45 template<class T> class ImageInterface;
46 }
47 
48 namespace casa { //# NAMESPACE CASA - BEGIN
49 
50 // Forward declarations
51  class ComponentFTMachine;
52  namespace refim{class ComponentFTMachine;}
53  class SkyJones;
54 
55 // <summary> Class that contains functions needed for imager </summary>
56 
57  class SIMapper// : public SIMapperBase
58 {
59  public:
60  // Default constructor
61 
65 
70 
71  SIMapper(const ComponentList& cl,
72  casacore::String& whichMachine);
73  virtual ~SIMapper();
74 
76  virtual void initializeGrid(vi::VisBuffer2& vb, casacore::Bool dopsf, casacore::Bool firstaccess=false);
77  virtual void grid(vi::VisBuffer2& vb, casacore::Bool dopsf, refim::FTMachine::Type col, const casacore::Int whichFTM=-1);
78  virtual void finalizeGrid(vi::VisBuffer2& vb, casacore::Bool dopsf);
79  virtual void initializeDegrid(vi::VisBuffer2& vb, casacore::Int row=-1);
80  virtual void degrid(vi::VisBuffer2& vb);
81  virtual void addPB(vi::VisBuffer2& vb, PBMath& pbMath, const casacore::MDirection& altDir=MDirection(), const casacore::Bool useAltDir=False);
83  virtual void initializeGrid(VisBuffer& vb, casacore::Bool dopsf, casacore::Bool firstaccess=false);
84  virtual void grid(VisBuffer& vb, casacore::Bool dopsf, FTMachine::Type col, const casacore::Int whichFTM=-1);
85  virtual void finalizeGrid(VisBuffer& vb, casacore::Bool dopsf);
86  virtual void initializeDegrid(VisBuffer& vb, casacore::Int row=-1);
87  virtual void degrid(VisBuffer& vb);
88  virtual void addPB(VisBuffer& vb, PBMath& pbMath);
89 
90  virtual void finalizeDegrid();
91 
95 
96  virtual casacore::String getImageName(){return itsImages->getName();};
98  virtual casacore::Bool releaseImageLocks(){return itsImages->releaseLocks();};
99 
100  const casacore::CountedPtr<FTMachine>& getFTM(const casacore::Bool ift=true) {if (ift) return ift_p; else return ft_p;};
101  const casacore::CountedPtr<refim::FTMachine>& getFTM2(const casacore::Bool ift=true) {if (ift) return ift2_p; else return ft2_p;};
102 
103 
104  virtual void initPB();
105 
106 
107 protected:
108 
116 
117 };
118 
119 
120 } //# NAMESPACE CASA - END
121 
122 #endif
A Measure: astronomical direction.
Definition: MDirection.h:174
int Int
Definition: aipstype.h:50
Class that contains functions needed for imager.
Definition: SIMapper.h:57
casacore::CountedPtr< FTMachine > ift_p
Definition: SIMapper.h:109
casacore::CountedPtr< refim::FTMachine > ft2_p
Definition: SIMapper.h:110
casacore::Bool getCLRecord(casacore::Record &rec)
casacore::CountedPtr< SIImageStore > itsImages
Definition: SIMapper.h:115
virtual ~SIMapper()
const casacore::CountedPtr< refim::FTMachine > & getFTM2(const casacore::Bool ift=true)
Definition: SIMapper.h:101
virtual void addPB(vi::VisBuffer2 &vb, PBMath &pbMath, const casacore::MDirection &altDir=MDirection(), const casacore::Bool useAltDir=False)
Primary beam envelope class, derived from PBMathInterface.
Definition: PBMath.h:126
virtual void finalizeDegrid()
const casacore::CountedPtr< FTMachine > & getFTM(const casacore::Bool ift=true)
Definition: SIMapper.h:100
casacore::CountedPtr< refim::FTMachine > ift2_p
Definition: SIMapper.h:110
virtual void finalizeGrid(vi::VisBuffer2 &vb, casacore::Bool dopsf)
casacore::Bool getFTMRecord(casacore::Record &rec, const casacore::String diskimage="")
virtual void initializeGrid(vi::VisBuffer2 &vb, casacore::Bool dopsf, casacore::Bool firstaccess=false)
Referenced counted pointer for constant data.
Definition: VisModelData.h:42
virtual casacore::CountedPtr< SIImageStore > imageStore()
Definition: SIMapper.h:97
A base class for astronomical images.
virtual void degrid(vi::VisBuffer2 &vb)
virtual void initializeDegrid(vi::VisBuffer2 &vb, casacore::Int row=-1)
virtual void grid(vi::VisBuffer2 &vb, casacore::Bool dopsf, refim::FTMachine::Type col, const casacore::Int whichFTM=-1)
Type
Types of known Images that may be made using the makeImage method.
Definition: FTMachine.h:127
Type
Types of known Images that may be made using the makeImage method.
Definition: FTMachine.h:125
A hierarchical collection of named fields of various types.
Definition: Record.h:180
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
const Bool False
Definition: aipstype.h:44
casacore::Bool useViVb2_p
Definition: SIMapper.h:114
casacore::CountedPtr< FTMachine > ft_p
Definition: SIMapper.h:109
casacore::CountedPtr< refim::ComponentFTMachine > cft2_p
Definition: SIMapper.h:112
ComponentList cl_p
Definition: SIMapper.h:113
VisBuffer2s encapsulate one chunk of visibility data for processing.
Definition: VisBuffer2.h:141
virtual casacore::Bool releaseImageLocks()
Definition: SIMapper.h:98
A class for manipulating groups of components.
String: the storage and methods of handling collections of characters.
Definition: String.h:223
VisBuffers encapsulate one chunk of visibility data for processing.
Definition: VisBuffer.h:153
casacore::CountedPtr< ComponentFTMachine > cft_p
Definition: SIMapper.h:111
virtual casacore::String getImageName()
Definition: SIMapper.h:96
virtual void initPB()
SIMapper(casacore::CountedPtr< SIImageStore > &imagestore, casacore::CountedPtr< FTMachine > &ftm, casacore::CountedPtr< FTMachine > &iftm)
Default constructor.
#define casacore
&lt;X11/Intrinsic.h&gt; #defines true, false, casacore::Bool, and String.
Definition: X11Intrinsic.h:42