GeneralBrokenLines V03-01-02
gblpy
|
User supplied point on (initial) trajectory. More...
Public Member Functions | |
def | __init__ (self, aJacobian) |
Create new point. More... | |
def | addMeasurement (self, aMeasurement, minPrecision=0.) |
Add a mesurement to a point. More... | |
def | hasMeasurement (self) |
Check point for a measurement. More... | |
def | getMeasurements (self) |
Retrieve measurements of a point. More... | |
def | addScatterer (self, aScatterer) |
Add a (thin or thick) scatterer to a point. More... | |
def | getScatDim (self) |
Get scatterer dimension. More... | |
def | getScatterer (self) |
Retrieve scatterer of a point. More... | |
def | getReducedScatterer (self) |
Retrieve (reduced) scatterer of a point. More... | |
def | addLocals (self, derivatives) |
Add local derivatives (to last measurement). More... | |
def | addGlobals (self, labels, derivatives) |
Add global derivatives (to last measurement). More... | |
def | setLabel (self, aLabel) |
Define label of a point. More... | |
def | getLabel (self) |
Retrieve label of a point. More... | |
def | setOffset (self, anOffset) |
Define offset of a point and references to previous and next point with offset. More... | |
def | getOffset (self) |
Get offset of a point. More... | |
def | setType (self, aType) |
Define type of a point. More... | |
def | isFirst (self) |
Is first point? More... | |
def | isLast (self) |
Is last point? More... | |
def | getP2pJacobian (self) |
Retrieve jacobian of a point. More... | |
def | addPrevJacobian (self, aJacobian) |
Add jacobian to previous offset. More... | |
def | addNextJacobian (self, aJacobian) |
Add jacobian to next offset. More... | |
def | getDerivatives (self, index) |
Get derivatives for locally linearized track model (backward or forward propagation). More... | |
def | printPoint (self) |
Print point. More... | |
Private Attributes | |
__label | |
label for referencing point (0,1,..,number(points)-1); int More... | |
__offset | |
>=0: offset number at point, <0: offset number at next point with offset; int More... | |
__type | |
type (-1: first, 0: inner, 1: last) More... | |
__p2pJacobian | |
Point-to-point jacobian from previous point; matrix(float) More... | |
__jacobians | |
jacobians for propagation to previous or next point with offsets; pair(matrix(float)) More... | |
__measurements | |
measurements at point; list(GblMeasurement) More... | |
__scatDim | |
scatterer dimension (valid 2(thin) or 4(thick)) More... | |
__scatterer | |
scatterer at point: (transformation or None,) initial kinks, precision (inverse covariance matrix); list(matrix(float)) More... | |
User supplied point on (initial) trajectory.
Must have jacobians for propagation to previous or next point with offsets (first, last point, points with scatterer). May have:
def gblpy.gblfit.GblPoint.__init__ | ( | self, | |
aJacobian | |||
) |
def gblpy.gblfit.GblPoint.addGlobals | ( | self, | |
labels, | |||
derivatives | |||
) |
Add global derivatives (to last measurement).
labels | global labels; matrix(int) |
derivatives | global derivatives; matrix(float) |
Definition at line 341 of file gblfit.py.
References gblpy.gblfit.GblPoint.__measurements, and gblpy.gblfit.GblPoint.addGlobals().
Referenced by gblpy.gblfit.GblPoint.addGlobals().
def gblpy.gblfit.GblPoint.addLocals | ( | self, | |
derivatives | |||
) |
Add local derivatives (to last measurement).
derivatives | local derivatives; matrix(float) |
Definition at line 332 of file gblfit.py.
References gblpy.gblfit.GblPoint.__measurements, and gblpy.gblfit.GblPoint.addLocals().
Referenced by gblpy.gblfit.GblPoint.addLocals().
def gblpy.gblfit.GblPoint.addMeasurement | ( | self, | |
aMeasurement, | |||
minPrecision = 0. |
|||
) |
Add a mesurement to a point.
Add measurement with arbitrary precision (inverse covariance) matrix. Will be diagonalized.
aMeasurement | measurement (projection (or None), residuals, precision (diagonal of or full matrix)); list(matrix(float)) |
minPrecision | Minimal precision to accept measurement |
Definition at line 220 of file gblfit.py.
References gblpy.gblfit.GblPoint.__measurements.
def gblpy.gblfit.GblPoint.addNextJacobian | ( | self, | |
aJacobian | |||
) |
Add jacobian to next offset.
aJacobian | jacobian for propagation to next point with offsets; matrix(float) |
Definition at line 420 of file gblfit.py.
References gblpy.gblfit.GblPoint.__jacobians.
def gblpy.gblfit.GblPoint.addPrevJacobian | ( | self, | |
aJacobian | |||
) |
Add jacobian to previous offset.
aJacobian | jacobian for propagation to previous point with offsets; matrix(float) |
Definition at line 413 of file gblfit.py.
References gblpy.gblfit.GblPoint.__jacobians.
def gblpy.gblfit.GblPoint.addScatterer | ( | self, | |
aScatterer | |||
) |
Add a (thin or thick) scatterer to a point.
Add scatterer with arbitrary precision (inverse covariance) matrix. Will be diagonalized
Thin scatterer: Changes local track direction.
The (2x2) precision matrix for the local slopes is defined by the angular scattering error theta_0 and the scalar products c_1, c_2 of the offset directions in the local frame with the track direction:
(1 - c_1*c_1 - c_2*c_2) | 1 - c_1*c_1 - c_1*c_2 | P = ~~~~~~~~~~~~~~~~~~~~~~~ * | | theta_0*theta_0 | - c_1*c_2 1 - c_2*c_2 |
For a diagonal precision matrix at least one of the scalar products c_1, c_2 must be zero.
One offset is defined at the point. The comparison with the previous and next offsets allows to define a kink.
Thick scatterer: Local track direction and position change (correlated).
Combination of several scatterers extrapolated to point (yielding dense (4x4) covariance matrix). E.g. sum of thin scatterers (covariance V_i, jacobian J_i for slopes and offsets):
P = [sum(J_i*V_i*J_i^t)]^-1
For each thin scatterer the covarinace matrix V_i is defined by the angular scattering error theta_0,i and the scalar products c_1,i, c_2,i of the offset directions in the local frame with the track direction:
| 1 - c_2,i^2 c_1,i*c_2,i 0 0 | | | theta_0,i^2 | c_1,i*c_2,i 1 - c_1,i^2 0 0 | V_i = ------------------------- * | | (1 - c_1,i^2 - c_2,i^2)^2 | 0 0 0 0 | | | | 0 0 0 0 |
Two offsets are defined at the point to describe a step (in the trajectory). The comparison with the previous and next offsets allows to define a kink.
aScatterer | scatterer (kinks(+steps), precision (diagonal of or full matrix, thin:2x2, thick:4x4)); list(matrix(float)) |
Definition at line 284 of file gblfit.py.
References gblpy.gblfit.GblPoint.__scatDim, and gblpy.gblfit.GblPoint.__scatterer.
def gblpy.gblfit.GblPoint.getDerivatives | ( | self, | |
index | |||
) |
Get derivatives for locally linearized track model (backward or forward propagation).
index | 0 (previous) or 1 (next point with offsets); int |
Definition at line 428 of file gblfit.py.
References gblpy.gblfit.GblPoint.__jacobians.
def gblpy.gblfit.GblPoint.getLabel | ( | self | ) |
Retrieve label of a point.
Definition at line 356 of file gblfit.py.
References gblpy.gblfit.GblPoint.__label, and gblpy.gblfit.GblData.__label.
def gblpy.gblfit.GblPoint.getMeasurements | ( | self | ) |
Retrieve measurements of a point.
Definition at line 234 of file gblfit.py.
References gblpy.gblfit.GblPoint.__measurements.
def gblpy.gblfit.GblPoint.getOffset | ( | self | ) |
Get offset of a point.
Definition at line 370 of file gblfit.py.
References gblpy.gblfit.GblPoint.__offset.
def gblpy.gblfit.GblPoint.getP2pJacobian | ( | self | ) |
Retrieve jacobian of a point.
Definition at line 406 of file gblfit.py.
References gblpy.gblfit.GblPoint.__p2pJacobian.
def gblpy.gblfit.GblPoint.getReducedScatterer | ( | self | ) |
Retrieve (reduced) scatterer of a point.
Reduce to positional scatterer.
Definition at line 315 of file gblfit.py.
References gblpy.gblfit.GblPoint.__scatterer.
def gblpy.gblfit.GblPoint.getScatDim | ( | self | ) |
Get scatterer dimension.
Definition at line 299 of file gblfit.py.
References gblpy.gblfit.GblPoint.__scatDim.
def gblpy.gblfit.GblPoint.getScatterer | ( | self | ) |
Retrieve scatterer of a point.
Definition at line 306 of file gblfit.py.
References gblpy.gblfit.GblPoint.__scatterer.
def gblpy.gblfit.GblPoint.hasMeasurement | ( | self | ) |
Check point for a measurement.
Definition at line 227 of file gblfit.py.
References gblpy.gblfit.GblPoint.__measurements.
def gblpy.gblfit.GblPoint.isFirst | ( | self | ) |
Is first point?
Definition at line 384 of file gblfit.py.
References gblpy.gblfit.GblPoint.__type, and gblpy.gblfit.GblData.__type.
def gblpy.gblfit.GblPoint.isLast | ( | self | ) |
Is last point?
Definition at line 391 of file gblfit.py.
References gblpy.gblfit.GblPoint.__type, and gblpy.gblfit.GblData.__type.
def gblpy.gblfit.GblPoint.printPoint | ( | self | ) |
Print point.
Definition at line 439 of file gblfit.py.
References gblpy.gblfit.GblPoint.__label, gblpy.gblfit.GblData.__label, gblpy.gblfit.GblPoint.__measurements, gblpy.gblfit.GblPoint.__offset, and gblpy.gblfit.GblPoint.__scatDim.
def gblpy.gblfit.GblPoint.setLabel | ( | self, | |
aLabel | |||
) |
Define label of a point.
aLabel | label; int |
Definition at line 349 of file gblfit.py.
References gblpy.gblfit.GblPoint.__label, and gblpy.gblfit.GblData.__label.
def gblpy.gblfit.GblPoint.setOffset | ( | self, | |
anOffset | |||
) |
Define offset of a point and references to previous and next point with offset.
anOffset | offset number (at point (>=0) or at next point with offset (<0)); int |
Definition at line 363 of file gblfit.py.
References gblpy.gblfit.GblPoint.__offset.
def gblpy.gblfit.GblPoint.setType | ( | self, | |
aType | |||
) |
Define type of a point.
aType | type (-1: first, 0: inner, 1: last); int |
Definition at line 377 of file gblfit.py.
References gblpy.gblfit.GblPoint.__type, and gblpy.gblfit.GblData.__type.
|
private |
jacobians for propagation to previous or next point with offsets; pair(matrix(float))
Definition at line 198 of file gblfit.py.
Referenced by gblpy.gblfit.GblPoint.addNextJacobian(), gblpy.gblfit.GblPoint.addPrevJacobian(), and gblpy.gblfit.GblPoint.getDerivatives().
|
private |
label for referencing point (0,1,..,number(points)-1); int
Definition at line 190 of file gblfit.py.
Referenced by gblpy.gblfit.GblPoint.getLabel(), gblpy.gblfit.GblData.getLabel(), gblpy.gblfit.GblData.printData(), gblpy.gblfit.GblPoint.printPoint(), and gblpy.gblfit.GblPoint.setLabel().
|
private |
measurements at point; list(GblMeasurement)
Definition at line 200 of file gblfit.py.
Referenced by gblpy.gblfit.GblPoint.addGlobals(), gblpy.gblfit.GblPoint.addLocals(), gblpy.gblfit.GblPoint.addMeasurement(), gblpy.gblfit.GblPoint.getMeasurements(), gblpy.gblfit.GblPoint.hasMeasurement(), and gblpy.gblfit.GblPoint.printPoint().
|
private |
>=0: offset number at point, <0: offset number at next point with offset; int
Definition at line 192 of file gblfit.py.
Referenced by gblpy.gblfit.GblPoint.getOffset(), gblpy.gblfit.GblPoint.printPoint(), and gblpy.gblfit.GblPoint.setOffset().
|
private |
Point-to-point jacobian from previous point; matrix(float)
Definition at line 196 of file gblfit.py.
Referenced by gblpy.gblfit.GblPoint.getP2pJacobian().
|
private |
scatterer dimension (valid 2(thin) or 4(thick))
Definition at line 202 of file gblfit.py.
Referenced by gblpy.gblfit.GblPoint.addScatterer(), gblpy.gblfit.GblPoint.getScatDim(), and gblpy.gblfit.GblPoint.printPoint().
|
private |
scatterer at point: (transformation or None,) initial kinks, precision (inverse covariance matrix); list(matrix(float))
Definition at line 204 of file gblfit.py.
Referenced by gblpy.gblfit.GblPoint.addScatterer(), gblpy.gblfit.GblPoint.getReducedScatterer(), and gblpy.gblfit.GblPoint.getScatterer().
|
private |
type (-1: first, 0: inner, 1: last)
Definition at line 194 of file gblfit.py.
Referenced by gblpy.gblfit.GblData.getType(), gblpy.gblfit.GblPoint.isFirst(), gblpy.gblfit.GblPoint.isLast(), gblpy.gblfit.GblData.printData(), and gblpy.gblfit.GblPoint.setType().