CMS 3D CMS Logo

MTDDetLayerMeasurements.h
Go to the documentation of this file.
1 #ifndef MeasurementDet_MTDDetLayerMeasurements_H
2 #define MeasurementDet_MTDDetLayerMeasurements_H
3 
20 
23 
24 #include <vector>
25 
26 class DetLayer;
27 class GeomDet;
29 
31 public:
32  typedef std::vector<TrajectoryMeasurement> MeasurementContainer;
33  typedef std::pair<const GeomDet*, TrajectoryStateOnSurface> DetWithState;
34  typedef std::vector<GenericTransientTrackingRecHit::RecHitPointer> MTDRecHitContainer;
35 
37 
38  virtual ~MTDDetLayerMeasurements();
39 
40  // for a given det and state. Not clear when the fastMeasurements below
41  // should be used, since it isn't passed a GeomDet
42  MeasurementContainer measurements(const DetLayer* layer,
43  const GeomDet* det,
44  const TrajectoryStateOnSurface& stateOnDet,
45  const MeasurementEstimator& est,
46  const edm::Event& iEvent);
47 
49  MeasurementContainer measurements(const DetLayer* layer,
50  const TrajectoryStateOnSurface& startingState,
51  const Propagator& prop,
52  const MeasurementEstimator& est,
53  const edm::Event& iEvent);
54 
56  MeasurementContainer fastMeasurements(const DetLayer* layer,
57  const TrajectoryStateOnSurface& theStateOnDet,
58  const TrajectoryStateOnSurface& startingState,
59  const Propagator& prop,
60  const MeasurementEstimator& est,
61  const edm::Event& iEvent);
62 
64  MeasurementContainer measurements(const DetLayer* layer,
65  const TrajectoryStateOnSurface& startingState,
66  const Propagator& prop,
67  const MeasurementEstimator& est);
68 
70  MeasurementContainer fastMeasurements(const DetLayer* layer,
71  const TrajectoryStateOnSurface& theStateOnDet,
72  const TrajectoryStateOnSurface& startingState,
73  const Propagator& prop,
74  const MeasurementEstimator& est);
75 
76  std::vector<TrajectoryMeasurementGroup> groupedMeasurements(const DetLayer* layer,
77  const TrajectoryStateOnSurface& startingState,
78  const Propagator& prop,
79  const MeasurementEstimator& est,
80  const edm::Event& iEvent);
81 
82  std::vector<TrajectoryMeasurementGroup> groupedMeasurements(const DetLayer* layer,
83  const TrajectoryStateOnSurface& startingState,
84  const Propagator& prop,
85  const MeasurementEstimator& est);
86 
87  void setEvent(const edm::Event&);
88 
90  MTDRecHitContainer recHits(const DetLayer* layer, const edm::Event& iEvent);
91 
93  MTDRecHitContainer recHits(const DetLayer* layer);
94 
95 private:
97  MTDRecHitContainer recHits(const GeomDet*, const edm::Event& iEvent);
98 
100  void checkEvent() const;
101 
103 
104  // caches that should get filled once per event
106 
107  void checkMTDRecHits();
108 
109  // keeps track of which event the cache holds
111 
113 };
114 #endif
unsigned long CacheIdentifier_t
Definition: Event.h:115
MTDRecHitContainer recHits(const DetLayer *layer, const edm::Event &iEvent)
returns the rechits which are on the layer
std::vector< TrajectoryMeasurement > MeasurementContainer
void checkEvent() const
check that the event is set, and throw otherwise
edm::Event::CacheIdentifier_t theMTDEventCacheID
std::vector< TrajectoryMeasurementGroup > groupedMeasurements(const DetLayer *layer, const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, const edm::Event &iEvent)
void setEvent(const edm::Event &)
set event
MeasurementContainer fastMeasurements(const DetLayer *layer, const TrajectoryStateOnSurface &theStateOnDet, const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, const edm::Event &iEvent)
faster version in case the TrajectoryState on the surface of the GeomDet is already available ...
int iEvent
Definition: GenABIO.cc:224
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
MeasurementContainer measurements(const DetLayer *layer, const GeomDet *det, const TrajectoryStateOnSurface &stateOnDet, const MeasurementEstimator &est, const edm::Event &iEvent)
edm::Handle< edmNew::DetSetVector< MTDTrackingRecHit > > theMTDRecHits
edm::EDGetTokenT< MTDTrackingRecHit > mtdToken_
MTDDetLayerMeasurements(edm::InputTag mtdlabel, edm::ConsumesCollector &iC)
std::vector< GenericTransientTrackingRecHit::RecHitPointer > MTDRecHitContainer