CARMA C++
MiriadUV.h
Go to the documentation of this file.
1 
12 #ifndef CARMA_SDP_MIRIADUV_H
13 #define CARMA_SDP_MIRIADUV_H
14 
15 // Carma includes
16 #include "carma/sdp/MiriadSDP.h"
17 
18 namespace carma {
19 namespace sdp {
20 
24 class MiriadUV :public virtual Miriad {
25 public:
28  MiriadUV();
29 
32  virtual ~MiriadUV();
33 
36  virtual void uvopen(const char* name, const char* mode)=0;
37 
40  virtual void uvclose()=0;
41 
44  virtual void uvset(const char* object, const char* type, int n, double p1, double p2, double p3)=0;
45 
48  virtual void uvnext()=0;
49 
53 
56  virtual void uvgetvra(const char *name, char *buf, size_t n)=0;
57 
60  virtual void uvgetvrj(const char *name, int &buf) {uvgetvrj(name, &buf, 1);}
61 
64  virtual void uvgetvrj(const char *name, int *buf, int n)=0;
65 
68  virtual void uvgetvri(const char *name, int &buf) {uvgetvri(name, &buf, 1);}
69 
72  virtual void uvgetvri(const char *name, int *buf, int n)=0;
73 
76  virtual void uvgetvrr(const char *name, float &buf) {uvgetvrr(name, &buf, 1);}
79  virtual void uvgetvrr(const char *name, float *buf, int n)=0;
80 
83  virtual void uvgetvrd(const char *name, double &buf) {uvgetvrd(name, &buf, 1);}
86  virtual void uvgetvrd(const char *name, double *buf, int n)=0;
87 
90  virtual void uvgetvrc(const char *name, float &buf) {uvgetvrc(name, &buf, 1);}
93  virtual void uvgetvrc(const char *name, float *buf, int n)=0;
94 
97  virtual void uvputvra(const char *name, const char *buf)=0;
98 
101  virtual void uvputvrj(const char *name, const int *buf, int n)=0;
102 
105  virtual void uvputvrj(const char *name, const int buf){uvputvrj(name, &buf, 1);}
106 
109  virtual void uvputvri(const char *name, const int buf) {uvputvri(name, &buf, 1);}
110 
113  virtual void uvputvri(const char *name, const int *buf, int n)=0;
114 
117  virtual void uvputvrr(const char *name, const float buf) {uvputvrr(name, &buf, 1);}
118 
121  virtual void uvputvrr(const char *name, const float *buf, int n)=0;
122 
125  virtual void uvputvrd(const char *name, const double buf) {uvputvrd(name, &buf, 1);}
126 
129  virtual void uvputvrd(const char *name, const double *buf, int n)=0;
130 
133  virtual void uvputvrc(const char *name, const float &buf) {uvputvrc(name, &buf, 1);}
134 
137  virtual void uvputvrc(const char *name, const float *buf, int n)=0;
139 
146  virtual bool uvprobvr(const char *name, char &type, int &length, bool &update)=0;
147 
155  virtual void uvread(double preamble[5], float *data, int *flags, int n, int &nread)=0;
156 
163  virtual void uvwrite( const double preamble[5], const float *data,
164  const int *flags, int n)=0;
165 
168  virtual void uvwread(float *data, int *flags, int n, int &nread)=0;
169 
172  virtual void uvwwrite(const float *data, const int *flags, int n)=0;
173 };
174 
177 class MiriadUVBin : public MiriadUV , public MiriadBin {
178 public:
181  MiriadUVBin();
182 
185  virtual ~MiriadUVBin();
186 
187  void uvopen(const char* name, const char* mode);
188  virtual void uvclose();
189  virtual void uvset(const char* object, const char* type, int n, double p1, double p2, double p3);
190  virtual void uvnext();
191 
193  virtual void uvgetvra(const char *name, char *buf, size_t n);
194  virtual void uvgetvrj(const char *name, int &buf) {uvgetvrj(name, &buf, 1);}
195  virtual void uvgetvrj(const char *name, int *buf, int n);
196  virtual void uvgetvri(const char *name, int &buf) {uvgetvri(name, &buf, 1);}
197  virtual void uvgetvri(const char *name, int *buf, int n);
198  virtual void uvgetvrr(const char *name, float &buf)
199  {uvgetvrr(name, &buf, 1);}
200  virtual void uvgetvrr(const char *name, float *buf, int n);
201  virtual void uvgetvrd(const char *name, double &buf)
202  {uvgetvrd(name, &buf, 1);}
203  virtual void uvgetvrd(const char *name, double *buf, int n);
204  virtual void uvgetvrc(const char *name, float &buf)
205  {uvgetvrc(name, &buf, 1);}
206  virtual void uvgetvrc(const char *name, float *buf, int n);
207 
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)
211  {uvputvrj(name, &buf, 1);}
212  virtual void uvputvri(const char *name, const int buf)
213  {uvputvri(name, &buf, 1);}
214  virtual void uvputvri(const char *name, const int *buf, int n);
215  virtual void uvputvrr(const char *name, const float buf)
216  {uvputvrr(name, &buf, 1);}
217  virtual void uvputvrr(const char *name, const float *buf, int n);
218  virtual void uvputvrd(const char *name, const double buf)
219  {uvputvrd(name, &buf, 1);}
220  virtual void uvputvrd(const char *name, const double *buf, int n);
221  virtual void uvputvrc(const char *name, const float &buf)
222  {uvputvrc(name, &buf, 1);}
223  virtual void uvputvrc(const char *name, const float *buf, int n);
225 
232  bool uvprobvr(const char *name, char &type, int &length, bool &update);
233 
241  virtual void uvread(double preamble[5], float *data, int *flags, int n,
242  int &nread);
249  virtual void uvwrite( const double preamble[5], const float *data,
250  const int *flags, int n);
251 
254  virtual void uvwread(float *data, int *flags, int n, int &nread);
255 
258  virtual void uvwwrite(const float *data, const int *flags, int n);
259 
260  static bool error;
261 
262 };
263 } // sdp
264 } // carma
265 
266 #endif
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.
Definition: MiriadUV.h:215
virtual void uvputvrj(const char *name, const int buf)
Output a short value.
Definition: MiriadUV.h:105
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.
Definition: MiriadUV.h:201
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.
Definition: MiriadSDP.h:38
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.
Definition: MiriadUV.h:198
MiriadUV()
Constructor.
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.
Definition: MiriadUV.h:210
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.
Definition: MiriadUV.h:133
Abstract base class for access to MIRIAD uv-data.
Definition: MiriadUV.h:24
virtual void uvputvrd(const char *name, const double buf)
Output a double value.
Definition: MiriadUV.h:125
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.
Definition: MiriadUV.h:221
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.
Definition: MiriadUV.h:212
virtual void uvgetvrr(const char *name, float &buf)
Get a float value.
Definition: MiriadUV.h:76
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.
Definition: MiriadUV.h:194
virtual void uvgetvri(const char *name, int &buf)
Get an integer value.
Definition: MiriadUV.h:68
virtual void uvgetvrc(const char *name, float &buf)
Get a complex value.
Definition: MiriadUV.h:204
virtual void uvgetvrc(const char *name, float &buf)
Get a complex value.
Definition: MiriadUV.h:90
virtual void uvclose()=0
Close a UV dataset.
virtual void uvputvrr(const char *name, const float buf)
Output a float value.
Definition: MiriadUV.h:117
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.
Definition: MiriadUV.h:60
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.
Definition: MiriadSDP.h:26
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.
Definition: MiriadSDP.h:151
MiriadUVBin()
Constructor.
virtual void uvputvrd(const char *name, const double buf)
Output a double value.
Definition: MiriadUV.h:218
virtual void uvgetvrd(const char *name, double &buf)
Get a double value.
Definition: MiriadUV.h:83
virtual void uvputvrj(const char *name, const int *buf, int n)
Output an array of shorts.
Class for binary access to MIRIAD uv-data.
Definition: MiriadUV.h:177
virtual void uvputvri(const char *name, const int buf)
Output an int value.
Definition: MiriadUV.h:109
virtual void uvgetvri(const char *name, int &buf)
Get an integer value.
Definition: MiriadUV.h:196