File indexing completed on 2023-03-17 11:22:21
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
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,
0025 BadAPVFibers = 2,
0026 BadStrips = 4,
0027 MaskBad128StripBlocks = 8,
0028 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
0041 MeasurementDetWithData idToDet(const DetId& id, const MeasurementTrackerEvent& data) const override = 0;
0042
0043
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