|
Isis Developer Reference
|
Go to the documentation of this file. 1 #ifndef BundleTargetBody_h
2 #define BundleTargetBody_h
14 #include <QSharedPointer>
15 #include <QStringList>
17 #include <boost/numeric/ublas/vector.hpp>
89 Angle aprioriVelocityPoleDec,
Angle sigmaVelocityPoleDec,
115 std::vector<Distance>
radii();
122 QString
formatValue(
double value,
int fieldWidth,
int precision)
const;
168 std::vector<Distance> m_radii;
171 std::vector<Angle> m_raPole;
172 std::vector<Angle> m_decPole;
173 std::vector<Angle> m_pm ;
175 std::set<int> m_parameterSolveCodes;
190 #endif // BundleTargetBody_h
double kilometers() const
Get the distance in kilometers.
Definition: Distance.cpp:106
@ TriaxialRadiusC
Definition: BundleTargetBody.h:82
LinearAlgebra::Vector & parameterCorrections()
Returns the vector of corrections applied to the parameters.
Definition: BundleTargetBody.cpp:743
@ Degrees
Degrees are generally considered more human readable, 0-360 is one circle, however most math does not...
Definition: Angle.h:56
@ TriaxialRadiusA
Definition: BundleTargetBody.h:80
@ PoleDec
Definition: BundleTargetBody.h:74
PvlGroupIterator endGroup()
Returns the ending group index.
Definition: PvlObject.h:109
std::vector< Angle > poleDecCoefs()
Definition: Target.cpp:547
QString formatBundleOutputString(bool errorPropagation)
Formats and returns the parameter values as a QString.
Definition: BundleTargetBody.cpp:966
QList< Isis::PvlGroup >::iterator PvlGroupIterator
The counter for groups.
Definition: PvlObject.h:83
Distance localRadius(const Latitude &lat, const Longitude &lon)
Gets the local radius for the given latitude/longitude coordinate.
Definition: BundleTargetBody.cpp:1690
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:61
QString formatWDotAdjustedSigmaString(int fieldWidth, int precision) const
This class is designed to encapsulate the concept of a Latitude.
Definition: Latitude.h:51
@ AccelerationPoleRA
Definition: BundleTargetBody.h:73
virtual bool solvePoleDec()
If the pole declination angle will be solved for with this target body.
Definition: BundleTargetBody.cpp:471
std::vector< Distance > radii()
Returns the radius values.
Definition: BundleTargetBody.cpp:906
int numberRadiusParameters()
Returns the number of radius parameters being solved for.
Definition: BundleTargetBody.cpp:823
std::vector< Angle > poleDecCoefs()
Returns the coefficients of the declination polynomial.
Definition: BundleTargetBody.cpp:873
@ None
Solve for none.
Definition: BundleTargetBody.h:65
@ Unknown
A type of error that cannot be classified as any of the other error types.
Definition: IException.h:118
LinearAlgebra::Vector & adjustedSigmas()
Returns the vector of adjusted parameters sigmas.
Definition: BundleTargetBody.cpp:782
LinearAlgebra::Vector & aprioriSigmas()
Returns the vector of apriori parameters sigmas.
Definition: BundleTargetBody.cpp:769
static TargetRadiiSolveMethod stringToTargetRadiiOption(QString option)
Converts a QString to a TargetRadiiSolveMethod.
Definition: BundleTargetBody.cpp:681
QString formatAprioriSigmaString(int type, int fieldWidth, int precision) const
virtual bool solvePM()
If the prime meridian angle will be solved for with this target body.
Definition: BundleTargetBody.cpp:507
@ TriaxialRadiusB
Definition: BundleTargetBody.h:81
TargetSolveCodes
Enumeration that defines what BundleTargetBody can solve for.
Definition: BundleTargetBody.h:71
static QString targetRadiiOptionToString(TargetRadiiSolveMethod targetRadiiSolveMethod)
Converts a TargetRadiiSolveMethod to a QString.
Definition: BundleTargetBody.cpp:709
@ AccelerationPoleDec
Definition: BundleTargetBody.h:76
LinearAlgebra::Vector & parameterSolution()
Returns the vector of parameters solution.
Definition: BundleTargetBody.cpp:756
std::vector< Angle > pmCoefs()
Definition: Target.cpp:552
QString formatW0AdjustedSigmaString(int fieldWidth, int precision) const
@ All
Solve for all radii.
Definition: BundleTargetBody.h:67
QString formatPolePositionAprioriSigmaString(int fieldWidth, int precision) const
Distance meanRadius()
Returns the mean radius.
Definition: BundleTargetBody.cpp:923
std::vector< Angle > pmCoefs()
Returns the coefficients of the prime meridian polynomial.
Definition: BundleTargetBody.cpp:891
virtual bool solvePoleRA()
If the pole right ascension angle will be solved for with this target body.
Definition: BundleTargetBody.cpp:435
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:211
@ VelocityPM
Definition: BundleTargetBody.h:78
TargetRadiiSolveMethod
Enumeration that defines how to solve for target radii.
Definition: BundleTargetBody.h:64
Distance measurement, usually in meters.
Definition: Distance.h:34
This class is designed to encapsulate the concept of a Longitude.
Definition: Longitude.h:40
QStringList parameterList()
Returns a list of all the parameters being solved for as QStrings.
Definition: BundleTargetBody.cpp:1116
QString formatRadiusAprioriSigmaString(int fieldWidth, int precision) const
std::vector< Distance > radii() const
Returns the radii of the body in km.
Definition: Target.cpp:532
@ Kilometers
The distance is being specified in kilometers.
Definition: Distance.h:45
LinearAlgebra::Vector & parameterWeights()
Returns the vector of parameter weights.
Definition: BundleTargetBody.cpp:730
bool readFromPvl(PvlObject &tbPvlObject)
Set bundle solve parameters for target body from a pvl file.
Definition: BundleTargetBody.cpp:1180
@ Meters
The distance is being specified in meters.
Definition: Distance.h:43
boost::numeric::ublas::vector< double > Vector
Definition for an Isis::LinearAlgebra::Vector of doubles.
Definition: LinearAlgebra.h:120
double vtpv()
Calculates and returns the weighted sum of the squares of the corrections.
Definition: BundleTargetBody.cpp:943
void applyParameterCorrections(LinearAlgebra::Vector corrections)
Applies a vector of corrections to the parameters for the target body.
Definition: BundleTargetBody.cpp:580
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
std::vector< Angle > poleRaCoefs()
Definition: Target.cpp:542
virtual bool solvePoleRAAcceleration()
If the pole right ascension acceleration will be solved for with this target body.
Definition: BundleTargetBody.cpp:459
virtual bool solvePMVelocity()
If the prime meridian velocity will be solved for with this target body.
Definition: BundleTargetBody.cpp:519
QString formatW0AprioriSigmaString(int fieldWidth, int precision) const
BundleTargetBody()
Creates an empty BundleTargetBody object.
Definition: BundleTargetBody.cpp:26
QSharedPointer< BundleTargetBody > BundleTargetBodyQsp
Definition for BundleTargetBodyQsp, a QSharedPointer to a BundleTargetBody.
Definition: BundleTargetBody.h:187
@ VelocityPoleDec
Definition: BundleTargetBody.h:75
This class is used to represent a target body in a bundle and how to solve for it.
Definition: BundleTargetBody.h:52
Isis exception class.
Definition: IException.h:91
virtual bool solvePoleDecVelocity()
If the pole declination velocity will be solved for with this target body.
Definition: BundleTargetBody.cpp:483
Defines an angle and provides unit conversions.
Definition: Angle.h:45
@ AccelerationPM
Definition: BundleTargetBody.h:79
BundleTargetBody & operator=(const BundleTargetBody &src)
Assignment operator.
Definition: BundleTargetBody.cpp:125
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
virtual int numberParameters()
Returns the total number of parameters being solved for.
Definition: BundleTargetBody.cpp:837
@ PM
Definition: BundleTargetBody.h:77
PvlGroupIterator beginGroup()
Returns the beginning group index.
Definition: PvlObject.h:91
void setSolveSettings(std::set< int > targetParameterSolveCodes, Angle aprioriPoleRA, Angle sigmaPoleRA, Angle aprioriVelocityPoleRA, Angle sigmaVelocityPoleRA, Angle aprioriPoleDec, Angle sigmaPoleDec, Angle aprioriVelocityPoleDec, Angle sigmaVelocityPoleDec, Angle aprioriPM, Angle sigmaPM, Angle aprioriVelocityPM, Angle sigmaVelocityPM, TargetRadiiSolveMethod solveRadiiMethod, Distance aprioriRadiusA, Distance sigmaRadiusA, Distance aprioriRadiusB, Distance sigmaRadiusB, Distance aprioriRadiusC, Distance sigmaRadiusC, Distance aprioriMeanRadius, Distance sigmaMeanRadius)
Sets the solve settings for the target body.
Definition: BundleTargetBody.cpp:215
double degrees() const
Get the angle in units of Degrees.
Definition: Angle.h:232
@ VelocityPoleRA
Definition: BundleTargetBody.h:72
@ MeanRadius
Definition: BundleTargetBody.h:83
QString formatWDotAprioriSigmaString(int fieldWidth, int precision) const
virtual bool solvePoleDecAcceleration()
If the pole declination acceleration will be solved for with this target body.
Definition: BundleTargetBody.cpp:495
virtual bool solvePoleRAVelocity()
If the pole right ascension velocity will be solved for with this target body.
Definition: BundleTargetBody.cpp:447
QString formatPolePositionAdjustedSigmaString(int fieldWidth, int precision) const
virtual bool solveMeanRadius()
If the mean radius will be solved for with this target body.
Definition: BundleTargetBody.cpp:557
QString formatValue(double value, int fieldWidth, int precision) const
virtual ~BundleTargetBody()
Destructor.
Definition: BundleTargetBody.cpp:116
This class is used to create and store valid Isis targets.
Definition: Target.h:63
@ PoleRA
Definition: BundleTargetBody.h:71
@ Mean
Solve for mean radius.
Definition: BundleTargetBody.h:66
QString formatRadiusAdjustedSigmaString(int fieldWidth, int precision) const
virtual bool solvePMAcceleration()
If the prime meridian acceleration will be solved for with this target body.
Definition: BundleTargetBody.cpp:531
@ Radians
Radians are generally used in mathematical equations, 0-2*PI is one circle, however these are more di...
Definition: Angle.h:63
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
@ User
A type of error that could only have occurred due to a mistake on the user's part (e....
Definition: IException.h:126
std::vector< Angle > poleRaCoefs()
Returns the coefficients of the right ascension polynomial.
Definition: BundleTargetBody.cpp:855
virtual bool solveTriaxialRadii()
If the triaxial radii will be solved for with this target body.
Definition: BundleTargetBody.cpp:543
double radians() const
Convert an angle to a double.
Definition: Angle.h:226