CMS 3D CMS Logo

StandAloneTrajectoryBuilder.h

Go to the documentation of this file.
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

Generated on Tue Jun 9 17:44:31 2009 for CMSSW by  doxygen 1.5.4