Isis Developer Reference
Isis::BundleTargetBody Class Reference

This class is used to represent a target body in a bundle and how to solve for it. More...

#include <BundleTargetBody.h>

Collaboration diagram for Isis::BundleTargetBody:
Collaboration graph

Public Types

enum  TargetRadiiSolveMethod { None = 0 , Mean = 1 , All = 2 }
 Enumeration that defines how to solve for target radii. More...
 
enum  TargetSolveCodes {
  PoleRA = 0 , VelocityPoleRA = 1 , AccelerationPoleRA = 2 , PoleDec = 3 ,
  VelocityPoleDec = 4 , AccelerationPoleDec = 5 , PM = 6 , VelocityPM = 7 ,
  AccelerationPM = 8 , TriaxialRadiusA = 9 , TriaxialRadiusB = 10 , TriaxialRadiusC = 11 ,
  MeanRadius = 12
}
 Enumeration that defines what BundleTargetBody can solve for. More...
 

Public Member Functions

 BundleTargetBody ()
 Creates an empty BundleTargetBody object.
 
 BundleTargetBody (Target *target)
 Creates an BundleTargetBody object from a target.
 
 BundleTargetBody (const BundleTargetBody &src)
 Copy constructor.
 
virtual ~BundleTargetBody ()
 Destructor.
 
BundleTargetBodyoperator= (const BundleTargetBody &src)
 Assignment operator.
 
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.
 
bool readFromPvl (PvlObject &tbPvlObject)
 Set bundle solve parameters for target body from a pvl file.
 
LinearAlgebra::VectorparameterWeights ()
 Returns the vector of parameter weights.
 
LinearAlgebra::VectorparameterCorrections ()
 Returns the vector of corrections applied to the parameters.
 
LinearAlgebra::VectorparameterSolution ()
 Returns the vector of parameters solution.
 
LinearAlgebra::VectoraprioriSigmas ()
 Returns the vector of apriori parameters sigmas.
 
LinearAlgebra::VectoradjustedSigmas ()
 Returns the vector of adjusted parameters sigmas.
 
std::vector< AnglepoleRaCoefs ()
 Returns the coefficients of the right ascension polynomial.
 
std::vector< AnglepoleDecCoefs ()
 Returns the coefficients of the declination polynomial.
 
std::vector< AnglepmCoefs ()
 Returns the coefficients of the prime meridian polynomial.
 
std::vector< Distanceradii ()
 Returns the radius values.
 
Distance meanRadius ()
 Returns the mean radius.
 
QString formatBundleOutputString (bool errorPropagation)
 Formats and returns the parameter values as a QString.
 
QStringList parameterList ()
 Returns a list of all the parameters being solved for as QStrings.
 
QString formatValue (double value, int fieldWidth, int precision) const
 
QString formatAprioriSigmaString (int type, int fieldWidth, int precision) const
 
QString formatPolePositionAprioriSigmaString (int fieldWidth, int precision) const
 
QString formatW0AprioriSigmaString (int fieldWidth, int precision) const
 
QString formatWDotAprioriSigmaString (int fieldWidth, int precision) const
 
QString formatRadiusAprioriSigmaString (int fieldWidth, int precision) const
 
QString formatPolePositionAdjustedSigmaString (int fieldWidth, int precision) const
 
QString formatW0AdjustedSigmaString (int fieldWidth, int precision) const
 
QString formatWDotAdjustedSigmaString (int fieldWidth, int precision) const
 
QString formatRadiusAdjustedSigmaString (int fieldWidth, int precision) const
 
virtual bool solvePoleRA ()
 If the pole right ascension angle will be solved for with this target body.
 
virtual bool solvePoleRAVelocity ()
 If the pole right ascension velocity will be solved for with this target body.
 
virtual bool solvePoleRAAcceleration ()
 If the pole right ascension acceleration will be solved for with this target body.
 
virtual bool solvePoleDec ()
 If the pole declination angle will be solved for with this target body.
 
virtual bool solvePoleDecVelocity ()
 If the pole declination velocity will be solved for with this target body.
 
virtual bool solvePoleDecAcceleration ()
 If the pole declination acceleration will be solved for with this target body.
 
virtual bool solvePM ()
 If the prime meridian angle will be solved for with this target body.
 
virtual bool solvePMVelocity ()
 If the prime meridian velocity will be solved for with this target body.
 
virtual bool solvePMAcceleration ()
 If the prime meridian acceleration will be solved for with this target body.
 
