Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:55

0001 #ifndef RecoTracker_TkSeedingLayers_SeedComparitor_H
0002 #define RecoTracker_TkSeedingLayers_SeedComparitor_H
0003 
0004 /** \class SeedComparitor 
0005  * Base class for comparing a set of tracking seeds for compatibility.  This can
0006  * then be used to cleanup bad seeds.  Currently forseen are child classes that use
0007  * PixelStubs and Ferenc Sikler's similar objects for low Pt tracks.
0008  *  \author Aaron Dominguez (UNL)
0009  */
0010 
0011 #include "SeedingHitSet.h"
0012 
0013 class TrajectorySeed;
0014 class TrackingRegion;
0015 class TrajectoryStateOnSurface;
0016 class FastHelix;
0017 class GlobalTrajectoryParameters;
0018 
0019 namespace edm {
0020   class Event;
0021   class EventSetup;
0022   class ConsumesCollector;
0023 }  // namespace edm
0024 
0025 class SeedComparitor {
0026 public:
0027   virtual ~SeedComparitor() {}
0028   virtual void init(const edm::Event &ev, const edm::EventSetup &es) = 0;
0029   virtual bool compatible(const SeedingHitSet &hits) const = 0;
0030   virtual bool compatible(const TrajectoryStateOnSurface &, SeedingHitSet::ConstRecHitPointer hit) const = 0;
0031   virtual bool compatible(const SeedingHitSet &hits,
0032                           const GlobalTrajectoryParameters &helixStateAtVertex,
0033                           const FastHelix &helix) const = 0;
0034 };
0035 
0036 #endif