28 #ifndef MS_MSFITSINPUT_H 29 #define MS_MSFITSINPUT_H 31 #include <casacore/casa/aips.h> 32 #include <casacore/casa/Arrays/Matrix.h> 33 #include <casacore/casa/Arrays/Vector.h> 34 #include <casacore/casa/Containers/Block.h> 35 #include <casacore/casa/Containers/Record.h> 36 #include <casacore/fits/FITS/fits.h> 37 #include <casacore/fits/FITS/hdu.h> 38 #include <casacore/casa/Logging/LogIO.h> 39 #include <casacore/ms/MeasurementSets/MeasurementSet.h> 40 #include <casacore/measures/Measures/MDirection.h> 41 #include <casacore/measures/Measures/MFrequency.h> 42 #include <casacore/casa/BasicSL/String.h> 43 #include <casacore/ms/MeasurementSets/MSTileLayout.h> 44 #include <casacore/tables/Tables/BaseTable.h> 130 else cout <<
"can not read the table" << endl;
216 {
return pf ?
pf->gcount() : (
pl ?
pl->gcount() :
ps->gcount());}
220 {
return pf ?
pf->pcount() : (
pl ?
pl->pcount() :
ps->pcount());}
224 {
return pf ?
pf->ptype(i) : (
pl ?
pl->ptype(i) :
ps->ptype(i));}
232 {
return pf ?
pf->parm(i) : (
pl ?
pl->parm(i) :
ps->parm(i));}
236 {
return pf ? (*pf)(i) : (
pl ? (*
pl)(i) : (*
ps)(i));}
292 void getPrimaryGroupAxisInfo();
298 void setupMeasurementSet(
const String& MSFileName,
Bool useTSM=
True,
315 void sortPolarizations();
317 void fillPolarizationTable();
320 void checkRequiredAxis();
326 void fillFieldTable(
double,
double,
String);
330 void fillPointingTable();
332 void fillSourceTable();
335 void fillFeedTable();
339 void fillObsTables();
343 void fillMSMainTableColWise(
Int& nField,
Int& nSpW);
345 void fillMSMainTable(
Int& nField,
Int& nSpW);
351 void fillSpectralWindowTable();
357 void fillFieldTable(
Int nField);
361 void fillExtraTables();
365 void fixEpochReferences();
374 void updateSpectralWindowTable();
376 void readRandomGroupUVFits(
Int obsType);
377 void readPrimaryTableUVFits(
Int obsType);
425 std::pair<Int, Int> _extractAntennas(
Float baseline);
const FitsKeyword * nextkw()
Advance to next keyword.
Double crpix(Int i)
Coordinate reference pixel.
Double crpix(Int i)
Coordinate reference pixel.
int read()
The `read()' and `write()' functions control reading and writing data from the external FITS I/O medi...
Int dims()
Number of dimensions.
Double parm(Int i)
Get i'th parameter.
PrimaryTable< uChar > * pb
A helper class for MSFitsInput.
Standard, optimizes i/o by using large tiles (128 kB)
double cdelt(int n) const
Double cdelt(Int i)
Coordinate delta.
PtrHolder< T > & operator=(const PtrHolder< T > &other)
Char * ctype(Int i)
Coordinate type.
PrimaryTable< Short > * ps
const FitsKeyword * kw(const FITS::ReservedName &n)
Keyword of given type.
MSPrimaryTableHolder()
This is a helper class to avoid cumbersome switch statements on the template type of the primary arra...
ostream-like interface to creating log messages.
double crval(int n) const
Int dim(Int i)
Length of i'th axis.
Int pcount() const
Number of parameters.
Types
Types of known MDirections Warning: The order defines the order in the translation matrix FromTo in ...
char * ctype(int n) const
Double crval(Int i)
Coordinate reference value.
Int dim(Int i)
Length of i'th axis.
Char * ctype(Int i)
Coordinate type.
const FitsKeyword * kw(const FITS::ReservedName &n)
Keyword of given type.
Char * ptype(Int i) const
Parameter type.
Int read()
Read the next group.
Int read()
Read the next group.
Int dims()
Number of dimensions.
Double cdelt(Int i)
Coordinate delta.
const FitsKeyword * nextkw()
Advance to next keyword.
ConstFitsKeywordList & kwlist()
All keywords.
PrimaryGroup< Short > * ps
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
list of read-only FITS keywords
PrimaryGroup< FitsLong > * pl
BinaryTable is used to translate a FITS binary table to a Casacore Table.
A Table intended to hold astronomical data (a set of Measurements).
ConstFitsKeywordList & kwlist()
All keywords.
PrimaryGroup< Float > * pf
A class to provide easy read-write access to MeasurementSet columns.
double crpix(int n) const
PrimaryTable< Float > * pf
String: the storage and methods of handling collections of characters.
Types
Types of known MFrequencies Warning: The order defines the order in the translation matrix FromTo in...
Int gcount() const
Number of groups.
void attach(FitsInput &infile)
Attach to the input file, create the appropriate PrimaryArray.
void detach()
Detach from the input file.
A helper class for MSFitsInput.
Double crval(Int i)
Coordinate reference value.
this file contains all the compiler specific defines
PrimaryTable< FitsLong > * pl
ReservedName
FITS Reserved Names.