CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/RecoTracker/MeasurementDet/interface/MeasurementTracker.h

Go to the documentation of this file.
00001 #ifndef MeasurementTracker_H
00002 #define MeasurementTracker_H
00003 
00004 #include "TrackingTools/MeasurementDet/interface/MeasurementDetSystem.h"
00005 #include "DataFormats/DetId/interface/DetId.h"
00006 
00007 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
00008 #include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h"
00009 
00010 #include "FWCore/Framework/interface/Event.h"
00011 #include "DataFormats/Common/interface/Handle.h"
00012 
00013 // backward compatibility
00014 #include "FWCore/Framework/interface/ESHandle.h"
00015 
00016 class SiStripRecHitMatcher;
00017 
00018 
00019 class MeasurementTracker : public MeasurementDetSystem {
00020 public:
00021    enum QualityFlags { BadModules=1, // for everybody
00022                        /* Strips: */ BadAPVFibers=2, BadStrips=4, MaskBad128StripBlocks=8, 
00023                        /* Pixels: */ BadROCs=2 }; 
00024 
00025   MeasurementTracker(TrackerGeometry const *  trackerGeom,
00026                      GeometricSearchTracker const * geometricSearchTracker) : 
00027     theTrackerGeom(trackerGeom), theGeometricSearchTracker(geometricSearchTracker) {}
00028 
00029 
00030 
00031   virtual ~MeasurementTracker();
00032  
00033   virtual void update( const edm::Event&) const =0;
00034   virtual void updatePixels( const edm::Event&) const =0;
00035   virtual void updateStrips( const edm::Event&) const =0;
00036 
00037   const TrackingGeometry* geomTracker() const { return theTrackerGeom;}
00038 
00039   const GeometricSearchTracker* geometricSearchTracker() const {return theGeometricSearchTracker;}
00040 
00042   virtual const MeasurementDet*       idToDet(const DetId& id) const =0;
00043 
00044 
00045   virtual void setClusterToSkip(const edm::InputTag & cluster, const edm::Event& event) const=0;
00046   virtual void unsetClusterToSkip() const=0;
00047 
00048 
00049 protected:
00050   const TrackerGeometry*                theTrackerGeom;
00051   const GeometricSearchTracker*         theGeometricSearchTracker;
00052 
00053 
00054 };
00055 
00056 #endif // MeasurementTracker_H