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 MeasurementTracker* measurementTracker,
48  const TrajectoryFilter* filter);
49 
51 
53  virtual TrajectoryContainer trajectories(const TrajectorySeed& seed) const;
55  virtual void trajectories(const TrajectorySeed& seed, TrajectoryContainer &ret) const;
56 
57  // new interface returning the start Trajectory...
60  const TrajectoryFilter*) const;
61 
62 
63  void rebuildTrajectories(TempTrajectory const& startingTraj, const TrajectorySeed&,
64  TrajectoryContainer& result) const {}
65 
67  // virtual void setEvent(const edm::Event& event) const;
68 
69 
70 
71  protected:
72  int theMaxCand;
78 
79 
80  protected:
81  virtual void findCompatibleMeasurements(const TrajectorySeed&seed, const TempTrajectory& traj, std::vector<TrajectoryMeasurement> & result) const;
82 
83  void limitedCandidates(const TrajectorySeed&seed, TempTrajectory& startingTraj, TrajectoryContainer& result) const;
84  void limitedCandidates(const boost::shared_ptr<const TrajectorySeed> & sharedSeed, TempTrajectoryContainer &candidates, TrajectoryContainer& result) const;
85 
86  void updateTrajectory( TempTrajectory& traj, const TM& tm) const;
87 
88  /*
89  //not mature for integration.
90  bool theSharedSeedCheck;
91  std::string theUniqueName;
92  void rememberSeedAndTrajectories(const TrajectorySeed& seed,TrajectoryContainer &result) const;
93  bool seedAlreadyUsed(const TrajectorySeed& seed,TempTrajectoryContainer &candidates) const;
94  bool sharedSeed(const TrajectorySeed& seed1,const TrajectorySeed& seed2) const;
95  // mutable TempTrajectoryContainer theCachedTrajectories;
96  typedef boost::unordered_multimap<uint32_t,TempTrajectory> SharedTrajectory;
97  mutable SharedTrajectory theCachedTrajectories;
98  */
99 };
100 
101 #endif
std::vector< Trajectory > TrajectoryContainer
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
CkfTrajectoryBuilder(const edm::ParameterSet &conf, const TrajectoryStateUpdator *updator, const Propagator *propagatorAlong, const Propagator *propagatorOpposite, const Chi2MeasurementEstimatorBase *estimator, const TransientTrackingRecHitBuilder *recHitBuilder, const MeasurementTracker *measurementTracker, const TrajectoryFilter *filter)
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
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