GeneralBrokenLines  trunk_rev46
 All Classes Files Functions Variables Typedefs Pages
Public Member Functions | Private Attributes
GblPoint Class Reference

Point on trajectory. More...

#include <GblPoint.h>

List of all members.

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

Detailed Description

Point on trajectory.

User supplied point on (initial) trajectory.

Must have jacobian for propagation from previous point. May have:

  1. Measurement (1D - 5D)
  2. Scatterer (thin, 2D kinks)
  3. Additional local parameters (with derivatives). Fitted together with track parameters.
  4. Additional global parameters (with labels and derivatives). Not fitted, only passed on to (binary) file for fitting with Millepede-II.

Definition at line 43 of file GblPoint.h.


Constructor & Destructor Documentation

GblPoint::GblPoint ( const TMatrixD &  aJacobian)

Create a point.

Create point on (initial) trajectory. Needs transformation jacobian from previous point.

Parameters:
[in]aJacobianTransformation 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.

GblPoint::~GblPoint ( )
virtual

Definition at line 32 of file GblPoint.cpp.


Member Function Documentation

void GblPoint::addGlobals ( const std::vector< int > &  aLabels,
const TMatrixD &  aDerivatives 
)

Add global derivatives to a point.

Point needs to have a measurement.

Parameters:
[in]aLabelsGlobal derivatives labels
[in]aDerivativesGlobal 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.

Parameters:
[in]aDerivativesLocal 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)

Parameters:
[in]aProjectionProjection from measurement to local system
[in]aResidualsMeasurement residuals
[in]aPrecisionMeasurement precision (diagonal)
[in]minPrecisionMinimal 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)

Parameters:
[in]aProjectionProjection from measurement to local system
[in]aResidualsMeasurement residuals
[in]aPrecisionMeasurement precision (matrix)
[in]minPrecisionMinimal 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)

Parameters:
[in]aResidualsMeasurement residuals
[in]aPrecisionMeasurement precision (matrix)
[in]minPrecisionMinimal 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.

Parameters:
[in]aJacJacobian

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.

Parameters:
[in]aJacJacobian

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.

Parameters:
[in]aResidualsScatterer residuals
[in]aPrecisionScatterer 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.

Parameters:
[in]aDirectionPropagation direction (>0 forward, else backward)
[out]matWW
[out]matWJW*J
[out]vecWdW*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

Retrieve label of point.

Definition at line 243 of file GblPoint.cpp.

References theLabel.

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.

Parameters:
[out]aProjectionProjection from (diagonalized) measurement to local system
[out]aResidualsMeasurement residuals
[out]aPrecisionMeasurement 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().

void GblPoint::getScatterer ( SVector2 aResiduals,
SVector2 aPrecision 
) const

Retrieve scatterer of a point.

Parameters:
[out]aResidualsScatterer residuals
[out]aPrecisionScatterer 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).

Returns:
measurement dimension

Definition at line 127 of file GblPoint.cpp.

References measDim.

bool GblPoint::hasScatterer ( ) const

Check for scatterer at a point.

Definition at line 159 of file GblPoint.cpp.

References scatFlag.

void GblPoint::setLabel ( unsigned int  aLabel)

Define label of point.

Parameters:
[in]aLabelLabel identifying point

Definition at line 238 of file GblPoint.cpp.

References theLabel.

void GblPoint::setOffset ( int  anOffset)

Define offset for point.

Parameters:
[in]anOffsetOffset number

Definition at line 251 of file GblPoint.cpp.

References theOffset.


Member Data Documentation

TMatrixD GblPoint::globalDerivatives
private

Derivatives of measurement vs additional global (MP-II) parameters.

Definition at line 95 of file GblPoint.h.

Referenced by addGlobals(), getGlobalDerivatives(), and getNumGlobals().

std::vector<int> GblPoint::globalLabels
private

Labels of global (MP-II) derivatives.

Definition at line 94 of file GblPoint.h.

Referenced by addGlobals(), and getGlobalLabels().

TMatrixD GblPoint::localDerivatives
private

Derivatives of measurement vs additional local (fit) parameters.

Definition at line 93 of file GblPoint.h.

Referenced by addLocals(), getLocalDerivatives(), and getNumLocals().

unsigned int GblPoint::measDim
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().

SVector5 GblPoint::measPrecision
private

Measurement precision (diagonal of inverse covariance matrix)

Definition at line 87 of file GblPoint.h.

Referenced by addMeasurement(), and getMeasurement().

SMatrix55 GblPoint::measProjection
private

Projection from measurement to local system.

Definition at line 85 of file GblPoint.h.

Referenced by addMeasurement(), and getMeasurement().

SVector5 GblPoint::measResiduals
private

Measurement residuals.

Definition at line 86 of file GblPoint.h.

Referenced by addMeasurement(), and getMeasurement().

TMatrixD GblPoint::measTransformation
private

Transformation of diagonalization (of precision matrix)

Definition at line 89 of file GblPoint.h.

Referenced by addGlobals(), addLocals(), and addMeasurement().

SMatrix55 GblPoint::nextJacobian
private

Jacobian to next scatterer (or last measurement)

Definition at line 83 of file GblPoint.h.

Referenced by addNextJacobian(), and getDerivatives().

SMatrix55 GblPoint::p2pJacobian
private

Point-to-point jacobian from previous point.

Definition at line 81 of file GblPoint.h.

Referenced by GblPoint(), and getP2pJacobian().

SMatrix55 GblPoint::prevJacobian
private

Jacobian to previous scatterer (or first measurement)

Definition at line 82 of file GblPoint.h.

Referenced by addPrevJacobian(), and getDerivatives().

bool GblPoint::scatFlag
private

Scatterer present?

Definition at line 90 of file GblPoint.h.

Referenced by addScatterer(), and hasScatterer().

SVector2 GblPoint::scatPrecision
private

Scattering precision (diagonal of inverse covariance matrix)

Definition at line 92 of file GblPoint.h.

Referenced by addScatterer(), and getScatterer().

SVector2 GblPoint::scatResiduals
private

Scattering residuals (initial kinks if iterating)

Definition at line 91 of file GblPoint.h.

Referenced by addScatterer(), and getScatterer().

unsigned int GblPoint::theLabel
private

Label identifying point.

Definition at line 79 of file GblPoint.h.

Referenced by getLabel(), and setLabel().

int GblPoint::theOffset
private

Offset number at point if not negative (else interpolation needed)

Definition at line 80 of file GblPoint.h.

Referenced by getOffset(), and setOffset().

bool GblPoint::transFlag
private

Transformation exists?

Definition at line 88 of file GblPoint.h.

Referenced by addGlobals(), addLocals(), and addMeasurement().


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