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

ObitTableOB.c File Reference

ObitTableOB class function definitions. More...

#include "ObitTableOB.h"
#include "ObitTableList.h"
#include "ObitData.h"

Functions

void ObitTableOBRowInit (gpointer in)
 Private: Initialize newly instantiated Row object.
void ObitTableOBRowClear (gpointer in)
 Private: Deallocate Row members.
void ObitTableOBInit (gpointer in)
 Private: Initialize newly instantiated object.
void ObitTableOBClear (gpointer in)
 Private: Deallocate members.
ObitTableOBRownewObitTableOBRow (ObitTableOB *table)
 Public: Constructor.
gconstpointer ObitTableOBRowGetClass (void)
 Public: ClassInfo pointer.
ObitTableOBnewObitTableOB (gchar *name)
 Public: Constructor.
gconstpointer ObitTableOBGetClass (void)
 Public: ClassInfo pointer.
ObitTableOBnewObitTableOBValue (gchar *name, ObitData *file, glong *ver, ObitIOAccess access, ObitErr *err)
 Public: Constructor from values.
ObitTableOBObitTableOBConvert (ObitTable *in)
 Public: Convert an ObitTable to an ObitTableOB.
ObitTableOBObitTableOBCopy (ObitTableOB *in, ObitTableOB *out, ObitErr *err)
 Public: Copy (deep) constructor.
ObitIOCode ObitTableOBOpen (ObitTableOB *in, ObitIOAccess access, ObitErr *err)
 Public: Create ObitIO structures and open file.
ObitIOCode ObitTableOBReadRow (ObitTableOB *in, glong iOBRow, ObitTableOBRow *row, ObitErr *err)
 Public: Read a table row.
void ObitTableOBSetRow (ObitTableOB *in, ObitTableOBRow *row, ObitErr *err)
 Public: Init a table row for write.
ObitIOCode ObitTableOBWriteRow (ObitTableOB *in, glong iOBRow, ObitTableOBRow *row, ObitErr *err)
 Public: Write a table row.
ObitIOCode ObitTableOBClose (ObitTableOB *in, ObitErr *err)
 Public: Close file and become inactive.
void ObitTableOBRowClassInit (void)
 Public: Row Class initializer.
void ObitTableOBClassInit (void)
 Public: Class initializer.


Detailed Description

ObitTableOB class function definitions.

This class is derived from the ObitTable class.


Function Documentation

ObitTableOB* newObitTableOB gchar *  name  ) 
 

Public: Constructor.

Initializes class if needed on first call.

Parameters:
name An optional name for the object.
Returns:
the new object.

ObitTableOBRow* newObitTableOBRow ObitTableOB table  ) 
 

Public: Constructor.

If table is open and for write, the row is attached to the buffer Initializes Row class if needed on first call.

Parameters:
name An optional name for the object.
Returns:
the new object.

ObitTableOB* newObitTableOBValue gchar *  name,
ObitData file,
glong *  ver,
ObitIOAccess  access,
ObitErr err
 

Public: Constructor from values.

Creates a new table structure and attaches to the TableList of file. If the specified table already exists then it is returned. Initializes class if needed on first call. Forces an update of any disk resident structures (e.g. AIPS header).

Parameters:
name An optional name for the object.
file ObitData which which the table is to be associated.
ver Table version number. 0=> add higher, value used returned
access access (OBIT_IO_ReadOnly, means do not create if it doesn't exist.
err Error stack, returns if not empty.
Returns:
the new object, NULL on failure.

void ObitTableOBClassInit void   ) 
 

Public: Class initializer.

void ObitTableOBClear gpointer  inn  ) 
 

Private: Deallocate members.

Does (recursive) deallocation of parent class members. For some reason this wasn't build into the GType class.

Parameters:
inn Pointer to the object to deallocate. Actually it should be an ObitTableOB* cast to an Obit*.

ObitIOCode ObitTableOBClose ObitTableOB in,
ObitErr err
 

Public: Close file and become inactive.

Parameters:
in Pointer to object to be closed.
err ObitErr for reporting errors.
Returns:
error code, OBIT_IO_OK=> OK

ObitTableOB* ObitTableOBConvert ObitTable in  ) 
 

Public: Convert an ObitTable to an ObitTableOB.

New object will have references to members of in.

Parameters:
in The object to copy, will still exist afterwards and should be Unrefed if not needed.
Returns:
pointer to the new object.

ObitTableOB* ObitTableOBCopy ObitTableOB in,
ObitTableOB out,
ObitErr err
 

