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