SIMapperCollection.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_SIMAPPERCOLLECTION_H
00028 #define SYNTHESIS_SIMAPPERCOLLECTION_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 <synthesis/ImagerObjects/SIMapper.h>
00039 #include <synthesis/ImagerObjects/SIMapperImageMosaic.h>
00040
00041 namespace casa {
00042
00043 class SIMapperCollection
00044 {
00045 public:
00046
00047
00048 SIMapperCollection();
00049 ~SIMapperCollection();
00050
00051 void addMapper(CountedPtr <SIMapper> map);
00052 Int nMappers();
00053 Vector<String> getImageNames();
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070 void initializeGrid(vi::VisBuffer2& vb, Bool dopsf=False,const Int mapperid=-1);
00071 void grid(vi::VisBuffer2& vb, Bool dopsf=False, refim::FTMachine::Type col=refim::FTMachine::CORRECTED,
00072 const Int mapperid=-1);
00073 void finalizeGrid(vi::VisBuffer2& vb, Bool dopsf=False,const Int mapperid=-1);
00074 void initializeDegrid(vi::VisBuffer2& vb,const Int mapperid=-1);
00075 void degrid(vi::VisBuffer2& vb, Bool saveVirtualMod=False,const Int mapperid=-1);
00076 void saveVirtualModel(vi::VisBuffer2& vb);
00077 void finalizeDegrid(vi::VisBuffer2& vb,const Int mapperid=-1);
00078 void addPB(vi::VisBuffer2& vb, PBMath& pbMath);
00079
00081 void initializeGrid(VisBuffer& vb, Bool dopsf=False,const Int mapperid=-1);
00082 void grid(VisBuffer& vb, Bool dopsf=False, FTMachine::Type col=FTMachine::CORRECTED,
00083 const Int mapperid=-1);
00084 void finalizeGrid(VisBuffer& vb, Bool dopsf=False,const Int mapperid=-1);
00085 void initializeDegrid(VisBuffer& vb,const Int mapperid=-1);
00086 void degrid(VisBuffer& vb, Bool saveVirtualMod=False,const Int mapperid=-1);
00087 void saveVirtualModel(VisBuffer& vb);
00088 void finalizeDegrid(VisBuffer& vb,const Int mapperid=-1);
00089 void addPB(VisBuffer& vb, PBMath& pbMath);
00091 Record getFTMRecord(Int mapperid);
00092
00093 CountedPtr<SIImageStore> imageStore(const Int id=0);
00094 Bool releaseImageLocks();
00095
00096 void checkOverlappingModels(String action);
00097
00098 Bool anyNonZeroModels();
00099
00100 const CountedPtr<FTMachine> getFTM(Int which, const Bool ift=True)
00101 {
00102 AlwaysAssert(which>=0 && which<(Int)itsMappers.nelements(),AipsError);
00103 return itsMappers[which]->getFTM(ift);
00104 };
00105 const CountedPtr<refim::FTMachine>& getFTM2(Int which, const Bool ift=True)
00106 {
00107 AlwaysAssert(which>=0 && which<(Int)itsMappers.nelements(),AipsError);
00108 return itsMappers[which]->getFTM2(ift);
00109 };
00110
00111
00112 void initPB();
00113
00114 const CountedPtr<SIMapper> getMapper(Int which)
00115 {AlwaysAssert(which>=0 && which<(Int)itsMappers.nelements(),AipsError);
00116 return itsMappers[which];};
00117
00118 protected:
00119
00121
00122 Block<CountedPtr<SIMapper> > itsMappers;
00123 Int oldMsId_p;
00124
00125 Bool itsIsNonZeroModel;
00126
00127 };
00128
00129
00130 }
00131
00132 #endif