Public: Copy (deep) constructor.

Copies are made of complex members including disk files; these will be copied applying whatever selection is associated with the input. Objects should be closed on input and will be closed on output. In order for the disk file structures to be copied, the output file must be sufficiently defined that it can be written. The copy will be attempted but no errors will be logged until both input and output have been successfully opened. ObitInfoList and ObitThread members are only copied if the output object didn't previously exist. Parent class members are included but any derived class info is ignored.

Parameters:
in The object to copy
out An existing object pointer for output or NULL if none exists.
err Error stack, returns if not empty.
Returns:
pointer to the new object.

gconstpointer ObitTableOBGetClass void   ) 
 

Public: ClassInfo pointer.

Returns:
pointer to the class structure.

void ObitTableOBInit gpointer  inn  ) 
 

Private: Initialize newly instantiated object.

Parent classes portions are (recursively) initialized first

Parameters:
inn Pointer to the object to initialize.

ObitIOCode ObitTableOBOpen ObitTableOB in,
ObitIOAccess  access,
ObitErr err
 

Public: Create ObitIO structures and open file.

The image descriptor is read if OBIT_IO_ReadOnly or OBIT_IO_ReadWrite and written to disk if opened OBIT_IO_WriteOnly. After the file has been opened the member, buffer is initialized for reading/storing the table unless member bufferSize is <0. If the requested version ("Ver" in InfoList) is 0 then the highest numbered table of the same type is opened on Read or Read/Write, or a new table is created on on Write. The file etc. info should have been stored in the ObitInfoList:

  • "FileType" OBIT_int scalar = OBIT_IO_FITS or OBIT_IO_AIPS for file type (see class documentation for details).
  • "nRowPIO" OBIT_int scalar = Maximum number of table rows per transfer, this is the target size for Reads (may be fewer) and is used to create buffers.
    Parameters:
    in Pointer to object to be opened.
    access access (OBIT_IO_ReadOnly,OBIT_IO_ReadWrite, or OBIT_IO_WriteOnly). If OBIT_IO_WriteOnly any existing data in the output file will be lost.
    err ObitErr for reporting errors.
    Returns:
    return code, OBIT_IO_OK=> OK

ObitIOCode ObitTableOBReadRow ObitTableOB in,
glong  iOBRow,
ObitTableOBRow row,
ObitErr err
 

Public: Read a table row.

Scalar values are copied but for array values, pointers into the data array are returned.

Parameters:
in Table to read
iOBRow Row number, -1 -> next
row Table Row structure to receive data
err ObitErr for reporting errors.
Returns:
return code, OBIT_IO_OK=> OK

void ObitTableOBRowClassInit void   ) 
 

Public: Row Class initializer.

void ObitTableOBRowClear gpointer  inn  ) 
 

Private: Deallocate Row members.

Does (recursive) deallocation of parent class members. For some reason this wasn't build into the GType class.

Parameters:
inn Pointer to the object to deallocate. Actually it should be an ObitTableOBRow* cast to an Obit*.

gconstpointer ObitTableOBRowGetClass void   ) 
 

Public: ClassInfo pointer.

Returns:
pointer to the Row class structure.

void ObitTableOBRowInit gpointer  inn  ) 
 

Private: Initialize newly instantiated Row object.

Parent classes portions are (recursively) initialized first

Parameters:
inn Pointer to the object to initialize.

void ObitTableOBSetRow ObitTableOB in,
ObitTableOBRow row,
ObitErr err
 

Public: Init a table row for write.

This is only useful prior to filling a row structure in preparation . for a WriteRow operation. Array members of the Row structure are . pointers to independently allocated memory, this routine allows using . the table IO buffer instead of allocating yet more memory.. This routine need only be called once to initialize a Row structure for write..

Parameters:
in Table with buffer to be written
row Table Row structure to attach
err ObitErr for reporting errors.

ObitIOCode ObitTableOBWriteRow ObitTableOB in,
glong  iOBRow,
ObitTableOBRow row,
ObitErr err
 

Public: Write a table row.

Before calling this routine, the row structure needs to be initialized and filled with data. The array members of the row structure are pointers to independently allocated memory. These pointers can be set to the correct table buffer locations using ObitTableOBSetRow

Parameters:
in Table to read
iOBRow Row number, -1 -> next
row Table Row structure containing data
err ObitErr for reporting errors.
Returns:
return code, OBIT_IO_OK=> OK


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