Isis 3.0 Object Programmers' Reference |
Home |
00001 00024 #ifndef VariableLineScanCameraDetectorMap_h 00025 #define VariableLineScanCameraDetectorMap_h 00026 00027 #include "LineScanCameraDetectorMap.h" 00028 00029 namespace Isis { 00030 class LineRateChange; 00031 00049 class VariableLineScanCameraDetectorMap : public LineScanCameraDetectorMap { 00050 public: 00061 VariableLineScanCameraDetectorMap(Camera *parent, std::vector< LineRateChange > &lineRates); 00062 00064 virtual ~VariableLineScanCameraDetectorMap() {}; 00065 00066 virtual bool SetParent(const double sample, const double line); 00067 00068 virtual bool SetDetector(const double sample, const double line); 00069 00070 private: 00071 std::vector< LineRateChange > &p_lineRates; 00072 }; 00073 00074 00081 class LineRateChange { 00082 public: 00083 LineRateChange(int line, double stime, double rate) { 00084 p_line = line; 00085 p_stime = stime; 00086 p_rate = rate; 00087 }; 00088 00089 int GetStartLine() { 00090 return p_line; 00091 } 00092 double GetStartEt() { 00093 return p_stime; 00094 } 00095 double GetLineScanRate() { 00096 return p_rate; 00097 } 00098 00099 private: 00100 int p_line; 00101 double p_stime; 00102 double p_rate; 00103 }; 00104 }; 00105 #endif