00001 #ifndef MuonSeedGenerator_MuonOverlapSeedFromRecHits_h
00002 #define MuonSeedGenerator_MuonOverlapSeedFromRecHits_h
00003
00004 #include "RecoMuon/MuonSeedGenerator/src/MuonSeedFromRecHits.h"
00005 #include <map>
00006
00007 class MuonOverlapSeedFromRecHits : public MuonSeedFromRecHits
00008 {
00009 public:
00010
00011 MuonOverlapSeedFromRecHits();
00012 virtual ~MuonOverlapSeedFromRecHits() {}
00013
00014 std::vector<TrajectorySeed> seeds() const;
00015
00016 bool makeSeed(MuonTransientTrackingRecHit::ConstMuonRecHitPointer barrelHit,
00017 MuonTransientTrackingRecHit::ConstMuonRecHitPointer endcapHit,
00018 TrajectorySeed & result) const;
00019
00020 bool makeSeed2(MuonTransientTrackingRecHit::ConstMuonRecHitPointer barrelHit,
00021 MuonTransientTrackingRecHit::ConstMuonRecHitPointer endcapHit,
00022 TrajectorySeed & result) const;
00023
00024
00025 private:
00026
00027 void fillConstants(int dtStation, int cscChamberType, double c1, double c2);
00028
00029
00030 bool makeSeed(const MuonRecHitContainer & barrelHits,
00031 const MuonRecHitContainer & endcapHits,
00032 TrajectorySeed & seed) const;
00033
00034 typedef std::map< std::pair<int, int>, std::pair<double, double> > ConstantsMap;
00035 ConstantsMap theConstantsMap;
00036 };
00037
00038 #endif
00039