24 #include <gsl/gsl_matrix.h>
25 #include <lal/LALStdlib.h>
26 #include <lal/LALVCSInfoType.h>
234 int XLALFITSTableColumnAddCHAR(
FITSFile *
file, const
CHAR *col_name, const
size_t noffsets, const
size_t offsets[2], const
void *record, const
size_t record_size, const
void *field, const
size_t field_size );
239 #define XLAL_FITS_TABLE_COLUMN_BEGIN(record_type) \
240 record_type XLAL_INIT_DECL(_xlal_fits_record_); \
241 size_t _xlal_fits_offsets_[2] = {0};
243 #define XLAL_FITS_TABLE_COLUMN_ADD(file, type, field) \
244 XLALFITSTableColumnAdd ## type (file, #field, 1, _xlal_fits_offsets_, &_xlal_fits_record_, sizeof(_xlal_fits_record_), &(_xlal_fits_record_.field), sizeof(_xlal_fits_record_.field))
246 #define XLAL_FITS_TABLE_COLUMN_ADD_NAMED(file, type, field, col_name) \
247 XLALFITSTableColumnAdd ## type (file, col_name, 1, _xlal_fits_offsets_, &_xlal_fits_record_, sizeof(_xlal_fits_record_), &(_xlal_fits_record_.field), sizeof(_xlal_fits_record_.field))
249 #define XLAL_FITS_TABLE_COLUMN_ADD_ARRAY(file, type, field) \
250 XLALFITSTableColumnAdd ## type (file, #field, 1, _xlal_fits_offsets_, &_xlal_fits_record_, sizeof(_xlal_fits_record_), &(_xlal_fits_record_.field[0]), sizeof(_xlal_fits_record_.field))
252 #define XLAL_FITS_TABLE_COLUMN_ADD_ARRAY_NAMED(file, type, field, col_name) \
253 XLALFITSTableColumnAdd ## type (file, col_name, 1, _xlal_fits_offsets_, &_xlal_fits_record_, sizeof(_xlal_fits_record_), &(_xlal_fits_record_.field[0]), sizeof(_xlal_fits_record_.field))
255 #define XLAL_FITS_TABLE_COLUMN_ADD_ARRAY2(file, type, field) \
256 XLALFITSTableColumnAdd ## type (file, #field, 1, _xlal_fits_offsets_, &_xlal_fits_record_, sizeof(_xlal_fits_record_), &(_xlal_fits_record_.field[0][0]), sizeof(_xlal_fits_record_.field))
258 #define XLAL_FITS_TABLE_COLUMN_ADD_ARRAY2_NAMED(file, type, field, col_name) \
259 XLALFITSTableColumnAdd ## type (file, col_name, 1, _xlal_fits_offsets_, &_xlal_fits_record_, sizeof(_xlal_fits_record_), &(_xlal_fits_record_.field[0][0]), sizeof(_xlal_fits_record_.field))
261 #define XLAL_FITS_TABLE_COLUMN_ADD_PTR_ARRAY(file, type, length, field) \
262 ( _xlal_fits_record_.field = (void*) &(_xlal_fits_record_.field), _xlal_fits_offsets_[0] = (size_t)(((intptr_t) &(_xlal_fits_record_.field)) - ((intptr_t) &_xlal_fits_record_)), XLALFITSTableColumnAdd ## type (file, #field, 2, _xlal_fits_offsets_, _xlal_fits_record_.field, ( length ) * sizeof(_xlal_fits_record_.field[0]), _xlal_fits_record_.field, ( length ) * sizeof(_xlal_fits_record_.field[0])) )
264 #define XLAL_FITS_TABLE_COLUMN_ADD_PTR_ARRAY_NAMED(file, type, length, field, col_name) \
265 ( _xlal_fits_record_.field = (void*) &(_xlal_fits_record_.field), _xlal_fits_offsets_[0] = (size_t)(((intptr_t) &(_xlal_fits_record_.field)) - ((intptr_t) &_xlal_fits_record_)), XLALFITSTableColumnAdd ## type (file, col_name, 2, _xlal_fits_offsets_, _xlal_fits_record_.field, ( length ) * sizeof(_xlal_fits_record_.field[0]), _xlal_fits_record_.field, ( length ) * sizeof(_xlal_fits_record_.field[0])) )
267 #define XLAL_FITS_TABLE_COLUMN_ADD_PTR_ARRAY2(file, type, length, field) \
268 ( _xlal_fits_record_.field = (void*) &(_xlal_fits_record_.field), _xlal_fits_offsets_[0] = (size_t)(((intptr_t) &(_xlal_fits_record_.field)) - ((intptr_t) &_xlal_fits_record_)), XLALFITSTableColumnAdd ## type (file, #field, 2, _xlal_fits_offsets_, _xlal_fits_record_.field, ( length ) * sizeof(_xlal_fits_record_.field[0][0]), _xlal_fits_record_.field, ( length ) * sizeof(_xlal_fits_record_.field[0][0])) )
270 #define XLAL_FITS_TABLE_COLUMN_ADD_PTR_ARRAY2_NAMED(file, type, length, field, col_name) \
271 ( _xlal_fits_record_.field = (void*) &(_xlal_fits_record_.field), _xlal_fits_offsets_[0] = (size_t)(((intptr_t) &(_xlal_fits_record_.field)) - ((intptr_t) &_xlal_fits_record_)), XLALFITSTableColumnAdd ## type (file, col_name, 2, _xlal_fits_offsets_, _xlal_fits_record_.field, ( length ) * sizeof(_xlal_fits_record_.field[0][0]), _xlal_fits_record_.field, ( length ) * sizeof(_xlal_fits_record_.field[0][0])) )
273 #define XLAL_FITS_TABLE_COLUMN_PTR_STRUCT_BEGIN(field, ptr_record_type, length) \
274 ptr_record_type XLAL_INIT_DECL(_xlal_fits_ptr_record_, [length]); \
275 _xlal_fits_record_.field = &_xlal_fits_ptr_record_[0]; \
276 _xlal_fits_offsets_[0] = (size_t)(((intptr_t) &(_xlal_fits_record_.field)) - ((intptr_t) &_xlal_fits_record_));
278 #define XLAL_FITS_TABLE_COLUMN_ADD_PTR_STRUCT_NAMED(file, index, type, field, col_name) \
279 XLALFITSTableColumnAdd ## type (file, col_name, 2, _xlal_fits_offsets_, &_xlal_fits_ptr_record_[0], sizeof(_xlal_fits_ptr_record_), &(_xlal_fits_ptr_record_[index].field), sizeof(_xlal_fits_ptr_record_[index].field))
281 #define XLAL_FITS_TABLE_COLUMN_ADD_PTR_STRUCT_ARRAY_NAMED(file, index, type, field, col_name) \
282 XLALFITSTableColumnAdd ## type (file, col_name, 2, _xlal_fits_offsets_, &_xlal_fits_ptr_record_[0], sizeof(_xlal_fits_ptr_record_), &(_xlal_fits_ptr_record_[index].field[0]), sizeof(_xlal_fits_ptr_record_[index].field))
284 #define XLAL_FITS_TABLE_COLUMN_ADD_PTR_STRUCT_ARRAY2_NAMED(file, index, type, field, col_name) \
285 XLALFITSTableColumnAdd ## type (file, col_name, 2, _xlal_fits_offsets_, &_xlal_fits_ptr_record_[0], sizeof(_xlal_fits_ptr_record_), &(_xlal_fits_ptr_record_[index].field[0][0]), sizeof(_xlal_fits_ptr_record_[index].field))
int XLALFITSTableColumnAddCOMPLEX16(FITSFile UNUSED *file, const CHAR UNUSED *col_name, const size_t UNUSED noffsets, const size_t UNUSED offsets[2], const void UNUSED *record, const size_t UNUSED record_size, const COMPLEX16 UNUSED *field, const size_t UNUSED field_size)
int XLALFITSTableColumnAddINT8(FITSFile UNUSED *file, const CHAR UNUSED *col_name, const size_t UNUSED noffsets, const size_t UNUSED offsets[2], const void UNUSED *record, const size_t UNUSED record_size, const INT8 UNUSED *field, const size_t UNUSED field_size)
int XLALFITSTableColumnAddUINT2(FITSFile UNUSED *file, const CHAR UNUSED *col_name, const size_t UNUSED noffsets, const size_t UNUSED offsets[2], const void UNUSED *record, const size_t UNUSED record_size, const UINT2 UNUSED *field, const size_t UNUSED field_size)
int XLALFITSTableColumnAddCOMPLEX8(FITSFile UNUSED *file, const CHAR UNUSED *col_name, const size_t UNUSED noffsets, const size_t UNUSED offsets[2], const void UNUSED *record, const size_t UNUSED record_size, const COMPLEX8 UNUSED *field, const size_t UNUSED field_size)
int XLALFITSTableColumnAddINT2(FITSFile UNUSED *file, const CHAR UNUSED *col_name, const size_t UNUSED noffsets, const size_t UNUSED offsets[2], const void UNUSED *record, const size_t UNUSED record_size, const INT2 UNUSED *field, const size_t UNUSED field_size)
int XLALFITSTableColumnAddUINT4(FITSFile UNUSED *file, const CHAR UNUSED *col_name, const size_t UNUSED noffsets, const size_t UNUSED offsets[2], const void UNUSED *record, const size_t UNUSED record_size, const UINT4 UNUSED *field, const size_t UNUSED field_size)
int XLALFITSTableColumnAddREAL8(FITSFile UNUSED *file, const CHAR UNUSED *col_name, const size_t UNUSED noffsets, const size_t UNUSED offsets[2], const void UNUSED *record, const size_t UNUSED record_size, const REAL8 UNUSED *field, const size_t UNUSED field_size)
int XLALFITSTableColumnAddREAL4(FITSFile UNUSED *file, const CHAR UNUSED *col_name, const size_t UNUSED noffsets, const size_t UNUSED offsets[2], const void UNUSED *record, const size_t UNUSED record_size, const REAL4 UNUSED *field, const size_t UNUSED field_size)
int XLALFITSTableColumnAddGPSTime(FITSFile UNUSED *file, const CHAR UNUSED *col_name, const size_t UNUSED noffsets, const size_t UNUSED offsets[2], const void UNUSED *record, const size_t UNUSED record_size, const LIGOTimeGPS UNUSED *field, const size_t UNUSED field_size)
int XLALFITSTableColumnAddINT4(FITSFile UNUSED *file, const CHAR UNUSED *col_name, const size_t UNUSED noffsets, const size_t UNUSED offsets[2], const void UNUSED *record, const size_t UNUSED record_size, const INT4 UNUSED *field, const size_t UNUSED field_size)
int XLALFITSTableColumnAddCHAR(FITSFile UNUSED *file, const CHAR UNUSED *col_name, const size_t UNUSED noffsets, const size_t UNUSED offsets[2], const void UNUSED *record, const size_t UNUSED record_size, const void UNUSED *field, const size_t UNUSED field_size)
int XLALFITSTableColumnAddUINT8(FITSFile UNUSED *file, const CHAR UNUSED *col_name, const size_t UNUSED noffsets, const size_t UNUSED offsets[2], const void UNUSED *record, const size_t UNUSED record_size, const UINT8 UNUSED *field, const size_t UNUSED field_size)
int XLALFITSTableColumnAddBOOLEAN(FITSFile UNUSED *file, const CHAR UNUSED *col_name, const size_t UNUSED noffsets, const size_t UNUSED offsets[2], const void UNUSED *record, const size_t UNUSED record_size, const BOOLEAN UNUSED *field, const size_t UNUSED field_size)
int int XLALFITSFileWriteVCSInfo(FITSFile *file, const LALVCSInfoList vcs_list)
int XLALFITSArrayReadINT2(FITSFile *file, const size_t idx[], INT2 *elem)
int XLALFITSHeaderReadINT2(FITSFile *file, const CHAR *key, INT2 *value)
int XLALFITSArrayReadREAL8(FITSFile *file, const size_t idx[], REAL8 *elem)
int XLALFITSTableReadRow(FITSFile *file, void *record, UINT8 *rem_nrows)
int XLALFITSHeaderReadINT8(FITSFile *file, const CHAR *key, INT8 *value)
int XLALFITSArrayReadREAL4(FITSFile *file, const size_t idx[], REAL4 *elem)
int XLALFITSHeaderWriteREAL4(FITSFile *file, const CHAR *key, const REAL4 value, const CHAR *comment)
int XLALFITSHeaderReadREAL8(FITSFile *file, const CHAR *key, REAL8 *value)
void XLALFITSFileClose(FITSFile *file)
int XLALFITSArrayWriteUINT8(FITSFile *file, const size_t idx[], const UINT8 elem)
int XLALFITSArrayReadINT4(FITSFile *file, const size_t idx[], INT4 *elem)
int XLALFITSArrayOpenWrite2(FITSFile *file, const CHAR *name, const size_t dim0, const size_t dim1, const CHAR *comment)
int XLALFITSHeaderWriteINT4(FITSFile *file, const CHAR *key, const INT4 value, const CHAR *comment)
int XLALFITSArrayOpenRead2(FITSFile *file, const CHAR *name, size_t *dim0, size_t *dim1)
int XLALFITSHeaderReadString(FITSFile *file, const CHAR *key, CHAR **value)
int XLALFITSHeaderWriteStringVector(FITSFile *file, const CHAR *key, const LALStringVector *values, const CHAR *comment)
int XLALFITSHeaderReadBOOLEAN(FITSFile *file, const CHAR *key, BOOLEAN *value)
int int XLALFITSHeaderWriteBOOLEAN(FITSFile *file, const CHAR *key, const BOOLEAN value, const CHAR *comment)
int XLALFITSHeaderWriteREAL8(FITSFile *file, const CHAR *key, const REAL8 value, const CHAR *comment)
int XLALFITSTableWriteRow(FITSFile *file, const void *record)
int XLALFITSHeaderWriteUINT4(FITSFile *file, const CHAR *key, const UINT4 value, const CHAR *comment)
FITSFile * XLALFITSFileOpenWrite(const CHAR *file_name)
int XLALFITSHeaderWriteCOMPLEX16(FITSFile *file, const CHAR *key, const COMPLEX16 value, const CHAR *comment)
int XLALFITSHeaderReadCOMPLEX16(FITSFile *file, const CHAR *key, COMPLEX16 *value)
int XLALFITSHeaderReadGPSTime(FITSFile *file, const CHAR *key, LIGOTimeGPS *value)
int XLALFITSArrayOpenWrite1(FITSFile *file, const CHAR *name, const size_t dim0, const CHAR *comment)
int XLALFITSFileWriteUVarCmdLine(FITSFile *file)
int XLALFITSHeaderReadCOMPLEX8(FITSFile *file, const CHAR *key, COMPLEX8 *value)
int XLALFITSHeaderWriteINT2(FITSFile *file, const CHAR *key, const INT2 value, const CHAR *comment)
int XLALFITSHeaderReadUINT8(FITSFile *file, const CHAR *key, UINT8 *value)
int XLALFITSHeaderWriteString(FITSFile *file, const CHAR *key, const CHAR *value, const CHAR *comment)
int XLALFITSArrayOpenRead(FITSFile *file, const CHAR *name, size_t *ndim, size_t dims[])
int XLALFITSArrayReadUINT2(FITSFile *file, const size_t idx[], UINT2 *elem)
int XLALFITSArrayWriteUINT4(FITSFile *file, const size_t idx[], const UINT4 elem)
int XLALFITSHeaderReadREAL4(FITSFile *file, const CHAR *key, REAL4 *value)
int XLALFITSHeaderWriteUINT2(FITSFile *file, const CHAR *key, const UINT2 value, const CHAR *comment)
int XLALFITSArrayReadUINT4(FITSFile *file, const size_t idx[], UINT4 *elem)
int XLALFITSTableOpenWrite(FITSFile *file, const CHAR *name, const CHAR *comment)
int XLALFITSHeaderWriteGPSTime(FITSFile *file, const CHAR *key, const LIGOTimeGPS *value, const CHAR *comment)
int XLALFITSHeaderWriteINT8(FITSFile *file, const CHAR *key, const INT8 value, const CHAR *comment)
int XLALFITSArrayReadGSLMatrix(FITSFile *file, const size_t idx[], gsl_matrix **elems)
int XLALFITSFileSeekPrimaryHDU(FITSFile *file)
int XLALFITSFileWriteHistory(FITSFile *file, const CHAR *format,...) _LAL_GCC_PRINTF_FORMAT_(2
int XLALFITSArrayOpenWrite(FITSFile *file, const CHAR *name, const size_t ndim, const size_t dims[], const CHAR *comment)
int XLALFITSHeaderReadUINT4(FITSFile *file, const CHAR *key, UINT4 *value)
int XLALFITSArrayReadINT8(FITSFile *file, const size_t idx[], INT8 *elem)
int XLALFITSArrayWriteREAL4(FITSFile *file, const size_t idx[], const REAL4 elem)
int XLALFITSArrayOpenRead1(FITSFile *file, const CHAR *name, size_t *dim0)
int XLALFITSArrayWriteREAL8(FITSFile *file, const size_t idx[], const REAL8 elem)
int XLALFITSArrayWriteINT4(FITSFile *file, const size_t idx[], const INT4 elem)
int XLALFITSArrayReadUINT8(FITSFile *file, const size_t idx[], UINT8 *elem)
int XLALFITSHeaderReadStringVector(FITSFile *file, const CHAR *key, LALStringVector **values)
int XLALFITSHeaderWriteUINT8(FITSFile *file, const CHAR *key, const UINT8 value, const CHAR *comment)
int XLALFITSArrayWriteUINT2(FITSFile *file, const size_t idx[], const UINT2 elem)
FITSFile * XLALFITSFileOpenRead(const CHAR *file_name)
int XLALFITSHeaderQueryKeyExists(FITSFile *file, const CHAR *key, BOOLEAN *exists)
struct tagFITSFile FITSFile
Representation of a FITS file.
int XLALFITSTableOpenRead(FITSFile *file, const CHAR *name, UINT8 *nrows)
int XLALFITSArrayWriteINT8(FITSFile *file, const size_t idx[], const INT8 elem)
int XLALFITSArrayWriteGSLMatrix(FITSFile *file, const size_t idx[], const gsl_matrix *elems)
int XLALFITSHeaderWriteComment(FITSFile *file, const CHAR *format,...) _LAL_GCC_PRINTF_FORMAT_(2
int XLALFITSHeaderReadUINT2(FITSFile *file, const CHAR *key, UINT2 *value)
int XLALFITSHeaderReadINT4(FITSFile *file, const CHAR *key, INT4 *value)
int XLALFITSFileSeekNamedHDU(FITSFile *file, const CHAR *name)
int XLALFITSHeaderWriteCOMPLEX8(FITSFile *file, const CHAR *key, const COMPLEX8 value, const CHAR *comment)
int XLALFITSArrayWriteINT2(FITSFile *file, const size_t idx[], const INT2 elem)
const LALVCSInfo *const LALVCSInfoList[16]