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

ObitFitModel.h

Go to the documentation of this file.
00001 /* $Id: ObitFitModel.h,v 1.2 2007/08/31 17:24:48 bcotton Exp $        */
00002 /*--------------------------------------------------------------------*/
00003 /*;  Copyright (C) 2006,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 OBITFITMODEL_H 
00029 #define OBITFITMODEL_H 
00030 
00031 #include "Obit.h"
00032 #include "ObitErr.h"
00033 #include "ObitImage.h"
00034 
00035 /*-------- Obit: Software for the recently deceased ------------------*/
00054 /*-------------- enumerations -------------------------------------*/
00059 enum obitFitModelCompType {
00061   OBIT_FitModel_PointMod,
00063   OBIT_FitModel_GaussMod,  
00065   OBIT_FitModel_CGaussMod,  
00067   OBIT_FitModel_USphereMod, 
00069   OBIT_FitModel_Background, 
00071   OBIT_FitModel_Unknown 
00072 }; /* end enum obitFitModelCompType */
00074 typedef enum obitFitModelCompType ObitFitModelCompType;
00075 
00076 /*--------------Class definitions-------------------------------------*/
00078 typedef struct {
00079 #include "ObitFitModelDef.h"   /* this class definition */
00080 } ObitFitModel;
00081 
00082 /*----------------- Macroes ---------------------------*/
00088 #define ObitFitModelUnref(in) ObitUnref (in)
00089 
00095 #define ObitFitModelRef(in) ObitRef (in)
00096 
00103 #define ObitFitModelIsA(in) ObitIsA (in, ObitFitModelGetClass())
00104 
00105 /*---------------Public functions---------------------------*/
00107 void ObitFitModelClassInit (void);
00108 
00110 ObitFitModel* newObitFitModel (gchar* name);
00111 
00113 ObitFitModel* 
00114 ObitFitModelCreate (gchar* name, ObitFitModelCompType type, 
00115                     gfloat Flux, gfloat DeltaX, gfloat DeltaY, 
00116                     gint nparm, gfloat *parms);
00118 typedef ObitFitModel* 
00119 (*ObitFitModelCreateFP) (gchar* name, ObitFitModelCompType type, 
00120                          gfloat Flux, gfloat DeltaX, gfloat DeltaY, 
00121                          gint nparm, gfloat *parms);
00122 
00124 gconstpointer ObitFitModelGetClass (void);
00125 
00127 ObitFitModel* ObitFitModelCopy  (ObitFitModel *in, ObitFitModel *out, 
00128                                  ObitErr *err);
00129 
00131 void ObitFitModelClone (ObitFitModel *in, ObitFitModel *out, ObitErr *err);
00132 
00134 gint ObitFitModelDeconGau (gfloat bmaj, gfloat bmin, gfloat bpa, 
00135                            gfloat ebmaj, gfloat ebmin, gfloat ebpa,
00136                            gfloat cbmaj, gfloat cbmin, gfloat cbpa,
00137                            gfloat dgau[3][3]);
00138 /*----------- ClassInfo Structure -----------------------------------*/
00144 typedef struct  {
00145 #include "ObitFitModelClassDef.h"
00146 } ObitFitModelClassInfo; 
00147 
00148 #endif /* OBITFITMODEL_H */ 

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