GeneralBrokenLines V03-01-03
using EIGEN
|
Measurement at point. More...
#include <GblMeasurement.h>
Public Member Functions | |
GblMeasurement (const Eigen::MatrixXd &aProjection, const Eigen::VectorXd &aResiduals, const Eigen::MatrixXd &aPrecision, double minPrecision=0.) | |
Create a measurement. More... | |
GblMeasurement (const Eigen::VectorXd &aResiduals, const Eigen::MatrixXd &aPrecision, double minPrecision=0.) | |
Create a measurement. More... | |
GblMeasurement (const GblMeasurement &)=default | |
GblMeasurement & | operator= (const GblMeasurement &)=default |
GblMeasurement (GblMeasurement &&)=default | |
GblMeasurement & | operator= (GblMeasurement &&)=default |
virtual | ~GblMeasurement () |
void | addLocals (const Eigen::MatrixXd &aDerivatives) |
Add local derivatives. More... | |
void | addGlobals (const std::vector< int > &aLabels, const Eigen::MatrixXd &aDerivatives) |
Add global derivatives. More... | |
void | setEnabled (bool flag) |
Set enabled flag. More... | |
bool | isEnabled () const |
Get enabled flag. More... | |
unsigned int | getMeasDim () const |
Get measurement dimension. More... | |
double | getMeasPrecMin () const |
get precision cutoff. More... | |
void | getMeasurement (Matrix5d &aProjection, Vector5d &aResiduals, Vector5d &aPrecision) const |
Retrieve measurement of a point. More... | |
void | getMeasTransformation (Eigen::MatrixXd &aTransformation) const |
Get measurement transformation (from diagonalization). More... | |
unsigned int | getNumLocals () const |
Retrieve number of local derivatives from a point. More... | |
const Eigen::MatrixXd & | getLocalDerivatives () const |
Retrieve local derivatives from a point. More... | |
unsigned int | getNumGlobals () const |
Retrieve number of global derivatives from a point. More... | |
void | printMeasurement (unsigned int level=0) const |
Print GblMeasurement. More... | |
void | getGlobalLabels (std::vector< int > &aLabels) const |
Retrieve global derivatives labels from a point. More... | |
void | getGlobalDerivatives (Eigen::MatrixXd &aDerivatives) const |
Retrieve global derivatives from a point. More... | |
void | getGlobalLabelsAndDerivatives (unsigned int aRow, std::vector< int > &aLabels, std::vector< double > &aDerivatives) const |
Retrieve global derivatives from a point for a single row. More... | |
Private Attributes | |
bool | enabled |
Enabled flag (to be used) More... | |
unsigned int | measDim |
Dimension of measurement (1-5), 0 indicates absence of measurement. More... | |
double | measPrecMin |
Minimal measurement precision (for usage) More... | |
Matrix5d | measProjection |
Projection from measurement to local system. More... | |
Vector5d | measResiduals |
Measurement residuals. More... | |
Vector5d | measPrecision |
Measurement precision (diagonal of inverse covariance matrix) More... | |
bool | transFlag |
Transformation exists? More... | |
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor, 5, 5 > | measTransformation |
Transformation of diagonalization (of meas. precision matrix) More... | |
Eigen::MatrixXd | localDerivatives |
Derivatives of measurement vs additional local (fit) parameters. More... | |
std::vector< int > | globalLabels |
Labels of global (MP-II) derivatives. More... | |
Eigen::MatrixXd | globalDerivatives |
Derivatives of measurement vs additional global (MP-II) parameters. More... | |
Measurement at point.
User supplied measurement at point on (initial) trajectory.
Must have measurement (1D - 5D). May have:
Definition at line 67 of file GblMeasurement.h.
gbl::GblMeasurement::GblMeasurement | ( | const Eigen::MatrixXd & | aProjection, |
const Eigen::VectorXd & | aResiduals, | ||
const Eigen::MatrixXd & | aPrecision, | ||
double | minPrecision = 0. |
||
) |
Create a measurement.
Create measurement (in meas. system) with diagonal or arbitrary precision (inverse covariance) matrix. Will be diagonalized. ((up to) 2D: position, 4D: slope+position, 5D: curvature+slope+position)
[in] | aProjection | Projection from local to measurement system |
[in] | aResiduals | Measurement residuals |
[in] | aPrecision | Measurement precision (vector (with diagonal) or (full) matrix) |
[in] | minPrecision | Minimal precision to accept measurement |
Definition at line 46 of file GblMeasurement.cpp.
References enabled, measDim, measPrecision, measPrecMin, measProjection, measResiduals, measTransformation, and transFlag.
gbl::GblMeasurement::GblMeasurement | ( | const Eigen::VectorXd & | aResiduals, |
const Eigen::MatrixXd & | aPrecision, | ||
double | minPrecision = 0. |
||
) |
Create a measurement.
Create measurement in local system with diagonal or arbitrary precision (inverse covariance) matrix. Will be diagonalized. ((up to) 2D: position, 4D: slope+position, 5D: curvature+slope+position)
[in] | aResiduals | Measurement residuals |
[in] | aPrecision | Measurement precision (vector (with diagonal) or (full) matrix) |
[in] | minPrecision | Minimal precision to accept measurement |
Definition at line 80 of file GblMeasurement.cpp.
References enabled, measDim, measPrecision, measPrecMin, measProjection, measResiduals, measTransformation, and transFlag.
|
default |
|
default |
|
virtual |
Definition at line 103 of file GblMeasurement.cpp.
void gbl::GblMeasurement::addGlobals | ( | const std::vector< int > & | aLabels, |
const Eigen::MatrixXd & | aDerivatives | ||
) |
Add global derivatives.
Add global derivatives to measurement.
[in] | aLabels | Global derivatives labels |
[in] | aDerivatives | Global derivatives (matrix) |
Definition at line 247 of file GblMeasurement.cpp.
References globalDerivatives, globalLabels, measDim, measTransformation, and transFlag.
void gbl::GblMeasurement::addLocals | ( | const Eigen::MatrixXd & | aDerivatives | ) |
Add local derivatives.
Add local derivatives to measurement.
[in] | aDerivatives | Local derivatives (matrix) |
Definition at line 230 of file GblMeasurement.cpp.
References localDerivatives, measDim, measTransformation, and transFlag.
void gbl::GblMeasurement::getGlobalDerivatives | ( | Eigen::MatrixXd & | aDerivatives | ) | const |
Retrieve global derivatives from a point.
[out] | aDerivatives | Global derivatives |
Definition at line 402 of file GblMeasurement.cpp.
References globalDerivatives.
void gbl::GblMeasurement::getGlobalLabels | ( | std::vector< int > & | aLabels | ) | const |
Retrieve global derivatives labels from a point.
[out] | aLabels | Global labels |
Definition at line 394 of file GblMeasurement.cpp.
References globalLabels.
void gbl::GblMeasurement::getGlobalLabelsAndDerivatives | ( | unsigned int | aRow, |
std::vector< int > & | aLabels, | ||
std::vector< double > & | aDerivatives | ||
) | const |
Retrieve global derivatives from a point for a single row.
[in] | aRow | Row number |
[out] | aLabels | Global labels |
[out] | aDerivatives | Global derivatives |
Definition at line 412 of file GblMeasurement.cpp.
References globalDerivatives, and globalLabels.
const MatrixXd & gbl::GblMeasurement::getLocalDerivatives | ( | ) | const |
Retrieve local derivatives from a point.
Definition at line 381 of file GblMeasurement.cpp.
References localDerivatives.
unsigned int gbl::GblMeasurement::getMeasDim | ( | ) | const |
Get measurement dimension.
Get dimension of measurement (0 = none).
Definition at line 336 of file GblMeasurement.cpp.
References measDim.
double gbl::GblMeasurement::getMeasPrecMin | ( | ) | const |
get precision cutoff.
Definition at line 344 of file GblMeasurement.cpp.
References measPrecMin.
void gbl::GblMeasurement::getMeasTransformation | ( | Eigen::MatrixXd & | aTransformation | ) | const |
Get measurement transformation (from diagonalization).
[out] | aTransformation | Transformation matrix |
Definition at line 366 of file GblMeasurement.cpp.
References measDim, measTransformation, and transFlag.
void gbl::GblMeasurement::getMeasurement | ( | Matrix5d & | aProjection, |
Vector5d & | aResiduals, | ||
Vector5d & | aPrecision | ||
) | const |
Retrieve measurement of a point.
[out] | aProjection | Projection from (diagonalized) measurement to local system |
[out] | aResiduals | Measurement residuals |
[out] | aPrecision | Measurement precision (diagonal) |
Definition at line 354 of file GblMeasurement.cpp.
References measDim, measPrecision, measProjection, and measResiduals.
unsigned int gbl::GblMeasurement::getNumGlobals | ( | ) | const |
Retrieve number of global derivatives from a point.
Definition at line 386 of file GblMeasurement.cpp.
References globalDerivatives.
unsigned int gbl::GblMeasurement::getNumLocals | ( | ) | const |
Retrieve number of local derivatives from a point.
Definition at line 376 of file GblMeasurement.cpp.
References localDerivatives.
bool gbl::GblMeasurement::isEnabled | ( | ) | const |
Get enabled flag.
Definition at line 327 of file GblMeasurement.cpp.
References enabled.
|
default |
|
default |
void gbl::GblMeasurement::printMeasurement | ( | unsigned int | level = 0 | ) | const |
Print GblMeasurement.
[in] | level | print level (0: minimum, >0: more) |
Definition at line 426 of file GblMeasurement.cpp.
References enabled, globalDerivatives, globalLabels, localDerivatives, measDim, measPrecision, measPrecMin, measProjection, measResiduals, and transFlag.
void gbl::GblMeasurement::setEnabled | ( | bool | flag | ) |
Set enabled flag.
Allows to disable measurements at points (in input list of points for trajectory constructor) to construct new trajectory with reduced number of measurements (e.g. after solution of ambiguities).
[in] | flag | enabled flag |
Definition at line 319 of file GblMeasurement.cpp.
References enabled.
|
private |
Enabled flag (to be used)
Definition at line 115 of file GblMeasurement.h.
Referenced by GblMeasurement(), isEnabled(), printMeasurement(), and setEnabled().
|
private |
Derivatives of measurement vs additional global (MP-II) parameters.
Definition at line 127 of file GblMeasurement.h.
Referenced by addGlobals(), getGlobalDerivatives(), getGlobalLabelsAndDerivatives(), getNumGlobals(), and printMeasurement().
|
private |
Labels of global (MP-II) derivatives.
Definition at line 126 of file GblMeasurement.h.
Referenced by addGlobals(), getGlobalLabels(), getGlobalLabelsAndDerivatives(), and printMeasurement().
|
private |
Derivatives of measurement vs additional local (fit) parameters.
Definition at line 125 of file GblMeasurement.h.
Referenced by addLocals(), getLocalDerivatives(), getNumLocals(), and printMeasurement().
|
private |
Dimension of measurement (1-5), 0 indicates absence of measurement.
Definition at line 116 of file GblMeasurement.h.
Referenced by addGlobals(), addLocals(), GblMeasurement(), getMeasDim(), getMeasTransformation(), getMeasurement(), and printMeasurement().
|
private |
Measurement precision (diagonal of inverse covariance matrix)
Definition at line 121 of file GblMeasurement.h.
Referenced by GblMeasurement(), getMeasurement(), and printMeasurement().
|
private |
Minimal measurement precision (for usage)
Definition at line 117 of file GblMeasurement.h.
Referenced by GblMeasurement(), getMeasPrecMin(), and printMeasurement().
|
private |
Projection from measurement to local system.
Definition at line 118 of file GblMeasurement.h.
Referenced by GblMeasurement(), getMeasurement(), and printMeasurement().
|
private |
Measurement residuals.
Definition at line 120 of file GblMeasurement.h.
Referenced by GblMeasurement(), getMeasurement(), and printMeasurement().
|
private |
Transformation of diagonalization (of meas. precision matrix)
Definition at line 124 of file GblMeasurement.h.
Referenced by addGlobals(), addLocals(), GblMeasurement(), and getMeasTransformation().
|
private |
Transformation exists?
Definition at line 122 of file GblMeasurement.h.
Referenced by addGlobals(), addLocals(), GblMeasurement(), getMeasTransformation(), and printMeasurement().