Main Page | Class List | Directories | File List | Class Members | File Members

ObitSkyModel.h

Go to the documentation of this file.
00001 /* $Id: ObitSkyModel.h,v 1.19 2007/08/31 17:24:48 bcotton Exp $     */
00002 /*--------------------------------------------------------------------*/
00003 /*;  Copyright (C) 2004-2007                                          */
00004 /*;  Associated Universities, Inc. Washington DC, USA.                */
00005 /*;                                                                   */
00006 /*;  This program is free software; you can redistribute it and/or    */
00007 /*;  modify it under the terms of the GNU General Public License as   */
00008 /*;  published by the Free Software Foundation; either version 2 of   */
00009 /*;  the License, or (at your option) any later version.              */
00010 /*;                                                                   */
00011 /*;  This program is distributed in the hope that it will be useful,  */
00012 /*;  but WITHOUT ANY WARRANTY; without even the implied warranty of   */
00013 /*;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    */
00014 /*;  GNU General Public License for more details.                     */
00015 /*;                                                                   */
00016 /*;  You should have received a copy of the GNU General Public        */
00017 /*;  License along with this program; if not, write to the Free       */
00018 /*;  Software Foundation, Inc., 675 Massachusetts Ave, Cambridge,     */
00019 /*;  MA 02139, USA.                                                   */
00020 /*;                                                                   */
00021 /*;Correspondence about this software should be addressed as follows: */
00022 /*;         Internet email: bcotton@nrao.edu.                         */
00023 /*;         Postal address: William Cotton                            */
00024 /*;                         National Radio Astronomy Observatory      */
00025 /*;                         520 Edgemont Road                         */
00026 /*;                         Charlottesville, VA 22903-2475 USA        */
00027 /*--------------------------------------------------------------------*/
00028 #ifndef OBITSKYMODEL_H 
00029 #define OBITSKYMODEL_H 
00030 
00031 #include "Obit.h"
00032 #include "ObitErr.h"
00033 #include "ObitFArray.h"
00034 #include "ObitCArray.h"
00035 #include "ObitCInterpolate.h"
00036 #include "ObitImageMosaic.h"
00037 #include "ObitUV.h"
00038 #include "ObitTableCC.h"
00039 
00040 /*-------- Obit: Software for the recently deceased ------------------*/
00090 /*-------------- enumerations -------------------------------------*/
00095 enum obitSkyModelType {
00097   OBIT_SkyModel_Comps=0,
00099   OBIT_SkyModel_Image,
00101   OBIT_SkyModel_Point
00102 }; /* end enum obitSkyModelType */
00104 typedef enum obitSkyModelType ObitSkyModelType;
00105 
00110 enum obitSkyModelMode {
00112   OBIT_SkyModel_Fastest=0,
00114   OBIT_SkyModel_DFT,  
00116   OBIT_SkyModel_Grid, 
00118   OBIT_SkyModel_Mixed  
00119 }; /* end enum obitSkyModelMode */
00121 typedef enum obitSkyModelMode ObitSkyModelMode;
00122 
00127 enum obitSkyModelCompType {
00129   OBIT_SkyModel_PointMod,
00131   OBIT_SkyModel_GaussMod,  
00133   OBIT_SkyModel_CGaussMod,  
00135   OBIT_SkyModel_USphereMod, 
00137   OBIT_SkyModel_Unknown 
00138 }; /* end enum obitSkyModelCompType */
00140 typedef enum obitSkyModelCompType ObitSkyModelCompType;
00141 
00142 /*--------------Class definitions-------------------------------------*/
00144 typedef struct {
00145 #include "ObitSkyModelDef.h"   /* this class definition */
00146 } ObitSkyModel;
00147 
00148 /*----------------- Macroes ---------------------------*/
00154 #define ObitSkyModelUnref(in) ObitUnref (in)
00155 
00161 #define ObitSkyModelRef(in) ObitRef (in)
00162 
00169 #define ObitSkyModelIsA(in) ObitIsA (in, ObitSkyModelGetClass())
00170 
00171 /*---------------Public functions---------------------------*/
00173 void ObitSkyModelClassInit (void);
00174 
00176 ObitSkyModel* newObitSkyModel (gchar* name);
00177 
00179 ObitSkyModel* ObitSkyModelCreate (gchar* name, ObitImageMosaic* mosaic);
00181 typedef ObitSkyModel* (*ObitSkyModelCreateFP) (gchar* name, ObitImageMosaic* mosaic);
00182 
00184 void ObitSkyModelInitMod (ObitSkyModel* in, ObitUV *uvdata, ObitErr *err);
00186 typedef void (*ObitSkyModelInitModFP) (ObitSkyModel* in, ObitUV *uvdata, 
00187                                        ObitErr *err);
00188 
00190 void ObitSkyModelShutDownMod (ObitSkyModel* in, ObitUV *uvdata, ObitErr *err);
00192 typedef void (*ObitSkyModelShutDownModFP) (ObitSkyModel* in, ObitUV *uvdata, 
00193                                            ObitErr *err);
00194 
00196 void ObitSkyModelInitModel (ObitSkyModel* in, ObitErr *err);
00198 typedef void (*ObitSkyModelInitModelFP) (ObitSkyModel* in, ObitErr *err);
00199 
00201 gconstpointer ObitSkyModelGetClass (void);
00202 
00204 ObitSkyModel* ObitSkyModelCopy  (ObitSkyModel *in, ObitSkyModel *out, ObitErr *err);
00205 
00207 void ObitSkyModelClone (ObitSkyModel *in, ObitSkyModel *out, ObitErr *err);
00208 
00210 ObitIOCode ObitSkyModelSubUV (ObitSkyModel *in, ObitUV *indata, ObitUV *outdata, 
00211                               ObitErr *err);
00212 typedef ObitIOCode (*ObitSkyModelSubUVFP) (ObitSkyModel *in, ObitUV *indata, 
00213                                           ObitUV *outdata, ObitErr *err);
00214 
00216 ObitIOCode ObitSkyModelDivUV (ObitSkyModel *in, ObitUV *indata, ObitUV *outdata, 
00217                               ObitErr *err);
00218 typedef ObitIOCode (*ObitSkyModelDivUVFP) (ObitSkyModel *in, ObitUV *indata, 
00219                                           ObitUV *outdata, ObitErr *err);
00220 
00222 gboolean ObitSkyModelLoad (ObitSkyModel *in, gint image, ObitUV *uvdata,
00223                              ObitErr *err);
00224 typedef gboolean (*ObitSkyModelLoadFP) (ObitSkyModel *in, gint field,
00225                                         ObitUV *uvdata, ObitErr *err);
00226 
00228 void ObitSkyModelFT (ObitSkyModel *in, gint field,ObitUV *uvdata, ObitErr *err);
00229 typedef void (*ObitSkyModelFTFP) (ObitSkyModel *in, gint field,ObitUV *uvdata, 
00230                                   ObitErr *err);
00231 
00233 gboolean ObitSkyModelLoadPoint (ObitSkyModel *in, ObitUV *uvdata, ObitErr *err);
00234 typedef gboolean (*ObitSkyModelLoadPointFP) (ObitSkyModel *in, ObitUV *uvdata, 
00235                                              ObitErr *err);
00236 
00238 gboolean ObitSkyModelLoadComps (ObitSkyModel *in, gint n, ObitUV *uvdata, 
00239                                   ObitErr *err);
00240 typedef gboolean (*ObitSkyModelLoadCompsFP) (ObitSkyModel *in, gint n, 
00241                                               ObitUV *uvdata, ObitErr *err);
00242 
00244 gboolean ObitSkyModelGridComps (ObitSkyModel *in, gint n, ObitUV *uvdata, 
00245                                   ObitErr *err);
00246 typedef gboolean (*ObitSkyModelGridCompsFP) (ObitSkyModel *in, gint n, 
00247                                                ObitUV *uvdata, ObitErr *err);
00248 
00250 gboolean ObitSkyModelLoadImage (ObitSkyModel *in, gint n, ObitUV *uvdata, 
00251                                   ObitErr *err);
00252 typedef gboolean (*ObitSkyModelLoadImageFP) (ObitSkyModel *in, gint n, 
00253                                               ObitUV *uvdata, ObitErr *err);
00254 
00256 void ObitSkyModelFTDFT (ObitSkyModel *in, gint field, ObitUV *uvdata, ObitErr *err);
00257 typedef void (*ObitSkyModelFTDFTFP) (ObitSkyModel *in, gint field, ObitUV *uvdata, 
00258                                           ObitErr *err);
00259 
00261 void ObitSkyModelFTGrid (ObitSkyModel *in, gint field, ObitUV *uvdata, ObitErr *err);
00262 typedef void (*ObitSkyModelFTGridFP) (ObitSkyModel *in, gint field, ObitUV *uvdata, 
00263                                            ObitErr *err);
00264 
00266 gfloat ObitSkyModelSum (ObitSkyModel *in, ObitErr *err);
00267 typedef gfloat (*ObitSkyModelSumFP) (ObitSkyModel *in, ObitErr *err);
00268 
00270 void ObitSkyModelCompressCC (ObitSkyModel *in, ObitErr *err);
00271 typedef void (*ObitSkyModelCompressCCFP) (ObitSkyModel *in, ObitErr *err);
00272 
00274 void  ObitSkyModelGetInput (ObitSkyModel* in, ObitErr *err);
00275 typedef void (*ObitSkyModelGetInputFP) (ObitSkyModel* in, ObitErr *err);
00276 
00278 void  ObitSkyModelChose (ObitSkyModel* in, ObitUV* uvdata);
00279 typedef void (*ObitSkyModelChoseFP) (ObitSkyModel* in, ObitUV* uvdata);
00280 
00282 void ObitSkyModelSetSelect (ObitSkyModel* in, ObitUV* uvdata, ObitErr *err);
00283 typedef void (*ObitSkyModelSetSelectFP) (ObitSkyModel* in, ObitUV* uvdata, ObitErr *err);
00284 
00286 gboolean ObitSkyModelsetPBChans(ObitSkyModel* in, ObitUV* uvdata, ObitErr *err);
00287 typedef gboolean (*ObitSkyModelsetPBChansFP) (ObitSkyModel* in, ObitUV* uvdata, ObitErr *err);
00288 
00290 ObitTableCC* ObitSkyModelgetPBCCTab (ObitSkyModel* in, ObitUV* uvdata, 
00291                                      gint field, glong *inCCVer, glong *outCCver,
00292                                      glong *startCC, glong *endCC, gfloat range[2],
00293                                      ObitErr *err);
00294 typedef ObitTableCC* 
00295 (*ObitSkyModelgetPBCCTabFP) (ObitSkyModel* in, ObitUV* uvdata, 
00296                              gint field, glong *inCCVer, glong *outCCver,
00297                              glong *startCC, glong *endCC, ObitErr *err);
00298 
00300 void ObitSkyModelgetPBImage (ObitSkyModel* in, ObitUV* uvdata, gint field, 
00301                              ObitErr *err);
00302 typedef void (*ObitSkyModelgetPBImageFP) (ObitSkyModel* in, ObitUV* uvdata, gint field, 
00303                                           ObitErr *err);
00304 
00306 gboolean ObitSkyModelGridFTComps (ObitSkyModel* in, gint field, ObitUV* uvdata, 
00307                                   ObitErr *err);
00308 typedef gboolean (*ObitSkyModelGridFTCompsFP) (ObitSkyModel* in, gint field, ObitUV* uvdata, 
00309                                   ObitErr *err);
00310 
00312 void ObitSkyModelLoadGridComps (ObitSkyModel* in, gint field, ObitUV* uvdata, 
00313                                 gfloat gparm[3], glong *ncomp, ObitErr *err);
00314 typedef void (*ObitSkyModelLoadGridCompsFP) (ObitSkyModel* in, gint field, ObitUV* uvdata, 
00315                                              gfloat gparm[3], glong *ncomp, ObitErr *err);
00316 
00318 void ObitSkyModelFTImage (ObitSkyModel* in, ObitFArray *inArray, 
00319                           ObitCArray *outArray);
00320 typedef void (*ObitSkyModelFTImageFP) (ObitSkyModel* in, ObitFArray *inArray, 
00321                                        ObitCArray *outArray);
00322 
00324 void ObitSkyModelAddField (ObitSkyModel *in, ObitErr *err);
00325 typedef void (*ObitSkyModelAddFieldFP) (ObitSkyModel* in, ObitErr *err);
00326 /*----------- ClassInfo Structure -----------------------------------*/
00332 typedef struct  {
00333 #include "ObitSkyModelClassDef.h"
00334 } ObitSkyModelClassInfo; 
00335 
00336 #endif /* OBITFSKYMODEL_H */ 

Generated on Fri Aug 31 22:13:04 2007 for Obit by  doxygen 1.3.9.1