USGS

Isis 3.0 Developer's Reference (API)

Home

CameraDetectorMap.h

Go to the documentation of this file.
00001 
00024 #ifndef CameraDetectorMap_h
00025 #define CameraDetectorMap_h
00026 
00027 #include "Camera.h"
00028 
00029 namespace Isis {
00056   class CameraDetectorMap {
00057     public:
00058       CameraDetectorMap(Camera *parent = 0);
00059 
00061       virtual ~CameraDetectorMap() {};
00062 
00063       virtual bool SetParent(const double sample, const double line);
00064 
00065       virtual bool SetDetector(const double sample, const double line);
00066 
00067       double AdjustedStartingSample() const;
00068 
00069       double AdjustedStartingLine() const;
00070 
00072       inline double ParentSample() const {
00073         return p_parentSample;
00074       }
00075 
00077       inline double ParentLine() const {
00078         return p_parentLine;
00079       }
00080 
00082       inline double DetectorSample() const {
00083         return p_detectorSample;
00084       }
00085 
00087       inline double DetectorLine() const {
00088         return p_detectorLine;
00089       }
00090 
00099       inline void SetStartingDetectorSample(const double sample) {
00100         p_startingDetectorSample = sample;
00101         Compute();
00102       }
00103 
00112       inline void SetStartingDetectorLine(const double line) {
00113         p_startingDetectorLine = line;
00114         Compute();
00115       }
00116 
00126       inline void SetDetectorSampleSumming(const double summing) {
00127         p_detectorSampleSumming = summing;
00128         Compute();
00129       }
00130 
00140       inline void SetDetectorLineSumming(const double summing) {
00141         p_detectorLineSumming = summing;
00142         Compute();
00143       }
00144 
00146       virtual double SampleScaleFactor() const {
00147         return p_detectorSampleSumming;
00148       }
00149 
00151       virtual double LineScaleFactor() const {
00152         return p_detectorLineSumming;
00153       }
00154 
00156       virtual double LineRate() const {
00157         return 0.0;
00158       }
00159 
00160     protected:
00161       Camera *p_camera;
00162 
00163       double p_parentSample;
00164       double p_parentLine;
00165       double p_detectorLine;
00166       double p_detectorSample;
00167 
00168       double p_detectorSampleSumming;
00169       double p_detectorLineSumming;
00170       double p_startingDetectorSample;
00171       double p_startingDetectorLine;
00172 
00173       double p_ss;
00174       double p_sl;
00175 
00176     private:
00177       void Compute();
00178   };
00179 };
00180 #endif