CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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 
16 
20 
22 
26 
27 #include <map>
28 
30 class TrajectoryFilter;
31 
33 public:
34  typedef std::vector<Trajectory> TrajectoryContainer;
35  typedef std::vector<TempTrajectory> TempTrajectoryContainer;
36 
40  std::unique_ptr<TrajectoryFilter> filter);
41 
42  ~CkfTrajectoryBuilder() override {}
43 
45  TrajectoryContainer trajectories(const TrajectorySeed& seed) const override;
47  void trajectories(const TrajectorySeed& seed, TrajectoryContainer& ret) const override;
48 
49  // new interface returning the start Trajectory...
52  unsigned int& nCandPerSeed,
53  const TrajectoryFilter*) const override;
54 
55  void rebuildTrajectories(TempTrajectory const& startingTraj,
56  const TrajectorySeed&,
57  TrajectoryContainer& result) const override {}
58 
60  // virtual void setEvent(const edm::Event& event) const;
61 
62 protected:
63  int theMaxCand;
69 
70 protected:
71  void setEvent_(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
72 
74  const TempTrajectory& traj,
75  std::vector<TrajectoryMeasurement>& result) const;
76 
77  unsigned int limitedCandidates(const TrajectorySeed& seed,
78  TempTrajectory& startingTraj,
80  unsigned int limitedCandidates(const std::shared_ptr<const TrajectorySeed>& sharedSeed,
83 
84  void updateTrajectory(TempTrajectory& traj, TM&& tm) const;
85 
86  /*
87  //not mature for integration.
88  bool theSharedSeedCheck;
89  std::string theUniqueName;
90  void rememberSeedAndTrajectories(const TrajectorySeed& seed,TrajectoryContainer &result) const;
91  bool seedAlreadyUsed(const TrajectorySeed& seed,TempTrajectoryContainer &candidates) const;
92  bool sharedSeed(const TrajectorySeed& seed1,const TrajectorySeed& seed2) const;
93  // mutable TempTrajectoryContainer theCachedTrajectories;
94  typedef boost::unordered_multimap<uint32_t,TempTrajectory> SharedTrajectory;
95  mutable SharedTrajectory theCachedTrajectories;
96  */
97 };
98 
99 #endif
tuple ret
prodAgent to be discontinued
std::vector< Trajectory > TrajectoryContainer
CkfTrajectoryBuilder(const edm::ParameterSet &conf, edm::ConsumesCollector iC)
TrajectoryContainer trajectories(const TrajectorySeed &seed) const override
trajectories building starting from a seed
std::vector< TempTrajectory > TempTrajectoryContainer
tuple result
Definition: mps_fire.py:311
int iEvent
Definition: GenABIO.cc:224
void rebuildTrajectories(TempTrajectory const &startingTraj, const TrajectorySeed &, TrajectoryContainer &result) const override
TempTrajectory buildTrajectories(const TrajectorySeed &, TrajectoryContainer &ret, unsigned int &nCandPerSeed, const TrajectoryFilter *) const override
unsigned int limitedCandidates(const TrajectorySeed &seed, TempTrajectory &startingTraj, TrajectoryContainer &result) const
std::vector< TempTrajectory > TempTrajectoryContainer
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
std::vector< Trajectory > TrajectoryContainer