31 # include <casacore/casa/aips.h> 32 # include <casacore/fits/FITS/fits.h> 33 # include <casacore/fits/FITS/blockio.h> 34 # include <casacore/casa/BasicSL/String.h> 35 # include <casacore/casa/Arrays/Vector.h> 149 void mk(
const char *n,
Bool v,
const char *
c = 0);
150 void mk(
const char *n,
const char *v = 0,
const char *
c = 0);
151 void mk(
const char *n,
Int v,
const char *
c = 0);
152 void mk(
const char *n,
float v,
const char *
c = 0);
153 void mk(
const char *n,
double v,
const char *
c = 0);
154 void mk(
const char *n,
Int r,
Int i,
const char *
c = 0);
155 void mk(
const char *n,
float r,
float i,
const char *
c = 0);
156 void mk(
const char *n,
double r,
double i,
const char *
c = 0);
157 void spaces(
const char *n = 0,
const char *
c = 0);
158 void comment(
const char *n = 0,
const char *
c = 0);
339 template <
class TYPE>
357 double bscale()
const {
return bscale_x; }
358 double bzero()
const {
return bzero_x; }
359 char *
bunit()
const {
return bunit_x; }
362 char *
ctype(
int n)
const {
return ctype_x[n]; }
363 double crpix(
int n)
const {
return crpix_x[n]; }
364 double crota(
int n)
const {
return crota_x[n]; }
365 double crval(
int n)
const {
return crval_x[n]; }
366 double cdelt(
int n)
const {
return cdelt_x[n]; }
378 double operator () (
int,
int,
int,
int,
int)
const;
379 double operator () (
int,
int,
int,
int)
const;
380 double operator () (
int,
int,
int)
const;
381 double operator () (
int,
int)
const;
382 double operator () (
int)
const;
388 TYPE & data(
int,
int,
int,
int,
int);
389 TYPE & data(
int,
int,
int,
int);
390 TYPE & data(
int,
int,
int);
391 TYPE & data(
int,
int);
418 int store(
const TYPE *source,
int npixels);
419 void copy(
double *target,
int npixels)
const;
420 void copy(
float *target,
int npixels)
const;
421 void move(TYPE *target,
int npixels)
const;
425 int write_priArr_hdr(
FitsOutput &fout,
int simple,
int bitpix,
426 int naxis,
long naxes[],
int extend );
442 virtual int read(
int );
444 virtual OFF_T set_next(OFF_T);
484 int offset(
int,
int)
const;
485 int offset(
int,
int,
int)
const;
486 int offset(
int,
int,
int,
int)
const;
487 int offset(
int,
int,
int,
int,
int)
const;
514 template <
class TYPE>
535 int bitpix,
int naxis,
long *naxes);
593 template <
class TYPE>
609 char *
ptype(
int n)
const {
return ptype_x[n]; }
610 double pscal(
int n)
const {
return pscal_x[n]; }
611 double pzero(
int n)
const {
return pzero_x[n]; }
619 void storeparm(
const TYPE *source);
620 void copyparm(
double *target)
const;
621 void copyparm(
float *target)
const;
622 void moveparm(TYPE *target)
const;
631 int write_priGrp_hdr(
FitsOutput &fout,
int simple,
int bitpix,
632 int naxis,
long naxes[],
long pcount,
long gcount );
705 template <
class TYPE>
720 int bitpix,
int naxis,
long *naxes);
726 char*
object()
const {
return object_x; }
731 char*
bunit()
const {
return bunit_x; }
732 float bscal()
const {
return bscale_x; }
733 float bzero()
const {
return bzero_x; }
812 int read(
char *addr,
int nbytes) {
848 unsigned int nelements()
const {
return (
unsigned int)no_elements; }
849 virtual int fitsfieldsize()
const = 0;
850 virtual int localfieldsize()
const = 0;
851 virtual void *data() = 0;
852 virtual int dims()
const;
853 virtual int dim(
int n)
const;
862 virtual void show(std::ostream &) = 0;
867 virtual void setaddr(
void **) = 0;
881 template <
class TYPE>
888 TYPE & operator () () {
return (*field)[0]; }
889 TYPE & operator () (
int i) {
return (*field)[i]; }
891 (*field)[0] = x;
return *
this; }
893 int fitsfieldsize()
const;
894 int localfieldsize()
const;
898 void show(std::ostream &);
902 void setaddr(
void **addr);
934 byte_offset = i / 8;
mask = 0200 >> (i % 8);
return *
this; }
937 (*field)[byte_offset] =
938 (i == 0 ? ((*field)[byte_offset] & ~
mask) :
939 ((*field)[byte_offset] |
mask));
return *
this; }
941 int fitsfieldsize()
const;
942 int localfieldsize()
const;
944 operator int() {
return (((*field)[byte_offset] &
mask) != 0); }
948 void show(std::ostream &);
954 void setaddr(
void **addr);
971 template <
class TYPE>
976 TYPE & operator () (
int d0,
int d1);
977 TYPE & operator () (
int,
int,
int);
978 TYPE & operator () (
int,
int,
int,
int);
979 TYPE & operator () (
int,
int,
int,
int,
int);
981 int dim(
int n)
const;
1012 int dim(
int n)
const;
1053 const char *
tform(
int n)
const {
return tform_x[n]; }
1054 double tscal(
int n)
const {
return tscal_x[n]; }
1055 double tzero(
int n)
const {
return tzero_x[n]; }
1058 const char *
ttype(
int n)
const {
return ttype_x[n]; }
1059 const char *
tunit(
int n)
const {
return tunit_x[n]; }
1060 const char *
tdisp(
int n)
const {
return tdisp_x[n]; }
1061 const char *
tdim(
int n)
const {
return tdim_x[n]; }
1062 const char *
ctype(
int n)
const {
return ctype_x[n]; }
1063 double crpix(
int n)
const {
return crpix_x[n]; }
1064 double crota(
int n)
const {
return crota_x[n]; }
1065 double crval(
int n)
const {
return crval_x[n]; }
1066 double cdelt(
int n)
const {
return cdelt_x[n]; }
1068 const char *
author()
const {
return author_x; }
1091 int write_binTbl_hdr(
FitsOutput &,
long,
int,
const char**,
1092 const char**,
const char**,
const char*,
long );
1131 virtual int readrow();
1140 void set_fitsrow(
Int);
1174 char *
tnull(
int n) {
return tnulla_x[n]; }
1177 long,
int,
const char **,
long *,
1178 const char **,
const char **,
const char *
e);
1199 #ifndef CASACORE_NO_AUTO_TEMPLATES 1200 #include <casacore/fits/FITS/hdu.tcc> 1201 #endif //# CASACORE_NO_AUTO_TEMPLATES
FITS::ValueType fieldtype() const
char * ptype(int n) const
A 1-D Specialization of the Array class.
templated primary array base class of given type
FitsArray< unsigned char > ByteFitsArray
double tzero(int n) const
ImageExtension< FitsLong > LongImageExtension
PrimaryArray< short > ShortPrimaryArray
const char * tform(int n) const
FitsBase(const FITS::ValueType &t, int n)
double crota(int n) const
StatsData< AccumType > copy(const StatsData< AccumType > &stats)
FITS templated helper class.
FitsKeyword * next(const FITS::ReservedName &)
FitsField< FitsVADesc > VADescFitsField
double crpix(int n) const
LatticeExprNode mask(const LatticeExprNode &expr)
This function returns the mask of the given expression.
void mk(FITS::ReservedName k, Bool v, const char *c=0)
Add (make) a reserved keyword with the given value and optional comment The comment will be truncated...
void comment(const char *n=0, const char *c=0)
add a comment card
char * tnull(int n)
ascii string that represents the NULL value
FitsArray< double > DoubleFitsArray
PtrHolder< T > & operator=(const PtrHolder< T > &other)
double pzero(int n) const
FitsArray< DComplex > DComplexFitsArray
static functions and enumerations
FitsArray< float > FloatFitsArray
PrimaryGroup< float > FloatPrimaryGroup
Random Group datastructure.
PrimaryTable< float > FloatPrimaryTable
FitsField< unsigned char > ByteFitsField
PrimaryTable< unsigned char > BytePrimaryTable
FitsField< Complex > ComplexFitsField
double cdelt(int n) const
FitsField< IComplex > IComplexFitsField
helper class Note: Note that FitsField does not allocate space for the data; Space is external to Fi...
double bscale() const
General access routines for a primary array.
helper class for FITS Binary Tables
HDUType
Types of FITS Header-Data Units.
PrimaryGroup< short > ShortPrimaryGroup
ValueType
FITS I/O Error message types.
FitsField< char > CharFitsField
FitsArray< short > ShortFitsArray
const char * author() const
double crval(int n) const
PrimaryGroup< FitsLong > LongPrimaryGroup
PrimaryArray< FitsLong > LongPrimaryArray
PrimaryTable< FitsLong > LongPrimaryTable
PrimaryGroup< unsigned char > BytePrimaryGroup
PrimaryArray< float > FloatPrimaryArray
ImageExtension< float > FloatImageExtension
virtual void show(std::ostream &)=0
FitsField< FitsLong > LongFitsField
FitsArray< FitsLogical > LogicalFitsArray
double crota(int n) const
unsigned int nelements() const
FitsField< DComplex > DComplexFitsField
const char * ttype(int n) const
FitsField< FitsLogical > LogicalFitsField
bool Bool
Define the standard types used by Casacore.
FitsField< FitsBit > BitFitsField
PrimaryTable< double > DoublePrimaryTable
list of read-only FITS keywords
ImageExtension< unsigned char > ByteImageExtension
double tscal(int n) const
IMAGE extension of given type.
FitsArray< Complex > ComplexFitsArray
FitsArray< FitsLong > LongFitsArray
void(* FITSErrorHandler)(const char *errMessage, FITSError::ErrorLevel severity)
Define a typedef for the handler function signature for convenience.
void history(const char *c=0)
add a history card
Int nrows() const
return basic elements of a table
ImageExtension< double > DoubleImageExtension
const char * tdim(int n) const
FitsArray< FitsBit > BitFitsArray
PrimaryGroup< double > DoublePrimaryGroup
const char * tdisp(int n) const
Int gcount() const
Return basic parameters of a random group.
void ** data_addr
data addresses of fields of current row
fixed-length sequential blocked FITS output
const char * tunit(int n) const
FitsArray< char > CharFitsArray
FitsArray< IComplex > IComplexFitsArray
const Double e
e and functions thereof:
PrimaryArray< unsigned char > BytePrimaryArray
FitsField< float > FloatFitsField
const char * ctype(int n) const
PrimaryTable< short > ShortPrimaryTable
double crval(int n) const
linked list of FITS keywords
double crpix(int n) const
FITS::ValueType data_type
FitsArrayOption
Options on FITS array manipulations.
OFF_T set_next(OFF_T)
disable these functions, since they are inherited from PrimaryArray
const Double c
Fundamental physical constants (SI units):
FITS array of given type.
PrimaryArray< double > DoublePrimaryArray
Int tbcol(int n)
position in which column starts
FitsArray< FitsVADesc > VADescFitsArray
double cdelt(int n) const
ImageExtension< short > ShortImageExtension
Bool isatnull(int n) const
const char * referenc() const
TYPE * array
the allocated array
FitsBase & field(int i) const
select a field
double pscal(int n) const
char * ctype(int n) const
FitsField< double > DoubleFitsField
this file contains all the compiler specific defines
void spaces(const char *n=0, const char *c=0)
add a spaces line
ReservedName
FITS Reserved Names.
static void defaultHandler(const char *errMessage, ErrorLevel severity)
The default error handler.
Int currrow() const
get current row
FITS array of FitsBit type Note: We must specify a FitsArray<FitsBit> as a specialization; ...
FitsField< short > ShortFitsField