CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/src/AnalysisDataFormats/TrackInfo/interface/TrackingStateInfo.h

Go to the documentation of this file.
00001 #ifndef TrackInfo_TrackingStateInfo_h
00002 #define TrackInfo_TrackingStateInfo_h
00003 
00015 #include "AnalysisDataFormats/TrackInfo/interface/TrackInfoFwd.h"
00016 #include "DataFormats/TrajectoryState/interface/PTrajectoryStateOnDet.h"
00017 #include "DataFormats/TrackingRecHit/interface/TrackingRecHitFwd.h"
00018 #include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h"
00019 
00020 namespace reco {
00021   class TrackingStateInfo{
00022     
00023   public:
00024     //    enum StateType { Updated=0, Combined=1, FwPredicted=2, BwPredicted=3};
00025     
00026     //enum RecHitType { Single=0, Matched=1, Projected=2};
00027     
00028     TrackingStateInfo(){}
00029     TrackingStateInfo(std::pair<LocalVector, LocalVector> trackdirections ,std::pair<LocalPoint, LocalPoint> trackpositions , PTrajectoryStateOnDet const &trajstate ): 
00030       trackdirections_(trackdirections),  trackpositions_(trackpositions), trajstate_(trajstate) {}
00031       //const RecHitType  type() const {return type_;}
00032       //const StateType  statetype() const {return statetype_;}
00033       const LocalVector localTrackMomentumOnMono() const {return trackdirections_.first;}
00034       const LocalVector localTrackMomentumOnStereo()const {return trackdirections_.second;}
00035       const LocalPoint localTrackPositionOnMono() const {return trackpositions_.first;}
00036       const LocalPoint localTrackPositionOnStereo()const {return trackpositions_.second;}
00037       const PTrajectoryStateOnDet *stateOnDet() const {return &trajstate_;};
00038       
00039   private:
00040  
00041       std::pair<LocalVector, LocalVector> trackdirections_;
00042       std::pair<LocalPoint, LocalPoint> trackpositions_;
00043       PTrajectoryStateOnDet trajstate_;
00044       
00045   };
00046   
00047 }
00048 #endif