Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:33

0001 #ifndef LayerMeasurements_H
0002 #define LayerMeasurements_H
0003 
0004 #include "TrackingTools/MeasurementDet/interface/MeasurementDetSystem.h"
0005 #include "DataFormats/TrackerRecHit2D/interface/BaseTrackerRecHit.h"
0006 
0007 #include <vector>
0008 
0009 class TrajectoryStateOnSurface;
0010 class Propagator;
0011 class MeasurementEstimator;
0012 class TrajectoryMeasurement;
0013 class TrajectoryMeasurementGroup;
0014 class MeasurementTrackerEvent;
0015 class DetLayer;
0016 class DetGroup;
0017 
0018 class LayerMeasurements {
0019 public:
0020   LayerMeasurements(const MeasurementDetSystem& detSystem, const MeasurementTrackerEvent& data)
0021       : detSystem_(detSystem), data_(data) {}
0022 
0023   // return just valid hits, no sorting (for seeding mostly)
0024   std::vector<BaseTrackerRecHit*> recHits(const DetLayer& layer,
0025                                           const TrajectoryStateOnSurface& startingState,
0026                                           const Propagator& prop,
0027                                           const MeasurementEstimator& est) const;
0028 
0029   std::vector<TrajectoryMeasurement> measurements(const DetLayer& layer,
0030                                                   const TrajectoryStateOnSurface& startingState,
0031                                                   const Propagator& prop,
0032                                                   const MeasurementEstimator& est) const;
0033 
0034   std::vector<TrajectoryMeasurementGroup> groupedMeasurements(const DetLayer& layer,
0035                                                               const TrajectoryStateOnSurface& startingState,
0036                                                               const Propagator& prop,
0037                                                               const MeasurementEstimator& est) const;
0038 
0039   MeasurementDetWithData idToDet(const DetId& id) const { return detSystem_.idToDet(id, data_); }
0040 
0041 private:
0042   MeasurementDetSystem const& detSystem_;
0043   MeasurementTrackerEvent const& data_;
0044 };
0045 
0046 #endif