#include <BowedSurfaceAlignmentDerivatives.h>
Public Types | |
enum | AlignmentParameterName { dx = 0, dy, dz, dslopeX, dslopeY, drotZ, dsagittaX, dsagittaXY, dsagittaY, N_PARAM } |
Public Member Functions | |
AlgebraicMatrix | operator() (const TrajectoryStateOnSurface &tsos, double uWidth, double vLength, bool doSplit=false, double ySplit=0.) const |
Returns 9x2 jacobian matrix. More... | |
Static Public Member Functions | |
static double | gammaScale (double width, double splitLength) |
Calculates alignment derivatives for a bowed surface using Legendre polynomials for the surface structure (as studied by Claus Kleinwort), i.e.
If a surface is split into two parts at a given ySplit value, rotation axes are re-centred to that part hit by the track (as predicted by TSOS) and the length of the surface is re-scaled.
by Gero Flucke, October 2010 $Date$ $Revision$ (last update by $Author$)
Definition at line 25 of file BowedSurfaceAlignmentDerivatives.h.
Enumerator | |
---|---|
dx | |
dy | |
dz | |
dslopeX | |
dslopeY | |
drotZ | |
dsagittaX | |
dsagittaXY | |
dsagittaY | |
N_PARAM |
Definition at line 29 of file BowedSurfaceAlignmentDerivatives.h.
|
static |
scale to apply to convert drotZ to karimaki-gamma, depending on module width and length (the latter after splitting!)
Definition at line 82 of file BowedSurfaceAlignmentDerivatives.cc.
Referenced by TwoBowedSurfacesAlignmentParameters::apply(), operator()(), and BowedSurfaceAlignmentParameters::rotation().
AlgebraicMatrix BowedSurfaceAlignmentDerivatives::operator() | ( | const TrajectoryStateOnSurface & | tsos, |
double | uWidth, | ||
double | vLength, | ||
bool | doSplit = false , |
||
double | ySplit = 0. |
||
) | const |
Returns 9x2 jacobian matrix.
Definition at line 14 of file BowedSurfaceAlignmentDerivatives.cc.
References drotZ, dsagittaX, dsagittaXY, dsagittaY, dslopeX, dslopeY, dx, dy, dz, gammaScale(), TrajectoryStateOnSurface::localParameters(), LocalTrajectoryParameters::mixedFormatVector(), N_PARAM, and query::result.