-
Notifications
You must be signed in to change notification settings - Fork 4.2k
/
GroupedDAFHitCollector.h
56 lines (43 loc) · 2 KB
/
GroupedDAFHitCollector.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/** \class GroupedDAFHitCollector
* Returns a collection of SiTrackerMultiRecHits and InvalidRecHits given a Trajectory.
* Builds a SiTrackerMultiRecHit for each detGroup
* (i.e. a group of detectors mutually exclusive for the track's crossing point)
*
* \author tropiano, genta
* \review in May 2014 by brondolin
*/
#ifndef SiTrackerMRHTools_GroupedDAFHitCollector_h
#define SiTrackerMRHTools_GroupedDAFHitCollector_h
#include "TrackingTools/MeasurementDet/interface/LayerMeasurements.h"
#include "RecoTracker/SiTrackerMRHTools/interface/MultiRecHitCollector.h"
#include <vector>
class Propagator;
class MeasurementEstimator;
class MeasurementTracker;
class SiTrackerMultiRecHitUpdator;
class GroupedDAFHitCollector :public MultiRecHitCollector {
public:
explicit GroupedDAFHitCollector(const MeasurementTracker* measurementTracker,
const SiTrackerMultiRecHitUpdator* updator,
const MeasurementEstimator* est,
const Propagator* propagator,
const Propagator* reversePropagator, bool debug):
MultiRecHitCollector(measurementTracker), theUpdator(updator),
theEstimator(est), thePropagator(propagator), theReversePropagator(reversePropagator), debug_(debug){}
virtual ~GroupedDAFHitCollector(){}
virtual std::vector<TrajectoryMeasurement> recHits(const Trajectory&,
const MeasurementTrackerEvent *theMT) const;
const SiTrackerMultiRecHitUpdator* getUpdator() const {return theUpdator;}
const MeasurementEstimator* getEstimator() const {return theEstimator;}
const Propagator* getPropagator() const {return thePropagator;}
const Propagator* getReversePropagator() const {return theReversePropagator;}
private:
void buildMultiRecHits(const std::vector<TrajectoryMeasurementGroup>& measgroup,
std::vector<TrajectoryMeasurement>& result) const;
const SiTrackerMultiRecHitUpdator* theUpdator;
const MeasurementEstimator* theEstimator;
const Propagator* thePropagator;
const Propagator* theReversePropagator;
const bool debug_;
};
#endif