source: trunk/external-alma/oldasdm2ASAP/OldASDMFiller.h @ 3106

Last change on this file since 3106 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
RevLine 
[2273]1#ifndef ASAP_OLD_ASDM_FILLER_H
2#define ASAP_OLD_ASDM_FILLER_H
3
4#include <string>
5
6#include <casa/Logging/LogSinkInterface.h>
7
8#include <FillerBase.h>
9#include "OldASDMReader.h"
10
11class OldASDMFiller : public asap::FillerBase
12{
13public:
14  // constructor and destructor
[3106]15  OldASDMFiller( casacore::CountedPtr<asap::Scantable> stable ) ;
[2273]16  ~OldASDMFiller() ;
17
18  // open data
[3106]19  bool open( const std::string &filename, const casacore::Record &rec ) ;
[2273]20
21  // fill data
22  void fill() ;
23
24  // close data
25  void close() ;
26 
27  // get reader object
[3106]28  casacore::CountedPtr<OldASDMReader> getReader() { return reader_ ; } ;
[2273]29
30  // set logger
[3106]31  void setLogger( casacore::CountedPtr<casacore::LogSinkInterface> &logsink ) ;
[2273]32
33private:
34  // fill header
35  void fillHeader() ;
36
37  // get IF key
[3106]38  casacore::String getIFKey( casacore::uInt ifno ) ;
[2273]39
40  // get FREQUENCIES attributes from ifrec_
[3106]41  void getFrequencyRec( casacore::String key,
[2273]42                        double &refpix,
43                        double &refval,
44                        double &incr ) ;
45
46  // set FREQUENCIES attributes to ifrec_
[3106]47  void setFrequencyRec( casacore::String key,
[2273]48                        double refpix,
49                        double refval,
50                        double incr ) ;
51                     
52  // reshape float array spectra to Matrix<Float>
[3106]53  casacore::Matrix<casacore::Float> toMatrix( float *sp,
[2273]54                                      unsigned int npol,
55                                      unsigned int nchan ) ;
56
57  // reshape 2d vector Tsys to Matrix<Float>
[3106]58  casacore::Matrix<casacore::Float> toMatrix( std::vector< std::vector<float> > &tsys,
[2273]59                                      unsigned int npol,
60                                      unsigned int nchan ) ;
61
62  // reshape vector<float> to Vector<Float> with appropriate length
[3106]63  casacore::Vector<casacore::Float> toVector( std::vector<float> &tau,
[2273]64                                      unsigned int npol ) ;
65
66  // create TCAL time string from MJD
[3106]67  casacore::String toTcalTime( casacore::Double mjd ) ;
[2273]68
69  // AZEL to J2000
[3106]70  void toJ2000( casacore::Vector<casacore::Double> &dir,
[2273]71                double az,
72                double el,
[3106]73                casacore::Double mjd,
74                casacore::Vector<casacore::Double> antpos ) ;
[2273]75
76  // to J2000
[3106]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 ) ;
[2273]81
82  // get frequency frame enum value from string
[3106]83  casacore::MFrequency::Types toFrameType( std::string &s ) ;
[2273]84
85  // to LSRK
86  // utc must be UTC time in "d" (day)
87  // antpos must be ITRF value in "m"
[3106]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 ) ;
[2273]94
[3106]95  casacore::CountedPtr<OldASDMReader> reader_ ;
96  casacore::Int antennaId_ ;
97  casacore::String antennaName_ ;
[2273]98
[3106]99  casacore::Record ifrec_ ;
[2273]100
[3106]101  casacore::CountedPtr<casacore::LogSinkInterface> logsink_ ;
[2273]102
[3106]103  casacore::String className_ ;
[2273]104
105} ;
106#endif // ASAP_OLD_ASDM_FILLER_H
Note: See TracBrowser for help on using the repository browser.