virtual bool solveTriaxialRadii ()
 If the triaxial radii will be solved for with this target body.
 
virtual bool solveMeanRadius ()
 If the mean radius will be solved for with this target body.
 
int numberRadiusParameters ()
 Returns the number of radius parameters being solved for.
 
virtual int numberParameters ()
 Returns the total number of parameters being solved for.
 
void applyParameterCorrections (LinearAlgebra::Vector corrections)
 Applies a vector of corrections to the parameters for the target body.
 
double vtpv ()
 Calculates and returns the weighted sum of the squares of the corrections.
 
Distance localRadius (const Latitude &lat, const Longitude &lon)
 Gets the local radius for the given latitude/longitude coordinate.
 

Static Public Member Functions

static TargetRadiiSolveMethod stringToTargetRadiiOption (QString option)
 Converts a QString to a TargetRadiiSolveMethod.
 
static QString targetRadiiOptionToString (TargetRadiiSolveMethod targetRadiiSolveMethod)
 Converts a TargetRadiiSolveMethod to a QString.
 

Detailed Description

This class is used to represent a target body in a bundle and how to solve for it.

Author
2015-05-15 Ken Edmundson

Member Enumeration Documentation

◆ TargetRadiiSolveMethod

Enumeration that defines how to solve for target radii.

Enumerator
None 

Solve for none.

Mean 

Solve for mean radius.

All 

Solve for all radii.

◆ TargetSolveCodes

Enumeration that defines what BundleTargetBody can solve for.

Enumerator
PoleRA 
VelocityPoleRA 
AccelerationPoleRA 
PoleDec 
VelocityPoleDec 
AccelerationPoleDec 
PM 
VelocityPM 
AccelerationPM 
TriaxialRadiusA 
TriaxialRadiusB 
TriaxialRadiusC 
MeanRadius 

Constructor & Destructor Documentation

◆ BundleTargetBody() [1/3]

Isis::BundleTargetBody::BundleTargetBody ( )

Creates an empty BundleTargetBody object.

References None.

◆ BundleTargetBody() [2/3]

Isis::BundleTargetBody::BundleTargetBody ( Target * target)

Creates an BundleTargetBody object from a target.

Parameters
targetA pointer to the target body that this object will represent.

References None, Isis::Target::pmCoefs(), Isis::Target::poleDecCoefs(), Isis::Target::poleRaCoefs(), and Isis::Target::radii().

◆ BundleTargetBody() [3/3]

Isis::BundleTargetBody::BundleTargetBody ( const BundleTargetBody & src)

Copy constructor.

Makes a copy of another BundleTargetBody.

Parameters
srcThe BundleTargetBody to copy from.

◆ ~BundleTargetBody()

Isis::BundleTargetBody::~BundleTargetBody ( )
virtual

Destructor.

Member Function Documentation

◆ adjustedSigmas()

LinearAlgebra::Vector & Isis::BundleTargetBody::adjustedSigmas ( )

Returns the vector of adjusted parameters sigmas.

See setSolveSettings for how the vector is ordered.

Returns
vector<double>& The vector of adjusted parameter sigmas.
See also
setSolveSettings

◆ applyParameterCorrections()

void Isis::BundleTargetBody::applyParameterCorrections ( LinearAlgebra::Vector corrections)

Applies a vector of corrections to the parameters for the target body.

Applies a vector of corrections to the internal parameters for the target body and records the corrections in the internal corrections vector. The corrections vector should be ordered the same as the parameter vector descriped in setSolveSettings.

Parameters
correctionsThe vector containing correction values.
Exceptions
IException::Programmer"In BundleTargetBody::applyParameterCorrections: correction and m_targetParameter vectors sizes don't match."
IException::Unknown"Unable to apply parameter corrections to BundleTargetBody."
See also
setSolveSettings

References _FILEINFO_, AccelerationPM, AccelerationPoleDec, AccelerationPoleRA, Isis::Distance::Kilometers, Isis::Distance::kilometers(), MeanRadius, PM, PoleDec, PoleRA, Isis::IException::Programmer, Isis::Angle::Radians, TriaxialRadiusA, TriaxialRadiusB, TriaxialRadiusC, Isis::IException::Unknown, VelocityPM, VelocityPoleDec, and VelocityPoleRA.

◆ aprioriSigmas()

LinearAlgebra::Vector & Isis::BundleTargetBody::aprioriSigmas ( )

Returns the vector of apriori parameters sigmas.

See setSolveSettings for how the vector is ordered.

