#ifndef ASAP_OLD_ASDM_FILLER_H #define ASAP_OLD_ASDM_FILLER_H #include #include #include #include "OldASDMReader.h" class OldASDMFiller : public asap::FillerBase { public: // constructor and destructor OldASDMFiller( casa::CountedPtr stable ) ; ~OldASDMFiller() ; // open data bool open( const std::string &filename, const casa::Record &rec ) ; // fill data void fill() ; // close data void close() ; // get reader object casa::CountedPtr getReader() { return reader_ ; } ; // set logger void setLogger( casa::CountedPtr &logsink ) ; private: // fill header void fillHeader() ; // get IF key casa::String getIFKey( casa::uInt ifno ) ; // get FREQUENCIES attributes from ifrec_ void getFrequencyRec( casa::String key, double &refpix, double &refval, double &incr ) ; // set FREQUENCIES attributes to ifrec_ void setFrequencyRec( casa::String key, double refpix, double refval, double incr ) ; // reshape float array spectra to Matrix casa::Matrix toMatrix( float *sp, unsigned int npol, unsigned int nchan ) ; // reshape 2d vector Tsys to Matrix casa::Matrix toMatrix( std::vector< std::vector > &tsys, unsigned int npol, unsigned int nchan ) ; // reshape vector to Vector with appropriate length casa::Vector toVector( std::vector &tau, unsigned int npol ) ; // create TCAL time string from MJD casa::String toTcalTime( casa::Double mjd ) ; // AZEL to J2000 void toJ2000( casa::Vector &dir, double az, double el, casa::Double mjd, casa::Vector antpos ) ; // to J2000 casa::Vector toJ2000( casa::Vector dir, casa::String dirref, casa::Double mjd, casa::Vector antpos ) ; // get frequency frame enum value from string casa::MFrequency::Types toFrameType( std::string &s ) ; // to LSRK // utc must be UTC time in "d" (day) // antpos must be ITRF value in "m" casa::Double toLSRK( casa::Double freq, casa::String freqref, casa::Double utc, casa::Vector antpos, casa::Vector dir, casa::String dirref ) ; casa::CountedPtr reader_ ; casa::Int antennaId_ ; casa::String antennaName_ ; casa::Record ifrec_ ; casa::CountedPtr logsink_ ; casa::String className_ ; } ; #endif // ASAP_OLD_ASDM_FILLER_H