source: branches/alma/external/atnf/PKSIO/PKSSDwriter.h @ 1453

Last change on this file since 1453 was 1453, checked in by TakTsutsumi, 15 years ago

New Development: No

JIRA Issue: No

Ready to Release: Yes

Interface Changes: Yes

What Interface Changed: many

Test Programs: sd.scantable(), sd.scantable.save()

Put in Release Notes: N/A

Description: copied from current casapy code tree


File size: 4.4 KB
Line 
1//#---------------------------------------------------------------------------
2//# PKSSDWriter.h: Class to write Parkes multibeam data to an SDFITS file.
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//# 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/SDFITSwriter.h>
37
38#include <casa/aips.h>
39#include <casa/Arrays/Vector.h>
40#include <casa/Arrays/Matrix.h>
41#include <casa/BasicSL/Complex.h>
42#include <casa/BasicSL/String.h>
43
44// <summary>
45// Class to write Parkes multibeam data to an SDFITS file.
46// </summary>
47
48#include <casa/namespace.h>
49class PKSSDwriter : public PKSwriter
50{
51  public:
52    // Default constructor.
53    PKSSDwriter();
54
55    // Destructor.
56    virtual ~PKSSDwriter();
57
58    // Create the SDFITS file and write static data.
59    virtual Int create(
60        const String sdName,
61        const String observer,
62        const String project,
63        const String antName,
64        const Vector<Double> antPosition,
65        const String obsMode,
66        const Float  equinox,
67        const String dopplerFrame,
68        const Vector<uInt> nChan,
69        const Vector<uInt> nPol,
70        const Vector<Bool> haveXPol,
71        const Bool   haveBase,
72        const String fluxUnit);
73
74    // Write the next data record.
75    virtual Int write(
76        const Int             scanNo,
77        const Int             cycleNo,
78        const Double          mjd,
79        const Double          interval,
80        const String          fieldName,
81        const String          srcName,
82        const Vector<Double>  srcDir,
83        const Vector<Double>  srcPM,
84        const Double          srcVel,
85        const String          obsMode,
86        const Int             IFno,
87        const Double          refFreq,
88        const Double          bandwidth,
89        const Double          freqInc,
90        //const Double          restFreq,
91        const Vector<Double>  restFreq,
92        const Vector<Float>   tcal,
93        const String          tcalTime,
94        const Float           azimuth,
95        const Float           elevation,
96        const Float           parAngle,
97        const Float           focusAxi,
98        const Float           focusTan,
99        const Float           focusRot,
100        const Float           temperature,
101        const Float           pressure,
102        const Float           humidity,
103        const Float           windSpeed,
104        const Float           windAz,
105        const Int             refBeam,
106        const Int             beamNo,
107        const Vector<Double>  direction,
108        const Vector<Double>  scanRate,
109        const Vector<Float>   tsys,
110        const Vector<Float>   sigma,
111        const Vector<Float>   calFctr,
112        const Matrix<Float>   baselin,
113        const Matrix<Float>   basesub,
114        const Matrix<Float>   &spectra,
115        const Matrix<uChar>   &flagged,
116        const Complex         xCalFctr,
117        const Vector<Complex> &xPol);
118
119    // Close the SDFITS file.
120    virtual void close();
121
122  private:
123    // Masks declaration in parent class.
124    Vector<uInt> cHaveXPol;
125
126    SDFITSwriter cSDwriter;
127};
128
129#endif
Note: See TracBrowser for help on using the repository browser.