CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/RecoMuon/TrackingTools/interface/MuonTrajectoryBuilder.h

Go to the documentation of this file.
00001 #ifndef RecoMuon_TrackingTools_MuonTrajectoryBuilder_H
00002 #define RecoMuon_TrackingTools_MuonTrajectoryBuilder_H
00003 
00012 #include "TrackingTools/PatternTools/interface/Trajectory.h"
00013 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00014 #include "RecoMuon/TrackingTools/interface/MuonCandidate.h"
00015 #include <vector>
00016 
00017 namespace edm {class Event;}
00018 
00019 class TrajectorySeed;
00020 
00021 class MuonTrajectoryBuilder {
00022 
00023   public:
00024   
00025     typedef MuonCandidate::TrajectoryContainer TrajectoryContainer;
00026     typedef MuonCandidate::CandidateContainer CandidateContainer;
00027     typedef std::pair<const Trajectory*, reco::TrackRef> TrackCand;
00028 
00030     MuonTrajectoryBuilder() {}
00031   
00033     virtual ~MuonTrajectoryBuilder() {}
00034 
00036     virtual TrajectoryContainer trajectories(const TrajectorySeed&) = 0;
00037 
00039     virtual CandidateContainer trajectories(const TrackCand&) = 0;
00040 
00042     virtual void setEvent(const edm::Event& event) = 0;
00043   
00044  private:
00045 };
00046 #endif