00001 #ifndef RecoMuon_TrackFinder_StandAloneTrajectoryBuilder_H 00002 #define RecoMuon_TrackFinder_StandAloneTrajectoryBuilder_H 00003 00012 #include "RecoMuon/TrackingTools/interface/MuonTrajectoryBuilder.h" 00013 00014 #include "RecoMuon/TrackingTools/interface/RecoMuonEnumerators.h" 00015 00016 00017 class TrajectorySeed; 00018 class StandAloneMuonFilter; 00019 class StandAloneMuonBackwardFilter; 00020 class StandAloneMuonRefitter; 00021 class MuonServiceProxy; 00022 00023 namespace edm {class ParameterSet;} 00024 00025 class StandAloneMuonTrajectoryBuilder : public MuonTrajectoryBuilder{ 00026 00027 public: 00028 typedef std::pair<const DetLayer*,TrajectoryStateOnSurface> DetLayerWithState; 00029 00030 public: 00032 StandAloneMuonTrajectoryBuilder(const edm::ParameterSet&, const MuonServiceProxy*); 00033 00035 virtual ~StandAloneMuonTrajectoryBuilder(); 00036 00037 // Returns a vector of the reconstructed trajectories compatible with 00038 // the given seed. 00039 TrajectoryContainer trajectories(const TrajectorySeed&); 00040 00042 virtual CandidateContainer trajectories(const TrackCand&) {return CandidateContainer();} 00043 00045 StandAloneMuonFilter* filter() const {return theFilter;} 00046 00048 StandAloneMuonFilter* bwfilter() const {return theBWFilter;} 00049 00051 StandAloneMuonRefitter* refitter() const {return theRefitter;} 00052 00054 virtual void setEvent(const edm::Event& event); 00055 00056 protected: 00057 00058 private: 00059 00060 DetLayerWithState propagateTheSeedTSOS(const TrajectorySeed& seed); 00061 00062 private: 00063 00066 std::string theNavigationType; 00067 00068 recoMuon::SeedPosition theSeedPosition; 00069 00071 std::string theSeedPropagatorName; 00072 00073 StandAloneMuonFilter* theFilter; 00074 StandAloneMuonFilter* theBWFilter; 00075 // FIXME 00076 // StandAloneMuonBackwardFilter* theBWFilter; 00077 StandAloneMuonRefitter* theRefitter; 00078 00079 bool doBackwardFilter; 00080 bool doRefit; 00081 std::string theBWSeedType; 00082 00083 const MuonServiceProxy *theService; 00084 }; 00085 #endif