Point on trajectory. More...
#include <GblPoint.h>
Public Member Functions | |
| GblPoint (const TMatrixD &aJacobian) | |
| Create a point. | |
| GblPoint (const SMatrix55 &aJacobian) | |
| virtual | ~GblPoint () |
| void | addMeasurement (const TMatrixD &aProjection, const TVectorD &aResiduals, const TVectorD &aPrecision, double minPrecision=0.) |
| Add a mesurement to a point. | |
| void | addMeasurement (const TMatrixD &aProjection, const TVectorD &aResiduals, const TMatrixDSym &aPrecision, double minPrecision=0.) |
| Add a mesurement to a point. | |
| void | addMeasurement (const TVectorD &aResiduals, const TMatrixDSym &aPrecision, double minPrecision=0.) |
| Add a mesurement to a point. | |
| unsigned int | hasMeasurement () const |
| Check for measurement at a point. | |
| void | getMeasurement (SMatrix55 &aProjection, SVector5 &aResiduals, SVector5 &aPrecision) const |
| Retrieve measurement of a point. | |
| void | addScatterer (const TVectorD &aResiduals, const TVectorD &aPrecision) |
| Add a (thin) scatterer to a point. | |
| bool | hasScatterer () const |
| Check for scatterer at a point. | |
| void | getScatterer (SVector2 &aResiduals, SVector2 &aPrecision) const |
| Retrieve scatterer of a point. | |
| void | addLocals (const TMatrixD &aDerivatives) |
| Add local derivatives to a point. | |
| unsigned int | getNumLocals () const |
| Retrieve number of local derivatives from a point. | |
| const TMatrixD & | getLocalDerivatives () const |
| Retrieve local derivatives from a point. | |
| void | addGlobals (const std::vector< int > &aLabels, const TMatrixD &aDerivatives) |
| Add global derivatives to a point. | |
| unsigned int | getNumGlobals () const |
| Retrieve number of global derivatives from a point. | |
| std::vector< int > | getGlobalLabels () const |
| Retrieve global derivatives labels from a point. | |
| const TMatrixD & | getGlobalDerivatives () const |
| Retrieve global derivatives from a point. | |
| void | setLabel (unsigned int aLabel) |
| Define label of point. | |
| unsigned int | getLabel () const |
| Retrieve label of point. | |
| void | setOffset (int anOffset) |
| Define offset for point. | |
| int | getOffset () const |
| Retrieve offset for point. | |
| const SMatrix55 & | getP2pJacobian () const |
| Retrieve point-to-(previous)point jacobian. | |
| void | addPrevJacobian (const SMatrix55 aJac) |
| Define jacobian to previous scatterer. | |
| void | addNextJacobian (const SMatrix55 aJac) |
| Define jacobian to next scatterer. | |
| void | getDerivatives (int aDirection, SMatrix22 &matW, SMatrix22 &matWJ, SVector2 &vecWd) const |
| Retrieve derivatives of local track model. | |
Private Attributes | |
| unsigned int | theLabel |
| Label identifying point. | |
| int | theOffset |
| Offset number at point if not negative (else interpolation needed) | |
| SMatrix55 | p2pJacobian |
| Point-to-point jacobian from previous point. | |
| SMatrix55 | prevJacobian |
| Jacobian to previous scatterer (or first measurement) | |
| SMatrix55 | nextJacobian |
| Jacobian to next scatterer (or last measurement) | |
| unsigned int | measDim |
| Dimension of measurement (1-5), 0 indicates absence of measurement. | |
| SMatrix55 | measProjection |
| Projection from measurement to local system. | |
| SVector5 | measResiduals |
| Measurement residuals. | |
| SVector5 | measPrecision |
| Measurement precision (diagonal of inverse covariance matrix) | |
| bool | transFlag |
| Transformation exists? | |
| TMatrixD | measTransformation |
| Transformation of diagonalization (of precision matrix) | |
| bool | scatFlag |
| Scatterer present? | |
| SVector2 | scatResiduals |
| Scattering residuals (initial kinks if iterating) | |
| SVector2 | scatPrecision |
| Scattering precision (diagonal of inverse covariance matrix) | |
| TMatrixD | localDerivatives |
| Derivatives of measurement vs additional local (fit) parameters. | |
| std::vector< int > | globalLabels |
| Labels of global (MP-II) derivatives. | |
| TMatrixD | globalDerivatives |
| Derivatives of measurement vs additional global (MP-II) parameters. | |
Point on trajectory.
User supplied point on (initial) trajectory.
Must have jacobian for propagation from previous point. May have:
Definition at line 43 of file GblPoint.h.
| GblPoint::GblPoint | ( | const TMatrixD & | aJacobian | ) |
Create a point.
Create point on (initial) trajectory. Needs transformation jacobian from previous point.
| [in] | aJacobian | Transformation jacobian from previous point |
Definition at line 15 of file GblPoint.cpp.
References p2pJacobian.
| GblPoint::GblPoint | ( | const SMatrix55 & | aJacobian | ) |
Definition at line 26 of file GblPoint.cpp.
|
virtual |
Definition at line 32 of file GblPoint.cpp.
| void GblPoint::addGlobals | ( | const std::vector< int > & | aLabels, |
| const TMatrixD & | aDerivatives | ||
| ) |
Add global derivatives to a point.
Point needs to have a measurement.
| [in] | aLabels | Global derivatives labels |
| [in] | aDerivatives | Global derivatives (matrix) |
Definition at line 205 of file GblPoint.cpp.
References globalDerivatives, globalLabels, measDim, measTransformation, and transFlag.
| void GblPoint::addLocals | ( | const TMatrixD & | aDerivatives | ) |
Add local derivatives to a point.
Point needs to have a measurement.
| [in] | aDerivatives | Local derivatives (matrix) |
Definition at line 178 of file GblPoint.cpp.
References localDerivatives, measDim, measTransformation, and transFlag.
| void GblPoint::addMeasurement | ( | const TMatrixD & | aProjection, |
| const TVectorD & | aResiduals, | ||
| const TVectorD & | aPrecision, | ||
| double | minPrecision = 0. |
||
| ) |
Add a mesurement to a point.
Add measurement with diagonal precision (inverse covariance) matrix. ((up to) 2D: position, 4D: slope+position, 5D: curvature+slope+position)
| [in] | aProjection | Projection from measurement to local system |
| [in] | aResiduals | Measurement residuals |
| [in] | aPrecision | Measurement precision (diagonal) |
| [in] | minPrecision | Minimal precision to accept measurement |
Definition at line 44 of file GblPoint.cpp.
References measDim, measPrecision, measProjection, and measResiduals.
Referenced by example1().
| void GblPoint::addMeasurement | ( | const TMatrixD & | aProjection, |
| const TVectorD & | aResiduals, | ||
| const TMatrixDSym & | aPrecision, | ||
| double | minPrecision = 0. |
||
| ) |
Add a mesurement to a point.
Add measurement on local system with arbitrary precision (inverse covariance) matrix. Will be diagonalized. ((up to) 2D: position, 4D: slope+position, 5D: curvature+slope+position)
| [in] | aProjection | Projection from measurement to local system |
| [in] | aResiduals | Measurement residuals |
| [in] | aPrecision | Measurement precision (matrix) |
| [in] | minPrecision | Minimal precision to accept measurement |
Definition at line 69 of file GblPoint.cpp.
References measDim, measPrecision, measProjection, measResiduals, measTransformation, and transFlag.
| void GblPoint::addMeasurement | ( | const TVectorD & | aResiduals, |
| const TMatrixDSym & | aPrecision, | ||
| double | minPrecision = 0. |
||
| ) |
Add a mesurement to a point.
Add measurement on local system with 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 (matrix) |
| [in] | minPrecision | Minimal precision to accept measurement |
Definition at line 101 of file GblPoint.cpp.
References measDim, measPrecision, measProjection, measResiduals, measTransformation, and transFlag.
| void GblPoint::addNextJacobian | ( | const SMatrix55 | aJac | ) |
Define jacobian to next scatterer.
| [in] | aJac | Jacobian |
Definition at line 286 of file GblPoint.cpp.
References nextJacobian.
Referenced by GblTrajectory::calcJacobians().
| void GblPoint::addPrevJacobian | ( | const SMatrix55 | aJac | ) |
Define jacobian to previous scatterer.
| [in] | aJac | Jacobian |
Definition at line 269 of file GblPoint.cpp.
References prevJacobian.
| void GblPoint::addScatterer | ( | const TVectorD & | aResiduals, |
| const TVectorD & | aPrecision | ||
| ) |
Add a (thin) scatterer to a point.
| [in] | aResiduals | Scatterer residuals |
| [in] | aPrecision | Scatterer precision (diagonal of inverse covariance matrix) |
Definition at line 149 of file GblPoint.cpp.
References scatFlag, scatPrecision, and scatResiduals.
Referenced by example1().
| void GblPoint::getDerivatives | ( | int | aDirection, |
| SMatrix22 & | matW, | ||
| SMatrix22 & | matWJ, | ||
| SVector2 & | vecWd | ||
| ) | const |
Retrieve derivatives of local track model.
Linearized track model: F_u(q/p,u',u) = J*u + S*u' + d*q/p, W is inverse of S, negated for backward propagation.
| [in] | aDirection | Propagation direction (>0 forward, else backward) |
| [out] | matW | W |
| [out] | matWJ | W*J |
| [out] | vecWd | W*d |
Definition at line 299 of file GblPoint.cpp.
References nextJacobian, and prevJacobian.
Referenced by GblTrajectory::getFitToKinkJacobian(), and GblTrajectory::getFitToLocalJacobian().
| const TMatrixD & GblPoint::getGlobalDerivatives | ( | ) | const |
Retrieve global derivatives from a point.
Definition at line 230 of file GblPoint.cpp.
References globalDerivatives.
| std::vector< int > GblPoint::getGlobalLabels | ( | ) | const |
Retrieve global derivatives labels from a point.
Definition at line 225 of file GblPoint.cpp.
References globalLabels.
| unsigned int GblPoint::getLabel | ( | ) | const |
| const TMatrixD & GblPoint::getLocalDerivatives | ( | ) | const |
Retrieve local derivatives from a point.
Definition at line 195 of file GblPoint.cpp.
References localDerivatives.
| void GblPoint::getMeasurement | ( | SMatrix55 & | aProjection, |
| SVector5 & | aResiduals, | ||
| SVector5 & | 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 137 of file GblPoint.cpp.
References measPrecision, measProjection, and measResiduals.
| unsigned int GblPoint::getNumGlobals | ( | ) | const |
Retrieve number of global derivatives from a point.
Definition at line 220 of file GblPoint.cpp.
References globalDerivatives.
| unsigned int GblPoint::getNumLocals | ( | ) | const |
Retrieve number of local derivatives from a point.
Definition at line 190 of file GblPoint.cpp.
References localDerivatives.
| int GblPoint::getOffset | ( | ) | const |
Retrieve offset for point.
Definition at line 256 of file GblPoint.cpp.
References theOffset.
Referenced by GblTrajectory::getFitToKinkJacobian(), and GblTrajectory::getFitToLocalJacobian().
| const SMatrix55 & GblPoint::getP2pJacobian | ( | ) | const |
Retrieve point-to-(previous)point jacobian.
Definition at line 261 of file GblPoint.cpp.
References p2pJacobian.
Referenced by GblTrajectory::calcJacobians().
Retrieve scatterer of a point.
| [out] | aResiduals | Scatterer residuals |
| [out] | aPrecision | Scatterer precision (diagonal) |
Definition at line 168 of file GblPoint.cpp.
References scatPrecision, and scatResiduals.
| unsigned int GblPoint::hasMeasurement | ( | ) | const |
Check for measurement at a point.
Get dimension of measurement (0 = none).
Definition at line 127 of file GblPoint.cpp.
References measDim.
| bool GblPoint::hasScatterer | ( | ) | const |
| void GblPoint::setLabel | ( | unsigned int | aLabel | ) |
Define label of point.
| [in] | aLabel | Label identifying point |
Definition at line 238 of file GblPoint.cpp.
References theLabel.
| void GblPoint::setOffset | ( | int | anOffset | ) |
Define offset for point.
| [in] | anOffset | Offset number |
Definition at line 251 of file GblPoint.cpp.
References theOffset.
|
private |
Derivatives of measurement vs additional global (MP-II) parameters.
Definition at line 95 of file GblPoint.h.
Referenced by addGlobals(), getGlobalDerivatives(), and getNumGlobals().
|
private |
Labels of global (MP-II) derivatives.
Definition at line 94 of file GblPoint.h.
Referenced by addGlobals(), and getGlobalLabels().
|
private |
Derivatives of measurement vs additional local (fit) parameters.
Definition at line 93 of file GblPoint.h.
Referenced by addLocals(), getLocalDerivatives(), and getNumLocals().
|
private |
Dimension of measurement (1-5), 0 indicates absence of measurement.
Definition at line 84 of file GblPoint.h.
Referenced by addGlobals(), addLocals(), addMeasurement(), and hasMeasurement().
|
private |
Measurement precision (diagonal of inverse covariance matrix)
Definition at line 87 of file GblPoint.h.
Referenced by addMeasurement(), and getMeasurement().
|
private |
Projection from measurement to local system.
Definition at line 85 of file GblPoint.h.
Referenced by addMeasurement(), and getMeasurement().
|
private |
Measurement residuals.
Definition at line 86 of file GblPoint.h.
Referenced by addMeasurement(), and getMeasurement().
|
private |
Transformation of diagonalization (of precision matrix)
Definition at line 89 of file GblPoint.h.
Referenced by addGlobals(), addLocals(), and addMeasurement().
|
private |
Jacobian to next scatterer (or last measurement)
Definition at line 83 of file GblPoint.h.
Referenced by addNextJacobian(), and getDerivatives().
|
private |
Point-to-point jacobian from previous point.
Definition at line 81 of file GblPoint.h.
Referenced by GblPoint(), and getP2pJacobian().
|
private |
Jacobian to previous scatterer (or first measurement)
Definition at line 82 of file GblPoint.h.
Referenced by addPrevJacobian(), and getDerivatives().
|
private |
Scatterer present?
Definition at line 90 of file GblPoint.h.
Referenced by addScatterer(), and hasScatterer().
|
private |
Scattering precision (diagonal of inverse covariance matrix)
Definition at line 92 of file GblPoint.h.
Referenced by addScatterer(), and getScatterer().
|
private |
Scattering residuals (initial kinks if iterating)
Definition at line 91 of file GblPoint.h.
Referenced by addScatterer(), and getScatterer().
|
private |
Label identifying point.
Definition at line 79 of file GblPoint.h.
Referenced by getLabel(), and setLabel().
|
private |
Offset number at point if not negative (else interpolation needed)
Definition at line 80 of file GblPoint.h.
Referenced by getOffset(), and setOffset().
|
private |
Transformation exists?
Definition at line 88 of file GblPoint.h.
Referenced by addGlobals(), addLocals(), and addMeasurement().
1.8.1