Isis Developer Reference
HiCalConf.h
Go to the documentation of this file.
1 #ifndef HiCalConf_h
2 #define HiCalConf_h
3 
10 /* SPDX-License-Identifier: CC0-1.0 */
11 
12 #include <string>
13 #include <vector>
14 #include <iostream>
15 #include "HiCalTypes.h"
16 #include "HiCalUtil.h"
17 #include "Pvl.h"
18 #include "DbAccess.h"
19 #include "IException.h"
20 
21 namespace Isis {
22 
23  class Cube;
24 
83  class HiCalConf : public DbAccess {
84  public:
85  typedef enum { Matrix, Scalar, Keyword } CalType;
86  typedef std::vector<QString> ValueList;
87 
88  public:
89  // Constructors and Destructor
90  HiCalConf();
91  HiCalConf(Pvl &label);
92  HiCalConf(Pvl &label, const QString &conf);
93 
95  virtual ~HiCalConf () { }
96 
97  void setLabel(Pvl &label);
98  PvlKeyword &getKey(const QString &key, const QString &group = "");
99 
100  QString filepath(const QString &fname) const;
101  void setConf(const QString &conf);
102  void selectProfile(const QString &profile = "");
103 
104  QString getProfileName() const;
105  QString getMatrixSource(const QString &name) const;
106  QString getMatrixSource(const QString &name,
107  const DbProfile &matconf) const;
108  HiVector getMatrix(const QString &name, int expected_size = 0) const;
109  HiVector getMatrix(const QString &name, const DbProfile &profile,
110  int expected_size = 0) const;
111  HiVector getScalar(const QString &name, const DbProfile &profile,
112  int expected_size) const;
113  int getMatrixBand() const;
114  int getMatrixBand(const DbProfile &p) const;
115 
116  double sunDistanceAU(Cube *cube);
117 
118  DbProfile getMatrixProfile(const QString &profile = "") const;
119  ValueList getList(const DbProfile &profile, const QString &key) const;
120  QString resolve(const QString &composite,
121  const DbProfile &matconf) const;
122 
123  private:
124  static bool _naifLoaded;
125  QString _profName;
126  Pvl _label;
127 
128  QString _filter;
129 
130 
131  void init();
132  void init(Pvl &label);
133  void loadNaifTiming();
134  DbProfile getLabelProfile(const DbProfile &profile) const;
135  int getChannelIndex(const int &ccd, const int &channel) const;
136  DbProfile makeParameters(Pvl &label) const;
137  DbProfile makeParameters(const DbProfile &profile) const;
138  QString makePattern(const QString &str) const;
139  QString parser(const QString &s, const ValueList &options,
140  const DbProfile &prof ) const;
141  };
142 
143 } // namespace Isis
144 #endif
FileName.h
Cube.h
Isis::ToString
QString ToString(const T &value)
Helper function to convert values to strings.
Definition: HiCalUtil.h:246
SpecialPixel.h
Isis::FileName
File name manipulation and expansion.
Definition: FileName.h:100
HiCalConf.h
NaifStatus.h
Isis::NaifStatus::CheckErrors
static void CheckErrors(bool resetNaif=true)
This method looks for any naif errors that might have occurred.
Definition: NaifStatus.cpp:28
IString.h
Isis::PvlObject::Traverse
@ Traverse
Search child objects.
Definition: PvlObject.h:158
Pvl.h
_FILEINFO_
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
Isis::ToInteger
int ToInteger(const T &value)
Helper function to convert values to Integers.
Definition: HiCalUtil.h:222
HiCalUtil.h
HiCalTypes.h
Isis::HiVector
TNT::Array1D< double > HiVector
1-D Buffer
Definition: HiCalTypes.h:27
DbAccess.h
Camera.h
Isis::Null
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:95
Isis::ToDouble
double ToDouble(const T &value)
Helper function to convert values to doubles.
Definition: HiCalUtil.h:234
Brick.h
IException.h
std
Namespace for the standard library.
Isis::CpmmToCcd
int CpmmToCcd(int cpmm)
Convert HiRISE Cpmm number to Ccd number.
Definition: HiCalUtil.h:71
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::IException::User
@ User
A type of error that could only have occurred due to a mistake on the user's part (e....
Definition: IException.h:126
Isis::CcdToFilter
QString CcdToFilter(int ccd)
Convert HiRISE Ccd number to string filter name.
Definition: HiCalUtil.h:86
Isis::Real
@ Real
Definition: PixelType.h:35