17#include <TMatrixDSym.h>
18#include <TMatrixDSymEigen.h>
20#include <Math/SMatrix.h>
21#include <Math/SVector.h>
30typedef ROOT::Math::SVector<double, 2>
SVector2;
31typedef ROOT::Math::SVector<double, 5>
SVector5;
53 void addMeasurement(
const TMatrixD &aProjection,
const TVectorD &aResiduals,
54 const TVectorD &aPrecision,
double minPrecision = 0.);
55 void addMeasurement(
const TMatrixD &aProjection,
const TVectorD &aResiduals,
56 const TMatrixDSym &aPrecision,
double minPrecision = 0.);
57 void addMeasurement(
const TVectorD &aResiduals,
const TVectorD &aPrecision,
58 double minPrecision = 0.);
60 const TMatrixDSym &aPrecision,
double minPrecision = 0.);
65 void addScatterer(
const TVectorD &aResiduals,
const TVectorD &aPrecision);
67 const TMatrixDSym &aPrecision);
72 void addLocals(
const TMatrixD &aDerivatives);
75 void addGlobals(
const std::vector<int> &aLabels,
76 const TMatrixD &aDerivatives);
ROOT::Math::SMatrix< double, 5, 5 > SMatrix55
ROOT::Math::SMatrix< double, 2, 5 > SMatrix25
ROOT::Math::SMatrix< double, 3 > SMatrix33
ROOT::Math::SVector< double, 5 > SVector5
ROOT::Math::SMatrix< double, 5 > SMatrix55
ROOT::Math::SVector< double, 2 > SVector2
ROOT::Math::SMatrix< double, 3, 2 > SMatrix32
ROOT::Math::SMatrix< double, 2, 7 > SMatrix27
ROOT::Math::SMatrix< double, 2 > SMatrix22
ROOT::Math::SMatrix< double, 2, 3 > SMatrix23
std::vector< int > getGlobalLabels() const
Retrieve global derivatives labels from a point.
TMatrixD localDerivatives
Derivatives of measurement vs additional local (fit) parameters.
std::vector< int > globalLabels
Labels of global (MP-II) derivatives.
void addMeasurement(const TMatrixD &aProjection, const TVectorD &aResiduals, const TVectorD &aPrecision, double minPrecision=0.)
Add a measurement to a point.
SMatrix55 nextJacobian
Jacobian to next scatterer (or last measurement)
void getScatterer(SMatrix22 &aTransformation, SVector2 &aResiduals, SVector2 &aPrecision) const
Retrieve scatterer of a point.
TMatrixD measTransformation
Transformation of diagonalization (of meas. precision matrix)
void printPoint(unsigned int level=0) const
Print GblPoint.
void getDerivatives(int aDirection, SMatrix22 &matW, SMatrix22 &matWJ, SVector2 &vecWd) const
Retrieve derivatives of local track model.
bool scatFlag
Scatterer present?
void addScatterer(const TVectorD &aResiduals, const TVectorD &aPrecision)
Add a (thin) scatterer to a point.
unsigned int hasMeasurement() const
Check for measurement at a point.
unsigned int measDim
Dimension of measurement (1-5), 0 indicates absence of measurement.
const SMatrix55 & getP2pJacobian() const
Retrieve point-to-(previous)point jacobian.
bool transFlag
Transformation exists?
bool hasScatterer() const
Check for scatterer at a point.
void getMeasTransformation(TMatrixD &aTransformation) const
Get measurement transformation (from diagonalization).
const TMatrixD & getGlobalDerivatives() const
Retrieve global derivatives from a point.
void getMeasurement(SMatrix55 &aProjection, SVector5 &aResiduals, SVector5 &aPrecision) const
Retrieve measurement of a point.
void addLocals(const TMatrixD &aDerivatives)
Add local derivatives to a point.
SVector2 scatResiduals
Scattering residuals (initial kinks if iterating)
unsigned int theLabel
Label identifying point.
unsigned int getNumLocals() const
Retrieve number of local derivatives from a point.
int theOffset
Offset number at point if not negative (else interpolation needed)
void addGlobals(const std::vector< int > &aLabels, const TMatrixD &aDerivatives)
Add global derivatives to a point.
void addNextJacobian(const SMatrix55 &aJac)
Define jacobian to next scatterer (by GBLTrajectory constructor)
void setLabel(unsigned int aLabel)
Define label of point (by GBLTrajectory constructor)
TMatrixD globalDerivatives
Derivatives of measurement vs additional global (MP-II) parameters.
void addPrevJacobian(const SMatrix55 &aJac)
Define jacobian to previous scatterer (by GBLTrajectory constructor)
unsigned int getLabel() const
Retrieve label of point.
SMatrix22 scatTransformation
Transformation of diagonalization (of scat. precision matrix)
SVector2 scatPrecision
Scattering precision (diagonal of inverse covariance matrix)
const TMatrixD & getLocalDerivatives() const
Retrieve local derivatives from a point.
SVector5 measPrecision
Measurement precision (diagonal of inverse covariance matrix)
SMatrix55 measProjection
Projection from measurement to local system.
SMatrix55 p2pJacobian
Point-to-point jacobian from previous point.
void setOffset(int anOffset)
Define offset for point (by GBLTrajectory constructor)
unsigned int getNumGlobals() const
Retrieve number of global derivatives from a point.
SVector5 measResiduals
Measurement residuals.
SMatrix55 prevJacobian
Jacobian to previous scatterer (or first measurement)
void getScatTransformation(TMatrixD &aTransformation) const
Get scatterer transformation (from diagonalization).
int getOffset() const
Retrieve offset for point.
Namespace for the general broken lines package.