CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_4/src/TrackingTools/GsfTools/interface/MultiGaussianStateTransform.h

Go to the documentation of this file.
00001 #ifndef MultiGaussianStateTransform_H
00002 #define MultiGaussianStateTransform_H
00003 
00007 #include "DataFormats/GsfTrackReco/interface/GsfTrack.h"
00008 #include "DataFormats/GsfTrackReco/interface/GsfTrackExtra.h"
00009 
00010 #include "TrackingTools/GsfTools/interface/MultiGaussianState.h"
00011 
00012 #include <vector>
00013 
00014 class MultiGaussianState1D;
00015 class TrajectoryStateOnSurface;
00016 
00017 namespace MultiGaussianStateTransform {
00018 
00019   enum { N = reco::GsfTrackExtra::dimension };
00020 
00021 
00024   MultiGaussianState<N> innerMultiState ( const reco::GsfTrack& tk);
00027   MultiGaussianState<N> outerMultiState ( const reco::GsfTrack& tk);
00030   MultiGaussianState1D innerMultiState1D ( const reco::GsfTrack& tk, unsigned int index);
00033   MultiGaussianState1D outerMultiState1D ( const reco::GsfTrack& tk, unsigned int index);
00034 
00037   MultiGaussianState<N> multiState (const std::vector<MultiGaussianState<N>::Vector>&,
00038                                     const std::vector<MultiGaussianState<N>::Matrix>&,
00039                                     const std::vector<double>&);
00042   MultiGaussianState1D multiState1D (const std::vector<MultiGaussianState<N>::Vector>&,
00043                                      const std::vector<MultiGaussianState<N>::Matrix>&,
00044                                      const std::vector<double>&,
00045                                      unsigned int);
00046 
00049   MultiGaussianState<5> multiState (const TrajectoryStateOnSurface );
00052   MultiGaussianState1D multiState1D (const TrajectoryStateOnSurface,
00053                                      unsigned int);
00056   TrajectoryStateOnSurface tsosFromSingleState (const SingleGaussianState<5>&,
00057                                                 const TrajectoryStateOnSurface);
00058 
00059 }
00060 
00061 #endif