12 #ifndef CARMA_SDP_MIRIADUV_H
13 #define CARMA_SDP_MIRIADUV_H
36 virtual void uvopen(
const char*
name,
const char* mode)=0;
44 virtual void uvset(
const char*
object,
const char* type,
int n,
double p1,
double p2,
double p3)=0;
56 virtual void uvgetvra(
const char *name,
char *buf,
size_t n)=0;
64 virtual void uvgetvrj(
const char *name,
int *buf,
int n)=0;
72 virtual void uvgetvri(
const char *name,
int *buf,
int n)=0;
79 virtual void uvgetvrr(
const char *name,
float *buf,
int n)=0;
86 virtual void uvgetvrd(
const char *name,
double *buf,
int n)=0;
93 virtual void uvgetvrc(
const char *name,
float *buf,
int n)=0;
97 virtual void uvputvra(
const char *name,
const char *buf)=0;
101 virtual void uvputvrj(
const char *name,
const int *buf,
int n)=0;
113 virtual void uvputvri(
const char *name,
const int *buf,
int n)=0;
121 virtual void uvputvrr(
const char *name,
const float *buf,
int n)=0;
129 virtual void uvputvrd(
const char *name,
const double *buf,
int n)=0;
137 virtual void uvputvrc(
const char *name,
const float *buf,
int n)=0;
146 virtual bool uvprobvr(
const char *name,
char &type,
int &length,
bool &update)=0;
155 virtual void uvread(
double preamble[5],
float *data,
int *flags,
int n,
int &nread)=0;
163 virtual void uvwrite(
const double preamble[5],
const float *data,
164 const int *flags,
int n)=0;
168 virtual void uvwread(
float *data,
int *flags,
int n,
int &nread)=0;
172 virtual void uvwwrite(
const float *data,
const int *flags,
int n)=0;
187 void uvopen(
const char*
name,
const char* mode);
189 virtual void uvset(
const char*
object,
const char* type,
int n,
double p1,
double p2,
double p3);
193 virtual void uvgetvra(
const char *name,
char *buf,
size_t n);
195 virtual void uvgetvrj(
const char *name,
int *buf,
int n);
197 virtual void uvgetvri(
const char *name,
int *buf,
int n);
198 virtual void uvgetvrr(
const char *name,
float &buf)
200 virtual void uvgetvrr(
const char *name,
float *buf,
int n);
201 virtual void uvgetvrd(
const char *name,
double &buf)
203 virtual void uvgetvrd(
const char *name,
double *buf,
int n);
204 virtual void uvgetvrc(
const char *name,
float &buf)
206 virtual void uvgetvrc(
const char *name,
float *buf,
int n);
208 virtual void uvputvra(
const char *name,
const char *buf);
209 virtual void uvputvrj(
const char *name,
const int *buf,
int n);
210 virtual void uvputvrj(
const char *name,
const int buf)
212 virtual void uvputvri(
const char *name,
const int buf)
214 virtual void uvputvri(
const char *name,
const int *buf,
int n);
215 virtual void uvputvrr(
const char *name,
const float buf)
217 virtual void uvputvrr(
const char *name,
const float *buf,
int n);
218 virtual void uvputvrd(
const char *name,
const double buf)
220 virtual void uvputvrd(
const char *name,
const double *buf,
int n);
221 virtual void uvputvrc(
const char *name,
const float &buf)
223 virtual void uvputvrc(
const char *name,
const float *buf,
int n);
232 bool uvprobvr(
const char *name,
char &type,
int &length,
bool &update);
241 virtual void uvread(
double preamble[5],
float *data,
int *flags,
int n,
249 virtual void uvwrite(
const double preamble[5],
const float *data,
250 const int *flags,
int n);
254 virtual void uvwread(
float *data,
int *flags,
int n,
int &nread);
258 virtual void uvwwrite(
const float *data,
const int *flags,
int n);
virtual void uvwread(float *data, int *flags, int n, int &nread)=0
Similar to uvread but for 'wide'.
virtual void uvputvrr(const char *name, const float buf)
Output a float value.
virtual void uvputvrj(const char *name, const int buf)
Output a short value.
virtual void uvgetvra(const char *name, char *buf, size_t n)
Get ASCII.
virtual void uvwrite(const double preamble[5], const float *data, const int *flags, int n)=0
Write UV data.
virtual void uvgetvrd(const char *name, double &buf)
Get a double value.
virtual void uvclose()
Close a UV dataset.
virtual void uvread(double preamble[5], float *data, int *flags, int n, int &nread)
Read UV data.
const std::string & name() const
Return name of dataset.
bool uvprobvr(const char *name, char &type, int &length, bool &update)
Gives change information about a variable.
virtual void uvgetvra(const char *name, char *buf, size_t n)=0
Get ASCII.
virtual void uvputvra(const char *name, const char *buf)=0
Output an ASCII buffer.
virtual void uvputvrj(const char *name, const int *buf, int n)=0
Output an array of shorts.
virtual void uvread(double preamble[5], float *data, int *flags, int n, int &nread)=0
Read UV data.
virtual void uvgetvrr(const char *name, float &buf)
Get a float value.
virtual bool uvprobvr(const char *name, char &type, int &length, bool &update)=0
Gives change information about a variable.
virtual void uvwrite(const double preamble[5], const float *data, const int *flags, int n)
Write UV data.
void uvopen(const char *name, const char *mode)
Open a UV dataset.
virtual void uvputvrj(const char *name, const int buf)
Output a short value.
Defines an abstract base class Miriad, and specialization MiriadBin, defining item- and file-level ac...
virtual void uvputvrc(const char *name, const float &buf)
Output a complex value.
Abstract base class for access to MIRIAD uv-data.
virtual void uvputvrd(const char *name, const double buf)
Output a double value.
virtual ~MiriadUV()
Destructor.
virtual void uvputvra(const char *name, const char *buf)
Output an ASCII buffer.
virtual void uvputvrc(const char *name, const float &buf)
Output a complex value.
virtual void uvnext()
Go to next record.
virtual void uvnext()=0
Go to next record.
virtual void uvwread(float *data, int *flags, int n, int &nread)
Similar to uvread but for 'wide'.
virtual void uvset(const char *object, const char *type, int n, double p1, double p2, double p3)=0
Set UV dataset processing options.
virtual void uvputvri(const char *name, const int buf)
Output an int value.
virtual void uvgetvrr(const char *name, float &buf)
Get a float value.
virtual void uvopen(const char *name, const char *mode)=0
Open a UV dataset.
virtual void uvgetvrj(const char *name, int &buf)
Get one short.
virtual void uvgetvri(const char *name, int &buf)
Get an integer value.
virtual void uvgetvrc(const char *name, float &buf)
Get a complex value.
virtual void uvgetvrc(const char *name, float &buf)
Get a complex value.
virtual void uvclose()=0
Close a UV dataset.
virtual void uvputvrr(const char *name, const float buf)
Output a float value.
virtual ~MiriadUVBin()
Destructor.
virtual void uvset(const char *object, const char *type, int n, double p1, double p2, double p3)
Set UV dataset processing options.
virtual void uvgetvrj(const char *name, int &buf)
Get one short.
virtual void uvwwrite(const float *data, const int *flags, int n)=0
Similar to uvwrite but for 'wide'.
Abstract Base clase for item- and file-level MIRIAD operations.
virtual void uvwwrite(const float *data, const int *flags, int n)
Similar to uvwrite but for 'wide'.
Class for item- and file-level access to MIRIAD data.
MiriadUVBin()
Constructor.
virtual void uvputvrd(const char *name, const double buf)
Output a double value.
virtual void uvgetvrd(const char *name, double &buf)
Get a double value.
virtual void uvputvrj(const char *name, const int *buf, int n)
Output an array of shorts.
Class for binary access to MIRIAD uv-data.
virtual void uvputvri(const char *name, const int buf)
Output an int value.
virtual void uvgetvri(const char *name, int &buf)
Get an integer value.