CMS 3D CMS Logo

GsfTrackExtra.cc

Go to the documentation of this file.
00001 #include "DataFormats/GsfTrackReco/interface/GsfTrackExtra.h"
00002 using namespace reco;
00003 
00004 GsfTrackExtra::GsfTrackExtra( const std::vector<GsfComponent5D>& outerStates, 
00005                               const double& outerLocalPzSign,
00006                               const std::vector<GsfComponent5D>& innerStates, 
00007                               const double& innerLocalPzSign)  :
00008   outerStates_(outerStates), positiveOuterStatePz_(outerLocalPzSign>0.),
00009   innerStates_(innerStates), positiveInnerStatePz_(innerLocalPzSign>0.) {}
00010                                                                                                             
00011 std::vector<double> 
00012 GsfTrackExtra::weights (const std::vector<GsfComponent5D>& states) const
00013 {
00014   std::vector<double> result(states.size());
00015   std::vector<double>::iterator ir(result.begin());
00016   for ( std::vector<GsfComponent5D>::const_iterator i=states.begin();
00017         i!=states.end(); ++i ) {
00018     *(ir++) = (*i).weight();
00019   }
00020   return result;
00021 }
00022 
00023 std::vector<GsfTrackExtra::LocalParameterVector> 
00024 GsfTrackExtra::parameters (const std::vector<GsfComponent5D>& states) const
00025 {
00026   std::vector<LocalParameterVector> result(states.size());
00027   std::vector<LocalParameterVector>::iterator ir(result.begin());
00028   for ( std::vector<GsfComponent5D>::const_iterator i=states.begin();
00029         i!=states.end(); ++i ) {
00030     *(ir++) = (*i).parameters();
00031   }
00032   return result;
00033 }
00034 
00035 std::vector<GsfTrackExtra::LocalCovarianceMatrix> 
00036 GsfTrackExtra::covariances (const std::vector<GsfComponent5D>& states) const
00037 {
00038   std::vector<LocalCovarianceMatrix> result(states.size());
00039   std::vector<LocalCovarianceMatrix>::iterator ir(result.begin());
00040   for ( std::vector<GsfComponent5D>::const_iterator i=states.begin();
00041         i!=states.end(); ++i ) {
00042     (*i).covariance(*(ir++));
00043   }
00044   return result;
00045 }

Generated on Tue Jun 9 17:30:56 2009 for CMSSW by  doxygen 1.5.4