source: trunk/external/atnf/PKSIO/PKSwriter.h@ 1400

Last change on this file since 1400 was 1399, checked in by Malte Marquarding, 17 years ago

Mark C added brightness unit to getHeader()

File size: 4.3 KB
Line 
1//#---------------------------------------------------------------------------
2//# PKSwriter.h: Class to write out Parkes multibeam data.
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: PKSwriter.h,v 19.14 2007/11/12 03:37:56 cal103 Exp $
29//#---------------------------------------------------------------------------
30
31#ifndef ATNF_PKSWRITER_H
32#define ATNF_PKSWRITER_H
33
34#include <casa/aips.h>
35#include <casa/Arrays/Matrix.h>
36#include <casa/Arrays/Vector.h>
37#include <casa/BasicSL/Complex.h>
38#include <casa/BasicSL/String.h>
39
40// <summary>
41// Class to write out Parkes multibeam data.
42// </summary>
43
44#include <casa/namespace.h>
45class PKSwriter
46{
47 public:
48 // Destructor.
49 virtual ~PKSwriter() {};
50
51 // Create the output file and and write static data.
52 virtual Int create(
53 const String outName,
54 const String observer,
55 const String project,
56 const String antName,
57 const Vector<Double> antPosition,
58 const String obsMode,
59 const String bunit,
60 const Float equinox,
61 const String dopplerFrame,
62 const Vector<uInt> nChan,
63 const Vector<uInt> nPol,
64 const Vector<Bool> haveXPol,
65 const Bool havebase) = 0;
66
67 // Write the next data record.
68 virtual Int write (
69 const Int scanNo,
70 const Int cycleNo,
71 const Double mjd,
72 const Double interval,
73 const String fieldName,
74 const String srcName,
75 const Vector<Double> srcDir,
76 const Vector<Double> srcPM,
77 const Double srcVel,
78 const String obsMode,
79 const Int IFno,
80 const Double refFreq,
81 const Double bandwidth,
82 const Double freqInc,
83 const Double restFreq,
84 const Vector<Float> tcal,
85 const String tcalTime,
86 const Float azimuth,
87 const Float elevation,
88 const Float parAngle,
89 const Float focusAxi,
90 const Float focusTan,
91 const Float focusRot,
92 const Float temperature,
93 const Float pressure,
94 const Float humidity,
95 const Float windSpeed,
96 const Float windAz,
97 const Int refBeam,
98 const Int beamNo,
99 const Vector<Double> direction,
100 const Vector<Double> scanRate,
101 const Vector<Float> tsys,
102 const Vector<Float> sigma,
103 const Vector<Float> calFctr,
104 const Matrix<Float> baseLin,
105 const Matrix<Float> baseSub,
106 const Matrix<Float> &spectra,
107 const Matrix<uChar> &flagged,
108 const Complex xCalFctr,
109 const Vector<Complex> &xPol) = 0;
110
111 // Write a history record.
112 virtual Int history(const String text) {return 0;};
113 virtual Int history(const char *text) {return 0;};
114
115 // Close the output file.
116 virtual void close() = 0;
117
118 protected:
119 Bool cHaveBase;
120 uInt cNIF;
121 Vector<Bool> cHaveXPol;
122 Vector<uInt> cNChan, cNPol;
123};
124
125#endif
Note: See TracBrowser for help on using the repository browser.