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 
31 class TrajectoryFilter;
32 
34 public:
35  typedef std::vector<Trajectory> TrajectoryContainer;
36  typedef std::vector<TempTrajectory> TempTrajectoryContainer;
37 
41  std::unique_ptr<TrajectoryFilter> filter);
42 
43  ~CkfTrajectoryBuilder() override {}
44 
46 
48  TrajectoryContainer trajectories(const TrajectorySeed& seed) const override;
50  void trajectories(const TrajectorySeed& seed, TrajectoryContainer& ret) const override;
51 
52  // new interface returning the start Trajectory...
55  unsigned int& nCandPerSeed,
56  const TrajectoryFilter*) const override;
57 
58  void rebuildTrajectories(TempTrajectory const& startingTraj,
59  const TrajectorySeed&,
60  TrajectoryContainer& result) const override {}
61 
63  // virtual void setEvent(const edm::Event& event) const;
64 
65 protected:
66  int theMaxCand;
72 
73 protected:
74  void setEvent_(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
75 
77  const TempTrajectory& traj,
78  std::vector<TrajectoryMeasurement>& result) const;
79 
80  unsigned int limitedCandidates(const TrajectorySeed& seed,
81  TempTrajectory& startingTraj,
83  unsigned int limitedCandidates(const std::shared_ptr<const TrajectorySeed>& sharedSeed,
86 
87  void updateTrajectory(TempTrajectory& traj, TM&& tm) const;
88 
89  /*
90  //not mature for integration.
91  bool theSharedSeedCheck;
92  std::string theUniqueName;
93  void rememberSeedAndTrajectories(const TrajectorySeed& seed,TrajectoryContainer &result) const;
94  bool seedAlreadyUsed(const TrajectorySeed& seed,TempTrajectoryContainer &candidates) const;
95  bool sharedSeed(const TrajectorySeed& seed1,const TrajectorySeed& seed2) const;
96  // mutable TempTrajectoryContainer theCachedTrajectories;
97  typedef boost::unordered_multimap<uint32_t,TempTrajectory> SharedTrajectory;
98  mutable SharedTrajectory theCachedTrajectories;
99  */
100 };
101 
102 #endif
void updateTrajectory(TempTrajectory &traj, TM &&tm) const
std::vector< Trajectory > TrajectoryContainer
unsigned int limitedCandidates(const TrajectorySeed &seed, TempTrajectory &startingTraj, TrajectoryContainer &result) const
ret
prodAgent to be discontinued
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
static void fillPSetDescription(edm::ParameterSetDescription &iDesc)
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
std::vector< TempTrajectory > TempTrajectoryContainer
virtual void findCompatibleMeasurements(const TrajectorySeed &seed, const TempTrajectory &traj, std::vector< TrajectoryMeasurement > &result) 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