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

Static Public Member Functions

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

Private Attributes

TargetRadiiSolveMethod m_solveTargetBodyRadiusMethod
 Which radii will be solved for. More...
 
Distance m_aprioriRadiusA
 Apriori Radius A. More...
 
Distance m_sigmaRadiusA
 Apriori Radius A Sigma. More...
 
Distance m_aprioriRadiusB
 Apriori Radius B. More...
 
Distance m_sigmaRadiusB
 Apriori Radius B Sigma. More...
 
Distance m_aprioriRadiusC
 Apriori Radius C. More...
 
Distance m_sigmaRadiusC
 Apriori Radius C Sigma. More...
 
Distance m_aprioriMeanRadius
 Apriori Mean Radius. More...
 
Distance m_sigmaMeanRadius
 Apriori Mean Radius Sigma. More...
 
std::vector< Distancem_radii
 Adjusted triaxial radii values. More...
 
Distance m_meanRadius
 Adjusted mean radius value. More...
 
std::vector< Anglem_raPole
 pole ra quadratic polynomial coefficients More...
 
std::vector< Anglem_decPole
 pole dec quadratic polynomial coefficients More...
 
std::vector< Anglem_pm
 pole pm quadratic polynomial coefficients More...
 
std::set< int > m_parameterSolveCodes
 Target parameter solve codes. More...
 
QStringList m_parameterNamesList
 List of all target parameters. More...
 
LinearAlgebra::Vector m_weights
 Parameter weights. More...
 
LinearAlgebra::Vector m_corrections
 Cumulative parameter corrections. More...
 
LinearAlgebra::Vector m_solution
 Parameter solution vector. More...
 
LinearAlgebra::Vector m_aprioriSigmas
 A priori parameter sigmas. More...
 
LinearAlgebra::Vector m_adjustedSigmas
 Adjusted parameter sigmas. More...
 

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
History:

2015-05-15 Ken Edmundson - version 1. 2016-07-13 Jesse Mapel - Updated documentation and coding standards, and added testing in preparation for merging from IPCE to ISIS. Fixes #4079.

2016-08-10 Jeannie Backer - Replaced boost vector with Isis::LinearAlgebra::Vector. References #4163.

2016-08-18 Jesse Mapel - Changed to no longer inherit from QObject. Fixes #4192.

2016-08-23 Ian Humphrey - The applyParameterCorrections() method now throws its last exception. Updated unit test to test that exception. Fixes #4153.

2018-11-13 Jesse Mapel - Made methods used by BundleSettings virtual so they can be override by mock testing objects.

Definition at line 65 of file BundleTargetBody.h.

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.

Definition at line 77 of file BundleTargetBody.h.

◆ TargetSolveCodes

Enumeration that defines what BundleTargetBody can solve for.

Definition at line 84 of file BundleTargetBody.h.

Constructor & Destructor Documentation

◆ BundleTargetBody() [1/3]

Isis::BundleTargetBody::BundleTargetBody ( )

◆ 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.

Definition at line 41 of file BundleTargetBody.cpp.

References m_adjustedSigmas, m_aprioriSigmas, m_corrections, m_decPole, m_parameterNamesList, m_parameterSolveCodes, m_pm, m_radii, m_raPole, m_solution, m_solveTargetBodyRadiusMethod, m_weights, None, and Isis::Target::radii().

◆ BundleTargetBody() [3/3]

◆ ~BundleTargetBody()

Isis::BundleTargetBody::~BundleTargetBody ( )
virtual

Destructor.

Definition at line 108 of file BundleTargetBody.cpp.

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

Definition at line 774 of file BundleTargetBody.cpp.

References m_adjustedSigmas.

◆ 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

Definition at line 572 of file BundleTargetBody.cpp.

References _FILEINFO_, Isis::Distance::Kilometers, Isis::Distance::kilometers(), m_corrections, m_decPole, m_meanRadius, m_parameterSolveCodes, m_pm, m_radii, m_raPole, Isis::IException::Programmer, Isis::Angle::Radians, and Isis::IException::Unknown.

◆ 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

Definition at line 761 of file BundleTargetBody.cpp.

References m_aprioriSigmas.

◆ 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.

Definition at line 958 of file BundleTargetBody.cpp.

References Isis::Angle::degrees(), Isis::Distance::kilometers(), m_adjustedSigmas, m_aprioriSigmas, m_corrections, m_decPole, m_meanRadius, m_parameterNamesList, m_pm, m_radii, m_raPole, Isis::Angle::Radians, solveMeanRadius(), solvePM(), solvePMVelocity(), solvePoleDec(), solvePoleDecAcceleration(), solvePoleDecVelocity(), solvePoleRA(), solvePoleRAAcceleration(), solvePoleRAVelocity(), solveTriaxialRadii(), and Isis::toString().

