1#ifndef BundleTargetBody_h 
    2#define BundleTargetBody_h 
   14#include <QSharedPointer> 
   17#include <boost/numeric/ublas/vector.hpp> 
   89                            Angle aprioriVelocityPoleDec, 
Angle sigmaVelocityPoleDec,
 
   91                            Angle sigmaVelocityPM, TargetRadiiSolveMethod solveRadiiMethod,
 
  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;  
 
 
Defines an angle and provides unit conversions.
Definition Angle.h:45
 
Container class for BundleAdjustment settings.
Definition BundleSettings.h:124
 
QString formatRadiusAprioriSigmaString(int fieldWidth, int precision) const
 
TargetRadiiSolveMethod
Enumeration that defines how to solve for target radii.
Definition BundleTargetBody.h:64
 
@ None
Solve for none.
Definition BundleTargetBody.h:65
 
@ Mean
Solve for mean radius.
Definition BundleTargetBody.h:66
 
@ All
Solve for all radii.
Definition BundleTargetBody.h:67
 
QString formatWDotAprioriSigmaString(int fieldWidth, int precision) const
 
LinearAlgebra::Vector & parameterWeights()
Returns the vector of parameter weights.
Definition BundleTargetBody.cpp:730
 
virtual bool solvePoleRAAcceleration()
If the pole right ascension acceleration will be solved for with this target body.
Definition BundleTargetBody.cpp:459
 
LinearAlgebra::Vector & aprioriSigmas()
Returns the vector of apriori parameters sigmas.
Definition BundleTargetBody.cpp:769
 
QString formatW0AdjustedSigmaString(int fieldWidth, int precision) const
 
std::vector< Angle > poleRaCoefs()
Returns the coefficients of the right ascension polynomial.
Definition BundleTargetBody.cpp:855
 
virtual bool solvePoleDec()
If the pole declination angle will be solved for with this target body.
Definition BundleTargetBody.cpp:471
 
QString formatRadiusAdjustedSigmaString(int fieldWidth, int precision) const
 
static QString targetRadiiOptionToString(TargetRadiiSolveMethod targetRadiiSolveMethod)
Converts a TargetRadiiSolveMethod to a QString.
Definition BundleTargetBody.cpp:709
 
virtual bool solvePoleDecVelocity()
If the pole declination velocity will be solved for with this target body.
Definition BundleTargetBody.cpp:483
 
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
 
LinearAlgebra::Vector & parameterCorrections()
Returns the vector of corrections applied to the parameters.
Definition BundleTargetBody.cpp:743
 
std::vector< Distance > radii()
Returns the radius values.
Definition BundleTargetBody.cpp:906
 
QString formatAprioriSigmaString(int type, int fieldWidth, int precision) const
 
QString formatValue(double value, int fieldWidth, int precision) const
 
BundleTargetBody & operator=(const BundleTargetBody &src)
Assignment operator.
Definition BundleTargetBody.cpp:125
 
double vtpv()
Calculates and returns the weighted sum of the squares of the corrections.
Definition BundleTargetBody.cpp:943
 
std::vector< Angle > pmCoefs()
Returns the coefficients of the prime meridian polynomial.
Definition BundleTargetBody.cpp:891
 
LinearAlgebra::Vector & adjustedSigmas()
Returns the vector of adjusted parameters sigmas.
Definition BundleTargetBody.cpp:782
 
virtual bool solvePoleRA()
If the pole right ascension angle will be solved for with this target body.
Definition BundleTargetBody.cpp:435
 
int numberRadiusParameters()
Returns the number of radius parameters being solved for.
Definition BundleTargetBody.cpp:823
 
virtual bool solvePM()
If the prime meridian angle will be solved for with this target body.
Definition BundleTargetBody.cpp:507
 
QString formatPolePositionAdjustedSigmaString(int fieldWidth, int precision) const
 
QString formatBundleOutputString(bool errorPropagation)
Formats and returns the parameter values as a QString.
Definition BundleTargetBody.cpp:966
 
Distance meanRadius()
Returns the mean radius.
Definition BundleTargetBody.cpp:923
 
LinearAlgebra::Vector & parameterSolution()
Returns the vector of parameters solution.
Definition BundleTargetBody.cpp:756
 
