WOnlyConvFunc.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
00028
00029 #ifndef SYNTHESIS_WONLYCONVFUNC_H
00030 #define SYNTHESIS_WONLYCONVFUNC_H
00031
00032 #include <synthesis/TransformMachines/ConvolutionFunction.h>
00033 #include <synthesis/TransformMachines/CFStore.h>
00034 #include <synthesis/TransformMachines/WTerm.h>
00035 #include <synthesis/TransformMachines/PSTerm.h>
00036 #include <images/Images/ImageInterface.h>
00037 #include <images/Images/TempImage.h>
00038 #include <casa/Logging/LogIO.h>
00039 #include <casa/Logging/LogSink.h>
00040 #include <casa/Logging/LogOrigin.h>
00041
00042 namespace casa {
00043 template<class T> class ImageInterface;
00044 template<class T> class Matrix;
00045 class VisBuffer;
00046
00047
00048
00049 class WOnlyConvFunc : public ConvolutionFunction
00050 {
00051 public:
00052 WOnlyConvFunc(const CountedPtr<WTerm>& wTerm,
00053 const CountedPtr<PSTerm>& psTerm):
00054 ConvolutionFunction(),wTerm_p(wTerm), psTerm_p(psTerm)
00055 {};
00056 ~WOnlyConvFunc() {};
00057 WOnlyConvFunc& operator=(const WOnlyConvFunc& other);
00058
00059
00060 void makeConvFunction(const ImageInterface<Complex>& image,
00061 const VisBuffer& vb,
00062 const Int wConvSize,
00063 const Float pa,
00064 CFStore& cfs,
00065 CFStore& cfwts);
00066
00067 virtual int getVisParams(const VisBuffer& vb) {return wTerm_p->getVisParams(vb);};
00068 virtual void setPolMap(const Vector<Int>& polMap) {wTerm_p->setPolMap(polMap);};
00069
00070 virtual Bool findSupport(Array<Complex>& func, Float& threshold,Int& origin, Int& R);
00071
00072
00073
00074
00075 Bool makeAverageResponse(const VisBuffer& ,
00076 const ImageInterface<Complex>& ,
00077 ImageInterface<Float>& ,
00078 Bool =True) {return False;};
00079 Bool makeAverageResponse(const VisBuffer& ,
00080 const ImageInterface<Complex>& ,
00081 ImageInterface<Complex>& ,
00082 Bool =True) {return False;};
00083 protected:
00084 void setSupport(Array<Complex>& convFunc, CFStore& cfs);
00085
00086 private:
00087 CountedPtr<WTerm> wTerm_p;
00088 CountedPtr<PSTerm> psTerm_p;
00089 };
00090
00091
00092
00093 };
00094 #endif