◆ 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."

Definition at line 1682 of file BundleTargetBody.cpp.

References _FILEINFO_, Isis::Distance::Kilometers, m_radii, Isis::IException::Programmer, Isis::Angle::radians(), 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."

Definition at line 915 of file BundleTargetBody.cpp.

References _FILEINFO_, m_meanRadius, 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.

Definition at line 829 of file BundleTargetBody.cpp.

References m_parameterSolveCodes.

◆ 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

Definition at line 815 of file BundleTargetBody.cpp.

References All, m_solveTargetBodyRadiusMethod, and Mean.

◆ operator=()

◆ 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

Definition at line 735 of file BundleTargetBody.cpp.

References m_corrections.

◆ 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

Definition at line 1108 of file BundleTargetBody.cpp.

References m_parameterNamesList.

◆ 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

Definition at line 748 of file BundleTargetBody.cpp.

References m_solution.

◆ 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

Definition at line 722 of file BundleTargetBody.cpp.

References m_weights.

◆ 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.

Definition at line 883 of file BundleTargetBody.cpp.

References m_pm.

◆ 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.

Definition at line 865 of file BundleTargetBody.cpp.

References m_decPole.

◆ 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.

Definition at line 847 of file BundleTargetBody.cpp.

References m_raPole.

◆ 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."

Definition at line 898 of file BundleTargetBody.cpp.

References _FILEINFO_, m_radii, 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

Definition at line 1172 of file BundleTargetBody.cpp.

References _FILEINFO_, All, Isis::PvlObject::beginGroup(), Isis::Angle::Degrees, Isis::PvlObject::endGroup(), Mean, Isis::Distance::Meters, None, setSolveSettings(), and Isis::IException::User.

◆ 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)

Definition at line 207 of file BundleTargetBody.cpp.

References All, Isis::Angle::degrees(), Isis::Distance::kilometers(), m_adjustedSigmas, m_aprioriSigmas, m_corrections, m_decPole, m_meanRadius, m_parameterSolveCodes, m_pm, m_radii, m_raPole, m_solveTargetBodyRadiusMethod, m_weights, Mean, Isis::Angle::Radians, Isis::Angle::radians(), solvePM(), solvePMVelocity(), solvePoleDec(), solvePoleDecVelocity(), solvePoleRA(), and solvePoleRAVelocity().

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.

Definition at line 549 of file BundleTargetBody.cpp.

References m_parameterSolveCodes.

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.

Definition at line 499 of file BundleTargetBody.cpp.

References m_parameterSolveCodes.

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.

Definition at line 523 of file BundleTargetBody.cpp.

References m_parameterSolveCodes.

◆ 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.

Definition at line 511 of file BundleTargetBody.cpp.

References m_parameterSolveCodes.

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.

Definition at line 463 of file BundleTargetBody.cpp.

References m_parameterSolveCodes.

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.

Definition at line 487 of file BundleTargetBody.cpp.

References m_parameterSolveCodes.

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.

Definition at line 475 of file BundleTargetBody.cpp.

References m_parameterSolveCodes.

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.

Definition at line 427 of file BundleTargetBody.cpp.

References m_parameterSolveCodes.

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.

Definition at line 451 of file BundleTargetBody.cpp.

References m_parameterSolveCodes.

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.

Definition at line 439 of file BundleTargetBody.cpp.

References m_parameterSolveCodes.

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.

Definition at line 535 of file BundleTargetBody.cpp.

References m_parameterSolveCodes.

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"

Definition at line 673 of file BundleTargetBody.cpp.

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"

Definition at line 701 of file BundleTargetBody.cpp.

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).

Definition at line 935 of file BundleTargetBody.cpp.

References m_corrections, m_parameterSolveCodes, and m_weights.

Member Data Documentation

◆ m_adjustedSigmas

LinearAlgebra::Vector Isis::BundleTargetBody::m_adjustedSigmas
private

Adjusted parameter sigmas.

Definition at line 196 of file BundleTargetBody.h.

Referenced by adjustedSigmas(), BundleTargetBody(), formatBundleOutputString(), operator=(), and setSolveSettings().

◆ m_aprioriMeanRadius

Distance Isis::BundleTargetBody::m_aprioriMeanRadius
private

Apriori Mean Radius.

Definition at line 178 of file BundleTargetBody.h.

Referenced by BundleTargetBody(), and operator=().

◆ m_aprioriRadiusA

Distance Isis::BundleTargetBody::m_aprioriRadiusA
private

Apriori Radius A.

Definition at line 172 of file BundleTargetBody.h.

Referenced by BundleTargetBody(), and operator=().

◆ m_aprioriRadiusB

Distance Isis::BundleTargetBody::m_aprioriRadiusB
private

Apriori Radius B.

Definition at line 174 of file BundleTargetBody.h.

