source: trunk/external-alma/asdm2ASAP/ASDMFiller.h @ 2197

Last change on this file since 2197 was 2197, checked in by Takeshi Nakazato, 13 years ago

New Development: Yes

JIRA Issue: Yes CAS-1913

Ready for Test: No

Interface Changes: Yes/No?

What Interface Changed: Please list interface changes

Test Programs: List test programs

Put in Release Notes: Yes/No?

Module(s): Module Names change impacts.

Description: Describe your changes here...

Prototype program asdm2ASAP that converts ASDM into Scantable directory.
Since top-level CMakeLists.txt is not yet updated, those codes will not
be built at the moment.

File size: 2.1 KB
Line 
1#ifndef ASAP_ASDM_FILLER_H
2#define ASAP_ASDM_FILLER_H
3
4#include <string>
5
6#include <FillerBase.h>
7#include "ASDMReader.h"
8
9class ASDMFiller : public asap::FillerBase
10{
11public:
12  // constructor and destructor
13  ASDMFiller( casa::CountedPtr<asap::Scantable> stable ) ;
14  ~ASDMFiller() ;
15
16  // open data
17  bool open( const std::string &filename, const casa::Record &rec ) ;
18
19  // fill data
20  void fill() ;
21
22  // close data
23  void close() ;
24 
25  // get reader object
26  casa::CountedPtr<ASDMReader> getReader() { return reader_ ; } ;
27
28private:
29  // fill header
30  void fillHeader() ;
31
32  // get IF key
33  casa::String getIFKey( casa::uInt ifno ) ;
34
35  // get FREQUENCIES attributes from ifrec_
36  void getFrequencyRec( casa::String key,
37                        double &refpix,
38                        double &refval,
39                        double &incr ) ;
40
41  // set FREQUENCIES attributes to ifrec_
42  void setFrequencyRec( casa::String key,
43                        double refpix,
44                        double refval,
45                        double incr ) ;
46                     
47  // reshape float array spectra to Matrix<Float>
48  casa::Matrix<casa::Float> toMatrix( float *sp,
49                                      unsigned int npol,
50                                      unsigned int nchan ) ;
51
52  // reshape 2d vector Tsys to Matrix<Float>
53  casa::Matrix<casa::Float> toMatrix( std::vector< std::vector<float> > &tsys,
54                                      unsigned int npol,
55                                      unsigned int nchan ) ;
56
57  // reshape vector<float> to Vector<Float> with appropriate length
58  casa::Vector<casa::Float> toVector( std::vector<float> &tau,
59                                      unsigned int npol ) ;
60
61  // create TCAL time string from MJD
62  casa::String toTcalTime( casa::Double mjd ) ;
63
64  // AZEL to J2000
65  void toJ2000( casa::Vector<casa::Double> &dir,
66                double az,
67                double el,
68                casa::Double mjd,
69                casa::Vector<casa::Double> antpos ) ;
70
71  casa::CountedPtr<ASDMReader> reader_ ;
72  casa::Int antennaId_ ;
73  casa::String antennaName_ ;
74
75  casa::Record ifrec_ ;
76
77} ;
78#endif // ASAP_ASDM_FILLER_H
Note: See TracBrowser for help on using the repository browser.