Isis 3 Programmer Reference
DawnVirCamera.h
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;
120  };
121 
122 
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
double exposureTime() const
Return the exposure time.
double startTime() const
Return start time for the entire cube.
double lineEndTime(const double midExpTime) const
Return the end time for a given line exposure time.
double scanLineTime() const
Return the line scan rate.
double m_mirrorSin
Raw mirror sine value.
bool hasArticulationKernel(Pvl &label) const
determine if the CK articulation kernels are present/given
Table getPointingTable(const QString &channelId, const int zeroFrame)
Compute the pointing table for each line.
double m_scanLineEt
Center of line time in ET.
bool m_isDarkCurrent
If the line is dark current data.
TNT::Array2D< SpiceDouble > SMatrix
2-D buffer
Definition: DawnVirCamera.h:70
Generic class for Line Scan Cameras.
Camera model for both Danw VIR VIS and IR instruments.
Definition: DawnVirCamera.h:68
double lineStartTime(const double midExpTime) const
Return the start time for a given line exposure time.
~DawnVirCamera()
Destructor.
double m_opticalAngle
Optical angle in degrees.
std::vector< ScanMirrorInfo > m_mirrorData
vector of mirror info for each line
int m_lineNum
The line the info is for.
DawnVirCamera(Cube &cube)
Creates a camera for a Dawn VIR cube.
bool m_is1BCalibrated
is determined by Archive/ProcessingLevelId
int m_summing
Summing/binnning mode.
virtual int CkReferenceId() const
CK Reference ID - J2000.
virtual int CkFrameId() const
CK Frame ID - Instrument Code from spacit run on CK.
int pixelSumming() const
Return the pixel summing rate.
QString scrub(const QString &text) const
Scrubs a string coming out of the housekeeping table.
double m_scanRate
Line scan rate.
int hkLineCount() const
Returns number of housekeeping records found in the cube Table.
Container for cube-like labels.
Definition: Pvl.h:135
SMatrix getStateRotation(const QString &frame1, const QString &frame2, const double &et) const
Compute the state rotation at a given time for given frames.
double m_mirrorCos
Raw mirror cosine value.
Class for storing Table blobs information.
Definition: Table.h:77
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
double m_exposureTime
Line exposure time.
std::vector< LineRateChange > m_lineRates
vector of timing info for each line
double endTime() const
Return end time for the entire cube.
char m_slitMode
Slit mode of the instrument.
virtual int SpkReferenceId() const
SPK Reference ID - J2000.
void readHouseKeeping(const QString &filename, double lineRate)
Read the VIR houskeeping table from cube.
IO Handler for Isis Cubes.
Definition: Cube.h:170