41 std::vector< LineRateChange > &lineRates) :
43 lineRates[0].GetStartEt(),
44 lineRates[0].GetLineScanRate()),
45 p_lineRates(lineRates) {
76 int rateIndex = p_lineRates.size() - 1;
78 while (rateIndex >= 0 && currEt < p_lineRates[rateIndex].GetStartEt() - 0.5) {
86 int rateStartLine = p_lineRates[rateIndex].GetStartLine();
87 double rateStartEt = p_lineRates[rateIndex].GetStartEt();
88 double rate = p_lineRates[rateIndex].GetLineScanRate();
90 double etDiff = currEt - rateStartEt;
132 const double deltaT) {
139 int rateIndex = p_lineRates.size() - 1;
141 while (rateIndex >= 0 && line < p_lineRates[rateIndex].GetStartLine() - 0.5) {
149 int rateStartLine = p_lineRates[rateIndex].GetStartLine();
150 double rateStartEt = p_lineRates[rateIndex].GetStartEt();
151 double rate = p_lineRates[rateIndex].GetLineScanRate();
160 double et = rateStartEt + (line - (rateStartLine - 0.5)) * rate;
192 const int band)
const {
193 return lineRate(line).GetLineScanRate();
208 int rateIndex = p_lineRates.size() - 1;
210 while (rateIndex >= 0 && line < p_lineRates[rateIndex].GetStartLine() - 0.5) {
221 return p_lineRates[rateIndex];
virtual bool SetParent(const double sample, const double line)
Compute detector position from a parent image coordinate.
VariableLineScanCameraDetectorMap(Camera *parent, std::vector< LineRateChange > &lineRates)
Constructs a VariableLineScanCameraDetectorMap.
void SetLineRate(const double lineRate)
Reset the line rate.
LineRateChange & lineRate(const double line) const
Get the line rate information for a given line.
Container class for storing timing information for a section of an image.
virtual bool SetParent(const double sample, const double line)
Compute detector position from a parent image coordinate.
virtual ~VariableLineScanCameraDetectorMap()
Destructor.
double p_detectorLine
Detector coordinate line value.
void setTime(const iTime &time)
By setting the time you essential set the position of the spacecraft and body as indicated in the cla...
CameraFocalPlaneMap * FocalPlaneMap()
Returns a pointer to the CameraFocalPlaneMap object.
double DetectorLineOffset() const
Namespace for ISIS/Bullet specific routines.
virtual bool SetDetector(const double sample, const double line)
Compute parent position from a detector coordinate.
Camera * p_camera
Pointer to the camera.
virtual double exposureDuration(const double sample, const double line, const int band) const
This virtual method is for returning the exposure duration of a given pixel.
double p_parentLine
The parent line calculated from the detector.
Convert between parent image coordinates and detector coordinates.
virtual bool SetDetector(const double sample, const double line)
Compute parent position from a detector coordinate.
double Et() const
Returns the ephemeris time (TDB) representation of the time as a double.
iTime time() const
Returns the ephemeris time in seconds which was used to obtain the spacecraft and sun positions...