#include <TrackingTools/KalmanUpdators/interface/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 |
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().
00005 : 00006 theRecHit(hit), 00007 theState(tsos), 00008 theTopology(0) { 00009 00010 init(); 00011 }
StripMeasurementTransformator::~StripMeasurementTransformator | ( | ) | [inline] |
const TransientTrackingRecHit& StripMeasurementTransformator::hit | ( | void | ) | const [inline] |
Definition at line 45 of file StripMeasurementTransformator.h.
References theRecHit.
Referenced by hitError(), hitParameters(), and init().
00045 {return theRecHit;}
AlgebraicSymMatrix22 StripMeasurementTransformator::hitError | ( | ) | const |
Definition at line 47 of file StripMeasurementTransformator.cc.
References hit(), me, Topology::measurementError(), topology(), MeasurementError::uu(), MeasurementError::uv(), and MeasurementError::vv().
Referenced by KFStripUpdator::update().
00047 { 00048 00049 AlgebraicSymMatrix22 am; 00050 MeasurementError me = 00051 topology()->measurementError(hit().localPosition(), 00052 hit().localPositionError()); 00053 am(0,0) = me.uu(); 00054 am(1,0) = me.uv(); 00055 am(1,1) = me.vv(); 00056 00057 return am; 00058 }
AlgebraicVector2 StripMeasurementTransformator::hitParameters | ( | ) | const |
Definition at line 19 of file StripMeasurementTransformator.cc.
References hit(), Topology::measurementPosition(), mp, topology(), PV2DBase< T, PVType, FrameType >::x(), and PV2DBase< T, PVType, FrameType >::y().
Referenced by KFStripUpdator::update().
00019 { 00020 00021 AlgebraicVector2 av; 00022 MeasurementPoint mp = 00023 topology()->measurementPosition(hit().localPosition()); 00024 av[0] = mp.x(); 00025 av[1] = mp.y(); 00026 00027 return av; 00028 }
Definition at line 13 of file StripMeasurementTransformator.cc.
References TransientTrackingRecHit::detUnit(), hit(), theTopology, and GeomDetUnit::topology().
Referenced by StripMeasurementTransformator().
00013 { 00014 00015 theTopology = 00016 dynamic_cast<const StripTopology*>(&(hit().detUnit()->topology())); 00017 }
AlgebraicSymMatrix22 StripMeasurementTransformator::projectedTrajectoryError | ( | ) | const |
Definition at line 66 of file StripMeasurementTransformator.cc.
References me, Topology::measurementError(), state(), topology(), MeasurementError::uu(), MeasurementError::uv(), and MeasurementError::vv().
Referenced by KFStripUpdator::update().
00066 { 00067 00068 AlgebraicSymMatrix22 am; 00069 MeasurementError me = 00070 topology()->measurementError(state().localPosition(), 00071 state().localError().positionError()); 00072 am(0,0) = me.uu(); 00073 am(1,0) = me.uv(); 00074 am(1,1) = me.vv(); 00075 00076 return am; 00077 }
AlgebraicVector2 StripMeasurementTransformator::projectedTrajectoryParameters | ( | ) | const |
Definition at line 36 of file StripMeasurementTransformator.cc.
References Topology::measurementPosition(), mp, state(), topology(), PV2DBase< T, PVType, FrameType >::x(), and PV2DBase< T, PVType, FrameType >::y().
Referenced by KFStripUpdator::update().
00036 { 00037 00038 AlgebraicVector2 av; 00039 MeasurementPoint mp = 00040 topology()->measurementPosition(state().localPosition()); 00041 av[0] = mp.x(); 00042 av[1] = mp.y(); 00043 00044 return av; 00045 }
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().
00079 { 00080 00081 // H(measurement <- local) 00082 // m_meas = H*x_local + c 00083 AlgebraicMatrix25 H; 00084 00085 float phi = 00086 topology()->stripAngle(topology()->strip(state().localPosition())); 00087 float pitch = topology()->localPitch(state().localPosition()); 00088 float length = topology()->localStripLength(state().localPosition()); 00089 H(0,3) = cos(phi)/pitch; H(0,4) = sin(phi)/pitch; 00090 H(1,3) = -sin(phi)/length; H(1,4) = cos(phi)/length; 00091 00092 return H; 00093 }
Definition at line 46 of file StripMeasurementTransformator.h.
References theState.
Referenced by projectedTrajectoryError(), projectedTrajectoryParameters(), projectionMatrix(), trajectoryError(), and trajectoryParameters().
00046 {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().
00047 {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().
00060 { 00061 00062 return state().localError().matrix(); 00063 }
AlgebraicVector5 StripMeasurementTransformator::trajectoryParameters | ( | ) | const |
Definition at line 30 of file StripMeasurementTransformator.cc.
References TrajectoryStateOnSurface::localParameters(), state(), and LocalTrajectoryParameters::vector().
Referenced by KFStripUpdator::update().
00030 { 00031 00032 return state().localParameters().vector(); 00033 }
const TransientTrackingRecHit& StripMeasurementTransformator::theRecHit [private] |
TSOS StripMeasurementTransformator::theState [private] |
const StripTopology* StripMeasurementTransformator::theTopology [private] |
Definition at line 53 of file StripMeasurementTransformator.h.
Referenced by init(), and topology().