Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:27:33

0001 #ifndef MeasurementTracker_H
0002 #define MeasurementTracker_H
0003 
0004 #include "TrackingTools/MeasurementDet/interface/MeasurementDetSystem.h"
0005 #include "DataFormats/DetId/interface/DetId.h"
0006 
0007 #include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h"
0008 
0009 #include "FWCore/Framework/interface/Event.h"
0010 #include "DataFormats/Common/interface/Handle.h"
0011 
0012 // backward compatibility
0013 #include "FWCore/Framework/interface/ESHandle.h"
0014 
0015 class SiStripRecHitMatcher;
0016 class StMeasurementConditionSet;
0017 class PxMeasurementConditionSet;
0018 class Phase2OTMeasurementConditionSet;
0019 class TrackerGeometry;
0020 
0021 class MeasurementTracker : public MeasurementDetSystem {
0022 public:
0023   enum QualityFlags {
0024     BadModules = 1,  // for everybody
0025     /* Strips: */ BadAPVFibers = 2,
0026     BadStrips = 4,
0027     MaskBad128StripBlocks = 8,
0028     /* Pixels: */ BadROCs = 2
0029   };
0030 
0031   MeasurementTracker(TrackerGeometry const* trackerGeom, GeometricSearchTracker const* geometricSearchTracker)
0032       : theTrackerGeom(trackerGeom), theGeometricSearchTracker(geometricSearchTracker) {}
0033 
0034   ~MeasurementTracker() override;
0035 
0036   const TrackerGeometry* geomTracker() const { return theTrackerGeom; }
0037 
0038   const GeometricSearchTracker* geometricSearchTracker() const { return theGeometricSearchTracker; }
0039 
0040   /// MeasurementDetSystem interface
0041   MeasurementDetWithData idToDet(const DetId& id, const MeasurementTrackerEvent& data) const override = 0;
0042 
0043   /// Provide templates to be filled in
0044   virtual const StMeasurementConditionSet& stripDetConditions() const = 0;
0045   virtual const PxMeasurementConditionSet& pixelDetConditions() const = 0;
0046   virtual const Phase2OTMeasurementConditionSet& phase2DetConditions() const = 0;
0047 
0048 protected:
0049   const TrackerGeometry* theTrackerGeom;
0050   const GeometricSearchTracker* theGeometricSearchTracker;
0051 };
0052 
0053 #endif  // MeasurementTracker_H