CMS 3D CMS Logo

StripMeasurementTransformator Class Reference

Helper class for accessing the RecHit and the TrajectoryState parameters and errors in the measurement frame. More...

#include <TrackingTools/KalmanUpdators/interface/StripMeasurementTransformator.h>

List of all members.

Public Member Functions

const TransientTrackingRecHithit () const
ASM22 hitError () const
AV2 hitParameters () const
ASM22 projectedTrajectoryError () const
AV2 projectedTrajectoryParameters () const
AM25 projectionMatrix () const
const TSOSstate () const
 StripMeasurementTransformator (const TSOS &aTsos, const TransientTrackingRecHit &aHit)
const StripTopologytopology () const
const ASM55trajectoryError () 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 TransientTrackingRecHittheRecHit
TSOS theState
const StripTopologytheTopology


Detailed Description

Helper class for accessing the RecHit and the TrajectoryState parameters and errors in the measurement frame.

Ported from ORCA.

Date
2007/05/09 13:50:25
Revision
1.4
Author:
todorov, cerati

Definition at line 19 of file StripMeasurementTransformator.h.


Member Typedef Documentation

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.


Constructor & Destructor Documentation

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]

Definition at line 35 of file StripMeasurementTransformator.h.

00035 {}


Member Function Documentation

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 }

void StripMeasurementTransformator::init ( void   )  [private]

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 }

const TSOS& StripMeasurementTransformator::state ( void   )  const [inline]

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 }


Member Data Documentation

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().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:32:56 2009 for CMSSW by  doxygen 1.5.4