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 
25 
26 #include <vector>
27 
28 class DetLayer;
29 class GeomDet;
31 
33  public:
34  typedef std::vector<TrajectoryMeasurement> MeasurementContainer;
35  typedef std::pair<const GeomDet*,TrajectoryStateOnSurface> DetWithState;
36  typedef std::vector<GenericTransientTrackingRecHit::RecHitPointer> MTDRecHitContainer;
37 
40 
41  virtual ~MTDDetLayerMeasurements();
42 
43  // for a given det and state. Not clear when the fastMeasurements below
44  // should be used, since it isn't passed a GeomDet
45  MeasurementContainer
46  measurements( const DetLayer* layer,
47  const GeomDet * det,
48  const TrajectoryStateOnSurface& stateOnDet,
49  const MeasurementEstimator& est,
50  const edm::Event& iEvent);
51 
53  MeasurementContainer
54  measurements( const DetLayer* layer,
55  const TrajectoryStateOnSurface& startingState,
56  const Propagator& prop,
57  const MeasurementEstimator& est,
58  const edm::Event& iEvent);
59 
61  MeasurementContainer
62  fastMeasurements( const DetLayer* layer,
63  const TrajectoryStateOnSurface& theStateOnDet,
64  const TrajectoryStateOnSurface& startingState,
65  const Propagator& prop,
66  const MeasurementEstimator& est,
67  const edm::Event& iEvent);
68 
70  MeasurementContainer
71  measurements( const DetLayer* layer,
72  const TrajectoryStateOnSurface& startingState,
73  const Propagator& prop,
74  const MeasurementEstimator& est);
75 
77  MeasurementContainer
78  fastMeasurements( const DetLayer* layer,
79  const TrajectoryStateOnSurface& theStateOnDet,
80  const TrajectoryStateOnSurface& startingState,
81  const Propagator& prop,
82  const MeasurementEstimator& est);
83 
84  std::vector<TrajectoryMeasurementGroup>
85  groupedMeasurements( const DetLayer* layer,
86  const TrajectoryStateOnSurface& startingState,
87  const Propagator& prop,
88  const MeasurementEstimator& est,
89  const edm::Event& iEvent);
90 
91  std::vector<TrajectoryMeasurementGroup>
92  groupedMeasurements( const DetLayer* layer,
93  const TrajectoryStateOnSurface& startingState,
94  const Propagator& prop,
95  const MeasurementEstimator& est);
96 
97  void setEvent(const edm::Event &);
98 
100  MTDRecHitContainer recHits(const DetLayer* layer, const edm::Event& iEvent);
101 
103  MTDRecHitContainer recHits(const DetLayer* layer);
104 
105 
106  private:
107 
109  MTDRecHitContainer recHits(const GeomDet*, const edm::Event& iEvent);
110 
112  void checkEvent() const;
113 
114 
116 
117  // caches that should get filled once per event
119 
120  void checkMTDRecHits();
121 
122  // keeps track of which event the cache holds
124 
126 };
127 #endif
128 
unsigned long CacheIdentifier_t
Definition: Event.h:109
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