Isis 3 Developer Reference
HiCalConf.h
Go to the documentation of this file.
1 #ifndef HiCalConf_h
2 #define HiCalConf_h
3 
27 #include <string>
28 #include <vector>
29 #include <iostream>
30 #include "HiCalTypes.h"
31 #include "HiCalUtil.h"
32 #include "Pvl.h"
33 #include "DbAccess.h"
34 #include "IException.h"
35 
36 namespace Isis {
37 
96  class HiCalConf : public DbAccess {
97  public:
98  typedef enum { Matrix, Scalar, Keyword } CalType;
99  typedef std::vector<QString> ValueList;
100 
101  public:
102  // Constructors and Destructor
103  HiCalConf();
104  HiCalConf(Pvl &label);
105  HiCalConf(Pvl &label, const QString &conf);
106 
108  virtual ~HiCalConf () { }
109 
110  void setLabel(Pvl &label);
111  PvlKeyword &getKey(const QString &key, const QString &group = "");
112 
113  QString filepath(const QString &fname) const;
114  void setConf(const QString &conf);
115  void selectProfile(const QString &profile = "");
116 
117  QString getProfileName() const;
118  QString getMatrixSource(const QString &name) const;
119  QString getMatrixSource(const QString &name,
120  const DbProfile &matconf) const;
121  HiVector getMatrix(const QString &name, int expected_size = 0) const;
122  HiVector getMatrix(const QString &name, const DbProfile &profile,
123  int expected_size = 0) const;
124  HiVector getScalar(const QString &name, const DbProfile &profile,
125  int expected_size) const;
126  int getMatrixBand() const;
127  int getMatrixBand(const DbProfile &p) const;
128 
129  double sunDistanceAU();
130 
131  DbProfile getMatrixProfile(const QString &profile = "") const;
132  ValueList getList(const DbProfile &profile, const QString &key) const;
133  QString resolve(const QString &composite,
134  const DbProfile &matconf) const;
135 
136  private:
137  static bool _naifLoaded;
138  QString _profName;
139  Pvl _label;
140 
141  QString _filter;
142 
143 
144  void init();
145  void init(Pvl &label);
146  void loadNaifTiming();
147  DbProfile getLabelProfile(const DbProfile &profile) const;
148  int getChannelIndex(const int &ccd, const int &channel) const;
149  DbProfile makeParameters(Pvl &label) const;
150  DbProfile makeParameters(const DbProfile &profile) const;
151  QString makePattern(const QString &str) const;
152  QString parser(const QString &s, const ValueList &options,
153  const DbProfile &prof ) const;
154  };
155 
156 } // namespace Isis
157 #endif
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
TNT::Array1D< double > HiVector
1-D Buffer
Definition: HiCalTypes.h:40