3 #ifndef SZA_MATLAB_MODELREADERNEW_H
4 #define SZA_MATLAB_MODELREADERNEW_H
18 #include "carma/szautil/Angle.h"
20 #include "carma/szautil/Frequency.h"
21 #include "carma/szautil/QuadraticInterpolatorNormal.h"
24 #include "carma/szautil/Temperature.h"
31 class ModelReaderNew {
38 ERR_OUTSIDE_MJD = 0x1,
39 ERR_OUTSIDE_FREQ = 0x2,
43 static const double arcSecPerRad_;
49 ModelReaderNew(std::string dir, std::string fileName, std::vector<Frequency> freqs);
50 void initialize(std::vector<Frequency> freqs);
55 virtual ~ModelReaderNew();
57 void readFile(std::string dir, std::string fileName);
63 void findMjdIndices(
double mjd,
unsigned& iStart,
unsigned& iStop);
64 void findFreqIndices(Frequency& freq,
unsigned& iStart,
unsigned& iStop);
66 Temperature brightnessTemperature(TimeVal& mjd, Frequency& freq,
67 unsigned int& errCode);
69 SolidAngle solidAngle(TimeVal& mjd,
unsigned int& errCode);
71 Angle eDiam(TimeVal& mjd,
unsigned int& errCode);
73 Angle pDiam(TimeVal& mjd,
unsigned int& errCode);
75 Flux flux(TimeVal& mjd, Frequency& freq,
unsigned int& errCode);
77 virtual void readRecord(InputStream* stream);
78 virtual void readItem(InputStream* stream);
82 std::vector<Frequency> freqs_;
85 std::vector<double> mjd_;
86 std::vector<double> eDiam_;
87 std::vector<double> pDiam_;
88 std::vector<std::vector<double> > t_;
90 std::vector<sza::util::QuadraticInterpolatorNormal> tInterp_;
98 void fillInterpolationContainers(TimeVal& time, Frequency& freq);
99 void fillInterpolationContainers(TimeVal& time);
108 #endif // End #ifndef SZA_MATLAB_MODELREADERNEW_H
Tagged: Fri Nov 14 12:39:38 UTC 2003.
Tagged: Wed Sep 14 17:52:22 PDT 2005.
Tagged: Wed Sep 14 17:14:39 PDT 2005.
Class for interpolating normal (non-angle) ordinates.