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 
54  unsigned int& nCandPerSeed,
55  const TrajectoryFilter*) const override;
56 
58 
60  // virtual void setEvent(const edm::Event& event) const;
61 
62 protected:
63  int theMaxCand;
71 
72 protected:
73  void setEvent_(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
74 
76  const TempTrajectory& traj,
77  std::vector<TrajectoryMeasurement>& result) const;
78 
79  unsigned int limitedCandidates(const TrajectorySeed& seed,
80  TempTrajectory& startingTraj,
82  unsigned int limitedCandidates(const std::shared_ptr<const TrajectorySeed>& sharedSeed,
85 
86  void updateTrajectory(TempTrajectory& traj, 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
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
void rebuildTrajectories(const TrajectorySeed &, TrajectoryContainer &result) const override
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
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
void buildTrajectories(const TrajectorySeed &, TrajectoryContainer &ret, unsigned int &nCandPerSeed, const TrajectoryFilter *) const override