Isis Developer Reference
SpacecraftPosition.h
Go to the documentation of this file.
1 #ifndef SpacecraftPosition_h
2 #define SpacecraftPosition_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 
10 #include <string>
11 #include <vector>
12 #include "Distance.h"
14 #include "SpicePosition.h"
15 
16 namespace Isis {
17 
61  public:
62 
63  SpacecraftPosition(int targetCode, int observerCode,
65  const Distance &radius = Distance(0.0, Distance::Meters));
66 
67 
68  // destructor
69  virtual ~SpacecraftPosition() { }
70 
71  double getRadiusLightTime() const;
72  static double getDistanceLightTime(const Distance &distance);
73 
74  virtual void SetAberrationCorrection(const QString &correction);
75  virtual QString GetAberrationCorrection() const;
76 
77  virtual void SetEphemerisTimeSpice();
78 
80 
81  private:
82  LightTimeCorrectionState m_abcorr;
83  Distance m_radius;
84  };
85 
86 
87 } // Isis namespace
88 #endif
Isis::SpacecraftPosition::getDistanceLightTime
static double getDistanceLightTime(const Distance &distance)
Returns the time it takes for light to travel a given distance.
Definition: SpacecraftPosition.cpp:87
Isis::Distance::kilometers
double kilometers() const
Get the distance in kilometers.
Definition: Distance.cpp:106
Isis::SpacecraftPosition::GetAberrationCorrection
virtual QString GetAberrationCorrection() const
Returns the stellr aberration correction applied.
Definition: SpacecraftPosition.cpp:110
FileName.h
Isis::SpicePosition
Obtain SPICE position information for a body.
Definition: SpicePosition.h:173
Isis::SpicePosition::SetEphemerisTimeSpice
virtual void SetEphemerisTimeSpice()
This is a protected method that is called by SetEphemerisTime() when Source type is Spice.
Definition: SpicePosition.cpp:1432
Isis::LightTimeCorrectionState::isLightTimeCorrected
bool isLightTimeCorrected() const
Is light time to target corrected?
Definition: LightTimeCorrectionState.cpp:230
Isis::SpicePosition::computeStateVector
void computeStateVector(double et, int target, int observer, const QString &refFrame, const QString &abcorr, double state[6], bool &hasVelocity, double &lightTime) const
Computes the state vector of the target w.r.t observer.
Definition: SpicePosition.cpp:1742
Isis::SpicePosition::SetAberrationCorrection
virtual void SetAberrationCorrection(const QString &correction)
Set the aberration correction (light time)
Definition: SpicePosition.cpp:186
SpicePosition.h
Isis::SpicePosition::getAdjustedEphemerisTime
double getAdjustedEphemerisTime() const
Returns adjusted ephemeris time.
Definition: SpicePosition.cpp:1705
Longitude.h
NaifStatus.h
Isis::SpicePosition::getTargetCode
int getTargetCode() const
Returns target code.
Definition: SpicePosition.cpp:1689
Isis::SpicePosition::setStateVector
void setStateVector(const double state[6], const bool &hasVelocity)
Sets the state of target relative to observer.
Definition: SpicePosition.cpp:1794
IString.h
Isis::Distance
Distance measurement, usually in meters.
Definition: Distance.h:34
LightTimeCorrectionState.h
Isis::SpicePosition::getObserverCode
int getObserverCode() const
Returns observer code.
Definition: SpicePosition.cpp:1675
Isis::SpacecraftPosition::SpacecraftPosition
SpacecraftPosition(int targetCode, int observerCode, const LightTimeCorrectionState &ltState=LightTimeCorrectionState(), const Distance &radius=Distance(0.0, Distance::Meters))
constructor for swapping observer/target parameters
Definition: SpacecraftPosition.cpp:48
Isis::Distance::Meters
@ Meters
The distance is being specified in meters.
Definition: Distance.h:43
EndianSwapper.h
Isis::SpicePosition::setLightTime
void setLightTime(const double &lightTime)
Inheritors can set the light time if indicated.
Definition: SpicePosition.cpp:1824
SpacecraftPosition.h
Isis::LightTimeCorrectionState::setAberrationCorrection
void setAberrationCorrection(const QString &correction)
Sets the aberration correction directly.
Definition: LightTimeCorrectionState.cpp:134
IException.h
std
Namespace for the standard library.
Isis::SpacecraftPosition::SetEphemerisTimeSpice
virtual void SetEphemerisTimeSpice()
Determine accurate position of target w.r.t.
Definition: SpacecraftPosition.cpp:131
Isis::SpacecraftPosition::getLightTimeState
const LightTimeCorrectionState & getLightTimeState() const
Return the state of light time correction parameters.
Definition: SpacecraftPosition.cpp:197
Isis::SpacecraftPosition::~SpacecraftPosition
virtual ~SpacecraftPosition()
Definition: SpacecraftPosition.h:69
Isis::SpacecraftPosition::getRadiusLightTime
double getRadiusLightTime() const
Returns the time it takes for light to travel the radius of the target.
Definition: SpacecraftPosition.cpp:73
Isis::LightTimeCorrectionState::isLightTimeToSurfaceCorrected
bool isLightTimeToSurfaceCorrected() const
Returns state of light time from surface to center body correction.
Definition: LightTimeCorrectionState.cpp:323
iTime.h
Constants.h
Isis::SpacecraftPosition::SetAberrationCorrection
virtual void SetAberrationCorrection(const QString &correction)
Set aberration correction value for determining positions.
Definition: SpacecraftPosition.cpp:99
Distance.h
Isis::SpacecraftPosition
Provides swap observer/target and improved light time correction.
Definition: SpacecraftPosition.h:60
Isis::LightTimeCorrectionState
Provides interface to user configurable Light Time correction feature.
Definition: LightTimeCorrectionState.h:48
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::LightTimeCorrectionState::getAberrationCorrection
QString getAberrationCorrection() const
Returns the value of the current stellar aberration state.
Definition: LightTimeCorrectionState.cpp:147