00001 #ifndef RecoMuon_TrackingTools_DirectMuonTrajectoryBuilder_H 00002 #define RecoMuon_TrackingTools_DirectMuonTrajectoryBuilder_H 00003 00012 #include "TrackingTools/PatternTools/interface/Trajectory.h" 00013 #include "RecoMuon/TrackingTools/interface/MuonCandidate.h" 00014 #include "RecoMuon/TrackingTools/interface/MuonTrajectoryBuilder.h" 00015 #include <vector> 00016 00017 class MuonServiceProxy; 00018 class SeedTransformer; 00019 class TrajectorySeed; 00020 00021 namespace edm {class ParameterSet;} 00022 00023 class DirectMuonTrajectoryBuilder: public MuonTrajectoryBuilder { 00024 00025 public: 00026 00028 DirectMuonTrajectoryBuilder(const edm::ParameterSet&, 00029 const MuonServiceProxy*); 00030 00032 virtual ~DirectMuonTrajectoryBuilder(); 00033 00035 virtual TrajectoryContainer trajectories(const TrajectorySeed&); 00036 00038 virtual CandidateContainer trajectories(const TrackCand&); 00039 00041 virtual void setEvent(const edm::Event& event); 00042 00043 private: 00044 const MuonServiceProxy *theService; 00045 SeedTransformer* theSeedTransformer; 00046 }; 00047 #endif