source: trunk/external-alma/atnf/PKSIO/NRODataRecord.h@ 2965

Last change on this file since 2965 was 2765, checked in by Takeshi Nakazato, 12 years ago

New Development: No

JIRA Issue: No

Ready for Test: Yes

Interface Changes: No

What Interface Changed: Please list interface changes

Test Programs: List test programs

Put in Release Notes: Yes/No

Module(s): Module Names change impacts.

Description: Describe your changes here...

Use CountedPtr instead of raw C pointer.


File size: 5.1 KB
Line 
1//#---------------------------------------------------------------------------
2//# NRODatRecord.h: Class for NRO 45m and ASTE data.
3//#---------------------------------------------------------------------------
4//# Copyright (C) 2000-2006
5//# Associated Universities, Inc. Washington DC, USA.
6//#
7//# This library is free software; you can redistribute it and/or modify it
8//# under the terms of the GNU Library General Public License as published by
9//# the Free Software Foundation; either version 2 of the License, or (at your
10//# option) any later version.
11//#
12//# This library is distributed in the hope that it will be useful, but WITHOUT
13//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
15//# License for more details.
16//#
17//# You should have received a copy of the GNU Library General Public License
18//# along with this library; if not, write to the Free Software Foundation,
19//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
20//#
21//# Correspondence concerning AIPS++ should be addressed as follows:
22//# Internet email: aips2-request@nrao.edu.
23//# Postal address: AIPS++ Project Office
24//# National Radio Astronomy Observatory
25//# 520 Edgemont Road
26//# Charlottesville, VA 22903-2475 USA
27//#
28//# $Id$
29//#---------------------------------------------------------------------------
30//# Original: 2008/10/30, Takeshi Nakazato, NAOJ
31//#---------------------------------------------------------------------------
32
33#ifndef NRO_DATA_RECORD_H
34#define NRO_DATA_RECORD_H
35
36#include <string>
37#include <stdio.h>
38#include <vector>
39
40#include <casa/Utilities/CountedPtr.h>
41
42
43// <summary>
44// <linkto class=NRODataRecord>NRODataRecord</linkto> is a class
45// that represents a single scan record
46// (scan header + data record) for NRO 45m and ASTE raw data.
47// </summary>
48
49// <use visibility=global>
50
51// <reviewed reviewer="" date="" tests="" demos="">
52// </reviewed>
53
54// <etymology>
55// NRO and ASTE raw data format consists of two major components; data
56// header and scan record. <linkto class=NRODataRecord>NRODataRecord</linkto>
57// is a representation of the scan record
58// that contains a scan header and a spectral data.
59// </etymology>
60//
61// <synopsis>
62// <linkto class=NRODataRecord>NRODataRecord</linkto> is a struct that is an
63// implementation of a single scan record.
64// All attributes are public.
65// </synopsis>
66//
67// <motivation>
68// <linkto class=NRODataRecord>NRODataRecord</linkto> are defined to import
69// NRO and ASTE raw data effictively.
70// It enable to read scan record all at once instead of to read each
71// attributes individually.
72// </motivation>
73//
74struct NRODataRecord
75{
76 // Type of file record
77 char LSFIL[4] ;
78
79 // Scan number
80 int ISCAN ;
81
82 // Integration start time with format of "YYYYMMDDHHMMSS.sss" (UTC)
83 char LAVST[24] ;
84
85 // Scan type (ON or ZERO)
86 char SCANTP[8] ;
87
88 // Offset position of the scan RA/GL/AZ [rad]
89 double DSCX ;
90
91 // Offset position of the scan DEC/GB/EL [rad]
92 double DSCY ;
93
94 // Absolute position of the scan RA/GL/AZ [rad]
95 double SCX ;
96
97 // Absolute position of the scan DEC/GB/EL [rad]
98 double SCY ;
99
100 // Position of the scan in the program RA/GL/AZ [rad]
101 double PAZ ;
102
103 // Position of the scan in the program DEC/GB/EL [rad]
104 double PEL ;
105
106 // Real position of the scan RA/GL/AZ [rad]
107 double RAZ ;
108
109 // Real position of the scan DEC/GB/EL [rad]
110 double REL ;
111
112 // X-coordinate value [rad]
113 double XX ;
114
115 // Y-coordinate value [rad]
116 double YY ;
117
118 // Array type (beam or IF)
119 char ARRYT[4] ;
120
121 // Ambient temperature [Celcius]
122 float TEMP ;
123
124 // Air pressure [hPa]
125 float PATM ;
126
127 // Pressure of water vapor [hPa]
128 float PH2O ;
129
130 // Wind speed [m/s]
131 float VWIND ;
132
133 // Wind direction [rad]
134 float DWIND ;
135
136 // Atmospheric optical depth
137 float TAU ;
138
139 // System noise temperature [K]
140 float TSYS ;
141
142 // Atmospheric temperature [K]
143 float BATM ;
144
145 // Line number of executable
146 int LINE ;
147
148 // Dummy data
149 int IDMY1[4] ;
150
151 // Recessional velocity of the antenna [m/s]
152 double VRAD ;
153
154 // Central frequency in the rest frame [Hz]
155 double FREQ0 ;
156
157 // Tracking frequency in the rest frame [Hz]
158 double FQTRK ;
159
160 // Frequency of first IF [Hz]
161 double FQIF1 ;
162
163 // ALC control voltage
164 double ALCV ;
165
166 // OFF position before and after the integration
167 double OFFCD[2][2] ;
168
169 // Data flag 0: effective 1: flagged
170 int IDMY0 ;
171
172 // Dummy data
173 int IDMY2 ;
174
175 // Correction for Doppler frequency shift
176 double DPFRQ ;
177
178 // Dummy data
179 char CDMY1[144] ;
180
181 // Scaling factor of the array
182 double SFCTR ;
183
184 // Offset for array data
185 double ADOFF ;
186
187 // Spectral data for OTF data:
188 // Originally the data are double array.
189 // But they are quantized and converted to the int array with
190 // a scalling factor and an offset value. Additionally,
191 // this int array is stored into the char array.
192 //
193 // 2009/02/26 Takeshi Nakazato Moved to NROReader
194 casa::CountedPtr<char> LDATA ;
195 // Spectral data for FITS data
196 //vector<int> JDATA ;
197} ;
198
199#endif /* NRO_DATA_RECORD_H */
Note: See TracBrowser for help on using the repository browser.