#include <StripMeasurementTransformator.h>
Public Member Functions | |
const TransientTrackingRecHit & | hit () const |
ASM22 | hitError () const |
AV2 | hitParameters () const |
ASM22 | projectedTrajectoryError () const |
AV2 | projectedTrajectoryParameters () const |
AM25 | projectionMatrix () const |
const TSOS & | state () const |
StripMeasurementTransformator (const TSOS &aTsos, const TransientTrackingRecHit &aHit) | |
const StripTopology * | topology () const |
const ASM55 & | trajectoryError () const |
AV5 | trajectoryParameters () const |
~StripMeasurementTransformator () | |
Private Types | |
typedef AlgebraicMatrix | AM |
typedef AlgebraicMatrix25 | AM25 |
typedef AlgebraicSymMatrix22 | ASM22 |
typedef AlgebraicSymMatrix55 | ASM55 |
typedef AlgebraicVector2 | AV2 |
typedef AlgebraicVector5 | AV5 |
typedef TrajectoryStateOnSurface | TSOS |
Private Member Functions | |
void | init () |
Private Attributes | |
const TransientTrackingRecHit & | theRecHit |
TSOS | theState |
const StripTopology * | theTopology |
Helper class for accessing the RecHit and the TrajectoryState parameters and errors in the measurement frame. Ported from ORCA.
Definition at line 19 of file StripMeasurementTransformator.h.
typedef AlgebraicMatrix StripMeasurementTransformator::AM [private] |
Definition at line 26 of file StripMeasurementTransformator.h.
typedef AlgebraicMatrix25 StripMeasurementTransformator::AM25 [private] |
Definition at line 27 of file StripMeasurementTransformator.h.
typedef AlgebraicSymMatrix22 StripMeasurementTransformator::ASM22 [private] |
Definition at line 24 of file StripMeasurementTransformator.h.
typedef AlgebraicSymMatrix55 StripMeasurementTransformator::ASM55 [private] |
Definition at line 25 of file StripMeasurementTransformator.h.
typedef AlgebraicVector2 StripMeasurementTransformator::AV2 [private] |
Definition at line 29 of file StripMeasurementTransformator.h.
typedef AlgebraicVector5 StripMeasurementTransformator::AV5 [private] |
Definition at line 28 of file StripMeasurementTransformator.h.
typedef TrajectoryStateOnSurface StripMeasurementTransformator::TSOS [private] |
Definition at line 23 of file StripMeasurementTransformator.h.
StripMeasurementTransformator::StripMeasurementTransformator | ( | const TSOS & | aTsos, |
const TransientTrackingRecHit & | aHit | ||
) |
Definition at line 4 of file StripMeasurementTransformator.cc.
References init().
: theRecHit(hit), theState(tsos), theTopology(0) { init(); }
StripMeasurementTransformator::~StripMeasurementTransformator | ( | ) | [inline] |
Definition at line 35 of file StripMeasurementTransformator.h.
{}
const TransientTrackingRecHit& StripMeasurementTransformator::hit | ( | void | ) | const [inline] |
Definition at line 45 of file StripMeasurementTransformator.h.
References theRecHit.
Referenced by hitError(), hitParameters(), and init().
{return theRecHit;}
AlgebraicSymMatrix22 StripMeasurementTransformator::hitError | ( | ) | const |
Definition at line 47 of file StripMeasurementTransformator.cc.
References hit(), Topology::measurementError(), topology(), MeasurementError::uu(), MeasurementError::uv(), and MeasurementError::vv().
Referenced by KFStripUpdator::update().
{ AlgebraicSymMatrix22 am; MeasurementError me = topology()->measurementError(hit().localPosition(), hit().localPositionError()); am(0,0) = me.uu(); am(1,0) = me.uv(); am(1,1) = me.vv(); return am; }
AlgebraicVector2 StripMeasurementTransformator::hitParameters | ( | ) | const |
Definition at line 19 of file StripMeasurementTransformator.cc.
References hit(), Topology::measurementPosition(), topology(), PV2DBase< T, PVType, FrameType >::x(), and PV2DBase< T, PVType, FrameType >::y().
Referenced by KFStripUpdator::update().
{ AlgebraicVector2 av; MeasurementPoint mp = topology()->measurementPosition(hit().localPosition()); av[0] = mp.x(); av[1] = mp.y(); return av; }
void StripMeasurementTransformator::init | ( | void | ) | [private] |
Definition at line 13 of file StripMeasurementTransformator.cc.
References TransientTrackingRecHit::detUnit(), hit(), theTopology, and GeomDetUnit::topology().
Referenced by StripMeasurementTransformator().
{ theTopology = dynamic_cast<const StripTopology*>(&(hit().detUnit()->topology())); }
AlgebraicSymMatrix22 StripMeasurementTransformator::projectedTrajectoryError | ( | ) | const |
Definition at line 66 of file StripMeasurementTransformator.cc.
References Topology::measurementError(), state(), topology(), MeasurementError::uu(), MeasurementError::uv(), and MeasurementError::vv().
Referenced by KFStripUpdator::update().
{ AlgebraicSymMatrix22 am; MeasurementError me = topology()->measurementError(state().localPosition(), state().localError().positionError()); am(0,0) = me.uu(); am(1,0) = me.uv(); am(1,1) = me.vv(); return am; }
AlgebraicVector2 StripMeasurementTransformator::projectedTrajectoryParameters | ( | ) | const |
Definition at line 36 of file StripMeasurementTransformator.cc.
References Topology::measurementPosition(), state(), topology(), PV2DBase< T, PVType, FrameType >::x(), and PV2DBase< T, PVType, FrameType >::y().
Referenced by KFStripUpdator::update().
{ AlgebraicVector2 av; MeasurementPoint mp = topology()->measurementPosition(state().localPosition()); av[0] = mp.x(); av[1] = mp.y(); return av; }
AlgebraicMatrix25 StripMeasurementTransformator::projectionMatrix | ( | ) | const |
Definition at line 79 of file StripMeasurementTransformator.cc.
References funct::cos(), StripTopology::localPitch(), StripTopology::localStripLength(), phi, funct::sin(), state(), strip(), StripTopology::stripAngle(), and topology().
Referenced by KFStripUpdator::update().
{ // H(measurement <- local) // m_meas = H*x_local + c AlgebraicMatrix25 H; float phi = topology()->stripAngle(topology()->strip(state().localPosition())); float pitch = topology()->localPitch(state().localPosition()); float length = topology()->localStripLength(state().localPosition()); H(0,3) = cos(phi)/pitch; H(0,4) = sin(phi)/pitch; H(1,3) = -sin(phi)/length; H(1,4) = cos(phi)/length; return H; }
const TSOS& StripMeasurementTransformator::state | ( | ) | const [inline] |
Definition at line 46 of file StripMeasurementTransformator.h.
References theState.
Referenced by projectedTrajectoryError(), projectedTrajectoryParameters(), projectionMatrix(), trajectoryError(), and trajectoryParameters().
{return theState;}
const StripTopology* StripMeasurementTransformator::topology | ( | ) | const [inline] |
Definition at line 47 of file StripMeasurementTransformator.h.
References theTopology.
Referenced by hitError(), hitParameters(), projectedTrajectoryError(), projectedTrajectoryParameters(), and projectionMatrix().
{return theTopology;}
const AlgebraicSymMatrix55 & StripMeasurementTransformator::trajectoryError | ( | ) | const |
Definition at line 60 of file StripMeasurementTransformator.cc.
References TrajectoryStateOnSurface::localError(), LocalTrajectoryError::matrix(), and state().
Referenced by KFStripUpdator::update().
{ return state().localError().matrix(); }
AlgebraicVector5 StripMeasurementTransformator::trajectoryParameters | ( | ) | const |
Definition at line 30 of file StripMeasurementTransformator.cc.
References TrajectoryStateOnSurface::localParameters(), state(), and LocalTrajectoryParameters::vector().
Referenced by KFStripUpdator::update().
{ return state().localParameters().vector(); }
const TransientTrackingRecHit& StripMeasurementTransformator::theRecHit [private] |
Definition at line 51 of file StripMeasurementTransformator.h.
Referenced by hit().
TSOS StripMeasurementTransformator::theState [private] |
Definition at line 52 of file StripMeasurementTransformator.h.
Referenced by state().
const StripTopology* StripMeasurementTransformator::theTopology [private] |
Definition at line 53 of file StripMeasurementTransformator.h.
Referenced by init(), and topology().