CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CkfTrajectoryBuilder.h
Go to the documentation of this file.
1 #ifndef CkfTrajectoryBuilder_H
2 #define CkfTrajectoryBuilder_H
3 
4 #include <vector>
5 
6 class Propagator;
9 class TrajectorySeed;
11 class TrajectoryFilter;
12 
17 
21 
23 
27 
28 #include <map>
29 #include <boost/unordered_map.hpp>
30 
32 class TrajectoryFilter;
33 
35 
36 public:
37 
38  typedef std::vector<Trajectory> TrajectoryContainer;
39  typedef std::vector<TempTrajectory> TempTrajectoryContainer;
40 
42  const TrajectoryStateUpdator* updator,
43  const Propagator* propagatorAlong,
44  const Propagator* propagatorOpposite,
45  const Chi2MeasurementEstimatorBase* estimator,
46  const TransientTrackingRecHitBuilder* recHitBuilder,
47  const TrajectoryFilter* filter);
48 
50 
51  // Return a clone of this, with the data pointer set
54  ret->setData(data);
55  return ret;
56  }
57 
59  virtual TrajectoryContainer trajectories(const TrajectorySeed& seed) const;
61  virtual void trajectories(const TrajectorySeed& seed, TrajectoryContainer &ret) const;
62 
63  // new interface returning the start Trajectory...
66  const TrajectoryFilter*) const;
67 
68 
69  void rebuildTrajectories(TempTrajectory const& startingTraj, const TrajectorySeed&,
70  TrajectoryContainer& result) const {}
71 
73  // virtual void setEvent(const edm::Event& event) const;
74 
75 
76 
77  protected:
78  int theMaxCand;
84 
85 
86  protected:
87  virtual void findCompatibleMeasurements(const TrajectorySeed&seed, const TempTrajectory& traj, std::vector<TrajectoryMeasurement> & result) const;
88 
89  void limitedCandidates(const TrajectorySeed&seed, TempTrajectory& startingTraj, TrajectoryContainer& result) const;
90  void limitedCandidates(const boost::shared_ptr<const TrajectorySeed> & sharedSeed, TempTrajectoryContainer &candidates, TrajectoryContainer& result) const;
91 
92  void updateTrajectory( TempTrajectory& traj, const TM& tm) const;
93 
94  /*
95  //not mature for integration.
96  bool theSharedSeedCheck;
97  std::string theUniqueName;
98  void rememberSeedAndTrajectories(const TrajectorySeed& seed,TrajectoryContainer &result) const;
99  bool seedAlreadyUsed(const TrajectorySeed& seed,TempTrajectoryContainer &candidates) const;
100  bool sharedSeed(const TrajectorySeed& seed1,const TrajectorySeed& seed2) const;
101  // mutable TempTrajectoryContainer theCachedTrajectories;
102  typedef boost::unordered_multimap<uint32_t,TempTrajectory> SharedTrajectory;
103  mutable SharedTrajectory theCachedTrajectories;
104  */
105 };
106 
107 #endif
std::vector< Trajectory > TrajectoryContainer
void setData(const MeasurementTrackerEvent *data)
CkfTrajectoryBuilder(const edm::ParameterSet &conf, const TrajectoryStateUpdator *updator, const Propagator *propagatorAlong, const Propagator *propagatorOpposite, const Chi2MeasurementEstimatorBase *estimator, const TransientTrackingRecHitBuilder *recHitBuilder, const TrajectoryFilter *filter)
void rebuildTrajectories(TempTrajectory const &startingTraj, const TrajectorySeed &, TrajectoryContainer &result) const
TempTrajectory buildTrajectories(const TrajectorySeed &, TrajectoryContainer &ret, const TrajectoryFilter *) const
std::vector< TempTrajectory > TempTrajectoryContainer
tuple result
Definition: query.py:137
virtual CkfTrajectoryBuilder * clone(const MeasurementTrackerEvent *data) const
tuple conf
Definition: dbtoconf.py:185
void updateTrajectory(TempTrajectory &traj, const TM &tm) const
virtual TrajectoryContainer trajectories(const TrajectorySeed &seed) const
trajectories building starting from a seed
std::vector< TempTrajectory > TempTrajectoryContainer
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
virtual void findCompatibleMeasurements(const TrajectorySeed &seed, const TempTrajectory &traj, std::vector< TrajectoryMeasurement > &result) const
int theMaxCand
set Event for the internal MeasurementTracker data member
std::vector< Trajectory > TrajectoryContainer
void limitedCandidates(const TrajectorySeed &seed, TempTrajectory &startingTraj, TrajectoryContainer &result) const