//#--------------------------------------------------------------------------- //# NRODatRecord.h: Class for NRO 45m and ASTE data. //#--------------------------------------------------------------------------- //# Copyright (C) 2000-2006 //# Associated Universities, Inc. Washington DC, USA. //# //# This library is free software; you can redistribute it and/or modify it //# under the terms of the GNU Library General Public License as published by //# the Free Software Foundation; either version 2 of the License, or (at your //# option) any later version. //# //# This library is distributed in the hope that it will be useful, but WITHOUT //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public //# License for more details. //# //# You should have received a copy of the GNU Library General Public License //# along with this library; if not, write to the Free Software Foundation, //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA. //# //# Correspondence concerning AIPS++ should be addressed as follows: //# Internet email: aips2-request@nrao.edu. //# Postal address: AIPS++ Project Office //# National Radio Astronomy Observatory //# 520 Edgemont Road //# Charlottesville, VA 22903-2475 USA //# //# $Id$ //#--------------------------------------------------------------------------- //# Original: 2008/10/30, Takeshi Nakazato, NAOJ //#--------------------------------------------------------------------------- #ifndef NRO_DATA_RECORD_H #define NRO_DATA_RECORD_H #include #include #include #include // // NRODataRecord is a class // that represents a single scan record // (scan header + data record) for NRO 45m and ASTE raw data. // // // // // // NRO and ASTE raw data format consists of two major components; data // header and scan record. NRODataRecord // is a representation of the scan record // that contains a scan header and a spectral data. // // // // NRODataRecord is a struct that is an // implementation of a single scan record. // All attributes are public. // // // // NRODataRecord are defined to import // NRO and ASTE raw data effictively. // It enable to read scan record all at once instead of to read each // attributes individually. // // struct NRODataRecord { // Type of file record char LSFIL[4] ; // Scan number int ISCAN ; // Integration start time with format of "YYYYMMDDHHMMSS.sss" (UTC) char LAVST[24] ; // Scan type (ON or ZERO) char SCANTP[8] ; // Offset position of the scan RA/GL/AZ [rad] double DSCX ; // Offset position of the scan DEC/GB/EL [rad] double DSCY ; // Absolute position of the scan RA/GL/AZ [rad] double SCX ; // Absolute position of the scan DEC/GB/EL [rad] double SCY ; // Position of the scan in the program RA/GL/AZ [rad] double PAZ ; // Position of the scan in the program DEC/GB/EL [rad] double PEL ; // Real position of the scan RA/GL/AZ [rad] double RAZ ; // Real position of the scan DEC/GB/EL [rad] double REL ; // X-coordinate value [rad] double XX ; // Y-coordinate value [rad] double YY ; // Array type (beam or IF) char ARRYT[4] ; // Ambient temperature [Celcius] float TEMP ; // Air pressure [hPa] float PATM ; // Pressure of water vapor [hPa] float PH2O ; // Wind speed [m/s] float VWIND ; // Wind direction [rad] float DWIND ; // Atmospheric optical depth float TAU ; // System noise temperature [K] float TSYS ; // Atmospheric temperature [K] float BATM ; // Line number of executable int LINE ; // Dummy data int IDMY1[4] ; // Recessional velocity of the antenna [m/s] double VRAD ; // Central frequency in the rest frame [Hz] double FREQ0 ; // Tracking frequency in the rest frame [Hz] double FQTRK ; // Frequency of first IF [Hz] double FQIF1 ; // ALC control voltage double ALCV ; // OFF position before and after the integration double OFFCD[2][2] ; // Data flag 0: effective 1: flagged int IDMY0 ; // Dummy data int IDMY2 ; // Correction for Doppler frequency shift double DPFRQ ; // Dummy data char CDMY1[144] ; // Scaling factor of the array double SFCTR ; // Offset for array data double ADOFF ; // Spectral data for OTF data: // Originally the data are double array. // But they are quantized and converted to the int array with // a scalling factor and an offset value. Additionally, // this int array is stored into the char array. // // 2009/02/26 Takeshi Nakazato Moved to NROReader casacore::CountedPtr LDATA ; // Spectral data for FITS data //vector JDATA ; } ; #endif /* NRO_DATA_RECORD_H */