00001 #ifndef TrackInfo_TrackInfo_h 00002 #define TrackInfo_TrackInfo_h 00003 00015 #include "AnalysisDataFormats/TrackInfo/interface/TrackInfoFwd.h" 00016 #include "AnalysisDataFormats/TrackInfo/interface/TrackingRecHitInfo.h" 00017 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00018 #include "DataFormats/TrajectoryState/interface/PTrajectoryStateOnDet.h" 00019 #include "DataFormats/TrackingRecHit/interface/TrackingRecHitFwd.h" 00020 #include "DataFormats/TrajectoryState/interface/PTrajectoryStateOnDet.h" 00021 #include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h" 00022 #include "DataFormats/Common/interface/AssociationMap.h" 00023 namespace reco { 00024 class TrackInfo{ 00025 public: 00027 typedef std::map<TrackingRecHitRef , TrackingRecHitInfo > TrajectoryInfo; 00028 typedef reco::StateType StateType; 00029 00030 TrackInfo() {} 00031 00032 TrackInfo( const TrajectorySeed & seed_, const TrajectoryInfo & trajstate); 00033 00034 //TrackRef track(); 00035 00036 const TrajectorySeed &seed() const; 00037 00038 const RecHitType type(TrackingRecHitRef ) const; 00039 00040 const PTrajectoryStateOnDet *stateOnDet(StateType,TrackingRecHitRef ) const; 00041 00042 const LocalVector localTrackMomentum(StateType,TrackingRecHitRef ) const; 00043 00044 const LocalVector localTrackMomentumOnMono(StateType,TrackingRecHitRef ) const; 00045 00046 const LocalVector localTrackMomentumOnStereo(StateType,TrackingRecHitRef ) const; 00047 00048 const LocalPoint localTrackPosition(StateType, TrackingRecHitRef ) const; 00049 00050 const LocalPoint localTrackPositionOnMono(StateType,TrackingRecHitRef ) const; 00051 00052 const LocalPoint localTrackPositionOnStereo(StateType,TrackingRecHitRef ) const; 00053 00054 const TrajectoryInfo &trajStateMap() const; 00055 00056 // void add(PTrajectoryStateOnDet state,const TrackingRecHitRef hitref); 00057 00058 private: 00059 TrajectorySeed seed_ ; 00060 TrajectoryInfo trajstates_; 00061 }; 00062 00063 } 00064 00065 #endif