CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions
ErrorFrameTransformer Class Reference

#include <ErrorFrameTransformer.h>

Public Types

typedef Surface::Scalar Scalar
 

Public Member Functions

GlobalError transform (const LocalError &le, const Surface &surf) const
 
LocalError transform (const GlobalError &ge, const Surface &surf) const
 

Detailed Description

Definition at line 8 of file ErrorFrameTransformer.h.

Member Typedef Documentation

Definition at line 11 of file ErrorFrameTransformer.h.

Member Function Documentation

GlobalError ErrorFrameTransformer::transform ( const LocalError le,
const Surface surf 
) const
inline

Definition at line 13 of file ErrorFrameTransformer.h.

References csvReporter::r, GloballyPositioned< T >::rotation(), LocalError::xx(), TkRotation< T >::xx(), LocalError::xy(), TkRotation< T >::xy(), TkRotation< T >::xz(), TkRotation< T >::yx(), LocalError::yy(), TkRotation< T >::yy(), and TkRotation< T >::yz().

Referenced by TestOutliers::analyze(), BeamSpotTransientTrackingRecHit::BeamSpotTransientTrackingRecHit(), python.Vispa.Views.LineDecayView.DecayLine::boundingRect(), GsfConstraintAtVertex::constrainAtPoint(), python.Vispa.Views.LineDecayView.DecayLine::containsPoint(), DTSegmentUpdator::fit(), HelpertRecHit2DLocalPos::getKfComponents(), MuonTransientTrackingRecHit::globalDirectionError(), TwoBodyDecayTrajectoryFactory::match(), python.Vispa.Views.LineDecayView.DecayLine::paint(), MuonTransientTrackingRecHit::parametersError(), HelpertRecHit2DLocalPos::parError(), TransientTrackingRecHit::setPositionErrors(), SiTrackerGaussianSmearingRecHitConverter::smearHits(), and HelpertRecHit2DLocalPos::updateWithAPE().

13  {
14  // the GlobalError is a sym matrix, initialisation takes only
15  // 6 T because GlobalError is stored as a lower triangular matrix.
16  Scalar cxx = le.xx();
17  Scalar cxy = le.xy();
18  Scalar cyy = le.yy();
19 
21 
22  return GlobalError( r.xx()*(r.xx()*cxx+r.yx()*cxy) + r.yx()*(r.xx()*cxy+r.yx()*cyy) ,
23  r.xx()*(r.xy()*cxx+r.yy()*cxy) + r.yx()*(r.xy()*cxy+r.yy()*cyy) ,
24  r.xy()*(r.xy()*cxx+r.yy()*cxy) + r.yy()*(r.xy()*cxy+r.yy()*cyy) ,
25  r.xx()*(r.xz()*cxx+r.yz()*cxy) + r.yx()*(r.xz()*cxy+r.yz()*cyy) ,
26  r.xy()*(r.xz()*cxx+r.yz()*cxy) + r.yy()*(r.xz()*cxy+r.yz()*cyy) ,
27  r.xz()*(r.xz()*cxx+r.yz()*cxy) + r.yz()*(r.xz()*cxy+r.yz()*cyy) );
28  }
T xx() const
float xx() const
Definition: LocalError.h:19
T yx() const
T xy() const
GlobalErrorBase< double, ErrorMatrixTag > GlobalError
Definition: GlobalError.h:11
float xy() const
Definition: LocalError.h:20
float yy() const
Definition: LocalError.h:21
T yy() const
T xz() const
const RotationType & rotation() const
T yz() const
LocalError ErrorFrameTransformer::transform ( const GlobalError ge,
const Surface surf 
) const
inline

Definition at line 30 of file ErrorFrameTransformer.h.

References GlobalErrorBase< T, ErrorWeightType >::cxx(), GlobalErrorBase< T, ErrorWeightType >::cyx(), GlobalErrorBase< T, ErrorWeightType >::cyy(), GlobalErrorBase< T, ErrorWeightType >::czx(), GlobalErrorBase< T, ErrorWeightType >::czy(), GlobalErrorBase< T, ErrorWeightType >::czz(), csvReporter::r, GloballyPositioned< T >::rotation(), TkRotation< T >::xx(), TkRotation< T >::xy(), TkRotation< T >::xz(), TkRotation< T >::yx(), TkRotation< T >::yy(), and TkRotation< T >::yz().

Referenced by python.Vispa.Views.LineDecayView.DecayLine::boundingRect(), python.Vispa.Views.LineDecayView.DecayLine::containsPoint(), and python.Vispa.Views.LineDecayView.DecayLine::paint().

30  {
31  Scalar cxx = ge.cxx(); Scalar cyx = ge.cyx(); Scalar cyy = ge.cyy();
32  Scalar czx = ge.czx(); Scalar czy = ge.czy(); Scalar czz = ge.czz();
33 
35 
36  Scalar l11
37  = r.xx()*(r.xx()*cxx + r.xy()*cyx + r.xz()*czx)
38  + r.xy()*(r.xx()*cyx + r.xy()*cyy + r.xz()*czy)
39  + r.xz()*(r.xx()*czx + r.xy()*czy + r.xz()*czz);
40  Scalar l12
41  = r.yx()*(r.xx()*cxx + r.xy()*cyx + r.xz()*czx)
42  + r.yy()*(r.xx()*cyx + r.xy()*cyy + r.xz()*czy)
43  + r.yz()*(r.xx()*czx + r.xy()*czy + r.xz()*czz);
44  Scalar l22
45  = r.yx()*(r.yx()*cxx + r.yy()*cyx + r.yz()*czx)
46  + r.yy()*(r.yx()*cyx + r.yy()*cyy + r.yz()*czy)
47  + r.yz()*(r.yx()*czx + r.yy()*czy + r.yz()*czz);
48 
49  return LocalError( l11, l12, l22);
50  }
T xx() const
T yx() const
T xy() const
T yy() const
T xz() const
const RotationType & rotation() const
T yz() const