CMS 3D CMS Logo

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 
43 
45 
47  virtual TrajectoryContainer trajectories(const TrajectorySeed& seed) const override;
49  virtual void trajectories(const TrajectorySeed& seed, TrajectoryContainer &ret) const override;
50 
51  // new interface returning the start Trajectory...
53  TrajectoryContainer &ret,
54  const TrajectoryFilter*) const override;
55 
56 
57  void rebuildTrajectories(TempTrajectory const& startingTraj, const TrajectorySeed&,
58  TrajectoryContainer& result) const override {}
59 
61  // virtual void setEvent(const edm::Event& event) const;
62 
63 
64 
65  protected:
66  int theMaxCand;
72 
73 
74  protected:
75  void setEvent_(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
76 
77  virtual void findCompatibleMeasurements(const TrajectorySeed&seed, const TempTrajectory& traj, std::vector<TrajectoryMeasurement> & result) const;
78 
79  void limitedCandidates(const TrajectorySeed&seed, TempTrajectory& startingTraj, TrajectoryContainer& result) const;
80  void limitedCandidates(const boost::shared_ptr<const TrajectorySeed> & sharedSeed, TempTrajectoryContainer &candidates, TrajectoryContainer& result) const;
81 
82  void updateTrajectory( TempTrajectory& traj, TM && tm) const;
83 
84  /*
85  //not mature for integration.
86  bool theSharedSeedCheck;
87  std::string theUniqueName;
88  void rememberSeedAndTrajectories(const TrajectorySeed& seed,TrajectoryContainer &result) const;
89  bool seedAlreadyUsed(const TrajectorySeed& seed,TempTrajectoryContainer &candidates) const;
90  bool sharedSeed(const TrajectorySeed& seed1,const TrajectorySeed& seed2) const;
91  // mutable TempTrajectoryContainer theCachedTrajectories;
92  typedef boost::unordered_multimap<uint32_t,TempTrajectory> SharedTrajectory;
93  mutable SharedTrajectory theCachedTrajectories;
94  */
95 };
96 
97 #endif
std::vector< Trajectory > TrajectoryContainer
TempTrajectory buildTrajectories(const TrajectorySeed &, TrajectoryContainer &ret, const TrajectoryFilter *) const override
virtual TrajectoryContainer trajectories(const TrajectorySeed &seed) const override
trajectories building starting from a seed
CkfTrajectoryBuilder(const edm::ParameterSet &conf, edm::ConsumesCollector &iC)
std::vector< TempTrajectory > TempTrajectoryContainer
int iEvent
Definition: GenABIO.cc:230
void rebuildTrajectories(TempTrajectory const &startingTraj, const TrajectorySeed &, TrajectoryContainer &result) const override
virtual void findCompatibleMeasurements(const TrajectorySeed &seed, const TempTrajectory &traj, std::vector< TrajectoryMeasurement > &result) const
void updateTrajectory(TempTrajectory &traj, TM &&tm) const
void setEvent_(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
int theMaxCand
set Event for the internal MeasurementTracker data member
void limitedCandidates(const TrajectorySeed &seed, TempTrajectory &startingTraj, TrajectoryContainer &result) const