SIMapper.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef SYNTHESIS_VB2_SIMAPPER_H
00028 #define SYNTHESIS_VB2_SIMAPPER_H
00029
00030 #include <casa/aips.h>
00031 #include <casa/OS/Timer.h>
00032 #include <casa/Containers/Record.h>
00033 #include <ms/MeasurementSets/MeasurementSet.h>
00034 #include <casa/Arrays/IPosition.h>
00035 #include <casa/Quanta/Quantum.h>
00036 #include <measures/Measures/MDirection.h>
00037
00038 #include <msvis/MSVis/VisBuffer2.h>
00039 #include <msvis/MSVis/VisBufferImpl2.h>
00040 #include <msvis/MSVis/VisBuffer2Adapter.h>
00041
00042 #include <msvis/MSVis/VisibilityIterator2.h>
00043 #include <synthesis/TransformMachines2/FTMachine.h>
00044
00045 namespace casa {
00046
00047
00048 class ComponentFTMachine;
00049 class SkyJones;
00050 template<class T> class ImageInterface;
00051
00052
00053
00054 namespace refim {
00055
00056 class SIMapper
00057 {
00058 public:
00059
00060
00061 SIMapper( CountedPtr<SIImageStore>& imagestore,
00062 CountedPtr<FTMachine>& ftm,
00063 CountedPtr<FTMachine>& iftm);
00064 SIMapper(const ComponentList& cl,
00065 String& whichMachine);
00066 virtual ~SIMapper();
00067
00069
00071 virtual void initializeGrid(const vi::VisBuffer2& vb, Bool dopsf);
00072 virtual void grid(const vi::VisBuffer2& vb, Bool dopsf, FTMachine::Type col);
00073 virtual void finalizeGrid(const vi::VisBuffer2& vb, const Bool dopsf);
00074 virtual void initializeDegrid(const vi::VisBuffer2& vb, const Int row=-1);
00075 virtual void degrid(vi::VisBuffer2& vb);
00076
00077 virtual void finalizeDegrid();
00078
00080 Bool getCLRecord(Record& rec);
00081 Bool getFTMRecord(Record& rec, const String diskimage="");
00082
00083 virtual String getImageName(){return itsImages->getName();};
00084 virtual CountedPtr<SIImageStore> imageStore(){return itsImages;};
00085 virtual Bool releaseImageLocks(){return itsImages->releaseLocks();};
00086
00087 protected:
00088
00089 CountedPtr<FTMachine> ft_p, ift_p;
00090
00091 CountedPtr<ComponentFTMachine> cft_p;
00092 ComponentList cl_p;
00093
00094 CountedPtr<SIImageStore> itsImages;
00095
00096 };
00097
00098 }
00099 }
00100
00101 #endif