CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/RecoTracker/TkSeedingLayers/src/HitExtractorSTRP.h

Go to the documentation of this file.
00001 #ifndef RecoTracker_TkSeedingLayers_HitExtractorSTRP_H
00002 #define RecoTracker_TkSeedingLayers_HitExtractorSTRP_H
00003 
00004 #include "RecoTracker/TkSeedingLayers/interface/SeedingLayer.h"
00005 #include "FWCore/Utilities/interface/InputTag.h"
00006 #include "HitExtractor.h"
00007 
00008 #include <vector>
00009 class DetLayer;
00010 
00011 
00012 namespace ctfseeding {
00013 
00014 class HitExtractorSTRP : public HitExtractor {
00015 
00016 public:
00017   HitExtractorSTRP( const DetLayer* detLayer,  SeedingLayer::Side & side, int idLayer);
00018   virtual ~HitExtractorSTRP(){}
00019 
00020   virtual HitExtractor::Hits hits( const SeedingLayer & sl, const edm::Event& , const edm::EventSetup& ) const;
00021   virtual HitExtractorSTRP * clone() const { return new HitExtractorSTRP(*this); }
00022 
00023   void useMatchedHits( const edm::InputTag & m) { hasMatchedHits = true; theMatchedHits = m; }
00024   void useRPhiHits(    const edm::InputTag & m) { hasRPhiHits    = true; theRPhiHits = m; }
00025   void useStereoHits(  const edm::InputTag & m) { hasStereoHits = true; theStereoHits = m; }
00026   void useRingSelector(int minRing, int maxRing);
00027   void useSimpleRphiHitsCleaner(bool use) {hasSimpleRphiHitsCleaner = use;}
00028 
00029 private:
00030   bool ringRange(int ring) const;
00031 private:
00032   const DetLayer * theLayer;
00033   SeedingLayer::Side theSide;
00034   int theIdLayer;
00035   bool hasMatchedHits; edm::InputTag theMatchedHits;
00036   bool hasRPhiHits;    edm::InputTag theRPhiHits;
00037   bool hasStereoHits;  edm::InputTag theStereoHits;
00038   bool hasRingSelector; int theMinRing, theMaxRing; 
00039   bool hasSimpleRphiHitsCleaner;
00040 };
00041 
00042 }
00043 #endif