USGS

Isis 3.0 Object Programmers' Reference

Home

VariableLineScanCameraDetectorMap.h
Go to the documentation of this file.
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