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