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
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