00001 #ifndef TrackInfo_TrackingRecHitInfo_h 00002 #define TrackInfo_TrackingRecHitInfo_h 00003 00015 #include "AnalysisDataFormats/TrackInfo/interface/TrackingStateInfo.h" 00016 #include "AnalysisDataFormats/TrackInfo/interface/TrackInfoEnum.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/TrajectorySeed/interface/TrajectorySeed.h" 00021 00022 00023 namespace reco { 00024 class TrackingRecHitInfo{ 00025 00026 public: 00027 typedef reco::StateType StateType; 00028 typedef std::map<StateType, TrackingStateInfo > TrackingStates; 00029 00030 TrackingRecHitInfo(){} 00031 TrackingRecHitInfo(RecHitType type, TrackingStates & states):type_(type),states_(states){} 00032 const RecHitType type() const {return type_;} 00033 const LocalVector localTrackMomentumOnMono(StateType statetype) const; 00034 const LocalVector localTrackMomentumOnStereo(StateType statetype)const; 00035 const LocalPoint localTrackPositionOnMono(StateType statetype) const; 00036 const LocalPoint localTrackPositionOnStereo(StateType statetype)const; 00037 const TrackingStates &statesOnDet() const{return states_;} 00038 const PTrajectoryStateOnDet *stateOnDet(StateType statetype) const; 00039 00040 private: 00041 RecHitType type_; 00042 TrackingStates states_; 00043 }; 00044 00045 } 00046 #endif