Isis 3 Developer Reference
DawnVirCamera.h
Go to the documentation of this file.
1 #ifndef DawnVirCamera_h
2 #define DawnVirCamera_h
3 
4 #include "LineScanCamera.h"
5 
6 #include <QString>
7 
8 #include <tnt/tnt_array2d.h>
9 
11 
12 namespace Isis {
68  class DawnVirCamera : public LineScanCamera {
69  public:
70  typedef TNT::Array2D<SpiceDouble> SMatrix;
71 
72  DawnVirCamera(Cube &cube);
73 
75 
77  virtual int CkFrameId() const;
78 
80  virtual int CkReferenceId() const;
81 
83  virtual int SpkReferenceId() const;
84 
85  private:
86  void readHouseKeeping(const QString &filename, double lineRate);
87  QString scrub(const QString &text) const;
88  double exposureTime() const;
89  double scanLineTime() const;
90  int pixelSumming() const;
91 
92  int hkLineCount() const;
93  double lineStartTime(const double midExpTime) const;
94  double lineEndTime(const double midExpTime) const;
95 
96  double startTime() const;
97  double endTime() const;
98 
99  Table getPointingTable(const QString &channelId,
100  const int zeroFrame);
101  SMatrix getStateRotation(const QString &frame1,
102  const QString &frame2,
103  const double &et) const;
104 
105  bool hasArticulationKernel(Pvl &label) const;
106 
113  struct ScanMirrorInfo {
114  int m_lineNum;
115  double m_scanLineEt;
116  double m_mirrorCos;
117  double m_mirrorSin;
118  double m_opticalAngle;
119  bool m_isDarkCurrent;
120  };
121 
122 
123  bool m_is1BCalibrated;
124  char m_slitMode;
125  double m_exposureTime;
126  int m_summing;
127  double m_scanRate;
128 
129  std::vector<LineRateChange> m_lineRates;
130  std::vector<ScanMirrorInfo> m_mirrorData;
131 
132  };
133 };
134 
135 #endif
TNT::Array2D< SpiceDouble > SMatrix
2-D buffer
Definition: DawnVirCamera.h:70
Generic class for Line Scan Cameras.
Definition: LineScanCamera.h:52
Camera model for both Danw VIR VIS and IR instruments.
Definition: DawnVirCamera.h:68
~DawnVirCamera()
Destructor.
Definition: DawnVirCamera.cpp:151
DawnVirCamera(Cube &cube)
Creates a camera for a Dawn VIR cube.
Definition: DawnVirCamera.cpp:37
virtual int CkReferenceId() const
CK Reference ID - J2000.
Definition: DawnVirCamera.cpp:169
virtual int CkFrameId() const
CK Frame ID - Instrument Code from spacit run on CK.
Definition: DawnVirCamera.cpp:159
Container for cube-like labels.
Definition: Pvl.h:135
Class for storing Table blobs information.
Definition: Table.h:77
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
virtual int SpkReferenceId() const
SPK Reference ID - J2000.
Definition: DawnVirCamera.cpp:179
IO Handler for Isis Cubes.
Definition: Cube.h:170