source: branches/mergetest/external/atnf/PKSIO/PKSSDwriter.h @ 1779

Last change on this file since 1779 was 1779, checked in by Kana Sugimoto, 14 years ago

New Development: Yes

JIRA Issue: No (test merging alma branch)

Ready for Test: Yes

Interface Changes: Yes

What Interface Changed:

Test Programs:

Put in Release Notes: No

Module(s):

Description:


File size: 3.1 KB
Line 
1//#---------------------------------------------------------------------------
2//# PKSSDwriter.h: Class to write Parkes multibeam data to an SDFITS file.
3//#---------------------------------------------------------------------------
4//# livedata - processing pipeline for single-dish, multibeam spectral data.
5//# Copyright (C) 2000-2009, Australia Telescope National Facility, CSIRO
6//#
7//# This file is part of livedata.
8//#
9//# livedata is free software: you can redistribute it and/or modify it under
10//# the terms of the GNU General Public License as published by the Free
11//# Software Foundation, either version 3 of the License, or (at your option)
12//# any later version.
13//#
14//# livedata is distributed in the hope that it will be useful, but WITHOUT
15//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16//# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
17//# more details.
18//#
19//# You should have received a copy of the GNU General Public License along
20//# with livedata.  If not, see <http://www.gnu.org/licenses/>.
21//#
22//# Correspondence concerning livedata may be directed to:
23//#        Internet email: mcalabre@atnf.csiro.au
24//#        Postal address: Dr. Mark Calabretta
25//#                        Australia Telescope National Facility, CSIRO
26//#                        PO Box 76
27//#                        Epping NSW 1710
28//#                        AUSTRALIA
29//#
30//# http://www.atnf.csiro.au/computing/software/livedata.html
31//# $Id: PKSSDwriter.h,v 19.17 2009-09-29 07:33:38 cal103 Exp $
32//# Original: 2000/07/21, Mark Calabretta, ATNF
33//#---------------------------------------------------------------------------
34
35#ifndef ATNF_PKSSDWRITER_H
36#define ATNF_PKSSDWRITER_H
37
38#include <atnf/PKSIO/PKSwriter.h>
39#include <atnf/PKSIO/PKSrecord.h>
40#include <atnf/PKSIO/SDFITSwriter.h>
41
42#include <casa/aips.h>
43#include <casa/stdio.h>
44#include <casa/Arrays/Vector.h>
45#include <casa/Arrays/Matrix.h>
46#include <casa/BasicSL/Complex.h>
47#include <casa/BasicSL/String.h>
48
49#include <casa/namespace.h>
50
51// <summary>
52// Class to write Parkes multibeam data to an SDFITS file.
53// </summary>
54
55class PKSSDwriter : public PKSwriter
56{
57  public:
58    // Default constructor.
59    PKSSDwriter();
60
61    // Destructor.
62    virtual ~PKSSDwriter();
63
64    // Create the SDFITS file and write static data.
65    virtual Int create(
66        const String sdName,
67        const String observer,
68        const String project,
69        const String antName,
70        const Vector<Double> antPosition,
71        const String obsMode,
72        const String bunit,
73        const Float  equinox,
74        const String dopplerFrame,
75        const Vector<uInt> nChan,
76        const Vector<uInt> nPol,
77        const Vector<Bool> haveXPol,
78        const Bool   haveBase);
79
80    // Write the next data record.
81    virtual Int write(
82        const PKSrecord &pksrec);
83
84    // Write a history record.
85    virtual Int history(const String text);
86    virtual Int history(const char *text);
87
88    // Close the SDFITS file.
89    virtual void close();
90
91  private:
92    // Masks declaration in parent class.
93    Vector<uInt> cHaveXPol;
94
95    SDFITSwriter cSDwriter;
96};
97
98#endif
Note: See TracBrowser for help on using the repository browser.