Go to the documentation of this file.00001 #ifndef RecoMuon_TrackingTools_MuonCandidate_H
00002 #define RecoMuon_TrackingTools_MuonCandidate_H
00003
00012 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00013 #include "TrackingTools/PatternTools/interface/Trajectory.h"
00014 #include <vector>
00015
00016
00017 class MuonCandidate {
00018
00019 public:
00020
00021 typedef std::vector<Trajectory*> TrajectoryContainer;
00022 typedef std::vector<MuonCandidate*> CandidateContainer;
00023
00024 public:
00025
00027 MuonCandidate(Trajectory* traj,
00028 const reco::TrackRef& muon,
00029 const reco::TrackRef& tracker,
00030 Trajectory* trackerTraj) :
00031 theTrajectory(traj), theMuonTrack(muon), theTrackerTrack(tracker), theTrackerTrajectory(trackerTraj) {}
00032
00033 MuonCandidate(Trajectory* traj,
00034 const reco::TrackRef& muon,
00035 const reco::TrackRef& tracker) :
00036 theTrajectory(traj), theMuonTrack(muon), theTrackerTrack(tracker), theTrackerTrajectory(0) {}
00037
00039 virtual ~MuonCandidate() { }
00040
00042 Trajectory* trajectory() const { return theTrajectory; }
00043
00045 const reco::TrackRef muonTrack() const { return theMuonTrack; }
00046
00048 const reco::TrackRef trackerTrack() const { return theTrackerTrack; }
00049
00051 Trajectory* trackerTrajectory() const { return theTrackerTrajectory; }
00052
00053 private:
00054
00055 Trajectory* theTrajectory;
00056 reco::TrackRef theMuonTrack;
00057 reco::TrackRef theTrackerTrack;
00058 Trajectory* theTrackerTrajectory;
00059
00060 };
00061 #endif