![]() |
GeneralBrokenLines V03-01-02
gblpy3
|
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 gblpy3.gblfit.GblPoint.__init__ | ( | self, | |
| aJacobian | |||
| ) |
| def gblpy3.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 gblpy3.gblfit.GblPoint.__measurements, and gblpy3.gblfit.GblPoint.addGlobals().
Referenced by gblpy3.gblfit.GblPoint.addGlobals().
| def gblpy3.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 gblpy3.gblfit.GblPoint.__measurements, and gblpy3.gblfit.GblPoint.addLocals().
Referenced by gblpy3.gblfit.GblPoint.addLocals().
| def gblpy3.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 gblpy3.gblfit.GblPoint.__measurements.
| def gblpy3.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 gblpy3.gblfit.GblPoint.__jacobians.
| def gblpy3.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 gblpy3.gblfit.GblPoint.__jacobians.
| def gblpy3.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 gblpy3.gblfit.GblPoint.__scatDim, and gblpy3.gblfit.GblPoint.__scatterer.
| def gblpy3.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 gblpy3.gblfit.GblPoint.__jacobians.
| def gblpy3.gblfit.GblPoint.getLabel | ( | self | ) |
Retrieve label of a point.
Definition at line 356 of file gblfit.py.
References gblpy3.gblfit.GblPoint.__label, and gblpy3.gblfit.GblData.__label.
| def gblpy3.gblfit.GblPoint.getMeasurements | ( | self | ) |
Retrieve measurements of a point.
Definition at line 234 of file gblfit.py.
References gblpy3.gblfit.GblPoint.__measurements.
| def gblpy3.gblfit.GblPoint.getOffset | ( | self | ) |
Get offset of a point.
Definition at line 370 of file gblfit.py.
References gblpy3.gblfit.GblPoint.__offset.
| def gblpy3.gblfit.GblPoint.getP2pJacobian | ( | self | ) |
Retrieve jacobian of a point.
Definition at line 406 of file gblfit.py.
References gblpy3.gblfit.GblPoint.__p2pJacobian.
| def gblpy3.gblfit.GblPoint.getReducedScatterer | ( | self | ) |
Retrieve (reduced) scatterer of a point.
Reduce to positional scatterer.
Definition at line 315 of file gblfit.py.
References gblpy3.gblfit.GblPoint.__scatterer.
| def gblpy3.gblfit.GblPoint.getScatDim | ( | self | ) |
Get scatterer dimension.
Definition at line 299 of file gblfit.py.
References gblpy3.gblfit.GblPoint.__scatDim.
| def gblpy3.gblfit.GblPoint.getScatterer | ( | self | ) |
Retrieve scatterer of a point.
Definition at line 306 of file gblfit.py.
References gblpy3.gblfit.GblPoint.__scatterer.
| def gblpy3.gblfit.GblPoint.hasMeasurement | ( | self | ) |
Check point for a measurement.
Definition at line 227 of file gblfit.py.
References gblpy3.gblfit.GblPoint.__measurements.
| def gblpy3.gblfit.GblPoint.isFirst | ( | self | ) |
Is first point?
Definition at line 384 of file gblfit.py.
References gblpy3.gblfit.GblPoint.__type, and gblpy3.gblfit.GblData.__type.
| def gblpy3.gblfit.GblPoint.isLast | ( | self | ) |
Is last point?
Definition at line 391 of file gblfit.py.
References gblpy3.gblfit.GblPoint.__type, and gblpy3.gblfit.GblData.__type.
| def gblpy3.gblfit.GblPoint.printPoint | ( | self | ) |
Print point.
Definition at line 439 of file gblfit.py.
References gblpy3.gblfit.GblPoint.__label, gblpy3.gblfit.GblData.__label, gblpy3.gblfit.GblPoint.__measurements, gblpy3.gblfit.GblPoint.__offset, and gblpy3.gblfit.GblPoint.__scatDim.
| def gblpy3.gblfit.GblPoint.setLabel | ( | self, | |
| aLabel | |||
| ) |
Define label of a point.
| aLabel | label; int |
Definition at line 349 of file gblfit.py.
References gblpy3.gblfit.GblPoint.__label, and gblpy3.gblfit.GblData.__label.
| def gblpy3.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 gblpy3.gblfit.GblPoint.__offset.
| def gblpy3.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 gblpy3.gblfit.GblPoint.__type, and gblpy3.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 gblpy3.gblfit.GblPoint.addNextJacobian(), gblpy3.gblfit.GblPoint.addPrevJacobian(), and gblpy3.gblfit.GblPoint.getDerivatives().
|
private |
label for referencing point (0,1,..,number(points)-1); int
Definition at line 190 of file gblfit.py.
Referenced by gblpy3.gblfit.GblPoint.getLabel(), gblpy3.gblfit.GblData.getLabel(), gblpy3.gblfit.GblData.printData(), gblpy3.gblfit.GblPoint.printPoint(), and gblpy3.gblfit.GblPoint.setLabel().
|
private |
measurements at point; list(GblMeasurement)
Definition at line 200 of file gblfit.py.
Referenced by gblpy3.gblfit.GblPoint.addGlobals(), gblpy3.gblfit.GblPoint.addLocals(), gblpy3.gblfit.GblPoint.addMeasurement(), gblpy3.gblfit.GblPoint.getMeasurements(), gblpy3.gblfit.GblPoint.hasMeasurement(), and gblpy3.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 gblpy3.gblfit.GblPoint.getOffset(), gblpy3.gblfit.GblPoint.printPoint(), and gblpy3.gblfit.GblPoint.setOffset().
|
private |
Point-to-point jacobian from previous point; matrix(float)
Definition at line 196 of file gblfit.py.
Referenced by gblpy3.gblfit.GblPoint.getP2pJacobian().
|
private |
scatterer dimension (valid 2(thin) or 4(thick))
Definition at line 202 of file gblfit.py.
Referenced by gblpy3.gblfit.GblPoint.addScatterer(), gblpy3.gblfit.GblPoint.getScatDim(), and gblpy3.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 gblpy3.gblfit.GblPoint.addScatterer(), gblpy3.gblfit.GblPoint.getReducedScatterer(), and gblpy3.gblfit.GblPoint.getScatterer().
|
private |
type (-1: first, 0: inner, 1: last)
Definition at line 194 of file gblfit.py.
Referenced by gblpy3.gblfit.GblData.getType(), gblpy3.gblfit.GblPoint.isFirst(), gblpy3.gblfit.GblPoint.isLast(), gblpy3.gblfit.GblData.printData(), and gblpy3.gblfit.GblPoint.setType().