File indexing completed on 2024-04-06 12:27:17
0001 #ifndef RecoMuon_TrackingTools_MuonTrajectoryBuilder_H
0002 #define RecoMuon_TrackingTools_MuonTrajectoryBuilder_H
0003
0004
0005
0006
0007
0008
0009
0010 #include "TrackingTools/PatternTools/interface/Trajectory.h"
0011 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0012 #include "RecoMuon/TrackingTools/interface/MuonCandidate.h"
0013 #include <vector>
0014
0015 namespace edm {
0016 class Event;
0017 }
0018
0019 class TrajectorySeed;
0020
0021 class MuonTrajectoryBuilder {
0022 public:
0023 typedef MuonCandidate::TrajectoryContainer TrajectoryContainer;
0024 typedef MuonCandidate::CandidateContainer CandidateContainer;
0025 typedef std::pair<const Trajectory*, reco::TrackRef> TrackCand;
0026
0027
0028 MuonTrajectoryBuilder() {}
0029
0030
0031 virtual ~MuonTrajectoryBuilder() {}
0032
0033
0034 virtual TrajectoryContainer trajectories(const TrajectorySeed&) = 0;
0035
0036
0037 virtual CandidateContainer trajectories(const TrackCand&) = 0;
0038
0039
0040 virtual void setEvent(const edm::Event& event) = 0;
0041
0042 private:
0043 };
0044 #endif