#include "Obit.h"
#include "ObitErr.h"
#include "ObitUV.h"
#include "ObitTableSN.h"
#include "ObitTableCL.h"
Go to the source code of this file.
Classes | |
| struct | ObitUVSoln |
| ObitUVSoln Class structure. More... | |
| struct | ObitUVSolnClassInfo |
| ClassInfo Structure. More... | |
Defines | |
| #define | ObitUVSolnUnref(in) ObitUnref (in) |
| Macro to unreference (and possibly destroy) an ObitUVSoln returns a ObitUVSoln*. | |
| #define | ObitUVSolnRef(in) ObitRef (in) |
| Macro to reference (update reference count) an ObitUVSoln. | |
| #define | ObitUVSolnIsA(in) ObitIsA (in, ObitUVSolnGetClass()) |
| Macro to determine if an object is the member of this or a derived class. | |
Typedefs | |
| typedef ObitUVSoln *(* | ObitUVSolnCreateFP )(gchar *name, ObitUV *inUV) |
| Typedef for definition of class pointer structure. | |
| typedef void(* | ObitUVSolnStartUpFP )(ObitUVSoln *in, ObitErr *err) |
| Typedef for definition of class pointer structure. | |
| typedef gboolean(* | ObitUVSolnGetSNFP )(ObitUVSoln *in, ObitTableSNRow *SNrow, ObitErr *err) |
| Typedef for definition of class pointer structure. | |
| typedef void(* | ObitUVSolnShutDownFP )(ObitUVSoln *in, ObitErr *err) |
| Typedef for definition of class pointer structure. | |
Enumerations | |
| enum | obitUVSolnInterMode { OBIT_UVSolnInterUnknown = 0, OBIT_UVSolnInter2PT, OBIT_UVSolnInterSELF, OBIT_UVSolnInterPOLY, OBIT_UVSolnInterSIMP, OBIT_UVSolnInterAMBG, OBIT_UVSolnInterCUBE, OBIT_UVSolnInterMWF, OBIT_UVSolnInterBOX, OBIT_UVSolnInterGAUS } |
| enum for UVSoln interpolation modes More... | |
Functions | |
| void | ObitUVSolnClassInit (void) |
| Public: Class initializer. | |
| ObitUVSoln * | newObitUVSoln (gchar *name) |
| Public: Default Constructor. | |
| ObitUVSoln * | ObitUVSolnCreate (gchar *name, ObitUV *inUV) |
| Public: Create/initialize ObitUVSoln structures. | |
| gconstpointer | ObitUVSolnGetClass (void) |
| Public: ClassInfo pointer. | |
| ObitUVSoln * | ObitUVSolnCopy (ObitUVSoln *in, ObitUVSoln *out, ObitErr *err) |
| Public: Copy (deep) constructor. | |
| void | ObitUVSolnClone (ObitUVSoln *in, ObitUVSoln *out, ObitErr *err) |
| Public: Copy structure. | |
| void | ObitUVSolnStartUp (ObitUVSoln *in, ObitErr *err) |
| Public: Initialize interpolation. | |
| gboolean | ObitUVSolnGetSN (ObitUVSoln *in, ObitTableSNRow *SNrow, ObitErr *err) |
| Public: interpolate calibration at a given time. | |
| void | ObitUVSolnShutDown (ObitUVSoln *in, ObitErr *err) |
| Public: Shutdown interpolation. | |
| void | ObitUVSolnRefAnt (ObitTableSN *SNTab, gint isuba, gint *refant, ObitErr *err) |
| Refererence phases to a common reference antenna. | |
| void | ObitUVSolnAvgRate (ObitTableSN *SNTab, ObitErr *err) |
| Average fringe rates over IF/poln in an SN table. | |
| void | ObitUVSolnSNSmo (ObitTableSN *SNTab, gint isuba, ObitErr *err) |
| Smooth an SN table and possible interpolate blanked soln. | |
| void | ObitUVSolnDeselSN (ObitTableSN *SNTab, gint isuba, gint fqid, gint nantf, gint *ants, gint nsou, gint *sources, gfloat timerange[2], ObitErr *err) |
| Deselect records in an SN table. | |
| void | ObitUVSolnDeselCL (ObitTableCL *CLTab, gint isuba, gint fqid, gint nantf, gint *ants, gint nsou, gint *sources, gfloat timerange[2], ObitErr *err) |
| Deselect records in a CL table. | |
| void | ObitUVSolnSNSmooth (ObitTableSN *SNTab, gchar *smoFunc, gchar *smoType, gfloat alpha, gfloat *smoParm, gint iif, gint sub, gfloat *gncnt, gfloat *gnsum, gint nxt, gfloat *work1, gfloat *work2, gboolean doBlank, ObitErr *err) |
| Smooth solutions for a given IF and subarray. | |
| void | ObitUVSolnSmooBox (gfloat smoTime, gfloat *x, gfloat *y, gfloat *w, gint n, gfloat *ys, gfloat *ws, gboolean doBlank) |
| Boxcar smoothing with weighting of an irregularly spaced array. | |
| void | ObitUVSolnSmooGauss (gfloat smoTime, gfloat *x, gfloat *y, gfloat *w, gint n, gfloat *ys, gfloat *ws, gfloat *wtsum, gboolean doBlank) |
| Gaussian smoothing with weighting of an irregularly spaced array. | |
| void | ObitUVSolnSmooMWF (gfloat smoTime, gfloat alpha, gfloat *x, gfloat *y, gfloat *w, gint n, gfloat *ys, gfloat *ws, gfloat *yor, gfloat *wor, gboolean doBlank) |
| Median Window smoothing with weighting of an irregularly spaced array. | |
This class manipulates, mostly interpolates, solutions tables to specified times and using a vareity of interpolation techniques.
The following options can be entered onto the info list prior to StartUp:
A copy of a pointer to an ObitUVSoln should always be made using the ObitUVSolnRef function which updates the reference count in the object. Then whenever freeing an ObitUVSoln or changing a pointer, the function ObitUVSolnUnref will decrement the reference count and destroy the object when the reference count hits 0. There is no explicit destructor.
|
|
Macro to determine if an object is the member of this or a derived class. Returns TRUE if a member, else FALSE in = object to reference |
|
|
Macro to reference (update reference count) an ObitUVSoln. returns a ObitUVSoln*. in = object to reference |
|
|
Macro to unreference (and possibly destroy) an ObitUVSoln returns a ObitUVSoln*. in = object to unreference |
|
|
Typedef for definition of class pointer structure.
|
|
|
Typedef for definition of class pointer structure.
|
|
|
Typedef for definition of class pointer structure.
|
|
|
Typedef for definition of class pointer structure.
|
|
|
|
Public: Default Constructor. Initializes class if needed on first call.
|
|
||||||||||||
|
Average fringe rates over IF/poln in an SN table.
|
|
|
Public: Class initializer.
|
|
||||||||||||||||
|
Public: Copy structure.
|
|
||||||||||||||||
|
Public: Copy (deep) constructor.
|
|
||||||||||||
|
Public: Create/initialize ObitUVSoln structures.
|
|
||||||||||||||||||||||||||||||||||||||||
|
Deselect records in a CL table.
|
|
||||||||||||||||||||||||||||||||||||||||
|
Deselect records in an SN table.
|
|
|
Public: ClassInfo pointer.
|
|
||||||||||||||||
|
Public: interpolate calibration at a given time. Input values on an ObitTableSNRow into which the results are added. Data selection is enabled.
|
|
||||||||||||||||||||
|
Refererence phases to a common reference antenna. Leaves the output table sorted in antenna-time order. Routine translated from the AIPSish UVUTIL.FOR/SLFREF
|
|
||||||||||||
|
Public: Shutdown interpolation. Close any open file and destroy structures.
|
|
||||||||||||||||||||||||||||||||||||
|
Boxcar smoothing with weighting of an irregularly spaced array. Only returns blanked values if no valid data found. First good value used for all previous points, last good value used for all subsequent points in which all data are blanked in the boxcar. A datum is blanked if its weight is <= 0 or fblank. Routine translated from the AIPSish SMBOX.FOR/SMBOX
|
|
||||||||||||||||||||||||||||||||||||||||
|
Gaussian smoothing with weighting of an irregularly spaced array. Only returns blanked values if no valid data found. First good value used for all previous points, last good value used for all subsequent points in which all data are blanked in the smoothing interval. A datum is considered blanked if its weight is <= 0 or its value fblank. Routine translated from the AIPSish SMGAUS.FOR/SMGAUS
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
Median Window smoothing with weighting of an irregularly spaced array. Only returns blanked values if no valid data found. First good value used for all previous points, last good value used for all subsequent points in which all data are blanked in the smoothing interval. A datum is considered blanked if its weight is <= 0 or its value fblank. Routine translated from the AIPSish SMMWF.FOR/SMMWF
|
|
||||||||||||||||
|
Smooth an SN table and possible interpolate blanked soln. Failed solutions are optionally interpolated. Leaves the output table sorted in antenna-time order. If SmoType='VLMB the host ObitUV of SNTab should have a valid selector and descriptor. All rates are averaged. Routine adapted from the AIPSish UVUTIL.FOR/SLFSMO Table MUST be in Time order when called and will be returned in antenna order Controls on SNTab:
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Smooth solutions for a given IF and subarray. All poln present are smoothed but only one IF. The KOL pointers are presumed to point at the desired IF. An error is returned if there are any non-zero delays, rates, or multi-band delays. If the reference antenna changes and phase is being smoothed, an error is returned. Multiband delays only smoothed if iif==0; Input table must be in antenna-time order. Routine translated from the AIPSish SNSMOO.FOR/SNSMOO
|
|
||||||||||||
|
Public: Initialize interpolation.
|
1.3.9.1