CARMA C++
ModelReader.h
Go to the documentation of this file.
1 // $Id: ModelReader.h,v 1.1 2010/12/13 21:06:31 eml Exp $
2 
3 #ifndef SZA_MATLAB_MODELREADER_H
4 #define SZA_MATLAB_MODELREADER_H
5 
15 #include <string>
16 #include<vector>
17 
18 #include "carma/szautil/Angle.h"
19 #include "carma/szautil/Flux.h"
20 #include "carma/szautil/Frequency.h"
21 #include "carma/szautil/QuadraticInterpolatorNormal.h"
23 #include "carma/szautil/TimeVal.h"
24 #include "carma/szautil/Temperature.h"
25 
26 class InputStream;
27 
28 namespace sza {
29  namespace util {
30 
31  class ModelReader {
32  public:
33 
34  // Enumerate interpolation error codes
35 
36  enum {
37  ERR_NONE = 0x0,
38  ERR_OUTSIDE_MJD = 0x1,
39  ERR_OUTSIDE_FREQ = 0x2,
40  };
41 
42  static const double arcSecPerRad_;
43 
47  ModelReader();
48  ModelReader(std::string dir, std::string fileName);
49 
53  virtual ~ModelReader();
54 
55  void readFile(std::string dir, std::string fileName);
56 
57  Temperature brightnessTemperature(TimeVal& mjd, Frequency& freq,
58  unsigned int& errCode);
59 
60  SolidAngle solidAngle(TimeVal& mjd, unsigned int& errCode);
61 
62  Angle eDiam(TimeVal& mjd, unsigned int& errCode);
63 
64  Angle pDiam(TimeVal& mjd, unsigned int& errCode);
65 
66  Flux flux(TimeVal& mjd, Frequency& freq, unsigned int& errCode);
67 
68  void readRecord(InputStream* stream);
69  void readItem(InputStream* stream);
70 
71  public:
72 
73  std::vector<double> mjd_;
74  std::vector<double> t26_;
75  std::vector<double> t31_;
76  std::vector<double> t36_;
77  std::vector<double> eDiam_;
78  std::vector<double> pDiam_;
79 
85 
86  public:
87  void fillInterpContainers(double mjd);
88 
89  }; // End class ModelReader
90 
91  } // End namespace matlab
92 } // End namespace sza
93 
94 
95 
96 #endif // End #ifndef SZA_MATLAB_MODELREADER_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.