source: trunk/external/atnf/PKSIO/PKSSDwriter.h @ 1452

Last change on this file since 1452 was 1452, checked in by Malte Marquarding, 15 years ago

update from livedata CVS

File size: 3.1 KB
Line 
1//#---------------------------------------------------------------------------
2//# PKSSDwriter.h: Class to write Parkes multibeam data to an SDFITS file.
3//#---------------------------------------------------------------------------
4//# Copyright (C) 2000-2007
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: PKSSDwriter.h,v 19.16 2008-11-17 06:41:48 cal103 Exp $
29//# Original: 2000/07/21, Mark Calabretta, ATNF
30//#---------------------------------------------------------------------------
31
32#ifndef ATNF_PKSSDWRITER_H
33#define ATNF_PKSSDWRITER_H
34
35#include <atnf/PKSIO/PKSwriter.h>
36#include <atnf/PKSIO/PKSrecord.h>
37#include <atnf/PKSIO/SDFITSwriter.h>
38
39#include <casa/aips.h>
40#include <casa/stdio.h>
41#include <casa/Arrays/Vector.h>
42#include <casa/Arrays/Matrix.h>
43#include <casa/BasicSL/Complex.h>
44#include <casa/BasicSL/String.h>
45
46#include <casa/namespace.h>
47
48// <summary>
49// Class to write Parkes multibeam data to an SDFITS file.
50// </summary>
51
52class PKSSDwriter : public PKSwriter
53{
54  public:
55    // Default constructor.
56    PKSSDwriter();
57
58    // Destructor.
59    virtual ~PKSSDwriter();
60
61    // Set message disposition.
62    virtual Int setMsg(
63        FILE *fd = 0x0);
64
65    // Create the SDFITS file and write static data.
66    virtual Int create(
67        const String sdName,
68        const String observer,
69        const String project,
70        const String antName,
71        const Vector<Double> antPosition,
72        const String obsMode,
73        const String bunit,
74        const Float  equinox,
75        const String dopplerFrame,
76        const Vector<uInt> nChan,
77        const Vector<uInt> nPol,
78        const Vector<Bool> haveXPol,
79        const Bool   haveBase);
80
81    // Write the next data record.
82    virtual Int write(
83        const PKSrecord &pksrec);
84
85    // Write a history record.
86    virtual Int history(const String text);
87    virtual Int history(const char *text);
88
89    // Close the SDFITS file.
90    virtual void close();
91
92  private:
93    // Masks declaration in parent class.
94    Vector<uInt> cHaveXPol;
95
96    SDFITSwriter cSDwriter;
97};
98
99#endif
Note: See TracBrowser for help on using the repository browser.