CMS 3D CMS Logo

Public Member Functions | Private Types | Private Member Functions | Private Attributes

StripMeasurementTransformator Class Reference

#include <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

Definition at line 26 of file StripMeasurementTransformator.h.

Definition at line 27 of file StripMeasurementTransformator.h.

Definition at line 24 of file StripMeasurementTransformator.h.

Definition at line 25 of file StripMeasurementTransformator.h.

Definition at line 29 of file StripMeasurementTransformator.h.

Definition at line 28 of file StripMeasurementTransformator.h.

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

                                                                                             : 
  theRecHit(hit),
  theState(tsos),
  theTopology(0) {

  init();
}
StripMeasurementTransformator::~StripMeasurementTransformator ( ) [inline]

Definition at line 35 of file StripMeasurementTransformator.h.

{}

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

{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
void StripMeasurementTransformator::init ( void  ) [private]
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
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]
const StripTopology* StripMeasurementTransformator::topology ( ) const [inline]
const AlgebraicSymMatrix55 & StripMeasurementTransformator::trajectoryError ( ) const
AlgebraicVector5 StripMeasurementTransformator::trajectoryParameters ( ) const

Member Data Documentation

Definition at line 51 of file StripMeasurementTransformator.h.

Referenced by hit().

Definition at line 52 of file StripMeasurementTransformator.h.

Referenced by state().

Definition at line 53 of file StripMeasurementTransformator.h.

Referenced by init(), and topology().