Returns
vector<double>& The vector of apriori parameter sigmas.
See also
setSolveSettings

◆ formatAprioriSigmaString()

QString Isis::BundleTargetBody::formatAprioriSigmaString ( int type,
int fieldWidth,
int precision ) const

◆ formatBundleOutputString()

QString Isis::BundleTargetBody::formatBundleOutputString ( bool errorPropagation)

Formats and returns the parameter values as a QString.

Parameters
errorPropagationIf adjusted sigmas should be output.
Returns
QString A formatted QString containing the parameter values.

References Isis::Distance::kilometers(), Isis::Angle::Radians, solveMeanRadius(), solvePM(), solvePMVelocity(), solvePoleDec(), solvePoleDecAcceleration(), solvePoleDecVelocity(), solvePoleRA(), solvePoleRAAcceleration(), solvePoleRAVelocity(), solveTriaxialRadii(), and Isis::toString().

◆ formatPolePositionAdjustedSigmaString()

QString Isis::BundleTargetBody::formatPolePositionAdjustedSigmaString ( int fieldWidth,
int precision ) const

◆ formatPolePositionAprioriSigmaString()

QString Isis::BundleTargetBody::formatPolePositionAprioriSigmaString ( int fieldWidth,
int precision ) const

◆ formatRadiusAdjustedSigmaString()

QString Isis::BundleTargetBody::formatRadiusAdjustedSigmaString ( int fieldWidth,
int precision ) const

◆ formatRadiusAprioriSigmaString()

QString Isis::BundleTargetBody::formatRadiusAprioriSigmaString ( int fieldWidth,
int precision ) const

◆ formatValue()

QString Isis::BundleTargetBody::formatValue ( double value,
int fieldWidth,
int precision ) const

◆ formatW0AdjustedSigmaString()

QString Isis::BundleTargetBody::formatW0AdjustedSigmaString ( int fieldWidth,
int precision ) const

◆ formatW0AprioriSigmaString()

QString Isis::BundleTargetBody::formatW0AprioriSigmaString ( int fieldWidth,
int precision ) const

◆ formatWDotAdjustedSigmaString()

QString Isis::BundleTargetBody::formatWDotAdjustedSigmaString ( int fieldWidth,
int precision ) const

◆ formatWDotAprioriSigmaString()

QString Isis::BundleTargetBody::formatWDotAprioriSigmaString ( int fieldWidth,
int precision ) const

◆ localRadius()

Distance Isis::BundleTargetBody::localRadius ( const Latitude & lat,
const Longitude & lon )

Gets the local radius for the given latitude/longitude coordinate.

Parameters
latLatitude coordinate.
lonLongitude coordinate.
Returns
Distance The distance from the center of the ellipsoid to its surface at the given lat/lon location.
Exceptions
IException::Programmer"Local radius can only be found if triaxial radii were solved for."

References _FILEINFO_, Isis::Distance::Kilometers, Isis::IException::Programmer, and solveTriaxialRadii().

◆ meanRadius()

Distance Isis::BundleTargetBody::meanRadius ( )

Returns the mean radius.

Returns
Distance The mean radius.
Exceptions
IException::Programmer"The mean radius can only be accessed when solving for mean radius."

References _FILEINFO_, Isis::IException::Programmer, and solveMeanRadius().

◆ numberParameters()

int Isis::BundleTargetBody::numberParameters ( )
virtual

Returns the total number of parameters being solved for.

Returns
int The number of parameters being solved for.

◆ numberRadiusParameters()

int Isis::BundleTargetBody::numberRadiusParameters ( )

Returns the number of radius parameters being solved for.

Returns the number of radius parameters being solved for which is based on the target radius solve method: None -> 0 Mean -> 1 All -> 3

Returns
int The number of radius parameters being solved for.
See also
TargetRadiiSolveMethod

References All, and Mean.

◆ operator=()

BundleTargetBody & Isis::BundleTargetBody::operator= ( const BundleTargetBody & src)

Assignment operator.

Makes this a copy of another BundleTargetBody.

Parameters
srcThe other BundleTargetBody to assign from

◆ parameterCorrections()

LinearAlgebra::Vector & Isis::BundleTargetBody::parameterCorrections ( )

Returns the vector of corrections applied to the parameters.

See setSolveSettings for how the vector is ordered.

Returns
vector<double>& The vector of parameter corrections.
See also
setSolveSettings

◆ parameterList()

QStringList Isis::BundleTargetBody::parameterList ( )