Referenced by BundleTargetBody(), and operator=().

◆ m_aprioriRadiusC

Distance Isis::BundleTargetBody::m_aprioriRadiusC
private

Apriori Radius C.

Definition at line 176 of file BundleTargetBody.h.

Referenced by BundleTargetBody(), and operator=().

◆ m_aprioriSigmas

LinearAlgebra::Vector Isis::BundleTargetBody::m_aprioriSigmas
private

A priori parameter sigmas.

Definition at line 195 of file BundleTargetBody.h.

Referenced by aprioriSigmas(), BundleTargetBody(), formatBundleOutputString(), operator=(), and setSolveSettings().

◆ m_corrections

LinearAlgebra::Vector Isis::BundleTargetBody::m_corrections
private

◆ m_decPole

std::vector<Angle> Isis::BundleTargetBody::m_decPole
private

pole dec quadratic polynomial coefficients

Definition at line 185 of file BundleTargetBody.h.

Referenced by applyParameterCorrections(), BundleTargetBody(), formatBundleOutputString(), operator=(), poleDecCoefs(), and setSolveSettings().

◆ m_meanRadius

Distance Isis::BundleTargetBody::m_meanRadius
private

Adjusted mean radius value.

Definition at line 182 of file BundleTargetBody.h.

Referenced by applyParameterCorrections(), BundleTargetBody(), formatBundleOutputString(), meanRadius(), operator=(), and setSolveSettings().

◆ m_parameterNamesList

QStringList Isis::BundleTargetBody::m_parameterNamesList
private

List of all target parameters.

Definition at line 190 of file BundleTargetBody.h.

Referenced by BundleTargetBody(), formatBundleOutputString(), operator=(), and parameterList().

◆ m_parameterSolveCodes

std::set<int> Isis::BundleTargetBody::m_parameterSolveCodes
private

◆ m_pm

std::vector<Angle> Isis::BundleTargetBody::m_pm
private

pole pm quadratic polynomial coefficients

Definition at line 186 of file BundleTargetBody.h.

Referenced by applyParameterCorrections(), BundleTargetBody(), formatBundleOutputString(), operator=(), pmCoefs(), and setSolveSettings().

◆ m_radii

std::vector<Distance> Isis::BundleTargetBody::m_radii
private

Adjusted triaxial radii values.

Definition at line 181 of file BundleTargetBody.h.

Referenced by applyParameterCorrections(), BundleTargetBody(), formatBundleOutputString(), localRadius(), operator=(), radii(), and setSolveSettings().

◆ m_raPole

std::vector<Angle> Isis::BundleTargetBody::m_raPole
private

pole ra quadratic polynomial coefficients

Definition at line 184 of file BundleTargetBody.h.

Referenced by applyParameterCorrections(), BundleTargetBody(), formatBundleOutputString(), operator=(), poleRaCoefs(), and setSolveSettings().

◆ m_sigmaMeanRadius

Distance Isis::BundleTargetBody::m_sigmaMeanRadius
private

Apriori Mean Radius Sigma.

Definition at line 179 of file BundleTargetBody.h.

Referenced by BundleTargetBody(), and operator=().

◆ m_sigmaRadiusA

Distance Isis::BundleTargetBody::m_sigmaRadiusA
private

Apriori Radius A Sigma.

Definition at line 173 of file BundleTargetBody.h.

Referenced by BundleTargetBody(), and operator=().

◆ m_sigmaRadiusB

Distance Isis::BundleTargetBody::m_sigmaRadiusB
private

Apriori Radius B Sigma.

Definition at line 175 of file BundleTargetBody.h.

Referenced by BundleTargetBody(), and operator=().

◆ m_sigmaRadiusC

Distance Isis::BundleTargetBody::m_sigmaRadiusC
private

Apriori Radius C Sigma.

Definition at line 177 of file BundleTargetBody.h.

Referenced by BundleTargetBody(), and operator=().

◆ m_solution

LinearAlgebra::Vector Isis::BundleTargetBody::m_solution
private

Parameter solution vector.

Definition at line 194 of file BundleTargetBody.h.

Referenced by BundleTargetBody(), operator=(), and parameterSolution().

◆ m_solveTargetBodyRadiusMethod

TargetRadiiSolveMethod Isis::BundleTargetBody::m_solveTargetBodyRadiusMethod
private

Which radii will be solved for.

Definition at line 171 of file BundleTargetBody.h.

Referenced by BundleTargetBody(), numberRadiusParameters(), operator=(), and setSolveSettings().

◆ m_weights

LinearAlgebra::Vector Isis::BundleTargetBody::m_weights
private

Parameter weights.

Definition at line 192 of file BundleTargetBody.h.

Referenced by BundleTargetBody(), operator=(), parameterWeights(), setSolveSettings(), and vtpv().


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