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

Last change on this file since 3140 was 3106, checked in by Takeshi Nakazato, 8 years ago

New Development: No

JIRA Issue: No

Ready for Test: Yes/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...


Check-in asap modifications from Jim regarding casacore namespace conversion.

File size: 3.3 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( casacore::CountedPtr<asap::Scantable> stable ) ;
16 ~ASDMFiller() ;
17
18 // open data
19 bool open( const std::string &filename, const casacore::Record &rec ) ;
20
21 // fill data
22 void fill() ;
23
24 // close data
25 void close() ;
26
27 // get reader object
28 casacore::CountedPtr<ASDMReader> getReader() { return reader_ ; } ;
29
30 // set logger
31 void setLogger( casacore::CountedPtr<casacore::LogSinkInterface> &logsink ) ;
32
33private:
34 // fill header
35 void fillHeader() ;
36
37 // get IF key
38 casacore::String getIFKey( casacore::uInt ifno ) ;
39
40 // get FREQUENCIES attributes from ifrec_
41 void getFrequencyRec( casacore::String key,
42 double &refpix,
43 double &refval,
44 double &incr ) ;
45
46 // set FREQUENCIES attributes to ifrec_
47 void setFrequencyRec( casacore::String key,
48 double refpix,
49 double refval,
50 double incr ) ;
51
52 // reshape float array spectra to Matrix<Float>
53 casacore::Matrix<casacore::Float> toMatrix( float *sp,
54 unsigned int npol,
55 unsigned int nchan ) ;
56
57 // reshape 2d vector Tsys to Matrix<Float>
58 casacore::Matrix<casacore::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 casacore::Vector<casacore::Float> toVector( std::vector<float> &tau,
64 unsigned int npol ) ;
65
66 // create TCAL time string from MJD
67 casacore::String toTcalTime( casacore::Double mjd ) ;
68
69 // AZEL to J2000
70 void toJ2000( casacore::Vector<casacore::Double> &dir,
71 double az,
72 double el,
73 casacore::Double mjd,
74 casacore::Vector<casacore::Double> antpos ) ;
75
76 // to J2000
77 casacore::Vector<casacore::Double> toJ2000( casacore::Vector<casacore::Double> dir,
78 casacore::String dirref,
79 casacore::Double mjd,
80 casacore::Vector<casacore::Double> antpos ) ;
81
82 // get frequency frame enum value from string
83 casacore::MFrequency::Types toFrameType( std::string &s ) ;
84
85 // to LSRK
86 // utc must be UTC time in "d" (day)
87 // antpos must be ITRF value in "m"
88 casacore::Double toLSRK( casacore::Double freq,
89 casacore::String freqref,
90 casacore::Double utc,
91 casacore::Vector<casacore::Double> antpos,
92 casacore::Vector<casacore::Double> dir,
93 casacore::String dirref ) ;
94
95 casacore::CountedPtr<ASDMReader> reader_ ;
96 casacore::Int antennaId_ ;
97 casacore::String antennaName_ ;
98
99 casacore::Record ifrec_ ;
100
101 casacore::CountedPtr<casacore::LogSinkInterface> logsink_ ;
102
103 casacore::String className_ ;
104 casacore::Bool freqToLsr_ ;
105
106} ;
107#endif // ASAP_ASDM_FILLER_H
Note: See TracBrowser for help on using the repository browser.