Returns a list of all the parameters being solved for as QStrings.

This should only be called after formatBundleOutputString.

Returns
QStringList A list of the parameters being solved for.
See also
formatBundleOutputString

◆ parameterSolution()

LinearAlgebra::Vector & Isis::BundleTargetBody::parameterSolution ( )

Returns the vector of parameters solution.

See setSolveSettings for how the vector is ordered.

Returns
vector<double>& The vector of parameter solution.
See also
setSolveSettings

◆ parameterWeights()

LinearAlgebra::Vector & Isis::BundleTargetBody::parameterWeights ( )

Returns the vector of parameter weights.

See setSolveSettings for how the vector is ordered.

Returns
vector<double>& The vector of parameter weights.
See also
setSolveSettings

◆ pmCoefs()

std::vector< Angle > Isis::BundleTargetBody::pmCoefs ( )

Returns the coefficients of the prime meridian polynomial.

Returns The vector of prime meridian polynomial coefficients ordered as:

angle, velocity, acceleration.

Only coefficients that are being solved for will be included.

Returns
vector<Angle> The prime meridian polynomial coefficients.

◆ poleDecCoefs()

std::vector< Angle > Isis::BundleTargetBody::poleDecCoefs ( )

Returns the coefficients of the declination polynomial.

Returns The vector of declination polynomial coefficients ordered as:

angle, velocity, acceleration.

Only coefficients that are being solved for will be included.

Returns
vector<Angle> The declination polynomial coefficients.

◆ poleRaCoefs()

std::vector< Angle > Isis::BundleTargetBody::poleRaCoefs ( )

Returns the coefficients of the right ascension polynomial.

Returns The vector of right ascension polynomial coefficients ordered as:

angle, velocity, acceleration.

Only coefficients that are being solved for will be included.

Returns
vector<Angle> The right ascension polynomial coefficients.

◆ radii()

std::vector< Distance > Isis::BundleTargetBody::radii ( )

Returns the radius values.

Returns the vector of radius values formatted as RadiusA, RadiusB, RadiusC.

Returns
vector<Distance> The vector of radius values.
Exceptions
IException::Programmer"The triaxial radii can only be accessed when solving for triaxial radii."

References _FILEINFO_, Isis::IException::Programmer, and solveTriaxialRadii().

◆ readFromPvl()

bool Isis::BundleTargetBody::readFromPvl ( PvlObject & tbObject)

Set bundle solve parameters for target body from a pvl file.

specifically for standard jigsaw interface, not the Integrated Photogrammetric Control Environment (IPCE)

Parameters
tbObjectThe Pvl file to read from.
Returns
bool If the solve parameters were successfuly set.
Exceptions
IException::User"Ra must be given as none, position, velocity, or acceleration"
IException::User"Dec must be given as none, position, velocity, or acceleration"
IException::User"Pm must be given as none, position, velocity, or acceleration"
IException::User"RadiiSolveOption must be given as none, triaxial, or mean"
IException::User"RaValue must be a valid double (>= 0; blank defaults to 0)."
IException::User"RaSigma must be a valid double (>= 0; blank defaults to 0)."
IException::User"RaVelocityValue must be a valid double (>= 0; blank defaults to 0)."
IException::User"RaVelocitySigma must be a valid double (>= 0; blank defaults to 0)."
IException::User"RaAccelerationValue must be a valid double (>= 0; blank defaults to 0)."
IException::User"RaAccelerationSigma must be a valid double (>= 0; blank defaults to 0)."
IException::User"DecValue must be a valid double (>= 0; blank defaults to 0)."
IException::User"DecSigma must be a valid double (>= 0; blank defaults to 0)."
IException::User"DecVelocityValue must be a valid double (>= 0; blank defaults to 0)."
IException::User"DecVelocitySigma must be a valid double (>= 0; blank defaults to 0)."
IException::User"DecAccelerationValue must be a valid double (>= 0; blank defaults to 0)."
IException::User"DecAccelerationSigma must be a valid double (>= 0; blank defaults to 0)."
IException::User"PmValue must be a valid double (>= 0; blank defaults to 0)."
IException::User"PmSigma must be a valid double (>= 0; blank defaults to 0)."
IException::User"PmVelocityValue must be a valid double (>= 0; blank defaults to 0)."
IException::User"PmVelocitySigma must be a valid double (>= 0; blank defaults to 0)."
IException::User"PmAccelerationValue must be a valid double (>= 0; blank defaults to 0)."
IException::User"PmAccelerationSigma must be a valid double (>= 0; blank defaults to 0)."
IException::User"RadiusAValue must be a valid double (blank defaults to 0)."
IException::User"RadiusAValue must be >= 0."
IException::User"RadiusASigma must be a valid double (blank defaults to 0)."
IException::User"RadiusASigma must be >= 0."
IException::User"RadiusBValue must be a valid double (blank defaults to 0)."
IException::User"RadiusBValue must be >= 0".
IException::User"RadiusBSigma must be a valid double (blank defaults to 0)."
IException::User"RadiusBSigma must be >= 0".
IException::User"RadiusCValue must be a valid double (blank defaults to 0)."
IException::User"RadiusCValue must be >= 0".
IException::User"RadiusCSigma must be a valid double (blank defaults to 0)."
IException::User"RadiusCSigma must be >= 0".
IException::User"MeanRadiusValue must be a valid double (blank defaults to 0)."
IException::User"MeanRadiusValue must be >= 0".
IException::User"MeanRadiusSigma must be a valid double (blank defaults to 0)."
IException::User"MeanRadiusSigma must be >= 0".
See also
setSolveSettings

