casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VLARCA.h
Go to the documentation of this file.
1 //# VLARCA:
2 //# Copyright (C) 1999
3 //# Associated Universities, Inc. Washington DC, USA.
4 //#
5 //# This library is free software; you can redistribute it and/or modify it
6 //# under the terms of the GNU Library General Public License as published by
7 //# the Free Software Foundation; either version 2 of the License, or (at your
8 //# option) any later version.
9 //#
10 //# This library is distributed in the hope that it will be useful, but WITHOUT
11 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13 //# License for more details.
14 //#
15 //# You should have received a copy of the GNU Library General Public License
16 //# along with this library; if not, write to the Free Software Foundation,
17 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18 //#
19 //# Correspondence concerning AIPS++ should be addressed as follows:
20 //# Internet email: aips2-request@nrao.edu.
21 //# Postal address: AIPS++ Project Office
22 //# National Radio Astronomy Observatory
23 //# 520 Edgemont Road
24 //# Charlottesville, VA 22903-2475 USA
25 //#
26 //#
27 //# $Id$
28 
29 #ifndef NRAO_VLARCA_H
30 #define NRAO_VLARCA_H
31 
32 #include <casa/aips.h>
33 #include <casa/IO/ByteSource.h>
34 
35 #include <casa/namespace.h>
36 //# Forward Declarations
37 
38 // <summary></summary>
39 
40 // <use visibility=export>
41 
42 // <reviewed reviewer="" date="yyyy/mm/dd" tests="" demos="">
43 // </reviewed>
44 
45 // <prerequisite>
46 // <li> SomeClass
47 // <li> SomeOtherClass
48 // <li> some concept
49 // </prerequisite>
50 //
51 // <etymology>
52 // </etymology>
53 //
54 // <synopsis>
55 // </synopsis>
56 //
57 // <example>
58 // </example>
59 //
60 // <motivation>
61 // </motivation>
62 //
63 // <templating arg=T>
64 // <li>
65 // <li>
66 // </templating>
67 //
68 // <thrown>
69 // <li>
70 // <li>
71 // </thrown>
72 //
73 // <todo asof="yyyy/mm/dd">
74 // <li> add this feature
75 // <li> fix this bug
76 // <li> start discussion of this possible extension
77 // </todo>
78 
79 class VLARCA
80 {
81 public:
82  // The default constructor creates an unusable object
83  VLARCA();
84 
85  // Initialise this RCA from the given BytesSource (which must contain a VLA
86  // logical record), and must be readable & seekable.
88 
89  // The copy constructor uses copy semantics
90  VLARCA(const VLARCA& other);
91 
92  // The destructor is trivial;
93  ~VLARCA();
94 
95  // The assignment constructor uses copy semantics
96  VLARCA& operator=(const VLARCA& other);
97 
98  // attach to the specified casacore::ByteSource
99  void attach(casacore::ByteSource& record);
100 
101  // return the length of this logical record
102  casacore::uInt length() const;
103 
104  // return the revision of this logical record
105  casacore::uInt revision() const;
106 
107  // return the position (in bytes) of the start of the SDA, from the
108  // beginning of the logical record.
109  casacore::uInt SDAOffset() const;
110 
111  // return the position (in bytes) of the start of the specified ADA, from the
112  // beginning of the logical record.
114 
115  // return the number of antennas in the sub-array that this logical record
116  // contains data for.
117  casacore::uInt nAntennas() const;
118 
119  // return the position (in bytes) of the start of the specified CDA, from the
120  // beginning of the logical record.
122 
123  // return the number of bytes in the header of a baseline record in the
124  // specified CDA
126 
127  // return the number of bytes in the baseline record, including the header in
128  // the specified CDA
130 
131  // return the time in Modified Julian Days that is the reference point for
132  // the times given in this record.
133  casacore::uInt obsDay() const;
134 
135 private:
136  //# Contains a logical record
138 };
139 #endif
140 
141 
casacore::uInt CDAHeaderBytes(casacore::uInt which) const
return the number of bytes in the header of a baseline record in the specified CDA ...
casacore::uInt obsDay() const
return the time in Modified Julian Days that is the reference point for the times given in this recor...
~VLARCA()
The destructor is trivial;.
VLARCA & operator=(const VLARCA &other)
The assignment constructor uses copy semantics.
Class for read-only access to data in a given format.
Definition: ByteSource.h:91
casacore::uInt CDAOffset(casacore::uInt which) const
return the position (in bytes) of the start of the specified CDA, from the beginning of the logical r...
casacore::uInt length() const
return the length of this logical record
casacore::uInt CDABaselineBytes(casacore::uInt which) const
return the number of bytes in the baseline record, including the header in the specified CDA ...
VLARCA()
The default constructor creates an unusable object.
void attach(casacore::ByteSource &record)
attach to the specified casacore::ByteSource
casacore::uInt nAntennas() const
return the number of antennas in the sub-array that this logical record contains data for...
Definition: VLARCA.h:79
casacore::uInt ADAOffset(casacore::uInt which) const
return the position (in bytes) of the start of the specified ADA, from the beginning of the logical r...
casacore::ByteSource itsRecord
Definition: VLARCA.h:137
casacore::uInt revision() const
return the revision of this logical record
casacore::uInt SDAOffset() const
return the position (in bytes) of the start of the SDA, from the beginning of the logical record...
unsigned int uInt
Definition: aipstype.h:51