virtual bool solvePMAcceleration()
If the prime meridian acceleration will be solved for with this target body.
Definition BundleTargetBody.cpp:531
 
QString formatWDotAdjustedSigmaString(int fieldWidth, int precision) const
 
virtual bool solveTriaxialRadii()
If the triaxial radii will be solved for with this target body.
Definition BundleTargetBody.cpp:543
 
virtual bool solveMeanRadius()
If the mean radius will be solved for with this target body.
Definition BundleTargetBody.cpp:557
 
TargetSolveCodes
Enumeration that defines what BundleTargetBody can solve for.
Definition BundleTargetBody.h:71
 
@ PM
Definition BundleTargetBody.h:77
 
@ TriaxialRadiusC
Definition BundleTargetBody.h:82
 
@ AccelerationPoleDec
Definition BundleTargetBody.h:76
 
@ VelocityPM
Definition BundleTargetBody.h:78
 
@ MeanRadius
Definition BundleTargetBody.h:83
 
@ PoleDec
Definition BundleTargetBody.h:74
 
@ AccelerationPoleRA
Definition BundleTargetBody.h:73
 
@ AccelerationPM
Definition BundleTargetBody.h:79
 
@ TriaxialRadiusB
Definition BundleTargetBody.h:81
 
@ VelocityPoleDec
Definition BundleTargetBody.h:75
 
@ VelocityPoleRA
Definition BundleTargetBody.h:72
 
@ TriaxialRadiusA
Definition BundleTargetBody.h:80
 
@ PoleRA
Definition BundleTargetBody.h:71
 
virtual int numberParameters()
Returns the total number of parameters being solved for.
Definition BundleTargetBody.cpp:837
 
static TargetRadiiSolveMethod stringToTargetRadiiOption(QString option)
Converts a QString to a TargetRadiiSolveMethod.
Definition BundleTargetBody.cpp:681
 
Distance localRadius(const Latitude &lat, const Longitude &lon)
Gets the local radius for the given latitude/longitude coordinate.
Definition BundleTargetBody.cpp:1690
 
virtual bool solvePoleRAVelocity()
If the pole right ascension velocity will be solved for with this target body.
Definition BundleTargetBody.cpp:447
 
virtual bool solvePoleDecAcceleration()
If the pole declination acceleration will be solved for with this target body.
Definition BundleTargetBody.cpp:495
 
QString formatW0AprioriSigmaString(int fieldWidth, int precision) const
 
BundleTargetBody()
Creates an empty BundleTargetBody object.
Definition BundleTargetBody.cpp:26
 
virtual ~BundleTargetBody()
Destructor.
Definition BundleTargetBody.cpp:116
 
QString formatPolePositionAprioriSigmaString(int fieldWidth, int precision) const
 
std::vector< Angle > poleDecCoefs()
Returns the coefficients of the declination polynomial.
Definition BundleTargetBody.cpp:873
 
QStringList parameterList()
Returns a list of all the parameters being solved for as QStrings.
Definition BundleTargetBody.cpp:1116
 
bool readFromPvl(PvlObject &tbPvlObject)
Set bundle solve parameters for target body from a pvl file.
Definition BundleTargetBody.cpp:1180
 
virtual bool solvePMVelocity()
If the prime meridian velocity will be solved for with this target body.
Definition BundleTargetBody.cpp:519
 
void applyParameterCorrections(LinearAlgebra::Vector corrections)
Applies a vector of corrections to the parameters for the target body.
Definition BundleTargetBody.cpp:580
 
Distance measurement, usually in meters.
Definition Distance.h:34
 
This class is designed to encapsulate the concept of a Latitude.
Definition Latitude.h:51
 
boost::numeric::ublas::vector< double > Vector
Definition for an Isis::LinearAlgebra::Vector of doubles.
Definition LinearAlgebra.h:132
 
This class is designed to encapsulate the concept of a Longitude.
Definition Longitude.h:40
 
Contains Pvl Groups and Pvl Objects.
Definition PvlObject.h:61
 
This class is used to create and store valid Isis targets.
Definition Target.h:63
 
Definition JigsawWorkOrder.h:28
 
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
 
QSharedPointer< BundleTargetBody > BundleTargetBodyQsp
Definition for BundleTargetBodyQsp, a QSharedPointer to a BundleTargetBody.
Definition BundleTargetBody.h:187