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

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

New Development: No

JIRA Issue: Yes CAS-1913

Ready for Test: Yes

Interface Changes: 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...

Get frequency reference frame from the data.


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