29# include <casacore/casa/aips.h>
30# include <casacore/fits/FITS/fits.h>
31# include <casacore/fits/FITS/blockio.h>
32# include <casacore/casa/BasicSL/String.h>
33# include <casacore/casa/Arrays/Vector.h>
147 void mk(
const char *n,
Bool v,
const char *c = 0);
148 void mk(
const char *n,
const char *v = 0,
const char *c = 0);
149 void mk(
const char *n,
Int v,
const char *c = 0);
150 void mk(
const char *n,
float v,
const char *c = 0);
151 void mk(
const char *n,
double v,
const char *c = 0);
152 void mk(
const char *n,
Int r,
Int i,
const char *c = 0);
153 void mk(
const char *n,
float r,
float i,
const char *c = 0);
154 void mk(
const char *n,
double r,
double i,
const char *c = 0);
155 void spaces(
const char *n = 0,
const char *c = 0);
156 void comment(
const char *n = 0,
const char *c = 0);
157 void history(
const char *c = 0);
340 typedef TYPE ElementType;
376 double operator () (
int,
int,
int,
int,
int)
const;
377 double operator () (
int,
int,
int,
int)
const;
378 double operator () (
int,
int,
int)
const;
379 double operator () (
int,
int)
const;
380 double operator () (
int)
const;
386 TYPE & data(
int,
int,
int,
int,
int);
387 TYPE & data(
int,
int,
int,
int);
388 TYPE & data(
int,
int,
int);
389 TYPE & data(
int,
int);
416 int store(
const TYPE *source,
int npixels);
417 void copy(
double *target,
int npixels)
const;
418 void copy(
float *target,
int npixels)
const;
419 void move(TYPE *target,
int npixels)
const;
424 int naxis,
long naxes[],
int extend );
485 int offset(
int,
int,
int,
int,
int)
const;
533 int bitpix,
int naxis,
long *naxes);
718 int bitpix,
int naxis,
long *naxes);
810 int read(
char *addr,
int nbytes) {
851 virtual int dim(
int n)
const;
860 virtual void show(std::ostream &) = 0;
889 (*field)[0] = x;
return *
this; }
1090 const char**,
const char**,
const char*,
long );
1175 long,
int,
const char **,
long *,
1176 const char **,
const char **,
const char *e);
1197#ifndef CASACORE_NO_AUTO_TEMPLATES
1198#include <casacore/fits/FITS/hdu.tcc>
AsciiTableExtension(FitsKeywordList &, FITSErrorHandler errhandler=FITSError::defaultHandler)
int readrow()
read and write the next FITS data row
Int tbcol(int n)
position in which column starts
int writerow(FitsOutput &)
char * tnull(int n)
ascii string that represents the NULL value
int write_ascTbl_hdr(FitsOutput &, long, long, int, const char **, long *, const char **, const char **, const char *e)
write the required keywords for ASCIITableExtension
AsciiTableExtension(FITSErrorHandler errhandler=FITSError::defaultHandler)
AsciiTableExtension(FitsInput &, FITSErrorHandler errhandler=FITSError::defaultHandler)
const char * tdim(int n) const
Int nrows() const
return basic elements of a table
Bool isatnull(int n) const
double tscal(int n) const
const char * tdisp(int n) const
BinaryTableExtension(FitsKeywordList &, FITS::HDUType, FITSErrorHandler errhandler=FITSError::defaultHandler)
FitsBase & field(int i) const
select a field
int bind(int, FitsBase &)
binds a FitsField to a column
const char * ttype(int n) const
double crval(int n) const
BinaryTableExtension(FitsInput &, FITS::HDUType, FITSErrorHandler errhandler=FITSError::defaultHandler)
sets field addresses in the current row void set_fitsrow(Int);
virtual int writerow(FitsOutput &)
Int currrow() const
get current row
BinaryTableExtension(FITSErrorHandler errhandler=FITSError::defaultHandler)
constructor to match write_bintbl_hdr()
virtual ~BinaryTableExtension()
BinaryTableExtension(FITS::HDUType, FITSErrorHandler errhandler=FITSError::defaultHandler)
BinaryTableExtension(FitsKeywordList &, FITSErrorHandler errhandler=FITSError::defaultHandler)
int write(FitsOutput &)
write current rows
BinaryTableExtension & operator()(int)
int read()
read entire table into memory
double crota(int n) const
const char * author() const
int set_next(int)
prepare to write the next N rows
int write_binTbl_hdr(FitsOutput &, long, int, const char **, const char **, const char **, const char *, long)
create a binary table header without using FitsKeywordList objet.
void ** data_addr
data addresses of fields of current row
BinaryTableExtension & operator--()
double cdelt(int n) const
const char * tform(int n) const
int read(int)
read next N rows into memory
double crpix(int n) const
void set_fitsrow(Int)
sets field addresses in the current row
const char * tunit(int n) const
const char * ctype(int n) const
const char * referenc() const
BinaryTableExtension & operator++()
row selector functions
virtual int readrow()
read and write the next FITS data row
BinaryTableExtension(FitsInput &, FITSErrorHandler errhandler=FITSError::defaultHandler)
double tzero(int n) const
list of read-only FITS keywords
static void defaultHandler(const char *errMessage, ErrorLevel severity)
The default error handler.
static functions and enumerations
ReservedName
FITS Reserved Names.
ValueType
FITS I/O Error message types.
FitsArrayOption
Options on FITS array manipulations.
HDUType
Types of FITS Header-Data Units.
FitsArray(int, const int *)
FITS array of given type.
FitsArray(int, const int *)
static FitsBase * make(FitsBase &)
friend class AsciiTableExtension
virtual void setaddr(void **)=0
FitsBase(const FITS::ValueType &t, int n)
unsigned int nelements() const
virtual void show(std::ostream &)=0
friend class BinaryTableExtension
FITS::ValueType data_type
static FitsBase * make(const FITS::ValueType &, int, int *)
FitsBase & operator=(FitsBase &)=delete
virtual int fitsfieldsize() const =0
virtual int localfieldsize() const =0
static FitsBase * make(const FITS::ValueType &, int=1)
virtual int dim(int n) const
FITS::ValueType fieldtype() const
helper class for FITS Binary Tables
void show(std::ostream &)
int fitsfieldsize() const
int localfieldsize() const
void setaddr(void **addr)
helper class Note: Note that FitsField does not allocate space for the data; Space is external to Fi...
FitsField< TYPE > & operator=(const TYPE &x)
int fitsfieldsize() const
void show(std::ostream &)
int localfieldsize() const
void setaddr(void **addr)
linked list of FITS keywords
fixed-length sequential blocked FITS output
IMAGE extension of given type.
ImageExtension(FITSErrorHandler errhandler=FITSError::defaultHandler)
constructor for header consisted required keywords only
ImageExtension(FitsKeywordList &, FITSErrorHandler errhandler=FITSError::defaultHandler)
int write_imgExt_hdr(FitsOutput &fout, int bitpix, int naxis, long *naxes)
write required keywords for ImageExtension
ImageExtension(FitsInput &, FITSErrorHandler errhandler=FITSError::defaultHandler)
Random Group datastructure.
int write_priGrp_hdr(FitsOutput &fout, int simple, int bitpix, int naxis, long naxes[], long pcount, long gcount)
write the required keywords for PrimaryGroup
double pscal(int n) const
int read()
read, or write the next group
Int gcount() const
Return basic parameters of a random group.
PrimaryGroup(FitsKeywordList &, FITSErrorHandler errhandler=FITSError::defaultHandler)
unsigned char * group_parm
void moveparm(TYPE *target) const
PrimaryGroup(FITSErrorHandler errhandler=FITSError::defaultHandler)
constructor for header consisted required keywords only
double pzero(int n) const
void copyparm(double *target) const
OFF_T set_next(OFF_T)
disable these functions, since they are inherited from PrimaryArray
PrimaryGroup(FitsInput &, FITSErrorHandler errhandler=FITSError::defaultHandler)
void copyparm(float *target) const
void storeparm(const TYPE *source)
char * ptype(int n) const
int write_priTable_hdr(FitsOutput &fout, int bitpix, int naxis, long *naxes)
write required keywords for PrimaryTable
PrimaryTable(FITSErrorHandler errhandler=FITSError::defaultHandler)
constructor for header consisted required keywords only
PrimaryTable(FitsKeywordList &, FITSErrorHandler errhandler=FITSError::defaultHandler)
PrimaryTable(FitsInput &, FITSErrorHandler errhandler=FITSError::defaultHandler)
PrimaryArray(FitsInput &, FITSErrorHandler=FITSError::defaultHandler)
templated primary array base class of given type
void(* FITSErrorHandler)(const char *errMessage, FITSError::ErrorLevel severity)
Define a typedef for the handler function signature for convenience.
this file contains all the compiler specific defines
void assign(const RecordInterface &that) override
Assign that RecordInterface object to this one.
FitsArray< FitsLong > LongFitsArray
FitsArray< DComplex > DComplexFitsArray
PrimaryGroup< short > ShortPrimaryGroup
double bscale() const
General access routines for a primary array.
int store(const TYPE *source, int npixels)
The overloaded operator functions `()' all return physical data, i.
FitsArray< short > ShortFitsArray
int write_priArr_hdr(FitsOutput &fout, int simple, int bitpix, int naxis, long naxes[], int extend)
ostream & operator<<(ostream &os, const IComplex &)
Show on ostream.
FitsField< FitsVADesc > VADescFitsField
virtual int read()
The read()' and write()' functions control reading and writing data from the external FITS I/O medium...
FitsField< FitsBit > BitFitsField
FitsField< Complex > ComplexFitsField
char * ctype(int n) const
FitsArray< float > FloatFitsArray
int offset(int, int) const
compute a linear offset from array indicies
virtual OFF_T set_next(OFF_T)
TYPE * array
the allocated array
PrimaryArray< unsigned char > BytePrimaryArray
PrimaryArray< float > FloatPrimaryArray
PrimaryTable< FitsLong > LongPrimaryTable
FitsField< short > ShortFitsField
ImageExtension< unsigned char > ByteImageExtension
PrimaryTable< double > DoublePrimaryTable
PrimaryArray< FitsLong > LongPrimaryArray
void copy(double *target, int npixels) const
FitsField< float > FloatFitsField
double cdelt(int n) const
ImageExtension< float > FloatImageExtension
FitsField< unsigned char > ByteFitsField
FitsField< FitsLong > LongFitsField
virtual int write(FitsOutput &)
PrimaryGroup< double > DoublePrimaryGroup
FitsField< char > CharFitsField
FitsArray< Complex > ComplexFitsArray
FitsArray< unsigned char > ByteFitsArray
double crota(int n) const
ImageExtension< short > ShortImageExtension
PrimaryTable< float > FloatPrimaryTable
FitsArray< FitsVADesc > VADescFitsArray
FitsArray< char > CharFitsArray
double crpix(int n) const
PrimaryArray< double > DoublePrimaryArray
double crval(int n) const
bool Bool
Define the standard types used by Casacore.
ImageExtension< FitsLong > LongImageExtension
FitsArray< FitsLogical > LogicalFitsArray
PrimaryTable< short > ShortPrimaryTable
FitsField< double > DoubleFitsField
FitsArray< IComplex > IComplexFitsArray
void move(TYPE *target, int npixels) const
virtual ~PrimaryArray()
destructor
PrimaryGroup< unsigned char > BytePrimaryGroup
FitsField< DComplex > DComplexFitsField
PrimaryGroup< FitsLong > LongPrimaryGroup
FitsField< FitsLogical > LogicalFitsField
PrimaryArray< short > ShortPrimaryArray
FitsField< IComplex > IComplexFitsField
const String & comment() const
Get the comment of this field.
void extend(MultiFileInfo &info, Int64 lastblk) override
Extend the virtual file to fit lastblk.
PrimaryTable< unsigned char > BytePrimaryTable
FitsArray< double > DoubleFitsArray
PrimaryGroup< float > FloatPrimaryGroup
FitsArray< FitsBit > BitFitsArray
ImageExtension< double > DoubleImageExtension