References _FILEINFO_, AccelerationPM, AccelerationPoleDec, AccelerationPoleRA, All, Isis::Angle::Degrees, Mean, MeanRadius, Isis::Distance::Meters, None, PM, PoleDec, PoleRA, setSolveSettings(), TriaxialRadiusA, TriaxialRadiusB, TriaxialRadiusC, Isis::IException::User, VelocityPM, VelocityPoleDec, and VelocityPoleRA.

◆ setSolveSettings()

void Isis::BundleTargetBody::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.

Sets the solve settings for the target body's right ascension, declination, prime meridian, and radius based on the input values. Parameter vectors, sigma vectors and the weight vector will be filled in the following order:

pole right ascension, pole right ascension velocity, pole right ascension acceleration, pole declination, pole declination velocity, pole declination acceleration, prime meridian, prime meridian velocity, prime meridian acceleration, triaxial radius A, triaxial radius B, triaxial radius C, mean radius.

Any parameters that are not being solved for (based on targetParameterSolveCodes) will be omitted. For example, if solving for pole right ascension, pole declination, prime meridian, and mean radius; the vectors would be:

pole right ascension, pole declination, prime meridian, mean radius.

Parameters
targetParameterSolveCodesA set of TargetSolveCodes indicating what to solve for.
aprioriPoleRAThe apriori pole right ascension angle.
sigmaPoleRAThe apriori pole right ascension angle sigma.
aprioriVelocityPoleRAThe apriori pole right ascension velocity.
sigmaVelocityPoleRAThe apriori pole right ascension velocity sigma.
aprioriPoleDecThe apriori pole declination angle.
sigmaPoleDecThe apriori pole declination angle sigma.
aprioriVelocityPoleDecThe apriori pole declination velocity.
sigmaVelocityPoleDecThe apriori pole declination velocity sigma.
aprioriPMThe apriori prime meridian angle.
sigmaPMThe apriori prime meridian angle sigma.
aprioriVelocityPMThe apriori prime meridian velocity.
sigmaVelocityPMThe apriori prime meridian velocity sigma.
solveRadiiMethodWhat radius to solve for.
aprioriRadiusAThe apriori A radius distance.
sigmaRadiusAThe apriori A radius distance sigma.
aprioriRadiusBThe apriori B radius distance.
sigmaRadiusBThe apriori B Radius distance sigma.
aprioriRadiusCThe apriori C radius distance.
sigmaRadiusCThe apriori C radius distance sigma.
aprioriMeanRadiusThe apriori mean radius distance.
sigmaMeanRadiusthe apriori mean radius distance sigma.
See also
readFromPvl(PvlObject &tbObject)

References All, Isis::Distance::kilometers(), Mean, MeanRadius, PM, PoleDec, PoleRA, Isis::Angle::Radians, solvePM(), solvePMVelocity(), solvePoleDec(), solvePoleDecVelocity(), solvePoleRA(), solvePoleRAVelocity(), TriaxialRadiusA, TriaxialRadiusB, TriaxialRadiusC, VelocityPM, VelocityPoleDec, and VelocityPoleRA.

Referenced by readFromPvl().

◆ solveMeanRadius()

bool Isis::BundleTargetBody::solveMeanRadius ( )
virtual

If the mean radius will be solved for with this target body.

Returns
bool If it will be solved for.

