CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SimpleMTFHitCollector.h
Go to the documentation of this file.
1 #ifndef SiTrackerMRHTools_SimpleMTFHitCollector_h
2 #define SiTrackerMRHTools_SimpleMTFHitCollector_h
7 
8 #include <vector>
9 #include <map>
10 
11 class Propagator;
14 
16 
17 
19  public:
20  explicit SimpleMTFHitCollector(const MeasurementTracker* measurementTracker,
22  const MeasurementEstimator* est,
23  const Propagator* propagator
24  ):MultiTrackFilterHitCollector(measurementTracker), theUpdator(updator), theEstimator(est), thePropagator(propagator){}
25 
26 
28 
29  //given a trajectory it returns a collection
30  //of TSiTrackerMultiRecHits and InvalidTransientRecHits.
31  //For each measurement in the trajectory, measurements are looked for according to the
32  //MeasurementDet::fastMeasurements method only in the detector where the original measurement lays.
33  //If measurements are found a TSiTrackerMultiRecHit is built.
34  //All the components will lay on the same detector
35 
36  virtual std::vector<TrajectoryMeasurement> recHits(const std::map<int, std::vector<TrajectoryMeasurement> >& tmmap,
37  int i,
38  double annealing=1.) const;
39 
42  const Propagator* getPropagator() const {return thePropagator;}
43 
44  private:
45  //TransientTrackingRecHit::ConstRecHitContainer buildMultiRecHits(const std::vector<TrajectoryMeasurementGroup>& measgroup) const;
46  void buildMultiRecHits(const std::vector<std::pair<int, TrajectoryMeasurement> >& measgroup,
48  std::vector<TrajectoryMeasurement>& result,
49  double annealing=1.) const;
50 
51  void getMeasurements(std::vector<std::pair<int, TrajectoryMeasurement> >& layermeas,
52  const std::map<int, std::vector<TrajectoryMeasurement> >& tmmap,
53  TrajectoryMeasurement& pmeas,
54  int i) const;
55 
56  MultiTrajectoryMeasurement getTSOS(const std::vector<std::pair<int, TrajectoryMeasurement> >& layermeas,
58  int i) const;
59 
60  MultiTrajectoryMeasurement TSOSfinder(const std::map<int, std::vector<TrajectoryMeasurement> >& tmmap,
61  TrajectoryMeasurement& pmeas,
62  int i) const;
63  private:
66  //this actually is not used in the fastMeasurement method
68 
69 
70 
71 };
72 
73 
74 #endif
int i
Definition: DBlmapReader.cc:9
const MeasurementEstimator * getEstimator() const
TrajectoryStateOnSurface TSOS
MultiTrajectoryMeasurement TSOSfinder(const std::map< int, std::vector< TrajectoryMeasurement > > &tmmap, TrajectoryMeasurement &pmeas, int i) const
dictionary map
Definition: Association.py:160
virtual std::vector< TrajectoryMeasurement > recHits(const std::map< int, std::vector< TrajectoryMeasurement > > &tmmap, int i, double annealing=1.) const
tuple result
Definition: query.py:137
const SiTrackerMultiRecHitUpdatorMTF * theUpdator
MultiTrajectoryMeasurement getTSOS(const std::vector< std::pair< int, TrajectoryMeasurement > > &layermeas, TransientTrackingRecHit::ConstRecHitPointer rechit, int i) const
const Propagator * getPropagator() const
const MeasurementEstimator * theEstimator
void buildMultiRecHits(const std::vector< std::pair< int, TrajectoryMeasurement > > &measgroup, MultiTrajectoryMeasurement *mtm, std::vector< TrajectoryMeasurement > &result, double annealing=1.) const
const SiTrackerMultiRecHitUpdatorMTF * getUpdator() const
void getMeasurements(std::vector< std::pair< int, TrajectoryMeasurement > > &layermeas, const std::map< int, std::vector< TrajectoryMeasurement > > &tmmap, TrajectoryMeasurement &pmeas, int i) const
SimpleMTFHitCollector(const MeasurementTracker *measurementTracker, const SiTrackerMultiRecHitUpdatorMTF *updator, const MeasurementEstimator *est, const Propagator *propagator)
const Propagator * thePropagator