Isis 3 Programmer Reference
DawnVirCamera.h
1#ifndef DawnVirCamera_h
2#define DawnVirCamera_h
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include "LineScanCamera.h"
13
14#include <QString>
15
16#include <tnt/tnt_array2d.h>
17
18#include "VariableLineScanCameraDetectorMap.h"
19
20namespace Isis {
77 public:
78 typedef TNT::Array2D<SpiceDouble> SMatrix;
79
80 DawnVirCamera(Cube &cube);
81
83
85 virtual int CkFrameId() const;
86
88 virtual int CkReferenceId() const;
89
91 virtual int SpkReferenceId() const;
92
93 private:
94 void readHouseKeeping(const QString &filename, double lineRate);
95 QString scrub(const QString &text) const;
96 double exposureTime() const;
97 double scanLineTime() const;
98 int pixelSumming() const;
99
100 int hkLineCount() const;
101 double lineStartTime(const double midExpTime) const;
102 double lineEndTime(const double midExpTime) const;
103
104 double startTime() const;
105 double endTime() const;
106
107 Table getPointingTable(const QString &channelId,
108 const int zeroFrame);
109 SMatrix getStateRotation(const QString &frame1,
110 const QString &frame2,
111 const double &et) const;
112
113 bool hasArticulationKernel(Pvl &label) const;
114
129
130
135 double m_scanRate;
136
137 std::vector<LineRateChange> m_lineRates;
138 std::vector<ScanMirrorInfo> m_mirrorData;
139
140 };
141};
142
143#endif
IO Handler for Isis Cubes.
Definition Cube.h:168
Camera model for both Danw VIR VIS and IR instruments.
QString scrub(const QString &text) const
Scrubs a string coming out of the housekeeping table.
int hkLineCount() const
Returns number of housekeeping records found in the cube Table.
char m_slitMode
Slit mode of the instrument.
double endTime() const
Return end time for the entire cube.
virtual int CkFrameId() const
CK Frame ID - Instrument Code from spacit run on CK.
double startTime() const
Return start time for the entire cube.
double lineStartTime(const double midExpTime) const
Return the start time for a given line exposure time.
std::vector< ScanMirrorInfo > m_mirrorData
vector of mirror info for each line
double m_scanRate
Line scan rate.
double scanLineTime() const
Return the line scan rate.
int m_summing
Summing/binnning mode.
double m_exposureTime
Line exposure time.
TNT::Array2D< SpiceDouble > SMatrix
2-D buffer
~DawnVirCamera()
Destructor.
void readHouseKeeping(const QString &filename, double lineRate)
Read the VIR houskeeping table from cube.
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.
virtual int SpkReferenceId() const
SPK Reference ID - J2000.
bool m_is1BCalibrated
is determined by Archive/ProcessingLevelId
double lineEndTime(const double midExpTime) const
Return the end time for a given line exposure time.
int pixelSumming() const
Return the pixel summing rate.
double exposureTime() const
Return the exposure time.
DawnVirCamera(Cube &cube)
Creates a camera for a Dawn VIR cube.
std::vector< LineRateChange > m_lineRates
vector of timing info for each line
virtual int CkReferenceId() const
CK Reference ID - J2000.
SMatrix getStateRotation(const QString &frame1, const QString &frame2, const double &et) const
Compute the state rotation at a given time for given frames.
Generic class for Line Scan Cameras.
Container for cube-like labels.
Definition Pvl.h:119
Class for storing Table blobs information.
Definition Table.h:61
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
double m_opticalAngle
Optical angle in degrees.
bool m_isDarkCurrent
If the line is dark current data.
double m_mirrorSin
Raw mirror sine value.
int m_lineNum
The line the info is for.
double m_mirrorCos
Raw mirror cosine value.
double m_scanLineEt
Center of line time in ET.