References MeanRadius.

Referenced by formatBundleOutputString(), and meanRadius().

◆ solvePM()

bool Isis::BundleTargetBody::solvePM ( )
virtual

If the prime meridian angle will be solved for with this target body.

Returns
bool If it will be solved for.

References PM.

Referenced by formatBundleOutputString(), and setSolveSettings().

◆ solvePMAcceleration()

bool Isis::BundleTargetBody::solvePMAcceleration ( )
virtual

If the prime meridian acceleration will be solved for with this target body.

Returns
bool If it will be solved for.

References AccelerationPM.

◆ solvePMVelocity()

bool Isis::BundleTargetBody::solvePMVelocity ( )
virtual

If the prime meridian velocity will be solved for with this target body.

Returns
bool If it will be solved for.

References VelocityPM.

Referenced by formatBundleOutputString(), and setSolveSettings().

◆ solvePoleDec()

bool Isis::BundleTargetBody::solvePoleDec ( )
virtual

If the pole declination angle will be solved for with this target body.

Returns
bool If it will be solved for.

References PoleDec.

Referenced by formatBundleOutputString(), and setSolveSettings().

◆ solvePoleDecAcceleration()

bool Isis::BundleTargetBody::solvePoleDecAcceleration ( )
virtual

If the pole declination acceleration will be solved for with this target body.

Returns
bool If it will be solved for.

References AccelerationPoleDec.

Referenced by formatBundleOutputString().

◆ solvePoleDecVelocity()

bool Isis::BundleTargetBody::solvePoleDecVelocity ( )
virtual

If the pole declination velocity will be solved for with this target body.

Returns
bool If it will be solved for.

References VelocityPoleDec.

Referenced by formatBundleOutputString(), and setSolveSettings().

◆ solvePoleRA()

bool Isis::BundleTargetBody::solvePoleRA ( )
virtual

If the pole right ascension angle will be solved for with this target body.

Returns
bool If it will be solved for.

References PoleRA.

Referenced by formatBundleOutputString(), and setSolveSettings().

◆ solvePoleRAAcceleration()

bool Isis::BundleTargetBody::solvePoleRAAcceleration ( )
virtual

If the pole right ascension acceleration will be solved for with this target body.

Returns
bool If it will be solved for.

References AccelerationPoleRA.

Referenced by formatBundleOutputString().

◆ solvePoleRAVelocity()

bool Isis::BundleTargetBody::solvePoleRAVelocity ( )
virtual

If the pole right ascension velocity will be solved for with this target body.

Returns
bool If it will be solved for.

References VelocityPoleRA.

Referenced by formatBundleOutputString(), and setSolveSettings().

◆ solveTriaxialRadii()

bool Isis::BundleTargetBody::solveTriaxialRadii ( )
virtual

If the triaxial radii will be solved for with this target body.

Returns
bool If it will be solved for.

References TriaxialRadiusA, TriaxialRadiusB, and TriaxialRadiusC.

Referenced by formatBundleOutputString(), localRadius(), and radii().

◆ stringToTargetRadiiOption()

BundleTargetBody::TargetRadiiSolveMethod Isis::BundleTargetBody::stringToTargetRadiiOption ( QString method)
static

Converts a QString to a TargetRadiiSolveMethod.

Parameters
methodThe Qstring of a solve method.
Returns
TargetRadiiSolveMethod The converted solve method.
Exceptions
IException::Programmer"Unknown target body radius solution method"

References _FILEINFO_, All, Mean, None, and Isis::IException::Programmer.

◆ targetRadiiOptionToString()

QString Isis::BundleTargetBody::targetRadiiOptionToString ( TargetRadiiSolveMethod method)
static

Converts a TargetRadiiSolveMethod to a QString.

Parameters
methodThe TargetRadiiSolveMethod to convert.
Returns
QString The solve method as a QString.
Exceptions
IException::Programmer"Unknown target body radius solve method enum"

References _FILEINFO_, All, Mean, None, Isis::IException::Programmer, and Isis::toString().

◆ vtpv()

double Isis::BundleTargetBody::vtpv ( )

Calculates and returns the weighted sum of the squares of the corrections.

Calculates and returns the weighted sum of the squares of the corrections computed by V(T)*P*V where: V is the vector of corrections, P is the weight matrix, V(T) is the transpose of V.

Returns
double The weighted sum of the squares of the corrections (vtpv).

References vtpv().

Referenced by vtpv().


The documentation for this class was generated from the following files: