00001 #ifndef RecoTracker_TkSeedingLayers_SeedComparitor_H 00002 #define RecoTracker_TkSeedingLayers_SeedComparitor_H 00003 00011 class TrajectorySeed; 00012 class SeedingHitSet; 00013 class TrackingRegion; 00014 class TrajectoryStateOnSurface; 00015 class FastHelix; 00016 class GlobalTrajectoryParameters; 00017 00018 namespace edm { class EventSetup; } 00019 00020 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h" 00021 00022 class SeedComparitor { 00023 public: 00024 virtual ~SeedComparitor() {} 00025 virtual void init(const edm::EventSetup& es) = 0; 00026 virtual bool compatible(const SeedingHitSet &hits, const TrackingRegion & region) const = 0; 00027 virtual bool compatible(const TrajectorySeed &seed) const = 0; 00028 virtual bool compatible(const TrajectoryStateOnSurface &, 00029 const TransientTrackingRecHit::ConstRecHitPointer &hit) const = 0; 00030 virtual bool compatible(const SeedingHitSet &hits, 00031 const GlobalTrajectoryParameters &helixStateAtVertex, 00032 const FastHelix &helix, 00033 const TrackingRegion & region) const = 0; 00034 virtual bool compatible(const SeedingHitSet &hits, 00035 const GlobalTrajectoryParameters &straightLineStateAtVertex, 00036 const TrackingRegion & region) const = 0; 00037 }; 00038 00039 #endif 00040