File indexing completed on 2023-03-17 10:40:55
0001 #ifndef TrackInfo_TrackInfo_h
0002 #define TrackInfo_TrackInfo_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #include "AnalysisDataFormats/TrackInfo/interface/TrackInfoFwd.h"
0015 #include "AnalysisDataFormats/TrackInfo/interface/TrackingRecHitInfo.h"
0016 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0017 #include "DataFormats/TrajectoryState/interface/PTrajectoryStateOnDet.h"
0018 #include "DataFormats/TrackingRecHit/interface/TrackingRecHitFwd.h"
0019 #include "DataFormats/TrajectoryState/interface/PTrajectoryStateOnDet.h"
0020 #include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h"
0021 #include "DataFormats/Common/interface/AssociationMap.h"
0022 namespace reco {
0023 class TrackInfo {
0024 public:
0025
0026 typedef std::map<TrackingRecHitRef, TrackingRecHitInfo> TrajectoryInfo;
0027 typedef reco::StateType StateType;
0028
0029 TrackInfo() {}
0030
0031 TrackInfo(const TrajectorySeed &seed_, const TrajectoryInfo &trajstate);
0032
0033
0034
0035 const TrajectorySeed &seed() const;
0036
0037 const RecHitType type(TrackingRecHitRef) const;
0038
0039 const PTrajectoryStateOnDet *stateOnDet(StateType, TrackingRecHitRef) const;
0040
0041 const LocalVector localTrackMomentum(StateType, TrackingRecHitRef) const;
0042
0043 const LocalVector localTrackMomentumOnMono(StateType, TrackingRecHitRef) const;
0044
0045 const LocalVector localTrackMomentumOnStereo(StateType, TrackingRecHitRef) const;
0046
0047 const LocalPoint localTrackPosition(StateType, TrackingRecHitRef) const;
0048
0049 const LocalPoint localTrackPositionOnMono(StateType, TrackingRecHitRef) const;
0050
0051 const LocalPoint localTrackPositionOnStereo(StateType, TrackingRecHitRef) const;
0052
0053 const TrajectoryInfo &trajStateMap() const;
0054
0055
0056
0057 private:
0058 TrajectorySeed seed_;
0059 TrajectoryInfo trajstates_;
0060 };
0061
0062 }
0063
0064 #endif